On 9/4/14 10:11 AM, Ladislaus Dombrowski wrote: > I am running TurboVNC and VirtualGL (v2.3.3) on two linux machines > running Ubuntu 10.4. I start up a TurboVNC server on the remote > machine. I connect to that server with a TurboVNC viewer. When I run > 'vglrun glxgears' i get: > > x$ vglrun glxgears > Running synchronized to the vertical refresh. The framerate should be > approximately the same as the monitor refresh rate. > [VGL] ERROR: OpenGL error 0x0502 > [VGL] ERROR: in readpixels--- > [VGL] 439: Could not read pixels > > > if I login to the remote machine and then connect with that display on > the client machine with 'vglrun -d :x.o glxgears' everything runs > fine. As soon as I logout of the remote machine, things don't work > again. I've been looking for a couple of weeks but can't find where > xserver stuff is connected to the Turboviewer DISPLAY. Any ideas?
Let's back up, because it seems like you may be misunderstanding how VGL is supposed to work. The -d option to vglrun specifies the 3D X server. That is the X server on which the 3D rendering will take place. It defaults to :0, because the idea of VirtualGL is to perform 3D rendering on the server and send only 2D images to the client or to the X proxy. You should never have to use the -d option to vglrun unless your server has multiple GPU, each connected to a separate X display, and you are trying to load balance VirtualGL across the GPUs. This is not a common situation. For most people, the server will have one display-- :0.0-- and you will run VirtualGL with its default options. (this is all explained in the User's Guide, BTW.) To reiterate-- the 3D X server should always be: (a) on the same machine as the 3D application you are running (b) hardware-accelerated (nVidia or ATI GPU recommended. Anything else is not going to be well-tested.) (c) accessible at all times to members of the vglusers group (this can be configured with vglserver_config.) The 2D X server is the X display where the rendered images will end up. If you are using TurboVNC, then this is the VNC server's display (:1 or whatever.) The 2D X server is specified in the DISPLAY environment variable, whereas the 3D X server is specified in the VGL_DISPLAY environment variable (or using the -d argument to vglrun.) As Nathan points out, the 3D X server should always be running, because that's the only way that VirtualGL can access the server's GPU. Running vglserver_config sets up your display manager (gdm, kdm, xdm, etc.) so that VirtualGL can access the 3D X server when it is sitting at the login prompt (again, refer to the User's Guide.) ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ VirtualGL-Users mailing list VirtualGL-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtualgl-users