ITADN

nvidia_drm defaulting to modeset=0 causes DRM master contention on hybrid NVIDIA+AMD laptops

#1163Openwintrover 创建于 2026-05-26
W
wintrovercommented
### NVIDIA Open GPU Kernel Modules Version All versions (observed on 595.71.05) ### Please confirm this issue does not happen with the proprietary driver (of the same version). This issue tracker is only for bugs specific to the open kernel driver. - [x] I confirm that this does not happen with the proprietary driver package. ### Operating System and Version Linux Mint 22 (Ubuntu 24.04-based), also reproducible on Fedora 41, Arch Linux ### Kernel Release Linux 6.17.0-29-generic x86_64 ### Please confirm you are running a stable kernel release (e.g. not a -rc). We do not accept bug reports for unreleased kernels. - [x] I am running on a stable kernel release. ### Hardware: GPU NVIDIA RTX 3060 Laptop GPU (GA106M) + AMD Radeon Vega (integrated) ASUS ROG Zephyrus G14 (GA401QM) ### Describe the bug **Summary**: The nvidia_drm kernel module defaults to modeset=0, which prevents the module from registering with the Linux DRM/KMS subsystem. On hybrid NVIDIA+AMD laptop configurations (dGPU + iGPU), this causes DRM master contention: when the NVIDIA dGPU is loaded but has modesetting disabled, it still claims DRM master, preventing the AMD iGPU from rendering hardware cursor sprites. **Observed behavior**: - Xorg logs show: drmSetMaster failed: Device or resource busy - Cursor disappears when moving between monitors attached to different GPUs - 3-monitor vertical stack configuration shows cursor vanishing on specific monitor transitions **Expected behavior**: - When nvidia_drm is loaded with modeset=0 (default), it should not claim DRM master, allowing the other GPU (AMD iGPU) to handle modesetting without contention. - OR: the module should default to modeset=1 on hybrid/multi-GPU systems, or auto-detect multi-GPU configurations. ### To Reproduce 1. Install NVIDIA open kernel modules on a hybrid NVIDIA+AMD laptop (e.g., ASUS ROG Zephyrus G14) 2. Do NOT add nvidia_drm.modeset=1 to kernel parameters 3. Configure a multi-monitor setup spanning both GPUs 4. Move cursor between monitors -> cursor disappears on certain transitions 5. Check Xorg logs: drmSetMaster failed: Device or resource busy ### Workaround Add the following kernel parameters: nvidia_drm.modeset=1 nvidia_drm.fbdev=1 Or create /etc/modprobe.d/nvidia-drm.conf: options nvidia_drm modeset=1 options nvidia_drm fbdev=1 Then run update-grub && update-initramfs -u and reboot. ### Bug Incidence Constant on hybrid configurations ### Additional context **Impact**: Affects all hybrid NVIDIA+AMD laptop users who don't know they need to manually set nvidia_drm.modeset=1. This is a common pitfall documented on Arch Wiki, Ubuntu forums, and various Linux community guides. **Relevant official NVIDIA documentation**: Chapter 36 DRM KMS: https://download.nvidia.com/XFree86/Linux-x86_64/570.133.07/README/kms.html **Suggested fix**: Either: 1. Change the default value of modeset from 0 to 1 in the nvidia_drm module 2. Or implement auto-detection: if another GPU (non-NVIDIA) is active in the system, enable modeset automatically 3. Or at minimum: document this requirement prominently in the kernel module parameters documentation
0 条评论