Paul_Needle - 2006-10-23

Hi,

When I try to run applications (VMD/OpenSceneGraph) through Chromium, I have a few issues I can't work through:

1. Chromium splits the mouse control of the application into a separate window, with the actual display window being shown full screen separately.

2. Even though I am using the 'fullscreen' option from the render spu and even though the actual display window is full screen, the actual images only show up on a quarter of the screen.

3. Chromium can't interpose on scripts as easily as binaries, you need to mess around with the LD_LIBRARY_PATH variable within the application script (this one is not so much of a problem, as we have found a workaround more or less for this).

I have included my .conf file below.

Many thanks,
Paul.

# Copyright (c) 2001, Stanford University
# All rights reserved
#
# See the file LICENSE.txt for information on redistributing this software.

import sys
sys.path.append( '../server' )
from mothership import *

if len(sys.argv) > 3 or len(sys.argv) < 2:
        print 'Usage: %s <demo> [spu]' % sys.argv[0]
        sys.exit(-1)

demo = sys.argv[1]

if len(sys.argv) == 3:
        clientspuname = sys.argv[2]
else:
        clientspuname = 'pack'

server_spu = SPU( 'render' )
client_spu = SPU( clientspuname )

W = 1280
H = 1024

server_spu.Conf( 'window_geometry', [0, 0, W, H] )
server_spu.Conf( 'fullscreen', 1)
server_spu.Conf( 'swap_master_url', "" )
#client_spu.Conf( 'draw_bbox', 1 )

server_node = CRNetworkNode( 'visdemo' )
#sps = SPU('print')
#sps.Conf('log_file', 'slog')
#server_node.AddSPU( sps )
server_node.AddSPU( server_spu )

if (clientspuname == 'tilesort' ):
        server_node.AddTile( 0, 0, W, H )
                                                                                                                
client_node = CRApplicationNode( 'vismaster' )
#client_node.AddSPU( SPU('expando') )
#ps = SPU('print')
#ps.Conf('log_file', 'log')
#client_node.AddSPU( ps )
client_node.AddSPU( client_spu )
client_spu.AddServer( server_node, 'tcpip' )

client_node.SetApplication( demo )
client_node.StartDir( crbindir )
#client_node.StartDir( "/home/brian/51/tests/" )

cr = CR()
cr.MTU( 1024*1024 )
cr.AddNode( client_node )
cr.AddNode( server_node )
cr.Go()