Skip to content

DRAFT: #166: nongnu: nvidia: Add wayland-native vulkan rendering ; nvidia_icd.json

Samuel Culpepper requested to merge qzdl/nonguix:master into master

Progress is being made following #166

targets

  • build
  • loaded in the kernel
  • sway launches
  • mesa loads the GBM backend
  • vkcube runs
  • nvidia-smi can speak to the drivers
  • eglinfo can give information about the driver setup
  • GBM_BACKENDS_PATH can be assigned in the build step
  • a game can run on the card, under 495 drivers
  • nvidia-library package has parity with nvidia-driver

exposition

sway 1.61 launches, but the GBM_BACKENDS_PATH must be set to the pkgdir so MESA-LOADER can find the nvidia-drm_gbm.so files, and I haven't been able to verify with any games, also, it would be nice to have eglinfo available so we can get mappings and egl info (like init, I have seen many troubles for eglInitializeFailed on nvidia forums)

I'm currently (2022-02-14 17:32) battling with diagnostic utils nvidia-smi and vkcube to try and get this vulkan rendering to work -- it seems the communication with the driver is not working yet, so will try again with fresh kernel params and the patched nvidia_icd.json to load.

sway --unsupported-gpu --debug &>/tmp/sway

with environment vars

        ("GBM_BACKEND" . "nvidia-drm")
        ("GBM_BACKENDS_PATH" . "/gnu/store/k52jklliyks6sjhp8w44by7qph73y2rw-nvidia-driver-495.46/lib/gbm")
        ("__GLX_VENDOR_LIBRARY_NAME" . "nvidia")
        ("WLR_NO_HARDWARE_CURSORS" . "1")
        ("WLR_DRM_DEVICES" . "/dev/dri/card0")   ;; gpu only

NOTES

  • nvidia_icd.json

This has to be changed to support wayland-native vulkan rendering without X

  • libGLX_nvidia.so.1 -> libEGL_nvidia.so.1
  • see commit a8ab4a

find it in the NVIDIA README > FAQ.

This should be split into a separate package nvidia-driver-wayland to avoid total carnage

Edited by Samuel Culpepper

Merge request reports