compiling

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

compiling

skypuppy
Is it possible to compile and run OpenSCAD on an RPi and/or a Jetson
Nano/Xavier?

Thanks,

David



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
tp3
Reply | Threaded
Open this post in threaded view
|

Re: compiling

tp3
On 09.10.20 12:55, David wrote:
> Is it possible to compile and run OpenSCAD on an RPi and/or
> a Jetson Nano/Xavier?

Yes, if Qt is available with Desktop OpenGL support.

That's by default the case for most arm64 system, e.g. latest
(still beta?) version of Raspberry Pi OS 64-bit.

Otherwise it's still possible but requires a custom Qt build
which is shown to work on an old 32bit Chromebook via Software
Rendering.

See also ARM64 AppImage on the download page
https://www.openscad.org/downloads.html#snapshots

ciao,
  Torsten.


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
-- Torsten
tp3
Reply | Threaded
Open this post in threaded view
|

Re: compiling

tp3
On 09.10.20 13:08, David wrote:
> Yeah, both will run full-bore Qt 5.12/5.14, so I'm guessing
> they could compile the subsets.  :)   I keep forgetting that
> OpenSCAD is Qt based.

Yes, it should be possible to skip quite a number of things
like Database access, QML and such.

There's still a headless mode, but that's not much in focus
so there's a bit of a risk of breaking from time to time.
I'd like to get that as separate build into our CI pipeline,
maybe we can even get EGL support at some point to be able
to fully run on Linux command line (no Xvfb or Xvnc).

ciao,
  Torsten.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
-- Torsten
Reply | Threaded
Open this post in threaded view
|

Re: compiling

skypuppy
No GUI???  Bite your tongue, heathen!!!

Although that could be advantageous for certain circumstances, I'll
never say that so loud.  :)  :)

David


On 10/9/20 7:21 AM, Torsten Paul wrote:

> On 09.10.20 13:08, David wrote:
>> Yeah, both will run full-bore Qt 5.12/5.14, so I'm guessing
>> they could compile the subsets.  :)   I keep forgetting that
>> OpenSCAD is Qt based.
> Yes, it should be possible to skip quite a number of things
> like Database access, QML and such.
>
> There's still a headless mode, but that's not much in focus
> so there's a bit of a risk of breaking from time to time.
> I'd like to get that as separate build into our CI pipeline,
> maybe we can even get EGL support at some point to be able
> to fully run on Linux command line (no Xvfb or Xvnc).
>
> ciao,
>    Torsten.
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: compiling

cacb
In reply to this post by tp3
On 09.10.2020 13:04, Torsten Paul wrote:

> On 09.10.20 12:55, David wrote:
>> Is it possible to compile and run OpenSCAD on an RPi and/or
>> a Jetson Nano/Xavier?
>
> Yes, if Qt is available with Desktop OpenGL support.
>
> That's by default the case for most arm64 system, e.g. latest
> (still beta?) version of Raspberry Pi OS 64-bit.
>
> Otherwise it's still possible but requires a custom Qt build
> which is shown to work on an old 32bit Chromebook via Software
> Rendering.
>
> See also ARM64 AppImage on the download page
> https://www.openscad.org/downloads.html#snapshots

If you have an OpenSCAD RPI executable for Raspberry PI4 you could try
this example for n=2 to n=16

module manyballs(n)
{
    $fn=25;
    delta = 45;
    for(i=[0:1:n-1]) {
       x = i*delta;
       for(j=[0:1:n-1]) {
          y = j*delta;
          for(k=[0:1:n-1]) {
             z = k*delta;
             translate([x,y,z])sphere(25);
          }
       }
    }
}

manyballs(n=7);


Just for the fun of it I built https://github.com/arnholm/xcsg to 32bit
raspbian for RPI4 and ran the equivalent "manyballs" samples with xcsg
for n=2 to n=16.

It worked for n up to 9 and failed for higher values, probably because
of 32bit memory addressing limitations (not sure).

timings
xcsg, manyballs(n=9), RPI4 32bit raspbian 1m 47.75s
xcsg, manyballs(n=9), Ubuntu 18.04 64bit  0m 42.659s

So the Ubuntu/64bit workstation runs only about 2.5 times faster than my
RPI4/Raspbian/32bit for this kind of problem. Actually an interesting
result.

Comparing OpenSCAD 2020.10.05.nightly, and xcsg for n=7 case
openscad  manyballs(n=7), Ubuntu 18.04 64bit 12m 59.87s
xcsg,     manyballs(n=7), Ubuntu 18.04 64bit  0m 12.50s
xcsg,     manyballs(n=7), RPI4 32bit raspbian 0m 48.72s

Carsten Arnholm

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org