Debian Wheezy (testing) with Xfce on the Eee PC 1001P. Everything Works.

I’ve been running Debian Stable (Squeeze) on my Eee PC 1001P for about two years  (see https://takla.wordpress.com/2011/03/06/debian-on-asus-eee-pc-1001p) and noticed that Debian Testing (Wheezy) has been frozen for some time, meaning it’s now possible to move to the pending Wheezy release without any expectation of updates which produce unexpected behaviour or time sapping breakages.

Normally I’d simply dist-upgrade to the next version (my desktop has moved from Etch to Lenny to Squeeze to Wheezy this way) but in the case of my Eee PC I wanted to change from amd64 to i386.  The Eee PC has only 1GB of RAM and after doing some simple comparisons with some CPU intensive tasks (some command line gmic image smoothing and sharpening tasks – super CPU intensive) I found that the performance difference between i386 and amd64 on this hardware is quite tiny;  something like 5% quicker, or less.   The really noticeable differences are that amd64 uses more of that small amount of RAM, and also the multi-architecture support occupies a lot of disk space,  running apt-get update with multiple architecture support is really slow, and updates can be a lot bigger.  I don’t run wine but I do run GoogleEarth (works ok on amd64 but is simpler to build and quicker to run on i386) and I’d like to run some very old games (such as the original Cube shooter) which I never managed to get working via ia32 compatibility.  So i386 it is.

Install:

Installing Debian and  having everything work has become very simple on the Eee PC 1001P.  I used the Debian Live Xfce testing image available from http://live.debian.net/cdimage/release/next/i386/iso-hybrid/  and used dd to write it to a USB flash drive.   Before booting from USB you need to go into the Eee PC’s bios settings and set the boot device and also disable the boot booster (remember to re-enable the boot booster after you finish). I tried the live system, liked it and then rebooted and did a normal install using the graphical installer.  I kept my original /home partition and only formatted and overwrote / and swap.  There were no difficulties and nothing notable occurred.  Yawn.

Hardware Config:

All the hardware is supported and no non-free firmware or driver is required.  To ensure the screen backlight functions as expected, and to avoid an occasional IRQ issue (I think on resume from suspend)  you need to edit /etc/default/grub like so:

GRUB_CMDLINE_LINUX=”acpi_osi=Linux acpi_backlight=vendor irqpoll”

then as root “update-grub”.

If you installed using a USB stick or similar then edit /etc/fstab and remove any reference to it (probably it will show as /dev/sdb)  otherwise your removable devices will get mounted to /media/usb instead of /media.  Not a big problem, just a bit odd.

You can now uninstall the 486 kernel.  Keep the 686 version.

Now as root run ‘apt-get update && apt-get dist-upgrade’ to get the system up to date.

Install eeepc-acpi-scripts and laptop-mode-tools

Edit /etc/default/eeepc-acpi-scripts to show

PWR_CLOCK_AC=0
PWR_CLOCK_BATTERY=2
DEFAULT_SHENGINE_CONFIG=auto

There’s no need to edit anything else or to set up hdparm as described in my old post.  Current laptop-mode-tools  takes care of ths, so long as hdparm is installed (the default apt setting of recommends being enabled means it will arrive along with laptop-mode-tools).

That should be it as far as the hardware goes.  Reboot and eveything works, including the Super Hybrid Engine hardware button (top left above the keyboard) and its keyboard shortcut <Fn><Space>.  For an easy way to get the status of the S.H.E. put the following script in your path and make it executable:

#!/bin/bash

#script name: she
STATUS=”$(cat /sys/devices/platform/eeepc/cpufv)”
case $STATUS in
0x300) STATUS=Performance
;;
0x301) STATUS=Default
;;
0x302) STATUS=Powersave
;;
esac
echo “Super Hybrid Engine Status: “$STATUS””

exit 0

and when run in xterm it will give the S.H.E. status like so:

$ she
Super Hybrid Engine Status: Performance

or

$ she
Super Hybrid Engine Status: Default

or

$ she
Super Hybrid Engine Status: Powersave

When  you reboot you will want to add your usual applications and if you’re used to Xfce 4.6 or older you may need to reconfigure your panel and preferences.  Starting over might be an idea if upgrading.  There are some other changes:  Thunar in 4.8 finally has native browsing of Windows/Samba network shares so make sure you have the thunar vfs packages and backends;  thumbnailing is now handled by  tumbler, so install tumbler and tumbler-plugins-extra for nice thumbnails of your images, videos, pdfs etc.

One major change is that you almost certainly need to use a log-in manager in preference to a simple startx or startxfce4.  This is because more stuff like mounting file systems and authenticating various actions depends on console-kit.  I tried to continue with startxfce4 initiating console-kit but never managed to get it to work,  so now use lightdm with the gtk greeter.  It’s mildly annoying but in fact doesn’t add any significant time to the boot+log-in, or any load once the session is running.

The Webcam:

