nongnu: game-client: Preserve environment variables for NVIDIA driver.

* nongnu/packages/nvidia.scm (%nvidia-environment-variable-regexps): New
variable.
* nongnu/packages/game-client.scm (steam-nvidia-container)
(heroic-nvidia-container): Use it.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
This commit is contained in:
Hilton Chain 2024-01-31 20:24:33 +08:00 committed by John Kehayias
parent 812250d5b6
commit 825f6ee783
No known key found for this signature in database
GPG key ID: 499097AE5EA815D9
2 changed files with 19 additions and 2 deletions

View file

@ -288,7 +288,8 @@ all games will be installed.")))
(union32 (union32
(fhs-union steam-nvidia-container-libs (fhs-union steam-nvidia-container-libs
#:name "fhs-union-32" #:name "fhs-union-32"
#:system "i686-linux")))) #:system "i686-linux"))
(preserved-env %nvidia-environment-variable-regexps)))
(define-public steam (nonguix-container->package steam-container)) (define-public steam (nonguix-container->package steam-container))
(define-public steam-nvidia (nonguix-container->package steam-nvidia-container)) (define-public steam-nvidia (nonguix-container->package steam-nvidia-container))
@ -336,7 +337,8 @@ installed.")))
(union32 (union32
(fhs-union steam-nvidia-container-libs (fhs-union steam-nvidia-container-libs
#:name "fhs-union-32" #:name "fhs-union-32"
#:system "i686-linux")))) #:system "i686-linux"))
(preserved-env %nvidia-environment-variable-regexps)))
(define-public heroic (nonguix-container->package heroic-container)) (define-public heroic (nonguix-container->package heroic-container))
(define-public heroic-nvidia (nonguix-container->package heroic-nvidia-container)) (define-public heroic-nvidia (nonguix-container->package heroic-nvidia-container))

View file

@ -58,6 +58,21 @@
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
(define-public %nvidia-environment-variable-regexps
'("^__GL_" ; NVIDIA OpenGL settings.
"^__GLX_VENDOR_LIBRARY_NAME$" ; For GLVND.
;; NVIDIA PRIME Render Offload.
"^__NV_PRIME_RENDER_OFFLOAD(_PROVIDER)?$"
"^__VK_LAYER_NV_optimus$"
;; NVIDIA NGX.
"^__NGX_CONF_FILE$"
"^__NV_SIGNED_LOAD_CHECK$"
"^PROTON_ENABLE_NGX_UPDATER$"
;; NVIDIA VDPAU settings.
"^VDPAU_NVIDIA_"
;; GSYNC control for Vulkan direct-to-display applications.
"^VKDirectGSYNC(Compatible)?Allowed$"))
(define nvidia-version "515.76") (define nvidia-version "515.76")
(define computed-origin-method (define computed-origin-method