This is my configuration:
>>xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x59 cap: 0x9, Source Output, Sink Offload crtcs: 4 outputs: 7 associated providers: 1 name:AMD Radeon Graphics @ pci:0000:0a:00.0
Provider 1: id: 0x1e4 cap: 0x2, Sink Output crtcs: 4 outputs: 4 associated providers: 1 name:NVIDIA-G0
nvidia-smi tells me that Xorg is the only Program running on my dedicated gpu holding it back from falling asleep and drawing 10W. That is annoying since its a laptop.
I tried everything I found in the internet so far:
- Option "PrimaryGPU" "yes" for radeon and amdgpu config files in /usr/share/X11/xorg.conf.d/ as well as "PrimaryGPU" "no" for the nvidia output classes
- xrandr --setprovideroffloadsink 0 0 only leads to this error:
xrandr --setprovideroffloadsink 0 0
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 34 (RRSetProviderOffloadSink)
Value in failed request: 0x59
Serial number of failed request: 16
Current serial number in output stream: 17
xrandr --setprovideroffloadsink 1 0 is the only working command, but this just sets the dedicated nvidia card as ouput sink again
When i Switch GPU mode from "hybrid" to internal everything works as expected, except I cannot use my dedicated card (like with prime-run).
It seems like xrandr does not recognize the capabilities of my providers (graphics cards) correct and thinks the internal gpu cannot be the output sink - but it should be able to do so. The more powerful gpu usually offloads to the less powerful one. When in run windows it just behaves like that. The calculations are already done on the internal gpu since it is the source output (and radeontop even shows more business when i pull a window around). But the nvidia card somehow is still used as output sink and never falls to sleep/standby.So how can i tell my system to use the amdgpu ("internal gpu") as output sink?
> Thu Oct 31 00:49:21 2024
> +-----------------------------------------------------------------------------------------+
> | NVIDIA-SMI 550.120 Driver Version: 550.120 CUDA Version: 12.4 |
> |-----------------------------------------+------------------------+----------------------+
> | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
> | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
> | | | MIG M. |
> |=========================================+========================+======================|
> | 0 NVIDIA GeForce RTX 3070 ... Off | 00000000:01:00.0 Off | N/A |
> | N/A 40C P3 22W / 55W | 9MiB / 8192MiB | 0% Default |
> | | | N/A |
> +-----------------------------------------+------------------------+----------------------+
>
> +-----------------------------------------------------------------------------------------+
> | Processes: |
> | GPU GI CI PID Type Process name GPU Memory |
> | ID ID Usage |
> |=========================================================================================|
> | 0 N/A N/A 29339 G /usr/lib/xorg/Xorg 4MiB |
> +-----------------------------------------------------------------------------------------+