Sample Header Ad - 728x90

Understanding xrandr providers and source

2 votes
1 answer
288 views
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