Acer Aspire One

From ArchWiki
Revision as of 09:03, 15 July 2009 by Piie (talk | contribs) (Configuration tip)
Jump to navigation Jump to search

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n links end



This page provides most of the relevant information on installing Arch Linux on the Acer Aspire One. Visit the Arch forum thread link below to get more information and help.

Most of this information is from the Arch Forum. You can also find a lot of helpful information from the AspireOneUser Forum and Install Ubuntu Hardy Heron (8.04.1) on the Acer Aspire One. General netbook installation hints can be found also in the Asus EEE PC Wiki article

Before You Begin

A list of choices to be made during installation

  • Installation medium: CD-ROM or USB (usb is recommended)
  • Which filesystems to choose:
    • If you want a journaled filesystem for the SDD or HDD or not (ext4 is recommended)
    • If you want a journaled filesystem for the SD-card or not (highly recommended, for instance xfs, ext4 or ext3)
  • If you want a swap partition or not
    • May wear the disk somewhat, but makes hibernation possible
  • If you want to use kernel26, kernel26-one or kernel26-one-dev (kernel26-one is recommended)
  • Which modules and daemons you want loaded at boot in rc.conf
  • If you want to configure the machine for maximum performance or battery life
  • If you want to configure X for using 3D graphics or not
  • If you wish to boot straight into a graphics mode or not
  • General configuration

There are also all sorts of tweaks along the way, that you may choose to apply.

Choosing your installation medium

The Acer Aspire One does not come with an optical drive.

This means you will need to install Arch Linux through one of the alternative methods:

  • USB stick (recommended)
  • External USB CD-ROM drive (weird)

Preparation prior to installing Arch Linux

  • Press F12 at BIOS post or change boot order with F2 to select your installation method. (On some systems, F12 might not be enabled by default, and you must hit F2 to enter the BIOS and enable it.)
  • To boot off the USB stick, choose USB HDD as the boot device.
  • It is recommended to permanently add a SD(HC) card into the left sd card reader to extend storage space.
  • Before running /arch/setup mount your SD card to be visible to the installer.

Recommended partition schemes

  • /dev/sda1 all 8GB on the SSD for /, formatted as ext4
  • /dev/mmcblk0p1 all space on the extensional left side sd(hc) card for /home
    • the sd-card needs a journaling filesystem, like xfs, ext3 or ext4
  • No swap at all, unless you want hibernation


There's a limit in how many times we can write to any disk, SDD (around 2GB/day =~ 3years) or HDD. All disks will wear out eventually, so backup often. This goes for both SDD and HDD's.

In general, having data on a disk should be considered as safe as written notes on a wet paper napkin.

Solid state drives are made of flash memory, they are fast at reading but slow at writing data.

Journaled filesystem writes in a journal what it's modifying in the filesystem, so you'll get more writes into the SSD, that will take your write count up as a bit of overhead for each write you'll do, but will give you filesystem consistency if something as gone wrong. Same thing goes for the HDD-version.

You can choose a journaled filesystem (like ext4, ext3 or xfs) or a non journaled one (like ext2). The choice mainly depends on how important it is to you that all files are okay if you suddenly turn off the computer, compared to slightly less wear and tear over the years, and slightly more speed on disk operations.

The choice depends on your demands. Some people had trouble using ext2 with the SD-card (the filesystem was corrupted) and switched to XFS instead, with great success.

In general, ext4 is a good choice for disks and XFS works well for SD-cards that stay in the slot.

XFS over ext2/ext3 also have the added benefit of not having to wait for disk-checks every Nth boot, which can be a huge annoyance if you're about to hold a presentation.

Choosing maximum lifetime, or data integrity

For a longer life for your disk, take care to:

  • Not use a journaling file system
  • Not use a swap partition (unless you want to be able to hibernate)
  • Edit your new installation fstab to mount the partitions as "noatime", which will mean better performance and longer life by not writing file access times. "relatime" is an alternative solution. See this LWN article for more information.
  • Not log errors or messages

If, on the other hand, data integrity is more important, use EXT3, XFS or another journaled filesystem instead.

Mounting Options

There are some tweaks we can put into place to have better performance out of filesystems.

  • EXT4:
  • XFS:
  • EXT3:
  • EXT2:

These are to be added to your filesystem mount tab file located under /etc/fstab. As example a mount line for the root directory:

 /dev/sda1              /             ext4      defaults,noatime    0    1

Another tweak is to mount each log directory into a memory filesystem (stores everything only into RAM) so we can skip more write counts out of our SDD but suitable also for HDD. These log files will be then deleted each time the system is rebooted.

