Thanks, DRC. I commented out the InputDevice(s) lines, now I have two VNC servers (from two different users) running on an instance of X on :0 (ps aux shows "X: 0")
The first user to login via the job controller is allocated the first two graphic cards, and this user has no issue running vglrun glxgears (just to test). The second user is allocated the remaining graphic cards, and got this message: [VGL] WARNING: The OpenGL rendering context obtained on X display [VGL] :0.3 is indirect, which may cause performance to suffer. [VGL] If :0.3 is a local X display, then the framebuffer device [VGL] permissions may be set incorrectly. And this error from glxinfo: name of display: :2 X Error of failed request: GLXBadContext Major opcode of failed request: 152 (GLX) Minor opcode of failed request: 6 (X_GLXIsDirect) Serial number of failed request: 43 Current serial number in output stream: 43 That error persists with all the display number that I've tried (-d 0.0 to -d 0.3). Is there anything I am missing from my X configuration here?? On Tue, Oct 10, 2017 at 12:18 PM DRC <[email protected]> wrote: > You're missing the point. In a VirtualGL environment, there are two X > servers: > > -- The "3D X server" is a shared resource. It is used by multiple users > simultaneously in order to access the GPU, so it needs to remain > running. It is only necessary to run one instance of the 3D X server, > although multiple GPUs can be assigned to different screens on that X > server. This allows VirtualGL to address the GPUs separately, which can > be useful for load balancing (assigning different users to different > GPUs) in large multi-user environments. > > -- The "2D X server" (X proxy) is per-user and can be started/stopped as > needed. TurboVNC is our recommended 2D X server/X proxy solution, but > VirtualGL can also be used with other X proxy solutions, including > TigerVNC, Xpra, FreeNX, etc. The 2D X server receives and displays the > rendered 3D images from VirtualGL, as well as rendering the output of > other (non-3D) X applications. It is this X server that you would want > to start/stop using your job controller. > > The basic purpose of VirtualGL is two-fold: > > (1) To allow multiple users to share a single GPU (via the 3D X server > instance) > (2) To split 3D and 2D rendering to different X servers, so as to enable > hardware-accelerated OpenGL in an X proxy environment > > The relationship between the 3D X server and the 2D X server is thus > one-to-many. Your test results made me remember a discussion about this > on the old virtualgl-users mailing list, and IIRC someone told me that > you have to disable the keyboard and mouse drivers in xorg.conf in order > for the 3D X server instance to be truly headless, i.e. for you to be > able to disconnect it from the console without encountering errors. Try > commenting out > > InputDevice "Mouse0" "CorePointer" > InputDevice "Keyboard0" "CoreKeyboard" > > and see if that changes the situation. If so, I'll add that to the > how-to on VirtualGL.org. > > On 10/9/17 7:03 PM, Jafaruddin Lie wrote: > > Thanks, our xorg.conf is already set to headless according to that page. > > Here's part of the section: > > > > Section "Screen" > > Identifier "Screen0" > > Device "Device0" > > Monitor "Monitor0" > > DefaultDepth 24 > > Option "UseDisplayDevice" "none" > > SubSection "Display" > > Depth 24 > > EndSubSection > > EndSection > > > > Section "Device" > > Identifier "Device0" > > Driver "nvidia" > > VendorName "NVIDIA Corporation" > > BoardName "Tesla K80" > > BusID "PCI:0:6:0" > > EndSection > > > > Section "Monitor" > > Identifier "Monitor0" > > VendorName "Unknown" > > ModelName "Unknown" > > HorizSync 28.0 - 33.0 > > VertRefresh 43.0 - 72.0 > > Option "DPMS" > > EndSection > > > > I'll test it with a single X instance and see how we go. > > The reason we want to have multiple X is that these desktop sessions are > > started by a job controller (user will submit their request for a > > desktop, which includes starting X). > > We would like the X server to be killed whenever a user finishes their > > job, but one step at a time I suppose :) > > > > > > On Tue, Oct 10, 2017 at 5:12 AM DRC <[email protected] > > <mailto:[email protected]>> wrote: > > > > Yes, it is possible. You don't actually even need multiple X servers > > for multiple users to use VirtualGL at the same time. Multiple users > > can share the same GPU using VirtualGL. That is one of its purposes. > > In order to use VirtualGL with multiple GPUs, generally the easiest > way > > to do it is to configure a single X server with multiple screens, so > GPU > > 0 would be accessible by setting VGL_DISPLAY=:0.0 and GPU 1 would be > > accessible by setting VGL_DISPLAY=:0.1, etc. The reason why you are > > getting the pixel readback error is because, unless the X server is > > headless, it has to be attached to the physical display in order for > > pixel readback to work. The only way to use VirtualGL with multiple > X > > servers (:0.0, :1.0, etc.) is if one or more of them is configured > to be > > headless. (https://virtualgl.org/Documentation/HeadlessNV explains > how > > to configure a headless X server with an nVidia GPU.) > > > > On 10/9/17 5:35 AM, Jafaruddin Lie wrote: > > > Hi all > > > Simple question is if it is possible, on a single machine with > multiple > > > GPUs, running different X servers on those GPUs, for multiple > users to > > > use vglrun at the same time? > > > This is our current setup: > > > > > > 1 machine with 4 Nvidia K80 cards (latest drivers), running CentOS > 7, > > > VirtualGL 2.5.2, TightVNC, and Mate Desktop. > > > > > > We have 2 xorg.conf (2 cards configured on each xorg.conf), and > > > currently we are testing whether we can bring up 2 desktop > sessions via VNC. > > > The desktop loads, and we can see two different X servers running > on > > > those 4 cards and the VNC servers running on different displays. > > > > > > The issue is with VirtualGL. The first user can do startx and run > vglrun > > > glxgears, this will work fine. > > > When the second user startx, the first user's vglrun session will > be > > > terminated with this error: > > > > > > [VGL] ERROR: OpenGL error 0x0502 > > > [VGL] ERROR: in readpixels--- > > > [VGL] 439: Could not read pixels > > > > > > The first user can run vglrun again once the second user stops > their X > > > session. > > > My understanding is that with our setup, this should be do-able, > right? > > > > > > Thanks. > > > > -- > > You received this message because you are subscribed to a topic in > > the Google Groups "VirtualGL User Discussion/Support" group. > > To unsubscribe from this topic, visit > > > https://groups.google.com/d/topic/virtualgl-users/5B331QalCaI/unsubscribe. > > To unsubscribe from this group and all its topics, send an email to > > [email protected] > > <mailto:virtualgl-users%[email protected]>. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/virtualgl-users/e38fd010-f8e2-7faf-7e0b-2e3f68317985%40virtualgl.org > . > > For more options, visit https://groups.google.com/d/optout. > > > > -- > > 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 [email protected] > > <mailto:[email protected]>. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/virtualgl-users/CAOunvuMFtgSfjQf-TnmMMs1n5xOfUk520%2B2S0WgV6ipi-BEk-w%40mail.gmail.com > > < > https://groups.google.com/d/msgid/virtualgl-users/CAOunvuMFtgSfjQf-TnmMMs1n5xOfUk520%2B2S0WgV6ipi-BEk-w%40mail.gmail.com?utm_medium=email&utm_source=footer > >. > > For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to a topic in the > Google Groups "VirtualGL User Discussion/Support" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/virtualgl-users/5B331QalCaI/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/virtualgl-users/f34cbec1-b777-1970-86a2-f140907904eb%40virtualgl.org > . > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/virtualgl-users/CAOunvuPjSqe9k8SJWE_yF3tP8yXM%3DvC2eidvmJbXMhVruuzFuA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
