I have a laptop with two GPUs (Intel and nvidia).
xrandr --listproviders
prints the following:
Providers: number : 3
Provider 0: id: 0x217 cap: 0x1, Source Output crtcs: 0 outputs: 0 associated providers: 2 name:NVIDIA-0
Provider 1: id: 0x319 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 1 outputs: 1 associated providers: 1 name:modesetting
Provider 2: id: 0x243 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 4 outputs: 9 associated providers: 1 name:modesetting
When I disable the nvidia GPU, the first provider disappears and the two other providers change some ids and attributes.
**Questions**
- *What is a provider*?
I read that a GPU is a provider with physical connections being the outputs.
But then why do I have 3 providers? I also run a docking station that provides DisplayPort sockets, but xrandr --listproviders
-output doesn't change when I disconnect the dock.
- *What is a crtc*? I know [this related answer](https://superuser.com/a/1078359) , but why does the nvidia device have crtcs: 0
? Maybe because it doesn't have a physical output (DisplayPort socket or similar)?
- xrandr --auto
fails with xrandr: Configure crtc 0 failed
when the nvidia GPU is active.
Well there is no crtc
, so attempting to configure it is actually expected to fail.
But I can still setup the monitors manually using xrandr --output ...
, how is that supposed to work without any crtc
and why can't xrandr --auto
do the same?
- Is there any good learning source for all of that?
Asked by pasbi
(313 rep)
Sep 7, 2024, 04:20 PM
Last activity: Apr 29, 2025, 07:16 PM
Last activity: Apr 29, 2025, 07:16 PM