One image to rule them all (headless virtualGL xorg.conf that generalizes for various hw configs)

56 views
Skip to first unread message

qwofford

unread,
Jul 3, 2018, 3:45:46 PM7/3/18
to VirtualGL User Discussion/Support
I'm preparing a headless VirtualGL solution which I would like to generalize for use across multiple machines with different GPU's and bus configurations. The current challenge is that I appear to be limited by this line in my /etc/X11/xorg.conf:

Section "Device"
   
...
   
BusID                  "PCI:3:0:0"
EndSection

Is the correct solution to grep something out of lspci and plug it into the BusID section here, before starting LightDM? I hope there is another way...but this should work if it has to, I think.

DRC

unread,
Jul 3, 2018, 4:10:31 PM7/3/18
to virtual...@googlegroups.com
I’m not 100% sure that that line is necessary anymore, although it definitely was necessary at one time in order to make nVidia adapters work in a headless configuration. It is definitely something that would have to be grepped from lspci. Also bear in mind that some systems may have multiple GPUs, and you don’t necessarily want to run VGL on the first one. For instance, nVidia Optimus technology has a “2D” GPU and a “3D” GPU.
--
You received this message because you are subscribed to the Google Groups "VirtualGL User Discussion/Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to virtualgl-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/virtualgl-users/477bf756-a175-49f0-887c-6694438ce1c2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

qwofford

unread,
Jul 3, 2018, 5:35:18 PM7/3/18
to VirtualGL User Discussion/Support
lspci may not be the best way to achieve this. I had some trouble with a GPU that appears on a "higher" busid.

lspci returns BusID 's in hexidecimal separated by colons, while xorg.conf wants the busid in decimal separated by colons.

nvidia-xconfig  --query-gpu-info

gives the BusID in an xorg.conf friendly format. VGL working fine now. 

DRC

unread,
Jul 3, 2018, 6:10:09 PM7/3/18
to virtual...@googlegroups.com
Yes, but doesn’t that only work with nVidia GPUs?

qwofford

unread,
Jul 3, 2018, 6:34:05 PM7/3/18
to VirtualGL User Discussion/Support
Good point. I don't support any AMD GPU's at the moment, but I may in the future. 

I suppose in that case I would use lspci and convert the numbers with bc or something similar...

Thomas Beaudry

unread,
Sep 19, 2018, 12:10:03 PM9/19/18
to VirtualGL User Discussion/Support
Hi qwofford,

Have you made any progress on this?  I am having issues with getting a headless virtualGl with a  matrox card to work for me), so maybe your solution would work for me.

Thanks!
Thomas

Quincy Wofford

unread,
Sep 19, 2018, 1:52:46 PM9/19/18
to virtual...@googlegroups.com
Yes, the solution I'm using is working. Essentially the steps are the same, except that I only have to worry about NVIDIA GPU's, so I'm using one of their proprietary tools instead of lspci. I use an rc.local script to copy pci bus info to the xorg.conf file before lightdm starts.

I believe the issue you will have using lspci in a similar configuration is that lspci returns pci bus information hexidecimal format and xorg.conf wants to read a decimal format. So you can use lspci for your matrox card, but you'll need to change the base of your bus information before passing it to xorg.

One practical note:  If you dont have to support multiple hardware configurations with a single image, don't do exactly what I did. Instead, I recommend simply using lspci to grab bus information, convert it to decimal yourself and simply write the xorg.conf file once.

--
You received this message because you are subscribed to the Google Groups "VirtualGL User Discussion/Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to virtualgl-use...@googlegroups.com.

Thomas Beaudry

unread,
Sep 19, 2018, 2:15:17 PM9/19/18
to VirtualGL User Discussion/Support
Hi,

Thanks for answering.  I am still new to virtualGl, so i don't have it working quite yet.  I edited my xorg.conf file to look light:

Section "Device"
    Identifier     "Device0"
    Driver         "matrox"
    VendorName     "Matrox Electronics Systems Ltd. "
    BusID          "PCI:10:0:0"
EndSection

and i restart lightdm, and then i try and run vglrun <program> but i get:
[VGL] ERROR: Could not open display :0.


I also have tried     BusID          "VGA:10:0:0"

and here is my bus info:  

0a:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. G200eR2 (rev 01)

Do you know what i'm doing wrong?  Thanks!
Thomas
Reply all
Reply to author
Forward
0 new messages