Sunday, June 2, 2013

Getting a Usable Trackpad on an Aluminum Powerbook in Debian

(UPDATE: In Debian Jessie, my trackpad performs much better.)

I got an aluminum Powerbook off eBay since I decided using a Sawtooth manufactured 13 years ago as my everyday computer was sad, and that a Powerbook from 2006 would be slightly less sad. Actually, all the other choices were even less palpable. Maybe I'll write a post about why decided to stick with PowerPC, but for now I wanted to focus on one thing. After putting Debian on my Linux partition and booting into it, wow did this trackpad suck. Like slow as molasses. And it wasn't a hardware problem. It worked perfectly in OS X. After doing a bit of googling, I found out it's a common problem among Powerbooks from 2005-2006 and the solution is in configuring the synaptics driver.

So here's what you do. First, you should already have the driver, xserver-xorg-input-synaptics, installed as part of the Xorg meta package. Next, you want to open Leafpad or whatever text editor you have and paste the following in a new file:

Section "InputClass"
   Identifier   "Touchpad"
   MatchIsTouchpad   "yes"
   Driver   "synaptics"
   Option   "SHMConfig"              "true"
   Option   "MinSpeed"               "0.3"
   Option   "MaxSpeed"               "1.0"
   Option   "AccelFactor"            "0.25"
   Option   "LeftEdge"               "0"
   Option   "RightEdge"              "950"
   Option   "TopEdge"                "0"
   Option   "BottomEdge"             "645"
   Option   "FingerLow"              "3"
   Option   "FingerHigh"             "7"
   Option   "TapButton1"             "1"
   Option   "TapButton2"             "0"
   Option   "TapButton3"             "0"
   Option   "VertTwoFingerScroll"    "1"
   Option   "HorizTwoFingerScroll"   "0"
   Option   "LockedDrags"            "1"
EndSection

These settings give you left-click tapping, vertical two-finger scrolling, and locked dragging where you have to click again to release the drag. The FingerLow and FingerHigh values are very low to compensate for the initial (non) sensitivity of my trackpad. If this is too sensitive for you, you can up the values to 10 and 30, respectively, or higher. You can also look up man synaptics for all the options and also synclient -l for a list of your defaults.

Next, save the file as synaptics.conf and create a new folder with:

sudo mkdir /etc/X11/xorg.conf.d

Finally, copy the synaptics.conf file into the newly created folder with:

sudo cp /path/to/your/synaptics.conf /etc/X11/xorg.conf.d/synaptics.conf

Now when you restart your X session your new settings should be in effect. In my case it's made for much smoother scrolling, though still not as good as on OS X. Occasionally the trackpad is non-responsive and I have to wake it up with an extra swipe or two.

Another issue specific to these Powerbooks is the keyboard backlight. Via the MintPPC forum, you need to put i2c-dev into /etc/modules and after reboot your keyboard backlight keys should work. Easy.

13 comments:

  1. I hope you do stick with PowerPC, cause "intelmacluddite" doesn't quite sound right. Yet.

    Debian is fine and good but don't forget about Leopard. Turning off v-sync really speeded up the GUI on my ibook, which is two years older than your Powerbook. It feels, umm, Tiger fast to me now.

    Hope you still get good use out of your Sawtooth. These towers just don't quit.

    ReplyDelete
    Replies
    1. Here's to a future where Intel people are called the luddites. Though my Sawtooth will outlast them.

      Delete
  2. I have been trying to run MintPPC on an old iBook with mixed results. It seems to install just fine, but idles at a constant 20% of CPU. When I boot up into Leopard that number goes goes down to between 1% and 3%. If the intent of running Linux is to have a more efficient operating system on these older 'Books... It isn't.

    Also, the little things you just take for granted in Leopard, like a battery monitor, aren't part of the package in MintPPC. I have to go to the command line to use IBAM, which works just fine, but it's mildly annoying to have to go to the terminal just to keep track of battery usage.

    Like you, I have been running Linux on my G4 Power Mac (Quicksilver) for years with very little problem. It is certainly a great alternative to OS X on these older machines. But, on laptops... I'm not so sure.

    ReplyDelete
    Replies
    1. I have Debian and Openbox on a pair of laptops, which is similar to MintPPC and usually see 1%-2% CPU when idling. Which processes are accounting for your CPU usage?

      On the battery monitor, I saw this link and have been meaning to try it but I keep forgetting:

      https://wiki.ubuntu.com/PowerPCFAQ#How_do_I_get_a_working_battery_indicator.3F

      Delete
    2. I would highly recommend Debian 7 LXDE. Pretty much the same as Mint. I installed it last night and am very impressed. Everything worked perfectly out of the box.

      You can get it here:
      http://cdimage.debian.org/debian-cd/7.0.0/powerpc/iso-cd/debian-7.0.0-powerpc-lxde-CD-1.iso

      Delete
    3. Zen, I tried Debian 7 LXDE both on my Quicksilver and the iBook. I, too, am impressed with the result on the Quicksilver. Little glitches that were there a week ago, like not being able to right-click on the desktop to go to preferences have been fixed.

      On the iBook, though, there is still a problem with the wifi connection (device not ready, firmware missing). Oddly, MintPPC connects up to my wireless router just fine even though it's based on Debian 7.0

      I will look into this.

      Delete
    4. Have you tried this fix for wifi, Tom?

      https://wiki.ubuntu.com/PowerPCFAQ#Will_my_wireless_work.3F

      It's a Ubuntu based fix but should work fine on Debian since the two are so similar.

      Delete
    5. I couldn't try the fix for Debian 7.0 as not even the ethernet connection worked when rebooting after installation. So, I installed Lubuntu 13.04, applied the fix, and everything is fine. CPU usage is down to 3% but still can't get the battery monitor to display. Hmm...

      Delete
    6. You can install the Batti utility, which will put a working graphical battery indicator in your task bar/panel. I outlined the procedure here: http://www.mintppc.org/forums/viewtopic.php?f=20&t=1530

      In other news, I can't get the trackpad gestures to work at all, even after messing about with the settings for a few days. My next step is to try this: https://github.com/iberianpig/xSwipe

      Delete
  3. This comment has been removed by the author.

    ReplyDelete
  4. I'm trying to set up the trackpad in my April 2004 PowerBook for two finger scroll in debian. I use two finger scroll in Leopard via iScroll2. For some reason my trackpad doesn't seem to be recognized as a trackpad,(but works fairly well as a pointing device). So far my research has shown that the trackpad was changed in the January 2005 models (USB instead of ADB). My trackpad is listed as a ADB Mouse by xinput:

    $ xinput list
    ⎡ Virtual core pointer id=2 [master pointer (3)]
    ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
    ⎜ ↳ ADB mouse id=8 [slave pointer (2)]
    ⎜ ↳ Macintosh mouse button emulation id=10 [slave pointer (2)]
    ⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ ADB keyboard id=6 [slave keyboard (3)]
    ↳ ADB Powerbook buttons id=7 [slave keyboard (3)]
    ↳ PMU id=9 [slave keyboard (3)]

    ReplyDelete
  5. I think a link for newbies for reassurance upon software configuration about actions to try would be GOOD.

    I am very new to Linux. My wife's old iBook, being a laptop, and my need to work on a gnu project found me on your doorstep. It all went so perfect I was totally unprepared for a hang when I failed to catch that I misspelled "Identifier". Worse, I did not reboot but used the machine for the next 11 days before rebooting when it hung!

    I spent 2 days making ignorant stabs. In rescue mode at the correct partition I happened upon a note in my logbook at my home directory referring to this website. Retracing my steps revealed the error.

    Surely there is a more straight forward way than the 20 hours I've gone through.

    I find all your musings and advice right on. Of course there is never enough elaboration for the newbies.

    ReplyDelete
    Replies
    1. In the 1st paragraph change configuration to MISconfiguration.

      (Can't see how to edit my post.)

      Delete