Debian on the Lenovo X60T tablet PC
KTamas asked for a post on this, so here we go! Some of the stuff that follows was written a long time ago, some right now, etc. it’s a big mess, but maybe there are some interesting bits in there. Just don’t expect a coherent treatise on the subject.
Why Linux
When I bought an X60T, I thought I wouldn’t bother with Linux, everything was nicely preloaded with Windows XP and I saw no particular need to install Linux and suffer with the tablet features. However, I soon found that many of the drivers were really unstable and most of the extra features were really annoying. (Do you really want your screen to rotate based on motion sensor data?! I know I don’t!)
A few months later, I experienced a series of hardware malfunctions (strangely, beginning with the fingerprint reader). Among a bunch of other things, my hard drive also needed to be replaced. I turned in the laptop for a warranty replacement… and waiting some more… and more… now since I used this computer for work, I found this annoying to say the least. I called the service center and it turned out the new hard disk had arrived, but they hadn’t preloaded it with the OS yet because the new version had to be shipped from the UK [?!]. I told them “just leave it blank, I’ll put Linux on it”. I don’t think they believed me, but I had my X60T back the next day and with nothing on the hard drive. Yay!
So, Debian Linux it was.
I originally intended to write a really long howto which amassed information from several other howtos and my own experimentation, but I was short on time, and the notes I made were sparse to say the least. So this post will only include small bits and pieces of unsorted information. I still use Debian on this tablet, so you can ask me about my current configuration…
Setup
Make sure the hardware actually functions. This is not trivial. I was told by the service center that they had lots of problems with this tablet, it was produced in small quantities, etc. When I set out to install Linux, there was a testing CD available from Lenovo… in theory. In practice the disk image was completely broken. If they fixed it since then, great. If not, just get any rescue boot CD and run the usual tests.
The laptop can boot via LAN, you have to set the BIOS to “Diagnostic mode” to get to the PXE interface (I did not find it at first). But I opted to install through USB using a memory stick so I did not actually test this. After you booted from the stick, net install is very easy, basically plug and play if your LAN uses DHCP.
Video card works out of the box, but make sure it uses the correct driver (i810). See /etc/X11/xorg.conf. Sound card also works right away. Don’t forget to install appropriate mp3 etc. codecs and the Gnome ALSA mixer.
Tablet stylus
If memory serves right, I used this howto adapted to Debian to set up the pressure sensitive stylus. I do have the same lines in my xorg.conf.
Pressure sensitivity worked right away. IIRC, in GIMP you need to enable it manually.
ArtRage 2.5 is a great little piece of software for drawing on your tablet PC, the Windows version runs under Wine. (Pressure sensitivity works in Wine out of the box if you’ve done the above.) There is a free demo available, but I bought the full version for $20 after trying. Note that it has an MSI installer.
Xournal is a journal program for Linux, also recommended for your tablet.
I don’t use handwriting recognition so sorry, no info on that.
Screen rotation
Add the following line to /etc/X11/xorg.conf under Driver “i810″:
Option “RandRRotation”
Make sure xbase-clients and libxrandr2 are installed. I use Gnome, but I couldn’t get gnome-randr-applet to work, so you don’t need to install that. Also, none of the screen rotate scripts I found online worked for me (using the methods delineated there), so you’ll have to make your own, but it’s easy once you know the following:
These commands rotate the screen AND the cursor to vertical position:
xrandr –output LVDS –rotate right
xsetwacom set stylus rotate 1
These commands rotate to horizontal position:
xrandr –output LVDS –rotate normal
xsetwacom set stylus rotate 0
(Note that despite the “left, right”, etc. these are not relative rotations, ie. if you repeatedly –rotate right, nothing will change instead of the screen rotating around all the way.)
I do not recommend using other rotations. You should be very careful with –rotate left, because that way if you put the laptop in your lap in slate mode, the ventilation ducts are covered and your machine can overheat. I made this mistake under Windows and I was careful to set up Linux so that it doesn’t even try rotating that way. It doesn’t cause any serious problems – when it happened to me, the laptop simply shut down upon detecting excessive temperature after a while – but it definitely doesn’t improve your computer’s health.
A very easy solution is to make two executables out of these, put them in /usr/local/bin (or wherever you desire as long as it’s in your path) and link them on the Gnome toolbar as a ‘horizontal’ and a ‘vertical’ button. You can also combine the two scripts so that the resultant script detects the current rotation and always rotates to the other position. And you can map it to your favorite keypress or the ‘rotate’ button.
The motion sensor can also be used to detect rotation and rotate the screen accordingly, I don’t like that feature so I haven’t set it up for myself. Just make sure it never rotates to the ‘left’ position (see above).
There is also a possibility to rotate the screen when you close the lid. It is detected as a keypress, so you just need to detect the keypress and make your script execute upon that. I haven’t set it up yet and I probably won’t because I prefer the manual rotate. I think it’s also possible to detect stylus ejection??
CPU speedstepping and/or throttling
I haven’t tried CPU throttling, and I don’t think you should, either, unless you are feeling adventurous and/or have some money to burn
I think Windows does some throttling in addition to speedstepping, but the settings aren’t public. Experiment at your own risk.
As for speedstepping – the default settings by cpufreqd are that it should always run at max speed, which is bad because that’s really overkill. Be sure to enable “ondemand” everywhere and uncomment its lines in cpufreqd.conf!! Yeah, I know, my bad… but it took me an hour to notice they were still commented. Also, I think there is a typo in the howto, what you add to /etc/modules should be “cpufreq_ondemand” instead of “cpufreqd_ondemand”. For some obscure reason, cpufreqd.conf didn’t work for me with percentages (which is the default so I’m puzzled)… so you might wish to change those to actual speeds and also say echo 1000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq.
[note: I think the link to the howto is broken.
I wrote this paragraph two years ago or so.]
Hard disk shock protection
I had a lot of trouble getting hdapsd to work, unfortunately I did not make detailed notes, so all I have is this:
You’ll need hdapsd and you’ll also need to compile thinkpad-source. To test if the laptop detects movement, install and run hdaps-gl (it’s in hdaps-utils). To check if it really suspends the HDD, simply run dmesg.
Finally my brother came upon a solution, I’ll have to ask him if he still remembers it if anyone else has the same problem.
Trust me, you need the shock protection. I’ve seen howtos where it was treated like an unnecessary feature. That’s NOT true, the HDD is vulnerable, and if you boot under XP (Vista, whatever), you can see that the HDD is very often suspended by the protection system. Because you’ll use this laptop in slate mode a lot, it will run for prolonged times at odd orientations, you’ll often turn it around to turn the lid to slate mode, etc. My first HDD died in months even when I used Windows with the factory settings, so there is a lot of wear and tear… (now that it’s working under Debian, I haven’t had any problems in years B”H).
Missing
A lot, I will try to add more as I chance upon it (if that happens…), feel free to ask questions… I think the only thing I did not set up on it myself was hdapsd (I admit I gave up in utter exasperation after three days… then it took about the same amount of time for my brother to get it to work but he actually succeeded).
1 Comment »
RSS feed for comments on this post. TrackBack URL





Oh, wow. Koszi