When I tried various live CDs and test installs on a small extra partition (Ubuntu 12.10, Debian Wheezy Gnome and similar) the webcam seemed to be broken/unsupported but it turns out the hardware is working fine, you just need some sane software that understands the extremely common uvcvideo device and the Eee PC’s built-in microphone.  I found that guvcview in the main Debian repo is ideal.  It’s a GTK viewer without any Gnome dependencies and it works perfectly with both video and sound.

Synaptics Touchpad

The touchpad’s multitouch is now properly supported (not emulated in software as in the past) with zero config in X but unfortunately Xfce 4.8’s mouse/touchpad config dialog hasn’t caught up yet, so I’m still using my own config in /etc/X11/xorg.conf

Section “InputClass”
Identifier      “Touchpad”                      # required
MatchIsTouchpad “yes”                           # required
Driver          “synaptics”                     # required
MatchDevicePath “/dev/input/event*”
Option          “MinSpeed”              “0.5”
Option          “MaxSpeed”              “1.0”
Option          “AccelFactor”           “0.075”
Option          “TapButton1”            “1”     # 1 finger tap
Option          “TapButton2”            “2”     # 2 finger tap: middleclick
Option          “TapButton3”            “3”     # 3 finger tap: right click
Option          “RTCornerButton”        “3”     # rightclick
Option          “LTCornerButton”        “2”     # middleclick
Option          “VertTwoFingerScroll”   “1”     # multitouch
Option          “HorizTwoFingerScroll”  “1”     # multitouch
Option          “LBCornerButton”        “8”     # browser “back” btn
Option          “RBCornerButton”        “9”     # browser “forward” btn
EndSection

Sound:

I’ve given up on Pulse Audio.  It is just hideous on this hardware, non stop crackles and interruptions.  Meanwhile ALSA works really well and is simple to set up and use.  I almost always use my Eee PC with In Ear Monitors so I prefer to use a crossfeed for less tiring listening.  I installed  bs2b-ladspa from the repos and then set up my ~/.asoundrc as follows:

defaults.pcm.rate_converter “samplerate_medium”
defaults.pcm.dmix.rate 44100

##default is output to bs2b meier type crossfeed
pcm.!default {
type plug
slave.pcm “bs2b”
}

pcm.bs2b {
type ladspa
slave.pcm “plug:dmix”
path “/usr/lib/ladspa/”
plugins [{
label bs2b
input {
controls [ 650 9.5 ]
}
}]
}

##use this to output without crossfeed
##i.e. mplayer -ao alsa:device=speakers
pcm.speakers {
type plug
slave.pcm “dmix”
}

This sets my sound to run through a Meier type crossfeed by default, with an option to have it bypass the crossfeed if I want to output to speakers.  The Eee PC’s hardware  supports sample rates from 44100 to 192000 Hz.  Good quality resampling is very CPU intensive so I set the default to 44100, so 99% of the music out there doesn’t need to be resampled so there is almost zero load.

Most modern video, especially HD, has audio with higher sample rates, typically 48000/96000/192000, so when watching video I use mplayer2 with the audio bypassing the software alsa mixer entirely.  This keeps the load off the CPU so it’s fine to watch 720p from a  network share via wifi.  MPlayer runs the audio through a crossfeed before sending it to the hardware mixer:  “mplayer -af ladspa=/usr/lib/ladspa/bs2b.so:bs2b:650:9.5 -ao alsa:device=hw=0.0”  Using the hardware mixer does block any other app or process from using the sound but that doesn’t seem like a big deal on a small personal machine like this.  If you like to simultaneously watch video, listen to music, talk on VOIP and watch youtube then don’t use the hardware mixer…..and maybe get yourself a more powerful laptop too.   This is all scripted of course, so it’s automated according to file type when clicking on a file in Thunar.  Yes, Thunar’s custom action facility is still superb!

One change in Thunar that caught me out is that if your custom actions call scripts/binaries in your ~/bin instead of system binaries/executables then the full path must be specified in the Thunar config dialog.  Once this is done it all works as before.

I now have a very nice i386 install with Xfce 4.8.  All the hardware works including the webcam,  wireless, ethernet, USB ports, special buttons, Super Hybrid Engine and so on.  It boots to a nice looking composited desktop very quickly and while requiring less than 100 MB RAM.  That includes automatically starting a Tilda instance, policykit authentication, network manager,  and having dispcalGUI apply a monitor profile so I have a colour managed desktop as far as is possible.  Compared to Debian Squeeze I find that Wheezy+Xfce has better hardware support (it is complete as far as I can tell), an incrementally improved desktop environment which remains familiar, and is more efficient.  This is very impressive indeed.

Advertisements

One Response to “Debian Wheezy (testing) with Xfce on the Eee PC 1001P. Everything Works.”

  1. Debian en Asus eee pc 1005P. | Luis Miguel Romero Says:

    […] de la información de la configuración e instalación de paquetes la encontré en Takla’s Weblog (en inglés). Dónde se explica la instalación de debian wheezy en un Asus Eee Pc […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: