![]() |
|
|
|
|
| 010011010110000101110100011101000010000001000010011101010111010001100011011010000110010101110010 | |
|
How I configured my Toshiba Satellite R-15 TabletPCA step-by-step guide
Author: M Butcher This document explains how I configured my Toshiba Satellite R-15 TabletPC to run not only as a laptop, but as a tablet. Updated for Ubuntu 6.06 LTS (Dapper Drake). Updates are in italics.Wacom TabletFor the most part, Ubuntu 6.06 configures itself for the R-15. The basics all worked with no issues whatsoever. Everything from the monitor and graphics card to the Intel Wi-Fi was automatically configured.
There are a few sundry devices that I have not really tested or used – the firewire, the PCMCIA, and the tablet buttons all remain untried in spite of the fact that I've had this laptop for almost a year now. They are just not features I need. The tablet screen, though... that's another story. For more on basic config with Ubuntu 6.06 LTS, see Ubuntu 6.06 (Dapper Drake) Linux on a Toshiba Tecra R-15 Tablet PC.
The Satellite R-15 screen has a Wacom tablet overlayed. The Wacom tablet uses an active digitizer (which means you have to use the Wacom stylus – it is not touch sensitive like a Palm Pilot). The appropriate drivers are made available in the Ubuntu kernel distribution. No re-compiling of the kernel is necessary. (“And there was much rejoicing. Yay.”) Moreover, the X11 server (X.org) includes drivers for the stylus, though we will have to configure /etc/X11/xorg.conf to get these working.
In spite of the fact that Ubuntu can handle the tablet, to get things working, there are several steps of additional configuration that needs to be done. Much of this has to be done at the command line, and I will assume that you can get around in the bash shell. First, there were a few additional packages that I had to install:
wacom-kernel-source Actually, truth be told, I don't think I needed the wacom-kernel-source package (I never had to rebuild the kernel), and I didn't need to use the setserial program, either. So, you may want to just try the wacom-tools and xserver-xorg-input-wacom packages to get started. After installing these, I took a look in /dev to see if I could figure out which serial device the Wacom tablet was listening on. Conveniently, Ubuntu creates a symbolic link from the appropriate TTY (/dev/ttyS4) to /dev/wacom. Note: In 6.06, the device is now /dev/wacom. I have changed all of the examples to reflect this. If you are running an older version of Ubuntu (5.10, for instance), you will want to use /dev/wacom0, not /dev/wacom. Note: Not all tablets will have the symbolic link to /dev/wacom0. If you do not know which tty your tablet is listening on, you can use the wacdump command to test various /dev/ttyS* devices. Using the wacdump utility, I tested the tablet: wacdump /dev/wacom As I moved the stylus around the screen, wacdump wrote the stylus coordinates to the screen. I then configured my xorg.conf file to accept input from the tablet and stylus. In the InputDevice section of /etc/X11/xorg.conf, I added the following: # MPB: Begin edits for tablet support: Note that while the “eraser” section caused no problems, it didn't actually activate the eraser, so I commented it out. (The eraser, BTW, does not work in Windows, either, in case you are keeping score). Restarting X.org (CTRL-ALT-BACKSPACE), I was able to get the tablet digitizer to work like a mouse. This is nice and all... but I wanted to use the laptop in tablet mode, and the above configuration only worked for laptop mode. Setting Up Tablet Mode:Having done some research online, I discovered that, due to limitations in the Intel i810 graphics card driver, I would not be able to rotate the display of X without restarting X. This got me thinking: I rarely rotate the display once I've booted (in fact, the only times I've done it in windows are when I'm killing time). So... what would be most desirable is to be able to specify at boot time whether I wanted it to boot into tablet mode, or into laptop mode. I sat down and made a list of what I wanted. When I use the tablet mode, I am usually running on battery power. Basically, I only use tablet mode for three tasks: (1) Taking notes, (2) Reading files – mainly in PDF format, and (3) Accessing notes stored in Sinciput, my web-based note-taking program. So I came up with this lost of features I wanted in tablet mode:
The way to handle this situation, I decided, is to use different runlevels and instruct the init program (a.k.a. process number 0) to start up in laptop or tablet modes. This way, I could pass a boot parameter to grub, and have it boot into the right mode. What is a runlevel? In some variants of UNIX (linux included) the first program to execute, init, figures out what processes to start or stop based on what runlevel it is in. There are six runlevels to choose from. 1 and 6 are special: they are for rebooting and halting the system. Init runs the processes in those runlevels to safely shut down everything on the system before cutting the power. If this all sounds confusing, don't worry... it's much simpler than it sounds. Of the remaining runlevels, Ubuntu (like Debian) only uses 2. So I decided to leave 2 as the default laptop runlevel, and use runlevel 4 for tablet mode. With this new resolve, I set about to configure my new custom runlevel. Step 1: Set up an alternate Tablet mode entry for grub.Grub (Grand Unified Bootloader) is the program that runs when Ubuntu first starts. It lets you choose whether to boot into Linux, Linux Failsafe, Memtest, or some other operating system. We want it to let us choose to boot into tablet mode, as well. To do this, we just have to update the Grub config file, and then re-run the grub configuration tool (to rebuild the kernel list). First, edit /boot/grub/menu.lst (Note: lst starts with L, not the digit 1.) Here's what needs to be done: Locate the #altoptions section and add one new line for the tablet config: ## altoption boot targets option The line I added was # altoptions=(Tablet) quiet splash 4 The part in parens – (Tablet) – provides the label that will show up in the bootloader. 'quiet splash 4' are the parameters that will be passed to the kernel, and then to init. quiet and splash instruct the kernel to display less boot information (quiet) and display the pretty splash screen. The digit 4 tells init which runlevel to use – remember, 4 is our custom tablet runlevel. Once that is ready, run update-grub. This will check the config and then update the kernel list within the menu.lst file. That's all there is to configuring the boot loader. Next stop: Edit the new runlevel. Step 2: Customize Runlevel 4 (/etc/rc4.d/)The runlevel folders /etc/rc?.d (where '?' is a digit between 1 and 6, inclusive) contain pointers to all of the scripts that will be run by init. Scripts that start with S are for starting up a service. Scripts that start with K are for killing a service. Compare, for example, runlevel 1 (reboot) with runlevel 2 (normal laptop mode). The first thing we want to do is set up a script to start GDM (Gnome Desktop Manager) in tablet mode instead of laptop mode – that is, with a portrait orientation instead of a landscape orientation. For that, it will need a special gdm.conf file. Create the script /etc/init.d/gdm-tablet, with the following contents: #! /bin/shBasically, this is /etc/init.d/gdm plus a couple changed lines. Here's the diff between gdm and gdm-tablet:
$ diff /etc/init.d/gdm-tablet /etc/init.d/gdm Yup, that's it – one line added, one line changed. Next, copy /etc/X11/gdm/gdm.conf to /etc/X11/gdm/gdm-tablet.conf and make the following changes to the gdm-tablet.conf file: $ diff /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-tablet.confFirst, change AutomaticLoginEnabled to true and set AutomaticLogin to your preferred username. Then, change command to start X with a special config file:
command=/usr/X11R6/bin/X -br -audit 0 -config /etc/X11/xorg-tablet.conf Now it's time to create the /etc/X11/xorg-tablet.conf file. Copy the /etc/X11/xorg.conf file over to /etc/X11/xorg-tablet.conf. This new file will have the config info for starting X.org in portrait orientation. Now find the section of the xorg-tablet.conf file that contains the device settings. You will need to add the “Rotate” option in a couple of places:
# Begin edits for tablet support: Note that the last one rotates the image in the Intel graphics card. Now, change directories to /etc/rc4.d and configure some runlevel services. First, move S14gdm to K13gdm. This will kill the main gdm instance.
mv S14gdm K13gdm Next, make a symbolic link from S13gdm-tablet to /etc/init.d/gdm-tablet:
ln -s /etc/init.d/gdm-tablet S13gdm-tablet In the other five rc directories (/etc/rc[1,2,3,5,6].d), you will need add a similar link to kill the gdm-tablet server:
ln -s /etc/init.d/gdm-tablet /etc/rc1/K10gdm-tablet Finally, you just need to stop any other services you don't want running. Usually, all you have to do is change the S to a K in the name of the service. mv /etc/rc4.d/S13mysql /etc/rc4.d/K13mysql and so on. Now you are done configuring runlevels. Next, we are ready to start testing. Step 3: Switching runlevels and rebootingYou can switch runlevels by instructing init to change runlevels. Here's how:
1.Close all of your windows and log out.
This should switch you into tablet mode, restarting X.org in tablet mode. To get back to laptop mode, do steps 1 and 2 above, and then type the command 'init 2'. Once this is working, reboot. When Grub comes back up, you should have a Tablet entry in the boot menu. Step 4: User level applicationsThat's all there is to it! Now you can install some user-level apps and be on your way.
Some extras you may want to install:
|
|
|||||||||||||||||
Search |
|||||||||||||||||||
|
Questions? Comments? Consulting Opportunities? Email matt at aleph-null.tv. This site and all of its content is Copyright © 2003-2005, Aleph-Null, Inc. All rights reserved. |
|||||||||||||||||||