Based on a project by Kinggeek in which he bought an old Fujitsu tablet PC and turned it into a Cintiq-like remote drawing tablet for his desktop computer, I went out and bought a slightly more recent tablet, a Toshiba Tecra M4, and set out to duplicate his results. Much of Kinggeek’s project was limited to his particular model, and I set out to generalize it for any Wacom penabled tablet PC, and for Ubuntu, which is more user-friendly than the SliTaz Linux he had to use because of the limited capabilities of his tablet. Though I believe my method will work on any penabled tablet, so far it will be most effective on those with a native resolution of 1024×768 (or perhaps smaller, though this is untested.) On those with a larger resolution the remote drawing area is limited to 1024×768 on the tablet; it looks like this:
Let’s start with the tablet, which I’m presuming works, runs Windows, and has some amount of hard drive space. If you can’t get that far, it’s your problem.
Installing Ubuntu to dual-boot with Windows is dead easy. Just download and run WUBI, the Windows installer, and follow the instructions. It will guide you through what to do. You’ll pick a user name and password, but it will do everything else for you. Go ahead and boot to Ubuntu and log in.
If you’re connecting to a wired network, it should work out of the box. If you’re connecting to wireless, click the wedge-shaped icon in the top right and select the network or connect to a hidden network. This works intuitively and more or less the same way as Windows. While we’re here, in the same menu click Connection Information and find your IP address. We’re going to need it later.
If your tablet has a NVIDIA graphics card, the first thing to do is change the driver, because the default Ubuntu driver doesn’t work very well. At the bottom of the bar on the left is an icon with a gear and a wrench, click it. A window with a bunch of icons will pop up, click Software Sources at the bottom, then go to the Additional Drivers tab. You should see several options including X.Org.X server – Nouveau, which will be selected, and one or more NVIDIA binary Xorg driver. Select one of the NVIDIA drivers, hit Apply Changes, enter your password, and wait for it to complete. Then close out of System Settings.
Now we need to install two pieces of software. In the middle of the bar on the left is an icon of a shopping bag that says Ubuntu Software Center when you mouse over it. Click it, and when the window comes up go to the search box on the upper right and type ser2net. It will pop up in the main window, click it and click Install. Then go back to the search box, type xtightvncviewer, and do the same. Wait for them to finish installing, then close out of Software Center.
At the top of the left-hand bar is a round icon that says Dash Home. Click it and it will pop out a text box, type xterm (but don’t hit enter). A computer icon that says XTerm will appear, drag it onto the left bar. This is the most important thing for any Linux system to have, and for some reason Ubuntu doesn’t make it available by default. Anyway, now that it’s on the bar, click it, and you’ll get a command prompt.
Now we need to find out what port your digitizer is on. Type dmesg |grep ttyS (the vertical bar is the pipe key, usually shift+backslash) hit enter, and it will return a line that looks like [ 0.598799] 00:0b: ttyS4 at I/O 0x338 (irq = 4) is a 16550A The only important thing here is the number after the ttyS. If more than one shows up you may have to use trial and error later.
Type sudo nano /etc/ser2net.conf and hit enter, and your password when it asks. Nano is a simple text editor, the commands are on the bottom of the screen. The only ones we really care about are control-O to save and control-X to exit. Scroll down past the instructions to a bunch of lines starting with numbers like 2000 and 3000. Above them add the line 7000:telnet:600:/dev/ttyS4:19200 remctl NONE 1STOPBIT 8DATABITS -XONXOFF -RTSCTS -Local Where it says ttyS4, use the number you got in the previous step. Save and exit. Type sudo ser2net and hit enter to activate the changes. This forwards your digitizer output onto the network.
Now we’re going to run three commands to make sure the network ports we need are open:
- sudo ufw enable
- sudo ufw allow 5500
- sudo ufw allow 7000
And finally start the VNC viewer by typing vncviewer -listen -fullscreen and enter. (Though everything else is persistent, you’ll have to run this command every time you want to use this system. You can put it in one of the initializing scripts if you want but I don’t see any reason to keep it running all the time.) This is everything we need to do on the tablet/in Linux. Now we have to set up the Windows computer we’re going to connect to.
Download and install HW Virtual Serial Port. This is what we’re using to collect the digitizer data from the tablet. Log in to it and go to the settings tab. Make sure everything you can check is checked except TCP server mode. Go to the Virtual Serial Port tab and change the port to COM3, the IP address to the IP address of your tablet which we found way back at the beginning, and the port to 7000. Go back to the settings tab and click Save Settings to INI file, then come back to the Virtual Serial Port tab and click Create COM. This should connect successfully to the tablet. If it doesn’t, try rebooting the Windows computer, because this software is really finicky, and often a reboot will fix things. Unfortunately you’ll get used to it. HW VSP is really not an ideal solution but I haven’t found anything better. (Later on you will probably run into it refusing to close connections one they’re opened; a reboot fixes this too, but I often need two, one to close it and one to reopen.)
Download KingGeek’s modified Wacom driver and unzip and install it. Inside the folder you unzipped is a folder named Reg with three files in it, double click each of them. Once you have both the driver and VSP running, using the pen on the tablet should move the mouse on the desktop. It may take more reboots and fiddling with opening/closing connections in VSP to make this work. You won’t have accuracy yet, but don’t worry about it.
Download and install TightVNC. in Windows Explorer, go to the C:/Program Files/TightVNC directory. Right click and create a new text document. Put one line in it: taskkill /f /im tvnserver.exe Save the file as killer.bat. Then make another new text file and put these four lines in it:
taskkill /f /im tvnserver.exe
tvnserver.exe -controlapp -shareprimary
tvnserver.exe -controlapp -connect TABLETIPADDRESS
Where TABLETIPADDRESS is the IP address of your tablet. Save it as launcher.bat. Put shortcuts to these somewhere convenient, on the desktop is fine if you’re going to use this a lot or you’re like me and don’t mind the clutter.
All right, we’re almost done, and this next part is all you’ll have to do every time, except for potentially fighting with VSP. Change the resolution on your desktop to match the native resolution of your tablet. (If you’re using multiple monitors, just the primary.) Run launcher.bat, and the desktop on your Windows machine should show up on your tablet. If your tablet is bigger than 1024×768, you still won’t have pen accuracy. Change your desktop resolution to 1024×768, and the display on the tablet will collapse toward the upper left. Now you’ll have something resembling accuracy, and can fine-tune it by calibrating the tablet in the desktop control panel.
(The bit at the bottom that looks like really bad lag is just me not pressing hard enough at first.)
Many thanks to KingGeek for coming up with this method in the first place. Most of what I’ve done here is echoing his work. There’s still work to be done: primarily figuring out how to bypass the 1024×768 limitation in the Windows Wacom driver and finding a more robust solution than HW VSP. I also haven’t gotten around to testing this on wifi yet, especially because I don’t have wireless n. It works very well over 100baseT ethernet.