For that we have to add to the same /etc/fstab the follow lines:

 none                   /var/log      tmpfs     size=10M   0      0
 none                   /tmp          tmpfs     size=100M  0      0
 none                   /var/tmp      tmpfs     size=20M   0      0

  • CAUTION: The temporary folders listed above will delete all files in those folders after each reboot. You may omit the last three lines, but have increased write access to the SSD.
  • CAUTION: Has been reported that the stock kernel is causing partition table corruption on the SD card when you resume from a suspend. Corrupted /home. Someone on the forum suggested that you need a kernel with CONFIG_MMC_UNSAFE_RESUME set to prevent this from happening. This solution did not work for some people, while using XFS instead of ext2 for /home worked just fine.

Hardware setup

To have ethernet, wireless networking and sound all fully functional, it is recommended to use the kernel26 package, with a kernel version >= 2.6.28. The kernel26-one package may also work for you.

Module configuration

Now we have to select the modules we need to get the hardware working, by editing /etc/rc.conf.

Modules we need to blackmask

  • memstick - Makes full load on one core- fixed as of kernel 2.6.29.
  • snd-pcsp - PC Speaker will be your sound card and snd-hda-intel will not work. Also amazingly annoying.

Modules we need to load

  • acpi_cpufreq - CPU scaling
  • ath5k - The wireless device
  • pciehp - The SD card readers' hotplug functionality
  • r8169 - The ethernet NIC
  • uvcvideo - The webcam device

Enabling CPU scaling

To enable the ondemand CPUfreq governor add the following lines to the file /etc/rc.local

 echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
 echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor



AA1 wireless device is a rather new Atheros wireless chip not supported by Linux kernel until version 2.6.27. Before that an external module was required to be compiled and installed named madwifi.

Now we need to reset the wireless driver upon suspend/resume so we need to create a rule for pm-utils to reload the module. This is done by creating a new file under /etc/pm/config.d/ named modules with:

 echo "SUSPEND_MODULES=\"ath5k\"" > /etc/pm/config.d/modules

Getting the latest ath5k driver

If you have problems with ath5k, you can get the latest version by following the instructions on this site:

Essentially, you install the latest wireless drivers into an updates/ directory, thus leaving the stock drivers intact for possible reverting.


  • Use module r8169 for eth0 support with kernel version >=2.6.26.
  • If you have problems with r8169 (unlikely), try r8101.


Typical Intel HD Audio. Just follow alsa setup.

Make sure you have the latest version of alsa-utils, alsa-lib and alsa-firmware.

With kernel26-one (alsa built into the kernel)

Add one of these as a kernel option in /boot/grub/menu.lst:

  • snd-hda-intel.model=acer-aspire
    • Recommended. The loudspeaker is correctly turned off when a headset is plugged in, the internal microphone works (use the Sound-configuration panel in the Gnome preferences). Everything works.
  • snd-hda-intel.model=acer
    • Everything works, except the internal microphone and turning off the loudspeaker when a headset is plugged in. For some people the internal microphone may work.
  • snd-hda-intel.model=auto
    • Both internal and external microphone doesn't work

With kernel26 (alsa as modules)

Add one of these as a line in /etc/modprobe.d/sound:

  • options snd-hda-intel model=acer-aspire
    • Recommended. The loudspeaker is correctly turned off when a headset is plugged in, the internal microphone works (use the Sound-configuration panel in the Gnome preferences). Everything works.
  • options snd-hda-intel model=acer
    • Everything works, except the internal microphone and turning off the loudspeaker when a headset is plugged in. For some people the internal microphone may work.
  • options snd-hda-intel model=auto
    • Both internal and external microphone doesn't work


Remember to turn up the volume.

A program like alsamixer can be used for this purpose (m to mute/unmute). gmixer is great too.


Typical Intel chipset. Works with the xf86-video-intel driver. 400ish on glxgears. If you have problems playing videos with xorg-server >= 1.6, try xf86-video-intel-legacy.

You'll need to install packages

  • xorg
  • xf86-video-intel
  • xf86-input-synaptics

For the original Linpus Xorg.conf (if you use this you may want to remove the ServerFlags section - the two entries in it disable the Ctrl-Alt-Backspace and Ctrl-Alt-F* hotkeys) please see Example configurations.

External VGA port

The external VGA port works without further modifications if the externel screen is connected at boot time. If the screen is added later, the VGA port has to be enabled by xrandr. See also section Additional function keys for automating this.

Improve graphics performance

To improve the 2D graphics performance add the following lines to the Device Section of your xorg.conf

 Option "AccelMethod" "exa"
 Option "MigrationHeuristic" "greedy"

To improve the 3D graphics performance add the following to your /etc/profile

 export INTEL_BATCH=1

See also Intel Graphics.

Setting dpi

Very large fonts may appear in some applications (for example the menu line in Firefox). Setting the DisplaySize in the Monitor section in combination with the NoDDC option in xorg.conf may help:

Section "Device"
   Option    "NoDDC"
Section "Monitor"
   DisplaySize 271 159 # Sets the correct DPI (96 x 96)

When using an external screen, the NoDDC option has the effect, that XRandR may no longer be able to determine and use the maximum resolution of the screen. If you have such problems, delete the above lines from xorg.conf. Instead add the following to your ~/.xserverrc:

exec /usr/bin/X -dpi 100

You may also try 75dpi if you can live with small fonts.

You can also try to add the following to your ~/.Xdefaults:

*dpi: 75

Setting a proper framebuffer

There are three options for setting the frame buffer (kernel mode setting, uvesafb, and intelfb). The most modern, thus recommended one is kernel mode setting (KMS). This is also the easiest to implement.

Kernel mode setting (KMS)

Use kernel26 >= 2.6.29 and follow the instructions here: Intel_Graphics#Kernel_mode_setting_(KMS)


This will enable a 1024x600 framebuffer with 32bit color. Read Uvesafb for the basic workthrough. But just following the steps below will work fine for the stock kernel. :-)

Warning: Before you begin, be aware that suspend will most probably not work with Uvesafb. When resuming you will end up with a blank screen.

  • Build and install 915resolution-static from AUR unsupported.
  • Install v86d:
pacman -S v86d

Edit /etc/modprobe.d/uvesafb such that the line reads:

options uvesafb mode_option=1024x600-32 scroll=ywrap

Edit /lib/initcpio/hooks/915resolution such that it reads:

run_hook ()
   msg -n ":: Patching the VBIOS..."
   /usr/sbin/915resolution -c 945GM 5c 1024 600
   msg "done."

Add 915resolution and v86d to the hooks in /etc/mkinitcpio.conf:

HOOKS="base udev 915resolution v86d ..."


mkinitcpio -p kernel26

Make sure that you do not include any vga=... things in your kernel line in GRUB menu.lst, as these will enable other framebuffer drivers and prevent uvesafb from working.

Using intelfb for the framebuffer without an init ramdisk

Another option is to use the intelfb framebuffer.
This is an option if you are using the kernel26-one-dev kernel, or any other kernel where intelfb is compiled in the kernel rather than as a module. It is also a good option if you don't want to use an initrd image on boot (hence using the new grub package below.)
First off install grub2-915resolution from AUR. (This may mean you need to modify the new /boot/grub/grub.cfg, see the wiki page for help)
To /boot/grub/grub.cfg add the 915 initialisation like so:

menuentry "kernel26-one-dev" {
set root=(hd0,1)
insmod 915resolution
915resolution 5c 1024 600
linux /vmlinuz-one-dev root=/dev/sda2 ro video=intelfb vga=604

And then just boot away :)
Note: This method means you have to change to the new version of grub, which uses a new configuration format, and hence won't work with your old menu.lst


Works on the fly with the kernel26 (>=2.6.22) from core using the UVC kernel module (uvcvideo). Make sure that your user belongs to the "video" group.

Here's how to test the webcam:

Load the kernel module as root

modprobe uvcvideo

Install and run wxcam as a regular user


To stop using the webcam related kernel modules (which saves some battery power)

echo uvcvideo videodev v4l1_compat video | xargs rmmod

Pro Tip: Install and run powertop as root if you're interested in saving even more power.

Card Reader

Note: This is not needed with the most recent BIOS v3309

To enable hotplugging for the card readers, add the following to /etc/modprobe.d/pciehp:

options pciehp pciehp_force=1

Then add pciehp to the modules array in /etc/rc.conf:

MODULES=( ... pciehp ... )

As an alternative, which may possibly also enable powersaving for the card readers, get the script from the original Linpus install and install it in /usr/local/sbin. Remember to give executable rights. Note that this script uses bc which you may need to install:

pacman -S bc

Then add the following line to /etc/rc.local:

/usr/local/sbin/ &>/var/log/jmb38x_d3e.log &

You may skip the log output if do not want this. You do not need the pciehp module in /etc/rc.conf if you use this script.

Additional function keys

For the wifi kill switch add these keycodes in /etc/rc.local:

 /usr/bin/setkeycodes e055 159
 /usr/bin/setkeycodes e056 158

Note that if the wifi kill switch is on (wifi is off), you will need to reboot to re-enable wifi once you disable the kill switch.

For the Fn-Keys add these:

 /usr/bin/setkeycodes e025 130
 /usr/bin/setkeycodes e026 131
 /usr/bin/setkeycodes e027 132
 /usr/bin/setkeycodes e029 122
 /usr/bin/setkeycodes e071 134
 /usr/bin/setkeycodes e072 135

