I think there are two problems: (1) On the Chromium server nodes, you are not running crserver on the root display. For instance, when you SSh into pc1 and pc2, you need to set DISPLAY=:0 before running crserver. This is perhaps unclear in the VirtualGL documentation.
(2) Before you can run anything on display :0 on pc1 or pc2, you need to grant access to that display. That means either logging in on both of those machines or using vglserver_config to enable X server access while the machine is sitting at the login prompt. On 11/24/10 12:39 PM, Armando Arostegui wrote: > Hi to all, I am doing a rendering cluster with Centos5.5, Chromium, > VirtualGL and TurboVNC > > Chromium withSort-First Rendering (Image-Space Decomposition) with > Readback is working, I use the reassemble.conf file of Chromium's > configuration to do mi own configuration, the name is mio2.conf > > > I have 3 pcs, one like app node (pc5) and two like server chromium nodes > (pc1 and pc2), on the app node runs a tilesort spu and on the server > nodes runs a readback spu and a pack spu, all is reassembled on the app > node in a render spu > > This works runing it from app node > > 1. In pc5 open a terminal and writes > > > cd /home/cluster5/cr-1.9/mothership/configs/Mios/ > > > python mio2.conf atlantis > > > > 2. I conect to pc1 by ssh and run crserver > > > ssh-XY clust...@192.168.1.11 <mailto:clust...@192.168.1.11> > > > crserver > > > 3. I connect to pc2 by ssh and run crserver > > > ssh-XY clust...@192.168.1.12 <mailto:clust...@192.168.1.12> > > > crserver > > 4. In pc5 I open a terminal and run > > > crserver > > 5. In pc5 I open a terminal and run > crappfaker > > The application atlantis runs ok in paralel > > > > Then I want to run remotly all this from a netbook > > 1. In pc5 I run a TurboVNC session > > /opt/TurboVNC/bin/vncserver > > 2. In netbook (pc6) I open the TurboVNC viewer and write the app server > IP (pc5) : # of TurboVNC session > > > /opt/TurboVNC/bin/vncviewer > > > 192.168.1.15:1 <http://192.168.1.15:1/> > > > Now I am in pc5 by TurboVNC > > 3. In pc5 I open a terminal and write > > > cd /home/cluster5/cr-1.9/mothership/configs/Mios/ > > > python mio2.conf atlantis > > 4. I connect by ssh to pc1 and run crserver > > > ssh-XY clust...@192.168.1.11 <mailto:clust...@192.168.1.11> > > > crserver > > 5. I connect by ssh to pc2 and run crserver > > > ssh-XY clust...@192.168.1.12 <mailto:clust...@192.168.1.12> > > > crserver > > > 6. I open a terminal in pc5 y run > > > vglrun crserver & export CR_SYSTEM_GL_PATH=/opt/VirtualGL/fakelib > VGL_GLLIB=/usr/lib/libGL.so.260.19.12 > > > At this point I have a doubt, in /usr/lib/ found 3 file libGL > > > libGL.so > > > libGL.so.1 > > > libGL.so.260.19.12 > > The last file is of NVidia 260.19.12 version, I try to write each one of > this values to VGL_GLLIB but it did not work in any case > > 7. I open a terminal in pc5 and run > > > crappfaker > > It runs step 1 to 5 and it is all ok, when step 6 runs it shows these > messages: > > In the terminal which runs vglrun crserver > > > [clust...@pc5 ~]$ vglrun crserver & export > CR_SYSTEM_GL_PATH=/opt/VirtualGL/fakelib > VGL_GLLIB=/usr/lib/libGL.so.260.19.12 > > > [2] 4724 > > > [1] Done vglrun crserver > > > [clust...@pc5 ~]$ CR Info(pc5:4724): Total output dimensions = (0, 0) > > > > In pc1 > > > [clust...@pc1 ~]$ crserver > > > Xlib: extension “GLX” missing on display “localhost:10.0”. > > > CR Warning(pc1:4058): Render SPU: Display localhost:10.0 doesn’t > support GLX > > > CR Warning(pc1:4058): Render SPU: Couldn’t get a visual, > renderspu_SystemInitVisual failed > > > CR Warning(pc1:4058): Render SPU: Couldn’t create a window, > renderspuFindVisual returned NULL > > > CR Error(pc1:4058): Render SPU: Couldn’t get a double-buffered, RGB > visual with Z! > > > [clust...@pc1 ~]$ > > > In pc2 > > > [clust...@pc2 ~]$ crserver > > > Xlib: extension "GLX" missing on display "localhost:10.0". > > > CR Warning(pc2:3878): Render SPU: Display localhost:10.0 doesn't > support GLX > > > CR Warning(pc2:3878): Render SPU: Couldn't get a visual, > renderspu_SystemInitVisual failed > > > CR Warning(pc2:3878): Render SPU: Couldn't create a window, > renderspuFindVisual returned NULL > > > CR Error(pc2:3878): Render SPU: Couldn't get a double-buffered, RGB > visual with Z! > > > [clust...@pc2 ~]$ > > > > > I try to use VirtualGL to force Pbuffer rendering > > > 1. In pc5 I run a TurboVNC session > > /opt/TurboVNC/bin/vncserver > > 2. In netbook (pc6) I open the TurboVNC viewer and write the app server > IP (pc5) : # of TurboVNC session > > > /opt/TurboVNC/bin/vncviewer > > > 192.168.1.15:1 <http://192.168.1.15:1/> > > > Now I am in pc5 by TurboVNC > > 3. In pc5 I open a terminal y write > > > cd /home/cluster5/cr-1.9/mothership/configs/Mios/ > > > python mio2.conf atlantis > > 4. I connect by ssh to pc1 and run crserver > > > ssh-XY clust...@192.168.1.11 <mailto:clust...@192.168.1.11> > > > export VGL_READBACK=0 > > > vglrun crserver > > 5. I connect by ssh to pc2 and run crserver > > > ssh-XY clust...@192.168.1.12 <mailto:clust...@192.168.1.12> > > > export VGL_READBACK=0 > > vglruncrserver > > > 6. I open a terminal in pc5 and run > > > vglrun crserver & export CR_SYSTEM_GL_PATH=/opt/VirtualGL/fakelib > VGL_GLLIB=/usr/lib/libGL.so.260.19.12 > > > > In this point I have a doubt, in /usr/lib/ found 3 files libGL > > > libGL.so > > > libGL.so.1 > > > libGL.so.260.19.12 > > The last file is of NVidia 260.19.12 version, I try to write each one of > this values to VGL_GLLIB but it did not work in any case > > 7. I open a terminal in pc5 and run > > > crappfaker > > It runs the step 1 to 6 and it is all ok, when step 7 runs it shows > these messages: > In the terminal which runs vglrun crserver > > > [clust...@pc5 ~]$ vglrun crserver & export > CR_SYSTEM_GL_PATH=/opt/VirtualGL/fakelib VGL_GLLIB=/usr/lib/libGL.so > > > [1] 4812 > > > [clust...@pc5 ~]$ CR Info(pc5:4812): Total output dimensions = (0, 0) > > > In pc1 > > > [clust...@pc1 ~]$ export VGL_READBACK=0 > > > [clust...@pc1 ~]$ vglrun crserver > > > [VGL] NOTICE: Automatically setting VGL_CLIENT environment variable to > > > [VGL] 192.168.1.15, the IP address of your SSh client. > > > [VGL] ERROR: Could not open display :0. > > > [clust...@pc1 ~]$ > > > > In pc2 > > > [clust...@pc2 ~]$ export VGL_READBACK=0 > > > [clust...@pc2 ~]$ vglrun crserver > > > [VGL] NOTICE: Automatically setting VGL_CLIENT environment variable to > > > [VGL] 192.168.1.15, the IP address of your SSh client. > > > [VGL] ERROR: Could not open display :0. > > > [clust...@pc2 ~]$ > > > The Chomium configuration is the next: > > > # This is an example of tilesort-reassembly into an application window. > > > # > > > # The app node has a tilesort SPU that connect to two servers. > > > # Each server has two tiles (four total). > > > # A readback SPU runs on each server. > > > # The readback SPUs send two tiles each to the render SPU. > > > # The render SPU uses render_to_app_window to render into the original > > > # application window. The render SPU window is never displayed. > > > import sys > > > sys.path.append( "/home/cluster5/cr-1.9/mothership/server" ) > > > from mothership import * > > > if len(sys.argv) < 2: > > > demo = "atlantis" > > > else: > > > demo = sys.argv[1] > > > # Server(s) base hostname. If your cluster has hosts named cr1, cr2, > cr3, > > > # etc. you'd set ServerHost = 'cr'. If you leave ServerHost as '' then > > > # all nodes will be on your local host. > > > ServerHost = 'pc' > > > cr = CR() > > > cr.MTU( 1024*1024 ) # may need larger value for big windows > > > TILE_COLS = 2 # don't change these unless you overhaul LayoutTiles() > > > TILE_ROWS = 2 > > > MAX_TILE_WIDTH = 300 > > > MAX_TILE_HEIGHT = 300 > > > NUM_SERVERS = 2 # don't change these unless you overhaul LayoutTiles() > > > SLOP = 30 # window border > > > REASSEMBLE = 1 # use readback SPUs and downstream render SPU > > > RENDER_BACK = 1 # render back into app window > > > RESIZABLE = 1 # track client window size changes > > > # This is a callback which we register with spu.TileLayoutFunction() > > > def LayoutTiles(muralWidth, muralHeight): > > > """Return list of tuples of new tiles for the given mural size. > > > Each tuple is of the form (serverIndex, x, y, width, height).""" > > > if muralWidth > MAX_TILE_WIDTH * TILE_COLS: > > > print "Warning: mural size is too wide!" > > > muralWidth = MAX_TILE_WIDTH * TILE_COLS > > > if muralHeight > MAX_TILE_HEIGHT * TILE_ROWS: > > > print "Warning: mural size is too tall!" > > > muralHeight = MAX_TILE_HEIGHT * TILE_ROWS > > > # four tiles > > > w = muralWidth / 2 > > > h = muralHeight / 2 > > > t0 = (0, 0, 0, w, h) # lower-left > > > t1 = (0, w, 0, muralWidth - w, h) # lower-right > > > t2 = (1, 0, h, w, muralHeight - h) # upper-left > > > t3 = (1, w, h, muralWidth - w, muralHeight - h) # upper-right > > > tiles = [] > > > tiles.append(t0) > > > tiles.append(t1) > > > tiles.append(t2) > > > tiles.append(t3) > > > return tiles > > > # The application node (tilesort SPU) > > > tilesortspu = SPU( 'tilesort' ) > > > tilesortspu.TileLayoutFunction( LayoutTiles ) > > > #tilesortspu.Conf('broadcast', '1') > > > tilesortspu.Conf('bucket_mode', 'Non-Uniform Grid') > > > client_node = CRApplicationNode('pc5') > > > client_node.StartDir( crbindir ) > > > client_node.SetApplication( demo ) > > > client_node.AddSPU( tilesortspu ) > > > client_node.Conf('track_window_size', RESIZABLE) > > > cr.AddNode( client_node ) > > > # Final reassembly node (render SPU) > > > if REASSEMBLE: > > > render_node = CRNetworkNode('pc5') > > > render_node.Conf('shared_windows', 1) > > > renderspu = SPU('render') > > > renderspu.Conf( 'window_geometry', > > > [850, 0, TILE_COLS * MAX_TILE_WIDTH, TILE_ROWS * MAX_TILE_HEIGHT] ) > > > renderspu.Conf('render_to_app_window', RENDER_BACK) > > > renderspu.Conf('resizable', RESIZABLE) > > > render_node.Conf('only_swap_once', 1) > > > render_node.AddSPU(renderspu) > > > cr.AddNode( render_node ) > > > # create server nodes > > > serverNodes = range(NUM_SERVERS) > > > for i in range(NUM_SERVERS): > > > if ServerHost == '': > > > serverNodes[i] = CRNetworkNode( ) > > > else: > > > serverNodes[i] = CRNetworkNode( ServerHost + str(i + 1) ) > > > if REASSEMBLE: > > > readbackspu = SPU( 'readback' ) > > > readbackspu.Conf( 'window_geometry', > > > [0, i * (MAX_TILE_HEIGHT + SLOP), > > > 2 * MAX_TILE_WIDTH, MAX_TILE_HEIGHT] ) > > > readbackspu.Conf('extract_alpha', 0) > > > readbackspu.Conf('extract_depth', 0) > > > readbackspu.Conf('title', 'readback SPU %d' % i) > > > # readbackspu.Conf('render_to_app_window', RENDER_BACK) > > > serverNodes[i].AddSPU( readbackspu ) > > > packspu = SPU('pack') > > > serverNodes[i].AddSPU(packspu) > > > packspu.AddServer( render_node, protocol='tcpip' ) > > > else: > > > renderspu = SPU( 'render' ) > > > renderspu.Conf( 'window_geometry', > > > [0, i * (MAX_TILE_HEIGHT + SLOP), > > > 2 * MAX_TILE_WIDTH, MAX_TILE_HEIGHT] ) > > > serverNodes[i].AddSPU( renderspu ) > > > #if i == 0: > > > # > > serverNodes[i].AutoStart(["/usr/bin/ssh",'-XY','-l',"cluster1","192.168.1.11","crserver"]) > > > #if i == 1: > > > # > > serverNodes[i].AutoStart(["/usr/bin/ssh",'-XY','-l',"cluster2","192.168.1.12","crserver"]) > > > tilesortspu.AddServer( serverNodes[i], protocol='tcpip', port=7001 + i ) > > > serverNodes[i].Conf('optimize_bucket', '0') > > > cr.AddNode( serverNodes[i] ) > > > # setup tiling > > > for row in range(TILE_ROWS): > > > for col in range(TILE_COLS): > > > index = row * TILE_COLS + col > > > srv = index % NUM_SERVERS > > > node = serverNodes[srv] > > > node.AddTile( col * MAX_TILE_WIDTH, > > > (TILE_ROWS - row - 1) * MAX_TILE_HEIGHT, > > > MAX_TILE_WIDTH, MAX_TILE_HEIGHT ) > > > cr.Go() > > > > Please I need help to run Chromium with VirtualGL and TurboVNC > I follow the steps of the VirtualGL 2.2 user's guide > > > > ------------------------------------------------------------------------------ > Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! > Tap into the largest installed PC base & get more eyes on your game by > optimizing for Intel(R) Graphics Technology. Get started today with the > Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. > http://p.sf.net/sfu/intelisp-dev2dev > > > > _______________________________________________ > VirtualGL-Users mailing list > VirtualGL-Users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/virtualgl-users ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ VirtualGL-Users mailing list VirtualGL-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtualgl-users