freeCad et Raspberry Pi

Forum destiné aux questions et discussions en français
Forum rules
Règles du forum et informations utiles.

VEUILLEZ LIRE CECI AVANT DE DEMANDER DE L'AIDE
User avatar
-alex-
Veteran
Posts: 1849
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: freeCad et Raspberry Pi

Post by -alex- »

Pour les curieux, petite démo graphique de la branche FreeCAD Linkstage3 sur le cadran de montre du sujet de @schupin:
https://forum.freecadweb.org/viewtopic.php?f=12&t=52698
FCLink_cadran_montre_gravure_RPI4.gif
FCLink_cadran_montre_gravure_RPI4.gif (614.8 KiB) Viewed 2721 times

Ici c'est la capture gif qui saccade, en réalité c'est assez fluide, vous pouvez voir le compteur d'images en bas d'écran: 10 à 15 fps en mode affichage ombré (spécifique à la branche Linkstage3).
Sur la branche classique FC0.19 master en affichage flatlines: parfaitement fluide avec 20 à 30 fps

Cette branche se compile de la même façon que la branche master, il faut juste charger le bon code source. Voir les instructions de compilation du dépot de @realthunder ou le sujet suivant: https://forum.freecadweb.org/viewtopic.php?f=4&t=51831

_______________________________________________________

Pour ceux qui se posent des question sur les performances du RPI4:
Cette même pièce ouverte sur la branche FC 0.19 master:

OS: Debian GNU/Linux 10 (buster) (LXDE/LXDE-pi)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.23069 (Git)
Build type: Unknown
Branch: master
Hash: 20649ec5292a31279f5593eccee2c5cd106bb099
Python version: 3.7.3
Qt version: 5.11.3
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: French/France (fr_FR)


Empreinte RAM FreeCAD: 126Mo
Temps d'ouverture de la pièce: 5sec
Empreinte RAM pièce ouverte: 196Mo
Recalcule de la fonction Cut (qui soustrait les 30 gravures circulaires croisées):

Code: Select all

import time
t = time.time() ; App.ActiveDocument.Cut.recompute() ; App.Console.PrintMessage("{:.1f} s\n".format(time.time()-t))
=62 sec


