Acer Aspire One
From ArchWiki
Dansk – Deutsch – English – Español – Français – Indonesia – Italiano – LietuviÅ¡kai – Magyar – Nederlands – Polski – Português – Română – Slovenský – Suomi – Svenska – Türkçe – ÄŒesky – Ελληνικά – БългарÑки – РуÑÑкий – СрпÑки – УкраїнÑька – עברית – ไทย – 日本語 – æ£é«”䏿–‡ – ç®€ä½“ä¸æ–‡ – 한êµì–´
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
See this link for Acer Aspire One model AOD250-1613 (Androir + XP version).
Contents
Before you begin
A list of choices to be made during installation
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:
Preparation prior to installing Arch Linux
Recommended partition schemes
File-systems
There is a limit in how many times you can write to any disk, SSD or a regular HDD. For SSD, you can write about 2 GB a day and it should last for about 3 years. Regular usage is probably less than this, hence it should last several more years. All disks will wear out eventually, so backup often. This goes for both SSD and HDDs.
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 is modifying in the filesystem, so you will get more writes into the SSD, that will take your write count up as a bit of overhead for each write you will 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 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/ext4 also have the added benefit of not having to wait for disk-checks every Nth boot, which can be a huge annoyance if you are about to hold a presentation.
Choosing maximum lifetime, or data integrity
For a longer life for your disk, take care to:
If, on the other hand, data integrity is more important, use EXT4, XFS or another journaled filesystem instead.
Mounting Options
There are some tweaks you can put into place to have better performance out of filesystems.
defaults,noatime
defaults,noatime
defaults,noatime,errors=remount-ro,commit=15
defaults,noatime,errors=remount-ro
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 you can skip more write counts out of our SSD but suitable also for HDD. These log files will be then deleted each time the system is rebooted.
For that you 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
Hardware
Aspire One common hardware:
Version A110L
Version A150L
lspci
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)
Module setup
Module configuration
Now you have to select the modules you need to get the hardware working, by editing /etc/rc.conf.
Modules to blackmask
Modules to load
Network
WLAN
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 you need to reset the wireless driver upon suspend/resume so you 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: http://wireless.kernel.org/en/users/Download
Essentially, you install the latest wireless drivers into an updates/ directory, thus leaving the stock drivers intact for possible reverting.
Testing
This is one way to test if the wireless card is working, for kernel26-one-dev:
sudo iwlist ath0 scanning
And for kernel26-one:
sudo iwlist wlan0 scanning
To connect to an open network, just grep for ESSID in the above command. Then, once you found a network name, make sure dhclient is installed and try these. NetworkName is the ESSID you wish to use.
sudo iwconfig ath0 essid NetworkName sudo dhclient ath0
(ath0 may be wlan0 if you don't use kernel26-one-dev).
LAN
Aspire One D250 LAN
With Archlinux 2009.08 the installation did not work from the beginning on an Aspire One D250. The LAN was not working properly. This could be traced down to the Kernel 2.6.30 which had broken network drivers. To get the LAN working, use the Archlinux core install. After installing Archlinux, get the Kernel 2.6.31 and the Kernel Headers on a USB stick and install it via "pacman -U". After rebooting, the LAN should work properly.
Audio
Typical Intel HD Audio. Just follow alsa setup.
Make sure you have the latest version of alsa-utils, alsa-lib and alsa-firmware.
Non root users has to be member of an audio group in order to have permission to use audio devices.
Note that options in /boot/grub/menu.lst may override the ones in /etc/modprobe.d/*.conf. Check with "dmesg" if a module does not load as it should.
With kernel26-one-dev and kernel26 (alsa as modules)
Add one of these as a line in /etc/modprobe.d/sound.conf:
With kernel26-one (alsa built into the kernel)
MIDI does not work with kernel26-one!
Add one of these as a kernel option in /boot/grub/menu.lst:
Volume
Remember to turn up the volume, by default all channels are muted.
Use the Sound-configuration panel in the Gnome preferences in order to turn on the microphone.
A program like alsamixer can be used to change the volume in general. Use m to unmute/mute.
Use sudo alsactl store to save the levels.
gmixer is great too.
Audio test
aplay /usr/share/sounds/alsa/Front_Center.wav
Video
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 will need to install packages:
The Acer Aspire One model A0751h uses the Poulsbo chipset, which is, as of October 2009, incompletely supported in Linux. Instead of using the xf86-video-intel driver, an unofficial repository and driver may be used. This is not an officially-supported driver, and it may or may not work for you. See this thread in the forums for current status.
Alternatively, using the instructions above and in the Uvesafb article to set up the console framebuffer, and then installing and configuring the xf86-video-fbdev driver, will provide the full resolution -- backlight brightness control is impossible with this method, however.
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
If you are using a version of the X.org intel driver prior to 2.8, you can add the following lines to the Device Section of your xorg.conf to improve 2D graphics performance.
Option "AccelMethod" "EXA" Option "MigrationHeuristic" "greedy"
Versions from 2.8 onward drop support for EXA acceleration in favour of UXA. You may install the xf86-video-intel-stable package from AUR if you wish to give EXA a try.
To improve the 3D graphics performance add the following to your /etc/profile
export INTEL_BATCH=1
See also: Intel
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" ... EndSection ... Section "Monitor" ... DisplaySize 271 159 # Sets the correct DPI (96 x 96) ... EndSection
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:
#!/bin/bash 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#Kernel_mode_setting_(KMS)
uvesafb
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.
pacman -S v86d
options uvesafb mode_option=1024x600-32 scroll=ywrap
run_hook ()
{
msg -n ":: Patching the VBIOS..."
/usr/sbin/915resolution -c 945GM 5c 1024 600
msg "done."
}
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 without an initrd
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 do not 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
}
Webcam
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.
Test the webcam:
modprobe uvcvideo
wxcam
echo uvcvideo videodev v4l1_compat video | xargs rmmod
Card Reader
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 jmb38x_d3e.sh 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/jmb38x_d3e.sh &>/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
Add
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 vgadisplay.sh")
(xbindkey '("XF86Standby") "sudo pm-suspend")
Note that the option to switch the external VGA output here by a bash-display-script. You will need the following as /usr/bin/vgadisplay.sh:
#! /bin/bash
TEMP=/tmp/answer$$
dialog --menu "Select VGA behavior" 13 50 6 1 off 2 1024x600 3 "Auto (most probably 1024x768)" 2>$TEMP
ret=$?
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;;
esac
;;
*) # Shouldnt happen
echo "Abnormal ret code from dialog: $ret"
;;
esac
You may also bind an xrandr call directly with the XF86Display key but with the above way you have more options.
Power management
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
Suspend on lid, shutdown on power button
Some people needed to install the kernel named "kernel26-one" in order to make this work properly. On the D250 (and possibly others), if the bios has not been updated to the latest (see elsewhere on this page for how to update the bios), then the 'lid' event is broken in the sense that it always reports 'closed' and it will continue to send lid events once triggered (thus blocking out power button events). In short, if you have problems with getting acpi events to work, update your bios.
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 do not 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:
event=button/lid.* action=/usr/sbin/pm-suspend
If you want your machine to shutdown when pressing the power button, add the following to /etc/acpi/events/power:
event=button/power.* action=/sbin/poweroff
Note that you have to press the power button only shortly. Pressing it too long (few seconds) will cut the power without shutting down.
Example configurations
/etc/fstab
# # /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 #LABEL=HD-Home #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
#!/bin/bash # # /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
/etc/X11/xorg.conf
This is for Xorg >=7.4 and synaptics >=0.99.
Note that:
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
InputDevice "Synaptics Mouse" "AlwaysCore"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "USB Mouse" "CorePointer"
EndSection
Section "ServerFlags"
Option "AllowMouseOpenFail" "true"
Option "AutoAddDevices" "False"
EndSection
Section "Module"
Load "synaptics"
EndSection
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"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "no"
# Option "XkbVariant" "nodeadkeys"
EndSection
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 is 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"
EndSection
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"
EndSection
Section "Monitor"
Identifier "Monitor0"
Modeline "1024x600" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +VSync
DisplaySize 346 203 # 75 DPI @ 1024x600
EndSection
Section "Device"
Identifier "Videocard0"
Driver "intel"
Option "Clone" "true"
Option "MonitorLayout" "LVDS,VGA"
BusID "PCI:0:2:0"
Option "MigrationHeuristic" "greedy"
Option "AccelMethod" "EXA"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x600" "800x600" "640x480"
Virtual 1920 1800
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
Original Linpus Xorg.conf
# Xorg configuration created by system-config-display
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Synaptics Mouse" "AlwaysCore"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "gb,us"
Option "XkbVariant" "euro"
Option "XkbOptions" "grp:alt_shift_toggle"
EndSection
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"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "no"
EndSection
Section "Monitor"
Identifier "Monitor0"
Modeline "1024x600" 50.40 1024 1048 1184 1344 600 600 619 625
# Option "Above" "Monitor1"
EndSection
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
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x600" "800x600" "640x480"
Virtual 1024 600
EndSubSection
EndSection
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) NETWORKS=(wpa.example) DAEMONS=(@acpid @laptop-mode cpufreq syslog-ng !netfs !crond dbus @hal @network @net-profiles alsa slim)
/etc/modprobe.d/sound.conf
options snd-hda-intel model=acer-aspire
Customized kernel
It is 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 you have a very specific set of hardware so that you 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 is also kernel26-one-dev.
The config for this kernel is derived from the original Linpus Kernel config. The main differences from stock arch kernel:
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 does not require an initrd.
Tuning tips
SD Storage Expansion
Labeling Partitions
For using both card readers at a time you 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:
mkfs.xfs /dev/mmcblk0p1
mkfs.ext3 /dev/mmcblk0p1
mkfs.ext2 /dev/mmcblk0p1
Then give the filesystem a label:
xfs_admin -L "SD_HOME" /dev/mmcblk0p1
e2label /dev/mmcblk0p1 "SD_HOME"
Mount expansion as /home
Now that you have a SD card with a defined label you can define a mount option in /etc/fstab as defined in Mounting Options. Do not 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 you need to save a backup in order to upon mounting the SD expansion you have the same files as before so you can try this:
tar -cfg /home.tar /home
Now you 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. You can override the default fan settings by using either acerhdf or acerfand based on two scripts.
acerhdf
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:
Up to acerhdf version 0.5.18:
options acerhdf verbose=0 fanon=67 fanoff=62 interval=10 kernelmode=1
Since version 0.5.19:
options acerhdf verbose=0 fanon=67000 fanoff=62000 interval=10 kernelmode=1
Or, to make the fan be more active and cool the AAO more, but make more noise:
Up to acerhdf version 0.5.18:
options acerhdf verbose=0 fanon=62 fanoff=52 interval=10 kernelmode=1
Since version 0.5.19:
options acerhdf verbose=0 fanon=62000 fanoff=52000 interval=10 kernelmode=1
Make sure you don't use the configuration for >=0.5.19 on <=0.5.18, as the computer will go warm.
Suspend/resume works out of the box, if you have 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 is 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
xte "mouseclick 2"
Or, with xbindkeys:
Add this line to your ~/.xbindkeysrc.scm:
(xbindkey '("Super_L") "xte 'mouseclick 2 &'")
SSD specific tweaks
none /var/cache/pacman/pkg tmpfs size=300M 0 0
echo "1500" > /proc/sys/vm/dirty_writeback_centisecs
Firefox
Updating the BIOS
Using FreeDOS
This method needs to be tested and finetuned. Note that not all USB-disks are possible to boot from.
AOD150
The bios upgrades on the acer aspire site for the AOD150 line all want you to run it on windows. Here is how the author avoided it (The author does not understand this subject; she just guessed. Again, you are messing with your BIOS and this is not an officially condoned method, so there is a risk you will brick your netbook. You have been warned.):
flashit KAV10.fd /mc /all /dc
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: http://www.coreboot.org/Flashrom
Polishing the boot process
If you use Splashy for the boot graphics and Slim for the X display manager, you will have a nice, polished and Arch-like boot.
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 do not need this option if you use KMS and UXA, as DRI2 seems to not reserve memory.
See also
Games
Configuration tip
glxinfo |grep render # must say yes
glxgears # should say something between 750 and 1000 fps
- Note: glxgears is no benchmark, but as you all have the same hardware and most probably the same drivers it can be used as a point of reference.