I have created a VNC client for the Tivo. The current version is a proof of concept, hacked up from PalmVNC, but it works. It has been tested with WinVNC, with vncserver/Xvnc and with x11vnc.
This is a display-only VNC client. That means it can display, on the TV, a copy of the screen from a PC or workstation. It does not handle any sort of input (mouse or keyboard) -- the server PC mouse and keyboard are used as normal. It does not currently handle any zooming (scaling) or scrolling -- so if the PC display is larger than the Tivo display, it just shows you the top left of the screen. Note that the Tivo display is 624x410 in NTSC mode and 624x516 in PAL mode.
I would be interested in what others think of this and what ideas people come up with for using it. One thing you can do using this is to run programs on your home PC and display the output on the TV for everyone to see (of course, some PCs already have a TV output which does this more effectively!). Another thing you can do is to use a "virtual" screen (like vncserver/Xvnc) on a Linux system and run programs which display something in that virtual screen. In this latter case, the virtual screen can be set to be the small enough for the Tivo (e.g. using vncserver -geometry 620x480)
To install tivoVNC, download the ZIP file
which contains the source as well as the program.
Extract the program called tivoVNC, copy it to your Tivo (make sure it is executable)
and run it with a command like:
tivoVNC -p <vnc password> <vnc server address>
Other options are described below.
Note: building tivoVNC is dependent on
libosd V1.2 or later which can
be found here.
My current main use for tivoVNC is to display the screen from my Nokia 770 Internet Tablet. The Internet Tablet is designed to be used to surf the web while sitting on the sofa and tivoVNC (working with x11vnc on the tablet) allows the tablet display to be seen on the TV.
The ZIP file also contains a script which can be used to start and stop tivoVNC.
To use this, extract the script file
vnc.tcl from the ZIP, copy it
to the Tivo (making sure it is executable) and run it using a command like:
vnc.tcl <internet tablet address>
The script starts tivoVNC when you press the up arrow button on the remote while the Tivo is in standby. To stop tivoVNC press the down arrow button or exit standby. To exit the script (which means it will stop monitoring the state and the button presses) press the thumb down key while in standby.
On the internet tablet you need to install the
VNC server application.
However, instead of running it using the menu option it is better to run it
from an xterm window which allows you to specify useful options like
which means it will allow tivoVNC to start and stop as may times as necessary.
I normally use:
/usr/bin/x11vnc -cursor arrow -viewonly -shared -forever
I presume you could even start it automatically at boot, although you may want to add
-loop and set a password if you are going to do that.
I have not tried doing that.
vnc.tcl script accepts any tivoVNC options (see below).
As the Internet Tablet screen is wider than the Tivo on-screen-display, I find that a useful option
to use is
-O +100+0. This shifts the image to the right, hiding the icons on the left
of the tablet screen but showing more of the application.
On the other hand, it is not much use if you like to use full screen mode on the tablet.
-. Negative x-offset has 720 added, negative y-offset has 576 added. The default geometry is either PAL or NTSC (see below) depending on whether this is a US or UK tivo.
-. Negative offsets have the remote display width/height added.
VNC for TiVo is Copyright (c) 2006 Graham R. Cobb and is distributed under the GPL (see the copyright notices and the license.txt file). It is derived from PalmVNC which is Copyright (C) 2001 Harakan Software and Copyright (C) 1998 International Computer Science Institute (ICSI) with permission (under the GPL).
VNC For TiVo is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
VNC For TiVo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
IMPORTANT NOTES: TiVo is a registered trademark of Tivo, Inc. This software is not created, endorsed, reviewed, approved or in any other way associated with Tivo, Inc.
vnc.tclscript to control server
Return to Graham's TiVo page