Skip to content

Linux AppImage GPU detection fails when only libnvidia-ml.so.1 is installed #312

Description

@NickPittas

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:

/lib64/libnvidia-ml.so.1

but does not provide:

libnvidia-ml.so

Launching the unmodified AppImage causes the desktop GPU probe to fail. The AppImage contains the error string:

no libnvidia-ml.so

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:

libnvidia-ml.so.1

rather than requiring only:

libnvidia-ml.so

Alternatively, the AppImage could provide a runtime-compatible NVML lookup or symlink without requiring manual repacking.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions