From 18de66ad00b5ef1c5f57b7767ca3f58c8ae5e53b Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 14 Oct 2026 14:31:29 +0200 Subject: [PATCH] nvidiactl: Enable nvidia-drm kernel modesetting on desktops On hosts tagged *desktop*, load nvidia-drm with `modeset=1`. All installed driver versions (535.104.05, 570.144, 580.178.04) still default to `modeset=0`: $ modinfo -p /usr/share/nvidia/kernel/6.18.51.mx64.498/nvidia-drm.ko modeset:Enable atomic kernel modesetting (1 = enable, 0 = disable (default)) (bool) fbdev:Create a framebuffer device (1 = enable (default), 0 = disable) (bool) Without kernel modesetting, the DRM device registered by nvidia-drm offers no KMS, so Wayland compositors cannot drive the display on the proprietary driver. The parameter is passed to insmod directly, since nvidiactl loads the modules from /usr/share/nvidia/kernel/ and not via modprobe, so a modprobe.d snippet would have no effect. Assisted-by: claude-opus-5.5 (Claude Code) --- nvidiactl/nvidiactl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nvidiactl/nvidiactl b/nvidiactl/nvidiactl index 7944b08..564d06e 100755 --- a/nvidiactl/nvidiactl +++ b/nvidiactl/nvidiactl @@ -77,6 +77,12 @@ fi insmod ${nvlink}/nvidia.ko ${nvargs} +nvdrmargs="" +if /usr/sbin/hostconfig desktop 2>/dev/null ; then + echo >&2 "NOTE: tag 'desktop' set, enabling kernel modesetting in nvidia-drm" + nvdrmargs="modeset=1" +fi + # Count the number of NVIDIA controllers found. NVDEVS=$(lspci | grep -i NVIDIA) N3D=$(echo "$NVDEVS" | grep "3D controller" | wc -l) @@ -98,7 +104,7 @@ if [ ! -z $N ]; then fi fi test -e ${nvlink}/nvidia-modeset.ko && insmod ${nvlink}/nvidia-modeset.ko - test -e ${nvlink}/nvidia-drm.ko && insmod ${nvlink}/nvidia-drm.ko + test -e ${nvlink}/nvidia-drm.ko && insmod ${nvlink}/nvidia-drm.ko ${nvdrmargs} fi exit 0