flathub / org.freedesktop.Platform.GL.nvidia

47 stars 41 forks source link

Request: Add support for Nvidia Jetson Products #113

Open theofficialgman opened 2 years ago

theofficialgman commented 2 years ago

Nvidia does not supply .run files for these systems, instead preferring to ship custom rootfs of ubuntu with .debs containing the gpu drivers, firmware, and other software.

they also provide a binary tarfile with the drivers only contained in the proper repo structure.

the debs and drivers are found here (example release 32.3.1): https://developer.nvidia.com/embedded/dlc/r32-3-1_Release_v1.0/t210ref_release_aarch64/Tegra210_Linux_R32.3.1_aarch64.tbz2

nested inside this file is another archive nv_tegra/nvidia_drivers.tbz2, this is the tarfile which contains the structure with the userspace drivers.

any assistance in packing this tarfile into a flatpak runtime would probably be most of the work to getting this functional for a proof of concept

theofficialgman commented 1 year ago

I have make BSP flatpak's for 32.3.1, 32.7.3, and 35.1.0 for anyone that comes across this that is interested. due to bugs in flatpak not applying finish-args for runtime, you will have to apply overrides for the system so the GPU can be accessed

https://github.com/cobalt2727/L4T-Megascript/tree/master/assets/Flatpak

# set flatpak overrides so sandbox can access the GPU
sudo flatpak override --device=all
sudo flatpak override --share=network
sudo flatpak override --filesystem=/sys

# set override in profile so tegra GPU drivers are always used
echo "export FLATPAK_GL_DRIVERS=nvidia-tegra-32-7-3" | sudo tee /etc/profile.d/flatpak_tegra.sh
sudo sh -c "cat > /etc/sudoers.d/flatpak_tegra << _EOF_
Defaults      env_keep += FLATPAK_GL_DRIVERS
_EOF_"

# install the tegra-x1 GPU BSP flatpak
sudo flatpak install --system ./org.freedesktop.Platform.GL.nvidia-tegra-32-7-3.flatpak