From b1c4f57dcf8fd48febdfc00a15e49d574bd1c36c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= Date: Sun, 22 Mar 2026 17:57:53 +0000 Subject: [PATCH] fix: GPU device service missing graphics driver environment Set HOME, LIBGL_DRIVERS_PATH, __EGL_VENDOR_LIBRARY_DIRS, and add /run/opengl-driver/lib to LD_LIBRARY_PATH so mesa can find DRI drivers and EGL vendors. Set HOME to the per-VM GPU runtime dir to fix shader cache directory creation. Co-Authored-By: Claude Opus 4.6 (1M context) --- modules/services.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/services.nix b/modules/services.nix index e449485..62002f9 100644 --- a/modules/services.nix +++ b/modules/services.nix @@ -453,7 +453,14 @@ let requiredBy = [ "vmsilo-${vm.name}-vm.service" ]; bindsTo = [ "vmsilo-${vm.name}-vm.service" ]; environment = { - LD_LIBRARY_PATH = "${pkgs.vulkan-loader}/lib"; + HOME = "/run/vmsilo/${vm.name}/gpu"; + LD_LIBRARY_PATH = + lib.makeLibraryPath [ + pkgs.vulkan-loader + ] + + ":/run/opengl-driver/lib"; + LIBGL_DRIVERS_PATH = "/run/opengl-driver/lib/dri"; + __EGL_VENDOR_LIBRARY_DIRS = "/run/opengl-driver/share/glvnd/egl_vendor.d"; __GL_SHADER_DISK_CACHE_PATH = "/run/vmsilo/${vm.name}/gpu/shader-cache"; RUST_BACKTRACE = "full"; };