Device: Legion 5 Pro(Ryzen 5800H and RTX 3060 Laptop)
OS: Arch Linux
Kernel: 5.17.1-arch1-1
NVIDIA Driver: 510.60.02
DE: GNOME 42.0
Display Server: X11
Due to the update to 510.xx driver, the discrete GPU mode cannot control the backlight. (Legion 5 Pro - Backlight control not working from driver 510.54 - #2 by cronus)
So I switched to hybrid GPU mode.
In hybrid GPU mode, nvidia-settings works when AMD GPU is the primary GPU, nvidia-settings crashes when NVIDIA GPU is the primary GPU.
- AMD GPU is the primary GPU:
Section "Device"
Identifier "amdgpu"
BusID "PCI:6:0:0"
Driver "amdgpu"
Option "VariableRefresh" "true"
EndSection
Section "Screen"
Identifier "amdgpu"
Device "amdgpu"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
VendorName "NVIDIA Corporation"
BoardName "NVIDIA GeForce RTX 3060 Laptop GPU"
Option "AllowEmptyInitialConfiguration"
Option "AllowExternalGpus" "yes"
Option "PrimaryGPU" "no"
Option "HardDPMS" "on"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "MetaModes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}"
Option "AllowIndirectGLXProtocol" "off"
Option "TripleBuffer" "on"
EndSection
Section "ServerLayout"
Identifier "layout"
Screen 0 "amdgpu"
Inactive "nvidia"
Option "AllowNVIDIAGPUScreens"
EndSection
$ glxinfo | grep "OpenGL renderer"
OpenGL renderer string: AMD RENOIR (LLVM 13.0.1, DRM 3.44, 5.17.1-arch1-1)
//nvidia-settings works
$ nvidia-settings
(nvidia-settings:38299): GLib-GObject-CRITICAL **: 01:48:56.325: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
- NVIDIA GPU is the primary GPU:
Section "Device"
Identifier "amdgpu"
BusID "PCI:6:0:0"
Driver "amdgpu"
Option "VariableRefresh" "true"
EndSection
Section "Screen"
Identifier "amdgpu"
Device "amdgpu"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
VendorName "NVIDIA Corporation"
BoardName "NVIDIA GeForce RTX 3060 Laptop GPU"
Option "AllowEmptyInitialConfiguration"
Option "AllowExternalGpus" "yes"
Option "PrimaryGPU" "yes"
Option "HardDPMS" "on"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "MetaModes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}"
Option "AllowIndirectGLXProtocol" "off"
Option "TripleBuffer" "on"
EndSection
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "amdgpu"
Option "AllowNVIDIAGPUScreens"
EndSection
$ glxinfo | grep "OpenGL renderer"
OpenGL renderer string: NVIDIA GeForce RTX 3060 Laptop GPU/PCIe/SSE2
//nvidia-settings crash
$ nvidia-settings
[1] 35780 segmentation fault (core dumped) nvidia-settings