Summary
FreeToken Desktop does not detect an NVIDIA GPU on Fedora when the system provides only the versioned NVML library libnvidia-ml.so.1, but not the unversioned development symlink libnvidia-ml.so.
Environment
- OS: Fedora Linux 44, x86_64
- GPU: NVIDIA GeForce RTX 4090, 24 GB
- NVIDIA driver: 610.57.04
- CUDA runtime: 13.0
- FreeToken engine:
0.1.2+g3a20a7903
- Desktop AppImage:
freetoken_desktop.appimage
- Session: Wayland
Reproduction
The host detects the GPU correctly:
$ nvidia-smi -L
GPU 0: NVIDIA GeForce RTX 4090 (UUID: GPU-848ba4ef-80c1-767a-593c-17d6c710dc1c)
The host provides:
but does not provide:
Launching the unmodified AppImage causes the desktop GPU probe to fail. The AppImage contains the error string:
The Python engine itself detects the GPU correctly:
torch CUDA smoke: NVIDIA GeForce RTX 4090
Resulted fix / workaround
I rebuilt the embedded AppImage filesystem and added this compatibility symlink:
usr/lib/libnvidia-ml.so -> /lib64/libnvidia-ml.so.1
After this change, the AppImage process loads the host NVML library:
/usr/lib64/libnvidia-ml.so.610.57.04
and the RTX 4090 becomes available to the desktop GPU probe.
Suggested fix
On Linux, the desktop NVML loader should try the versioned library name:
rather than requiring only:
Alternatively, the AppImage could provide a runtime-compatible NVML lookup or symlink without requiring manual repacking.
Summary
FreeToken Desktop does not detect an NVIDIA GPU on Fedora when the system provides only the versioned NVML library
libnvidia-ml.so.1, but not the unversioned development symlinklibnvidia-ml.so.Environment
0.1.2+g3a20a7903freetoken_desktop.appimageReproduction
The host detects the GPU correctly:
The host provides:
but does not provide:
Launching the unmodified AppImage causes the desktop GPU probe to fail. The AppImage contains the error string:
The Python engine itself detects the GPU correctly:
Resulted fix / workaround
I rebuilt the embedded AppImage filesystem and added this compatibility symlink:
After this change, the AppImage process loads the host NVML library:
and the RTX 4090 becomes available to the desktop GPU probe.
Suggested fix
On Linux, the desktop NVML loader should try the versioned library name:
rather than requiring only:
Alternatively, the AppImage could provide a runtime-compatible NVML lookup or symlink without requiring manual repacking.