Now setup an ~/.Xmodmap:

 keycode 160 = XF86AudioMute
 keycode 174 = XF86AudioLowerVolume
 keycode 176 = XF86AudioRaiseVolume
 keycode 223 = XF86Standby
 keycode 239 = XF86KbdBrightnessDown
 keycode 123 = XF86KbdBrightnessUp
 keycode 210 = XF86Display

Alternatively, you might also try the following map (used on my A110 Aspire One, bought on February 2009 with french keyboard layout)

 keycode 160 = XF86AudioMute
 keycode 174 = XF86AudioLowerVolume
 keycode 123 = XF86AudioRaiseVolume ## here is the difference
 keycode 223 = XF86Standby
 keycode 210 = XF86Display

then add:

 xmodmap ~/.Xmodmap

to ~/.xinitrc.

If you use KDE or Gnome you can use the appropriate tools to bind the keys or they work just fine without further modifications.

If you use XFCE then you can use "Settings->Keyboard Settings->Shortcuts" and add a new theme, set:

 XF86AudioRaiseVolume - amixer set Master 2dB+ unmute
 XF86AudioLowerVolume - amixer set Master 2dB- unmute
 XF86AudioMute - amixer set Master toggle

If you use neither KDE nor Gnome then read on.

To use the keys to adjust volume it is recommended to use xbindkeys:

 # pacman -S xbindkeys


 xbindkeys &

to ~/.xinitrc and use the following as .xbindkeysrc.scm:

 (xbindkey '("m:0x0" "c:160") "amixer sset Master toggle")
 (xbindkey '("m:0x0" "c:176") "amixer set Master 2dB+ unmute")
 (xbindkey '("m:0x0" "c:174") "amixer set Master 2dB- unmute")
 (xbindkey '("XF86Display") "uxterm -e")
 (xbindkey '("XF86Standby") "sudo pm-suspend")

Note that I have added the option to switch the external VGA output here by a bash-display-script. You will need the following as /usr/bin/

 #! /bin/bash
 dialog --menu "Select VGA behavior" 13 50 6 1 off 2 1024x600 3 "Auto (most probably 1024x768)" 2>$TEMP
 choice=`cat $TEMP`
 case $ret in
     1) ;; # Cancel - do nothing
     0)  # User selection
         case $choice in
          1) xrandr --output VGA --off;;
          2) xrandr --output VGA --mode 1024x600;;
          3) xrandr --output VGA --auto;;
     *)  # Shouldnt happen
         echo "Abnormal ret code from dialog: $ret" 

You may also bind an xrandr call directly with the XF86Display key but with the above way you have more options.

Suspend on lid, shutdown on power button

Some people needed to install the kernel named "kernel26-one" in order to make this work properly.

This is not specific to the Acer Aspire One but is not described in full detail elsewhere. First you have to install acpid:

# pacman -S acpid

Start the acpid daemon now to get things working without reboot:

# /etc/rc.d/acpid start

To start acpid on boot-up: If you start the hal daemon in your rc.conf (you probably do this when using madwifi-hal) nothing has to be done, as hal starts acpid automatically. If you don't use hal, you have to add acpid to the DEAMONS array to start it on boot-up.

Now the events have to be configured. If you want your machine to suspend when closing the lid, add the following to /etc/acpi/events/lid:


If you want your machine to shutdown when pressing the power button, add the following to /etc/acpi/events/power:


Note that you have to press the power button only shortly. Pressing it too long (few seconds) will cut the power without shutting down.

Customized Kernel

It's common to use customized kernels in these machines to avoid the extra load of modules Arch's stock kernel brings. These are ok for the wide general hardware but in this case we have a very specific set of hardware so that we can build a predefined kernel hardware support.

There is a A110L specific kernel package kernel26-one on AUR with all necessary modules compiled in kernel. Refer to the Forum for help on this. There may also be binaries of the latest version on the Forum but since these are user submitted packages you should *always* pick the sources and PKGBUILD, inspect them and build them yourself.

There's also kernel26-one-dev.

The config for this kernel is derived from the original Linpus Kernel config. The main differences from stock arch kernel:

  • The kernel differs from the stock arch kernel so it can only load Aspire One specific hardware and shouldn't be used in any other hardware;
  • Faster boot time;
  • Reduced package size (although the hardware supported by this kernel will be limited to what it has compiled);
  • Tweaks for better performance on Atom processors;
  • Some tweaks/workarounds to get hardware work flawlessly (MMC/SD cards for example)

On T.Mondary's site you can also find a precompiled kernel for AAO, in distribution-independant format, but suitable for ArchLinux. This minimal kernel comes with wifi led patches, a coretemp patch, acerhdf and a proper framebuffer with KMS. It can now use ext2 or ext4 (mounting ext4 without a journal is supported since 2.6.29) for the root filesystem, and doesn't require an initrd.

Tuning tips

SD Storage Expansion

Labeling Partitions

For using both card readers at a time we have to specify which is the one to use as storage expansion and the one to be used a removable storage by setting a label into the filesystem.

Plug only the expansion SD card into the left card reader and make the desired filesystem with one of the following:

  • XFS:
mkfs.xfs /dev/mmcblk0p1
  • EXT3
mkfs.ext3 /dev/mmcblk0p1
  • EXT2
mkfs.ext2 /dev/mmcblk0p1

Then give the filesystem a label:

  • XFS:
xfs_admin -L "SD_HOME" /dev/mmcblk0p1
  • EXT3/EXT2:
e2label /dev/mmcblk0p1 "SD_HOME"

Mount expansion as /home

Now that we have a SD card with a defined label we can define a mount option in /etc/fstab as defined in Mounting Options. Don't forget to change the folder which it is to be mounted on, it should be /home.

If you already have something in your /home folder we need to save a backup in order to upon mounting the SD expansion we have the same files as before so we can try this:

 tar -cfg /home.tar /home

Now we can mount the device and put the backup there. Remember to put the line in fstab first and had made a backup!

 rm -rf /home/*
 mount /home
 tar -xvf /home.tar -C /home/
 rm /home.tar

Regulating the CPU fan

Letting the BIOS regulate the cpu fan results in a noisy monster of netbook. We can override the default fan settings by using either acerhdf or acerfand based on two scripts.


Acerhdf does not compile with GCC 4.4 right now, but it probably will soon.

The package in AUR called acerhdf, it includes the kernel module which regulates the fan in a performant and secure way. Just build it, install it and add acerhdf to the MODULES array in /etc/rc.conf. It can be configured by adding the following line to /etc/modprobe.d/acerhdf.conf:

 options acerhdf verbose=0 fanon=67 fanoff=62 interval=10 kernelmode=1

Or, to make the fan be more active and cool the AAO more, but make more noise:

 options acerhdf verbose=0 fanon=62 fanoff=52 interval=10 kernelmode=1

To make the module work after suspend-resume create /etc/pm/config.d/unload_modules with a following content: SUSPEND_MODULES="acerhdf" - suspend/resume works out of the box, if you've got any problem with it, leave a message: acerhdf

Remember that you will have to (make;make install) acerhdf every time you upgrade the kernel to a new release, e.g. from 2.6.28 to 2.6.29.

Using the Super key for middle-clicking

When browsing the web, a third mouse button is a great help for opening links in tabs. Unfortunately, there's no third mouse button on the Acer Aspire One.

However, one can configure one of the keys on the keyboard for acting like a third mouse button instead. (The Super key is the one with a picture of a little house, or on models that do not have a little house, the key between the fn and alt.).

Using FVWM 2

Add these two lines to your .fvwm/.fvwm2rc (or just add the second line to your favorite startup function):

AddToFunc StartFunction
+ I Key Super_L A N FakeClick depth 0 press 2 wait 200 release 2

Using xte

  1. Install xautomation, which includes xte
  2. Set up your windowmanager to execute this command at the press of the Super key:
xte "mouseclick 2"

Or, with xbindkeys:

Add this line to your ~/.xbindkeysrc.scm:

 (xbindkey '("Super_L") "xte 'mouseclick 2 &'")

SSD specific tweaks

  • Use Ext4 for the root filesystem
  • Use the deadline IO scheduler (elevator=deadline to /boot/grub/menu.lst's kernel line).
  • locate pacman pkg cache in /etc/pacman.conf to your sd card ( /home/where_ever_you_want_it) or alternatively mount pkg cache as tmpfs in /etc/fstab:
 none                   /var/cache/pacman/pkg   tmpfs   size=300M   0      0
  • To increase the commit interval use:
 echo "1500" > /proc/sys/vm/dirty_writeback_centisecs


  • Firefox 3.x uses a sqlite db that creates many write accesses, so this can reduce it:
    1. In Firefox go to about_config, right click, add new string „browser.cache.disk.parent_directory“ with value "/tmp/firefox". Also, it is possible to set browser.cache.disk.enable to false to enable disk-caching completely.
    2. In Firefox change options/security/ and disable phishing - take care!

Updating the BIOS

Using FreeDOS

This method needs to be tested and finetuned. Note that not all USB-disks are possible to boot from.

  • Install unetbootin
  • Use unetbootin to put FreeDOS on an USB stick
  • Download the latest BIOS from the Acer webpage (latest is 3309)
  • Unzip the BIOS-files to the USB stick
  • Reboot and configure the BIOS to boot from the USB stick before the SDD/HDD
  • Start the BIOS update utility (3309.BAT)
  • Reboot
  • Configure the BIOS to start from the SDD/HDD first again
  • Done

Using Flashrom

Flashrom can be used to flash the BIOS directly from Linux. It does not currently seem to support AA1, but it might be worth watching the flashrom-svn package in AUR. See also:

Polishing the boot process

If you use Splashy for the boot graphics and Slim for the X display manager, you'll have a nice, polished and Arch-like boot.

  • Splashy shows nice graphics instead of the text that scrolls by when you boot
  • SLIM is a lightweight and nice version of xdm/gdm/kdm (logon manager / display manager)

Freeing memory by disabling 3D acceleration

If you are not using games you can disable DRI to gain approximatively 32MB of memory by adding :

Option "DRI" "0"

in section "Device" of xorg.conf

This option might cause your screen to flicker occasionally, with xorg giving an "underrun on pipe B" error.

You don't need this option if you use KMS and UXA, as DRI2 seems to not reserve memory.

See also

Example configurations


 # /etc/fstab: static file system information
 # <file system>        <dir>         <type>    <options>          <dump> <pass>
 none                   /dev/pts      devpts    defaults            0      0
 none                   /dev/shm      tmpfs     defaults            0      0
 UUID=510b26a4-d407-4707-8ed9-d3b1d0632024 /boot ext2 noatime,nodiratime 0 1
 UUID=61fa45ba-14cb-42c8-92ea-770ed5faa221 / ext4 defaults,noatime,nodiratime,errors=remount-ro,commit=15	0	1
 /dev/mmcblk0p1	/home	xfs	defaults,noatime,nodiratime	0	1
 #UUID=FFFF-FFFF	/media/right	vfat	users,rw,uid=1000,gid=100,fmask=0133,dmask=0002	0	0
 UUID=7ee58355-644f-46fb-a557-202d2b968161 swap swap defaults 0 0
 none	/var/log	tmpfs	size=10M	0	0
 none	/tmp	tmpfs	size=100M	0	0
 none	/var/tmp	tmpfs	size=20M	0	0


 # /etc/rc.local: Local multi-user startup script.
 # Change CPU governors and writeback-time (as suggested by powertop)
 echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
 echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
 echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
 # Make the right SD-slot visible, as suggested by the Debian wiki
 setpci -d 197b:2381 AE=47
 # Set up the wifi-key
 /usr/bin/setkeycodes e055 159
 /usr/bin/setkeycodes e056 158
 # Set up the function keys
 /usr/bin/setkeycodes e025 130
 /usr/bin/setkeycodes e026 131
 /usr/bin/setkeycodes e027 132
 /usr/bin/setkeycodes e029 122
 /usr/bin/setkeycodes e071 134
 /usr/bin/setkeycodes e072 135

fdisk -l

 Disk /dev/sda: 8069 MB, 8069677056 bytes
 255 heads, 63 sectors/track, 981 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
 Disk identifier: 0xb7d8b185
    Device Boot      Start         End      Blocks   Id  System
 /dev/sda1               1          32      257008+  83  Linux
 /dev/sda2              33         908     7036470   83  Linux
 /dev/sda3             909         981      586372+  82  Linux swap / Solaris
 Disk /dev/mmcblk0: 1007 MB, 1007419392 bytes
 4 heads, 16 sectors/track, 30744 cylinders
 Units = cylinders of 64 * 512 = 32768 bytes
 Disk identifier: 0xc9d0c9d0
         Device Boot      Start         End      Blocks   Id  System
 /dev/mmcblk0p1               1       30744      983800   83  Linux


This is for Xorg >= 7.4 and synaptics >= 0.99.

Note that:

  • Autodetection of input devices is disabled here, using the AutoAddDevices option.
  • Scrolling on the touchpad is disabled here, with the HorizEdgeScroll and VertEdgeScroll options.
Section "ServerLayout"
       Identifier     "Default Layout"
       Screen      0  "Screen0" 0 0
       InputDevice    "Synaptics Mouse" "AlwaysCore"
       InputDevice    "Keyboard0" "CoreKeyboard"
       InputDevice    "USB Mouse" "CorePointer"

Section "ServerFlags"
       Option "AllowMouseOpenFail"  "true"
       Option "AutoAddDevices" "False"

Section "Module"
       Load "synaptics"

Section "Files"
       ModulePath   "/usr/lib/xorg/modules"
       FontPath     "/usr/share/fonts/misc:unscaled"
       FontPath     "/usr/share/fonts/misc"
       FontPath     "/usr/share/fonts/75dpi:unscaled"
       FontPath     "/usr/share/fonts/75dpi"
       FontPath     "/usr/share/fonts/100dpi:unscaled"
       FontPath     "/usr/share/fonts/100dpi"
       FontPath     "/usr/share/fonts/PEX"
# Additional fonts: Locale, Gimp, TTF...
       FontPath     "/usr/share/fonts/cyrillic"
#       FontPath     "/usr/share/lib/X11/fonts/latin2/75dpi"
#       FontPath     "/usr/share/lib/X11/fonts/latin2/100dpi"
# True type and type1 fonts are also handled via xftlib, see /etc/X11/XftConfig!
       FontPath     "/usr/share/fonts/Type1"
       FontPath     "/usr/share/fonts/ttf/western"
       FontPath     "/usr/share/fonts/ttf/decoratives"
       FontPath     "/usr/share/fonts/truetype"
       FontPath     "/usr/share/fonts/truetype/openoffice"
       FontPath     "/usr/share/fonts/truetype/ttf-bitstream-vera"
       FontPath     "/usr/share/fonts/latex-ttf-fonts"
       FontPath     "/usr/share/fonts/defoma/CID"
       FontPath     "/usr/share/fonts/defoma/TrueType"
       FontPath     "/usr/share/fonts/artwiz-fonts"
       FontPath     "/usr/share/fonts/local"

Section "InputDevice"
       Identifier  "Keyboard0"
       Driver      "keyboard"
       Option      "CoreKeyboard"
       Option "XkbRules" "xorg"
       Option "XkbModel" "pc105"
       Option "XkbLayout" "no"
# Option "XkbVariant" "nodeadkeys"

Section "InputDevice"
       Identifier "Synaptics Mouse"
       Driver     "synaptics"
       Option     "Device" "/dev/psaux"
       Option     "Protocol" "auto-dev"
       Option     "LeftEdge"  "1700"
       Option  "RightEdge"     "5300"
       Option  "TopEdge"       "1700"
       Option  "BottomEdge"    "4200"
       Option  "FingerLow"     "25"
       Option  "FingerHigh"    "30"
       Option  "MaxTapTime"    "180"
       Option  "MaxTapMove"    "220"
       Option  "VertScrollDelta" "100"
       Option  "MinSpeed"      "0.09"
       Option  "MaxSpeed"      "0.18"
       Option  "AccelFactor"   "0.0015"
       Option  "SHMConfig"     "on"
# new in synaptics 0.99
       Option  "ClickFinger1"  "1"
       Option  "ClickFinger2"  "0"
       Option  "ClickFinger3"  "0"
       Option  "HorizTwoFingerScroll"  "0"
       Option  "VertTwoFingerScroll"   "0"
       Option  "HorizScrollDelta"      "100"
       Option  "PressureMotionMinZ"    "10"
       Option  "FingerPress"   "256"
       Option  "PalmDetect"    "0"
       Option  "PalmMinWidth"  "10"
       Option  "PalmMinZ"      "200"
       Option  "MaxTapMove"    "220"
       Option  "MaxTapTime"    "180"
       Option  "MaxDoubleTapTime"      "200"
       Option  "TapButton1"    "1"
       Option  "TapButton2"    "0"
       Option  "TapButton3"    "0"
       Option  "RTCornerButton"        "2"
       Option  "RBCornerButton"        "3"
       Option  "LTCornerButton"        "0"
       Option  "LBCornerButton"        "0"
# Circular scrolling is uber-cool, but it's not for everyone. Check out "gsynaptics" as well.
       Option  "CircularScrolling"     "0"
# Scrolling with the right and bottom side can be fun... or incredibly annoying. Use "1" to enable.
       Option  "HorizEdgeScroll"       "0"
       Option  "VertEdgeScroll"        "0"

Section "InputDevice"
       Identifier      "USB Mouse"
       Driver          "mouse"
       Option          "Device"                "/dev/input/mice"
       Option          "SendCoreEvents"        "true"
       Option          "Protocol"              "IMPS/2"
       Option          "ZAxisMapping"          "4 5"
       Option          "Buttons"               "5"

Section "Monitor"
       Identifier  "Monitor0"
       Modeline  "1024x600" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +VSync
       DisplaySize 346 203 # 75 DPI @ 1024x600

Section "Device"
       Identifier  "Videocard0"
       Driver      "intel"
       Option      "Clone" "true"
       Option      "MonitorLayout"     "LVDS,VGA"
       BusID       "PCI:0:2:0"
       Option      "MigrationHeuristic" "greedy"
       Option      "AccelMethod" "EXA"

Section "Screen"
       Identifier "Screen0"
       Device     "Videocard0"
       Monitor     "Monitor0"
       DefaultDepth     24
       SubSection "Display"
               Viewport   0 0
               Depth     24
               Modes    "1024x600" "800x600" "640x480"
               Virtual 1920 1800

Section "DRI"
       Mode 0666

Original Linpus Xorg.conf

# Xorg configuration created by system-config-display

Section "ServerFlags"
  Option "DontZap" "yes"
  Option "DontVTSwitch" "yes"

Section "ServerLayout"
  Identifier "Default Layout"
  Screen 0 "Screen0" 0 0
  InputDevice "Mouse0" "CorePointer"
  InputDevice "Synaptics Mouse" "AlwaysCore"
  InputDevice "Keyboard0" "CoreKeyboard"

Section "InputDevice"
  Identifier "Keyboard0"
  Driver "kbd"
  Option "XkbModel" "pc105"
  Option "XkbLayout" "gb,us"
  Option "XkbVariant" "euro"
  Option "XkbOptions" "grp:alt_shift_toggle"

Section "InputDevice"
  Identifier "Synaptics Mouse"
  Driver "synaptics"
  Option "Device" "/dev/psaux"
  Option "Protocol" "auto-dev"
  Option "LeftEdge" "1700"
  Option "RightEdge" "5300"
  Option "TopEdge" "1700"
  Option "BottomEdge" "4200"
  Option "FingerLow" "25"
  Option "FingerHigh" "30"
  Option "MaxTapTime" "180"
  Option "MaxTapMove" "220"
  Option "VertScrollDelta" "100"
  Option "MinSpeed" "0.09"
  Option "MaxSpeed" "0.18"
  Option "AccelFactor" "0.0015"
  Option "SHMConfig" "on"

Section "InputDevice"
  Identifier "Mouse0"
  Driver "mouse"
  Option "Protocol" "IMPS/2"
  Option "Device" "/dev/input/mice"
  Option "ZAxisMapping" "4 5"
  Option "Emulate3Buttons" "no"

Section "Monitor"
  Identifier "Monitor0"
  Modeline "1024x600" 50.40 1024 1048 1184 1344 600 600 619 625
  # Option "Above" "Monitor1"

Section "Device"
  Identifier "Videocard0"
  Driver "intel"
  # Option "monitor-LVDS" "Monitor0"
  # Option "monitor-VGA" "Monitor1"
  Option "Clone" "true"
  Option "MonitorLayout" "LVDS,VGA"
  vBusID "PCI:0:2:0"
  # Screen 0

Section "Screen"
  Identifier "Screen0"
  Device "Videocard0"
  Monitor "Monitor0"
  DefaultDepth 24
  SubSection "Display"
    Viewport 0 0
    Depth 24
    Modes "1024x600" "800x600" "640x480"
    Virtual 1024 600

Lines from rc.conf (kernel >=2.6.27)

 MODULES=(r8169 acpi_cpufreq ath5k !wlan !ath_hal !ath_pci snd-mixer-oss snd-pcm-oss snd-hwdep snd-page-alloc snd-pcm snd-timer snd snd-hda-intel soundcore !pcspkr !uvcvideo !videodev !v4l1_compat !video !memstick pciehp acer-wmi)
 DAEMONS=(@acpid @laptop-mode cpufreq syslog-ng !netfs !crond dbus @hal @network @net-profiles gdm)


options snd-hda-intel model=acer-aspire


Aspire One common hardware:

  • Intel Atom N270 1.6 GHz cpu, SMP capable (hyperthreading like PIV), up to SSE3 extensions, no EM64T!
  • Intel 945GME chipset
  • Intel 950 GMA onboard graphics adapter
  • 8.9 or 10.1 inch Acer Crystal Brite 1024×600 display
  • Realtek High Definition Audio ALC260
  • Battery: 11.V 41,2Wh/2200mAh or 45Wh/2400mAh Lithium-Ionen-Akku / 3 cell, with a 6 cell model planned
  • SD(hc) Card Reader left side: RICOH R5C8xx
  • Multi Card Reader right side Seite: JMicron JMB385 Flash Media Controller
  • Webcam: Acer Crystal Eye Webcam (Suyin Optronics)
  • Wlan: Atheros AR5007EG (Chipset 2425)
  • LAN: Realtek RTL8102E
  • Touchpad: Synaptics
  • Weight: 960 gr.
  • Size: 24,9 x 17 x 2,9 cm
  • One memory expansion slot ( So-DIMM DDRII 400/533/667MHz up to 1GB) under the keyboard hard to access see memory upgrade; max. 1,5GB

version A110L

  • One 512MB memory stick onboard soldered
  • 8GB solid state disc

version A150L

  • One 1024MB memory stick onboard soldered
  • 120gb 2.5" hdd


00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev 02)
03:00.0 Ethernet controller: Atheros Communications, Inc. AR5006EG 802.11 b/g Wireless PCI Express Adapter (rev 01)


Configuration tip

  • Ensure your X is running with DRI.
 glxinfo |grep render  # must say yes
 glxgears  # should say something between 750 and 1000 fps 

(I know, glxgears is no benchmark, but as we all have the same hardware and most probably the same drivers it can be used as a point of reference).

  • If glxgears doesn't reach 700 fps, recent intel drivers could be screwed up (oh no, not again), you can install older tested driver packages: [[1]]

Working games