Installation on different platform

Hi all!
I was wondering how can I install the OpenFlexure server on a Nvidia Jetson Nano
So far, I could only find instructions to install on Rpi using the Raspbian images.

Is there anyone that have successfully installed the server on a different board?

The server is designed particularly to take advantage of the integration of the Pi camera into the board. Changing to a different board removes that, so I would expect pretty major changes would be required in the server.

Thanks for your answer William.
We will stay with the Pi camera on the Jetson, do you think if we manage to install the picamera lib the server would work?

I don’t know the internals of the server, but Jetson was mentioned on another thread here.

Hi @carlos. It would be super cool to have the microscope working with a Jetson, especially seeing as it supports the camera. Unfortunately no one in the core team has the bandwidth for doing that right now.

First I would check whether you can pip install picamerax and sangaboard and whether the picamera works in python.

If this all works I would have a look at the Raspian OpenFlexure repo where we build the images for the pi: https://gitlab.com/openflexure/pi-gen
I think the key place to look is stage2/04-install-ofm-server

@jc2450 is the best person to ask about this.

Does the Jetson support the picamera using the same GPU firmware as the Pi? The picamera module is quite specific to the implementation on the Pi (it relies on the GPU firmware, which is probably the biggest non-open bit of the whole system). I suspect you might end up needing to write some code to interface with whatever camera driver you end up using.

I thought @jc2450 had abandoned greenlets in the latest iteration of the server, but perhaps he can confirm that…

Yeah, no greenlets any more. Managed to get all the performance we need using native threads.

Also adding this here since I managed to get the system run on the jetson with a different camera (Allied vision Alvium).
I think it’s simple to write an interface for any other USB3 camera.
Warning: I’m a very bad coder :wink:

You can find the fork here