Recalcul du document complet (avec des montées à 100% sur les 4 coeurs puisqu'il y a des opérations booléennes multi-thread):

Code: Select all

import time
t = time.time() ; App.ActiveDocument.recompute() ; App.Console.PrintMessage("{:.1f} s\n".format(time.time()-t))
=850 sec ... 14min ça fait mal oui :?

Le point faible c'est que FreeCAD n'est pas ou peu multi-thread et que l'on ne tire pas pleinement partie des 4 coeurs du RPI4.
Graphiquement en revanche c'est fluide en 1920x1080, aucun problème à part quelques crashs de temps en temps. Assez peu avec la branche FC 0.19 master, beaucoup plus fréquents avec la branche Linkstage3 et ses réglages graphiques spécifiques.

Ci-joint le fichier si vous voulez comparer avec votre machine pour vous faire une idée. J'ai passé la fonction Array de 30 à 5 répétitions polaires pour que le fichier passe à une taille résonnable. A vous de remettre 30 pour une comparaison à équipérimètre.
cadran_montre.FCStd
(66.68 KiB) Downloaded 98 times
User avatar
2cv001
Posts: 481
Joined: Wed Jan 01, 2020 9:30 am

Re: freeCad et Raspberry Pi

Post by 2cv001 »

38.6 s

pour l'autre
1037.1 s
soit 17 mn, Je le referai après reboot car c'est vraiment beaucoup et pas mal de choses étaient ouvertes .
Edit après reboot : 813s soit 13.6 mn donc en gros comme un pi4. Je vais m'en faire (enfin faire une carte SD) dès que je trouve un tuto récent.

C'est un portable ASUS avec un intel core i3-5005U et 8Go de RAM

OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.22894 (Git)
Build type: Release
Branch: master
Hash: 9eb080488d970d313c538473e7272117ea0a7cd1
Python version: 3.8.6
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: French/France (fr_FR)
Macro Sketch Constraint From Spreadsheet :
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr
User avatar
-alex-
Veteran
Posts: 1849
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: freeCad et Raspberry Pi

Post by -alex- »

Bon le modèle du poste précédent était particulièrement gourmand en calcul, pas très flateur pour le RPI4, mais comme fichier pour comparaison c'était pas mal je pense.
Pour le récompenser de ses efforts et ne pas rester sur cette note un peu lente, voici une autre petite demo des performances graphiques sous la branche Linkstage3, avec un modèle nettement plus léger en recalcul, mais plus visuel pour l'ombrage ;)
Linkstage3_RPI4_shadows_demo.gif
Linkstage3_RPI4_shadows_demo.gif (940.97 KiB) Viewed 2639 times

Cette scène à 209 solides est rendue à 7fps pour les mouvements de la source lumineuse, est 10fps pour la rotation du modèle avec source fixe.
Et je m'arrète là, à coup de gif à 1Mo je plombe le forum :roll:
User avatar
2cv001
Posts: 481
Joined: Wed Jan 01, 2020 9:30 am

Re: freeCad et Raspberry Pi

Post by 2cv001 »

Et voilà, ça tourne !
Image

Bon, ça n'a pas été facile. Mais ça tourne. Je vais tester maintenant.

Principal problème : quand on fait le sudo apt install pour les dépendances, si on fait tout à la fois, il suffit qu'il y en ait un qui fait une erreur et la suite n'est pas faite ou pas faite correctement. Il faut donc couper en une dizaine d'apt install
J'ai fait comme ci-dessous.
Il y en a deux qui ne marchent pas (je l'ai mis en commentaire ci-dessous) et ça correspond à ce que tu as eu. On doit pouvoir les retirer. Un autre n'avait pas marché mais en le relançant, ça a marché.

Code: Select all

sudo apt install build-essential libtool lsb-release cmake cmake-gui cmake-curses-gui libboost-date-time-dev libboost-dev libboost-filesystem-dev 

sudo apt install libboost-graph-dev libboost-iostreams-dev libboost-program-options-dev libboost-python-dev libboost-regex-dev libboost-serialization-dev 

sudo apt install libboost-signals-dev # ne marche pas

sudo apt install libboost-thread-dev 

sudo apt install libcoin-dev libeigen3-dev libgts-bin libgts-dev

sudo apt install libkdtree++-dev libmedc-dev libocct-data-exchange-dev libocct-ocaf-dev 

sudo apt install libocct-visualization-dev libopencv-dev libproj-dev 

sudo apt install libpyside2-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev 

sudo apt install libqt5x11extras5-dev libqt5xmlpatterns5-dev libshiboken2-dev libspnav-dev libvtk7-dev libx11-dev libxerces-c-dev libzipios++-dev 

sudo apt install occt-draw pyside2-tools python3-dev python3-matplotlib python3-pivy python3-ply python3-pyside2.qtcore python3-pyside2.qtgui

sudo apt install python3-pyside2.qtsvg python3-pyside2.qtwidgets

sudo apt install python3-pyside2uic # ne marche pas

sudo apt install qtbase5-dev qttools5-dev swig

Autre chose : j'avais une carte SD 16Go et au bout de plusieurs heures de compil, il me dit bravement que je n'ai pas assez de place. J'ai recopiè l'image de là où j'en était sur une carte 64 Go et c'est bon.

Sinon, j'ai fait l'erreur de ne pas être dans le bon dossier pour faire des manip.

Par exemple, dans cette séquence

Code: Select all

sudo apt install git
cd ~ # pour que le dossier freecad-source de la ligne suivante se place bien ou il faut changer la ligne suivante
git clone https://github.com/FreeCAD/FreeCAD.git freecad-source
il n'y avait pas le cd ~ et du coup, mon freecad-source n'était pas au bon endroit.

Enfin bref, BRAVO, ça marche ! Merci pour ton tuto Alex !

PS : je suis en UBUNTU 64 b version Desktop sur PI4 4 Go
Edit : j'ai fait des essais comparatifs de recompute sur un de mes fichiers : en gros le pi et deux fois plus lent que sur mon ordinateur portable mais ça reste acceptable par rapport à ce que je fais.
Macro Sketch Constraint From Spreadsheet :
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr
User avatar
-alex-
Veteran
Posts: 1849
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: freeCad et Raspberry Pi

Post by -alex- »

Pour info, quelques news de FreeCAD sur les récents Ubuntu 21.10 et RPIOS32B Bullseye:
https://forum.freecadweb.org/viewtopic. ... 00#p545065
User avatar
-alex-
Veteran
Posts: 1849
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: freeCad et Raspberry Pi

Post by -alex- »

Ceux que cela intéresse auront vu que sous RPIOS64B (beta) Bullseye FC s'installe sans problème et fonctionne sans crash graphique (ou pas trop souvent) sur RPI4.
En revanche j'ai un peu galéré pour le faire fonctionner sans problème en le compilant, mais sinon c'est pas drôle...
Il y a un crash avec l'atelier Draft, mais le rétroportage de la librairie fautive règle heureusement le problème (sinon j'étais sec).
Donc il est possible de compiler FC master sous Bullseye, et donc également la branche linkstage3 de @realthunder sur RPI4.
Les instructions pour la branch FC master ici, pas à pas: https://forum.freecadweb.org/viewtopic. ... 00#p550724
Amusez-vous bien avec FC sur RPIOS64B Bullseye!

Prochaine étape pour moi: ré-essayer d'installer les derniers drivers mesa (21.3) pour obtenir Vulkan 1.1 et openGL3.X, et ensuite pouvoir essayer le moteur de rendu bgfx que @realthunder à partiellement implémenté dans sa branche (j'avais déjà essayé sous Buster: plantage graphique direct à l'activation de bgfx).
Peut-être y aura t'il des performances graphiques améliorées à la clé dans l'avenir... encore un peu tôt pour le dire.
Si d'autres utilisateurs ont des retours d'expérience sur bgfx et RPI4 je suis preneur.
En attendant je vais commencer par faire un petit backup de ma SD card avant de foutre la pagaille :mrgreen:
User avatar
-alex-
Veteran
Posts: 1849
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: freeCad et Raspberry Pi

Post by -alex- »

Salut @papy , le sujet que tu as ouvert en 2019 se porte bien, il a passé les 100k vues aujourd'hui, pas mal pour notre petit RPI4 :D

FC_n_RPI4_topic_passes_100Kviews.png
FC_n_RPI4_topic_passes_100Kviews.png (109.29 KiB) Viewed 1048 times

Aller, je m'en vais bouloter une framboise pour marquer le coup ;)
User avatar
papy
Posts: 245
Joined: Sun Sep 09, 2018 10:00 am
Location: Moselle

Re: freeCad et Raspberry Pi

Post by papy »

Salut @-alex- ,
Effectivement, il y a eu pas mal de progrès depuis ma première interrogation pour le portage de freeCad sur le RPI.
Finalement, le sujet de 2019 a permis d'avancer un peu dans le monde de la framboise.
En espérant que cela continue :)
P.S : Il va falloir que j'installe une nouvelle version sur mon RPI4 (vive la compil avec ses joies et déboires).
Le temps devient une denrée rare (trop de fers au feu)
Même si je suis peu actif ces derniers temps, je continue à suivre le fil.
User avatar
-alex-
Veteran
Posts: 1849
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: freeCad et Raspberry Pi

Post by -alex- »

Un fichier AppImage hebdomadaire pour architecture aarch64 est dorénavant généré automatiquement, ce qui permet maintenant aux utilisateurs de FreeCAD sur Raspberry PI4 avec RPIOS64B ou Ubuntu d'obtenir comme les autres la version de développement en cours sans avoir à la compiler.
Et c'est plutôt cool :D
Merci @adrianinsaval 8-)
L'AppImage ici: https://github.com/FreeCAD/FreeCAD-Bund ... kly-builds
Plus d'infos ici: viewtopic.php?p=692817#p692817

Amusez-vous bien avec FreeCAD sur Raspberry PI4 ;)
User avatar
papy
Posts: 245
Joined: Sun Sep 09, 2018 10:00 am
Location: Moselle

Re: freeCad et Raspberry Pi

Post by papy »

Bonjour,
Merci @-alex-
Cela fait longtemps que je m'amuse avec freecad sur le RPIO
Post Reply