GoogleEarth display with Chromium

Yusuke Tanimura <[email protected]>
Newsgroups gmane.comp.graphics.chromium.user
Message-ID <[email protected]>
Hello,

I am trying to use Chromium to display GoogleEarth on a 2x3
tiled display.  Though I can run the GoogleEarth but the image
is a kind of terribly jagged or zig-zag outline.

I met the same problem when I tried glplanet with chromium
v1.7 but glplanet with chromium 1.8 (Rocks viz) doesn't have
the problem anymore.  The GoogleEarth still has the problem
even with chromium v.1.9.

Each node runs CentOS 4.2 and each screen is 1600x1200.
I am not sure if my chromium is configured well.  I attach
autodmx.conf which I am using.

Does anyone have any idea or have any experiences to run
the GoogleEarth with Chromium?  Any comments will be
greatly appreciated.

Best regards,

--- 
Yusuke Tanimura
Grid Technology Research Center
National Institute of AIST, Japan

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

_______________________________________________
Chromium-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chromium-users
autodmx.conf (application/octet-stream, 6.5 KB)
# $Id: autodmx.conf,v 1.2 2006/08/10 00:12:07 mjk Exp $
#
# Copyright (c) 2001, Stanford University
# All rights reserved
#
# See the file LICENSE.txt for information on redistributing this software.

#
# This configuration file is meant to be used with DMX.
# When everything's set up correctly, you can just type type name of your
# OpenGL app and Chromium will work automatically on your DMX display.
# This is far nicer than manually starting crservers!
#
# Prerequisites:
#  1. Your ~/.crconfigs file needs to be setup.  Specifically, it needs a
#     line like this:
#        *  /usr/local/Chromium/cr/mothership/configs/autodmx.conf %m %p
#     This tells Chromium's libcrfaker to use the autodmx.conf config file
#     when running any application (indicated by *).  The %m is replaced by
#     a random mothership port.  The %p is replaced by the program name.
#
#  2. libGL.so and libGL.so.1 must be symlink to libcrfaker.so
#
#  3. The back-end/cluster machines must have the crserver binary in the
#     search path (typically /usr/local/bin or /usr/bin) and a properly
#     set LD_LIBRARY_PATH (you can tweak it below).
#
#  4. rsh to the back-end/cluster machines must work.
#
# How it works:
#  1. When the app starts, libcrfaker will fail to find the mothership on
#     its first try.  That'll signal it to search the .crconfigs file for
#     a mothership config to spawn.  libcrfaker will choose a random port
#     number for the mothership.
#
#  2. The mothership is spawned with autodmx.conf.  In turn, it uses rsh
#     to start up the crservers on the back-end machines.  Another random
#     port number is used for the crservers.
#
#  3. Control returns to libcrfaker where it proceeds to load the client-side
#     SPU chain (tilesort).  Then, control returns to the application.
#
# Notes:
#  1. We use random port numbers (within a reasonable range) so that multiple
#     GL apps can use DMX/Chromium simultaneously.  If we don't use random
#     numbers we'd need some sort of port broker (complicated).
#
#  2. You will need to tweak 'crdir' here:
#
# @Copyright@
# 
# 				Rocks
# 		         www.rocksclusters.org
# 		        version 4.2  (Hallasan)
# 
# Copyright (c) 2006 The Regents of the University of California. All
# rights reserved.
# 
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# 
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 
# 3. All advertising materials mentioning features or use of this
# software must display the following acknowledgement: 
# 
# 	"This product includes software developed by the Rocks 
# 	Cluster Group at the San Diego Supercomputer Center at the
# 	University of California, San Diego and its contributors."
# 
# 4. Neither the name or logo of this software nor the names of its
# authors may be used to endorse or promote products derived from this
# software without specific prior written permission.  The name of the
# software includes the following terms, and any derivatives thereof:
# "Rocks", "Rocks Clusters", and "Avalanche Installer".
# 
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# 
# @Copyright@
#
# $Log: autodmx.conf,v $
# Revision 1.2  2006/08/10 00:12:07  mjk
# 4.2 copyright
#
# Revision 1.1  2006/06/27 00:30:02  mjk
# - chromium reads config from DMX not from DB now
# - DMX config fixes for crazy Kim layout
# - Tile background color is a hash of the hostname
#

import os
import sys
import string
crdir = os.path.join(os.sep, 'opt', 'chromium')
sys.path.append(os.path.join(crdir, 'mothership', 'server'))

import random
from mothership import *

if len(sys.argv) < 3:
	print "Chromium mothership error: no program specified to run!"
	sys.exit(1)

mothershipPort = int(sys.argv[1])
program = sys.argv[2]

cr = CR()
cr.MTU( 10*1024*1024 )

# Call dmx_config to get information about the DMX tile layout.
import os
dmx = os.popen("%s/dmx_config 2>/dev/null" % crbindir).read()
if not dmx:
    print "Chromium mothership error: Chromium does not appear to have"
    print "Chromium mothership error: been compiled with DMX support."
    sys.exit(1)
dmx = eval(dmx)
if not dmx:
    print "Chromium mothership error: DMX does not appear to be running."
    sys.exit(1)

localHostname = os.uname()[1]

# choose random port for server communication
serverPort = random.randint(7000, 7100)

AUTOSTART = 1


# These values don't really matter!
TILE_WIDTH = 550
TILE_HEIGHT = 550

tilesortspu = SPU('tilesort')
tilesortspu.Conf('use_dmx', 1)
tilesortspu.Conf('retile_on_resize', 1)  # the default
tilesortspu.Conf('bucket_mode', 'Non-Uniform Grid')

clientnode = CRApplicationNode( )
clientnode.SetApplication( program )
clientnode.AddSPU( tilesortspu )
clientnode.Conf('track_window_size', 1)
clientnode.Conf('track_window_position', 1)

for tile in dmx:
    renderspu = SPU( 'render' )
    host = tile['display'].split(':')[0]
    renderspu.Conf('display_string', tile['display'])
    renderspu.Conf('render_to_app_window', 1)

    servernode = CRNetworkNode( host )
    servernode.AddTile( 0, 0, tile['width'], tile['height'])
    servernode.AddSPU( renderspu )

    # optimize_bucket is of no use w/ DMX.
    servernode.Conf('optimize_bucket', 0)
    servernode.Conf('use_dmx', 1)
    cr.AddNode( servernode )

    if AUTOSTART:
        servernode.AutoStart( ["/usr/bin/ssh", host,
                                "bash --login -c 'env DISPLAY=:0.0 LD_LIBRARY_PATH=%s %s/crserver -mothership %s:%d'" % (crlibdir, crbindir, localHostname, mothershipPort) ] )

    tilesortspu.AddServer( servernode, protocol='tcpip', port=serverPort )

cr.AddNode( clientnode )
cr.Go( mothershipPort )
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.