Hi to all, I am doing a rendering cluster with Centos5.5, Chromium,
VirtualGL and TurboVNC

Chromium with Sort-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 crserver
3. I connect to pc2 by ssh and run crserver

ssh-XY clust...@192.168.1.12 crserver4. In pc5 I open a terminal and run
crserver5. 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:1Now 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 atlantis4.
I connect by ssh to pc1 and run crserver
ssh-XY clust...@192.168.1.11 crserver5. I connect by ssh to pc2 and run
crserver
ssh-XY 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

crappfakerIt 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:1Now 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 atlantis4.
I connect by ssh to pc1 and run crserver

ssh-XY clust...@192.168.1.11export VGL_READBACK=0 vglrun crserver5. I
connect by ssh to pc2 and run crserver

ssh-XY clust...@192.168.1.12 export VGL_READBACK=0
vglrun crserver


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

crappfakerIt 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

Reply via email to