Run your nix programs with your host graphics drivers.
Go to file
Félix Baylac Jacqué 834d7d56c9
Add Nix build infrastructure
2022-11-24 17:03:42 +01:00
README.md Init: add short readme describing the project's goal 2022-11-22 10:28:40 +01:00
default.nix Add Nix build infrastructure 2022-11-24 17:03:42 +01:00
flake.lock Add Nix build infrastructure 2022-11-24 17:03:42 +01:00
flake.nix Add Nix build infrastructure 2022-11-24 17:03:42 +01:00
nixglhost-wrapper.py Add Nix build infrastructure 2022-11-24 17:03:42 +01:00
shell.nix Add Nix build infrastructure 2022-11-24 17:03:42 +01:00

README.md

NixGLHost

Running OpenGL Nix-built binaries on a foreign Linux distro is quite often a challenge. NixGLHost is gluing your nix-built binaries to the host OpenGL implementation.

NixGLHost Approach

TODO before release, rephrase this, explain further. Clone the blog post in this section?

  1. Patched libGLVnd to load vendor DSOs from a custom location, not relying on the library path.
  2. Copy the host vendor DSOs to a nix-tmp location.
  3. Modify the vendor DSOs runpath to point to the place where the vendor libs live.
  4. Wrap the nix-built binary, inject the libGLVnd-specific env variables to point to the patched vendor lib dir.

Support

  • Proprietary Nvidia
    • GLX
    • EGL
    • Cuda
    • OpenCL
  • Mesa
    • GLX
    • EGL
    • OpenCL

Alternative Approaches

  • NixGL: tries to auto detect the host vendor driver, download it again, store it in the nix-store then wraps the nix-built binary and inject the downloaded vendor driver through LD_LIBRARY_PATH.

Authors/Maintainers