VNC For TiVo V1.1

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.

Nokia 770 Internet Tablet

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 -forever 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.

The 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.



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.


In version 1.1

Return to Graham's TiVo page

This page has been accessed Access counter times.

Graham Cobb