PDA

View Full Version : Which output belongs to which device?


MartjeB
02-03-2009, 02:47 AM
Hey,
I'm trying to find out which ouput (of xrandr) belongs to what device. Currently, my output of xrandr is:
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 1680 x 1600
VGA-0 disconnected (normal left inverted right x axis y axis)
DVI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 433mm x 271mm
1680x1050 59.9*+
1280x1024 75.0 60.0
1280x960 60.0
1152x864 75.0
1024x768 75.0 70.1 60.0
832x624 74.6
800x600 72.2 75.0 60.3 56.2
640x480 75.0 72.8 66.7 59.9
720x400 70.1
None disconnected (normal left inverted right x axis y axis)
On this computer it's easy, because it has only one device:
01:05.0 VGA compatible controller: ATI Technologies Inc Radeon HD 3300 Graphics

But what to do if I have multiple devices with the same name?

bridgman
02-03-2009, 09:17 AM
You shouldn't normally have multiple devices with the same name. The suffix is supposed to get bumped, eg DVI-0, DVI-1 etc...

MartjeB
02-03-2009, 09:59 AM
Maby I wansn't really clear (sorry). Assume that I have two devices:
01:05.0 VGA compatible controller: ATI Technologies Inc Radeon HD 4780 Graphics
02:07.0 VGA compatible controller: ATI Technologies Inc Radeon HD 4780 Graphics
And this is the output of xrandr:
VGA-0 disconnected
VGA-1 connected
DVI-0 connected
DVI-1 disconnected
To wich card (PCI device) does VGA-0 belong? And DVI-0?

bridgman
02-03-2009, 10:44 AM
Ahh, THAT kind of device ;)

Until something like "GPU objects" are added to the RandR extension I don't know of any way to manage multiple cards using RandR. Might be possible, don't know.

The obvious question is "so why haven't GPU objects been added ?", and the answer as I understand it is that adding GPU objects to RandR also requires the addition of something like "shatter", which splits drawing requests across multiple GPUs so that the illusion of a single virtual screen area can be maintained for RandR.

MartjeB
02-03-2009, 10:55 AM
Thanks for clearing that up!

bridgman
02-03-2009, 11:18 AM
I think fglrx supports multiple cards these days, just not with RandR (since RandR doesn't handle multiiple GPUs yet).

EDIT - sorry, that's just on the professional products (FireGL/FirePRO) :

http://www.phoronix.com/scan.php?page=news_item&px=NjczNQ

MartjeB
02-15-2009, 03:56 PM
Weren't GPU objects promised for RandR 1.3 (which is in Jaunty now)?

Edit; Ah, yes!:
Back in January there was talk of GPU object support for RandR 1.3 and then in late October the RandR properties support started to come together. Today though, Novell's Matthias Hopf has sent thirteen patches to the X.Org mailing list that introduce RandR 1.3 for xrandr, randrproto, libXrandr, and the X Serve
http://www.phoronix.com/scan.php?page=news_item&px=Njg4Mw

Edit2; D***.. not:
http://lists.freedesktop.org/archives/xorg/2009-February/043242.html

bridgman
02-15-2009, 04:34 PM
The rule of thumb seems to be that GPU objects are always going to be in the RandR version *after* the one currently being worked on.

The RandR model combines all the displays into a single desktop, as I understand it. This is easy with a single GPU (one big frame buffer with each CRTC pointing to a portion of that frame buffer) but very un-easy with >1 GPU since you sometimes need to split up drawing commands across GPUs (imagine a rectangle spanning two displays on different GPUs). Ajax has been working on an implementation of this called "shatter".

EDIT - there also seem to be conflicting views about whether shatter is needed for GPU objects or not. This might be contributing to the delay.

Anyways, GPU objects seemed to be in the plan for RandR 1.3 as late as XDC in April 2008, but fell off the list some time after that, probably based on the amount of time available to work on it.