ASUS Eee PC 1000HE

From ArchWiki
Revision as of 13:21, 8 July 2009 by Josh.enders (talk | contribs) (Graphic Performance: added XvMC xorg tweak)
Jump to navigation Jump to search
Device Status Modules
Intel 945GM Working xf86-video-intel
Ethernet Working atl1e
Wireless Working ath9k or rt2860sta
Bluetooth Working btusb
Audio Working snd_hda_intel
Camera Working uvcvideo
Card Reader Working
Function Keys Working


First, feel free to help out!

Secondly, this wiki page assumes you are using kernel 2.6.29 or greater.

The stock 2.6.29 kernel works just fine. There is no need for a customized eeePC kernel. These customized kernels used to contain patches to allow the hotkeys and whatnot to work. All of these features have since been merged into the standard kernel.


Use the 2009.02 installation USB image (see Install_from_USB_stick). There is out-of-the-box support for the wired and wireless NICs. There are no special instructions for installation. For an in-depth guide on the installation see the Beginners_Guide.


This example uses hotplugging. Make sure that you have hal installed and started. Also, don't forget to add hal to the DAEMONS=() array in rc.conf!

Sample Config

Note: The 1000HE also functions correctly without using a xorg.conf!

Here is a basic xorg config file. Using xrandr, you can switch between the lcd + external display.

Section "ServerLayout"
  Identifier     " Configured"
  Screen      	0  "Screen0"

Section "ServerFlags"
  Option "DontZap"	"false"

Section "Files"
   ModulePath   "/usr/lib/xorg/modules"
   FontPath     "/usr/share/fonts/local"
   FontPath     "/usr/share/fonts/misc"
   FontPath     "/usr/share/fonts/100dpi:unscaled"
   FontPath     "/usr/share/fonts/75dpi:unscaled"
   FontPath     "/usr/share/fonts/TTF"
   FontPath     "/usr/share/fonts/Type1"

Section "Module"
    Load  "dri"
    Load  "glx"
    Load  "extmod"
    Load  "record"
    Load  "dbe"
    Load  "dri2"

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"

Section "Device"
  Identifier  "IntelCard"
  Driver      "intel"
  VendorName  "Intel Corporation"
  BoardName   "Mobile 945GME Express Integrated Graphics Controller"
  BusID       "PCI:0:2:0"

Section "Monitor"
  Identifier "Monitor0"
  VendorName "ASUS"
  ModelName  "eeePC 1000he"
  Modeline   "1024x600" 48.86 1024 1064 1168 1312 600 601 604 622 -Hsync +Vsync

Section "Screen"
  Identifier "Screen0"
  Device     "IntelCard"
  Monitor    "Monitor0"
  SubSection "Display"
    Viewport   0 0
    Depth     1
  SubSection "Display"
    Viewport   0 0
    Depth     4
  SubSection "Display"
    Viewport   0 0
    Depth     8
  SubSection "Display"
    Viewport   0 0
    Depth     15
  SubSection "Display"
    Viewport   0 0
    Depth     16
  SubSection "Display"
    Viewport   0 0
    Depth     24
    Virtual 1280 1024 #Set to resolution of CRT/External

DPI Settings

In general the autodetected DPI does not fit the smaller resolution very well at all. A good comfortable setting would be 96dpi or 75dpi if you like your fonts really small. An easy way to set your DPI would be to add this to the end of your xserverrc (located in /etc/X11/xinit/).

exec /usr/bin/X -nolisten tcp -dpi 96

Graphic Performance

With's new 2D acceleration architecture, EXA, users of the intel driver may experience slowdown with window redrawing and scrolling. A possible solution to this is to override intel's default 2D acceleration, XXA, with the new acceleration. Add this section to the device section of your xorg.conf.

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

In addition to improving 2D graphics, the card's 3D performance can be greatly enhanced by adding this line to your /etc/profile.

export INTEL_BATCH=1

See Intel Graphics for more information.

According to the intel driver documentation, X-Video Motion Compensation or "XvMC" is not enabled by default. Enabling this option can greatly reduce CPU utilization when playing back MPEG-2 video. To enable this option, two things need to be done; first, add this to the device section of your xorg.conf:

Option "XvMC" "true"

Lastly, create a config file to tell the X server where the XvMC library is:

echo /usr/lib/ > /etc/X11/XvMCConfig


  1. Copy /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi to /etc/hal/fdi/policy
  2. Edit /etc/hal/fdi/policy/10-keymap.fdi and change <merge key="input.xkb.layout" type="string">us</merge> accordingly


  1. Install the xf86-input-synaptics package
  2. Create /etc/hal/fdi/policy/11-x11-synaptics.fdi with the following contents:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
   <match key="info.product" contains="ETPS/2 Elantech Touchpad">
     <merge key="input.x11_driver" type="string">synaptics</merge>
     <merge key="input.x11_options.SHMConfig" type="string">on</merge>
     <merge key="input.x11_options.MaxSpeed" type="string">1.00</merge>
     <merge key="input.x11_options.MinSpeed" type="string">0.75</merge>
     <merge key="input.x11_options.Emulate3Buttons" type="string">on</merge>
     <merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
     <merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
     <merge key="input.x11_options.TapButton1" type="string">1</merge>
     <merge key="input.x11_options.TapButton2" type="string">2</merge>
     <merge key="input.x11_options.TapButton3" type="string">3</merge>
     <merge key="input.x11_options.LockedDrags" type="string">1</merge>


For a nice GUI tool, try lxrandr; it is very simple to use!

Switch to External Monitor:

xrandr --output LVDS --off --output VGA --auto

Switch back to eeepc's LCD:

xrandr --output LVDS --auto --output VGA --off




I got the best powersaving from a combination of laptop-mode-tools.

  • Use laptop-mode to control all power saving features. Enable bluetooth.conf, cpufreq.conf, hal-polling.conf, intel-hda-powersave.conf, usb-autosuspend.conf, lcd-brightness.conf
    • For lcd-brightness, use the following options. Adjust your max/min brightness as suits you. The maximums are located in the same directory as the control file.
    • The intel-hda-powersave has a side-effect. Short sounds such as IM notifications may not come through, or will be messed up as it starts playing the sound before the sound card wakes up.
  • The rt2860sta wireless has pretty good powersaving, but it's a tradeoff between throughput<->power usage. Minimum power usage gives a pretty low throughput of ~11KB/s when I would normally get >1MB/s.
iwpriv ra0 set PSMode=MAX_PSP
    • MAX_PSP - maximum power saving
    • CAM - seems to be normal
    • FAST_PSP - ? untested, probably a medium value.
  • The eeepc "Super Hybrid Engine" as it's known under windows has a significant effect on powersaving. This underclocks the FSB for powersave/overclocks for performance and can be controlled via /sys/devices/platform/eeepc/cpufv which is provided by eeepc_laptop. The following is a laptop-mode configuration for it that controls it automatically.
#! /bin/sh

if [ x$SUPERHE_CONTROL_FILE = x ]; then

if [ x$CONTROL_SUPERHE = x1 ]; then
    if [ $ON_AC -eq 1 ]; then
        if [ $ACTIVATE -eq 1 ]; then
# Configuration file for Laptop Mode Tools module eee-superhe
# For more information, consult the laptop-mode.conf(8) manual page.

# Control FSB speed. Requires eeepc_laptop kernel module loaded.
# 2 is powersave
# 1 is normal
# 0 is performance


# If your system has the control file located at another point
# configure it here


Install the acpi-eeepc-generic package from AUR (see AUR User Guidelines). You must install version 0.9 or greater, as previous versions do not have support for the 1000HE.


Use pm-suspend instead of the script in acpi-eeepc-generic. The acpi-eeepc-generic suspend script will cause the system to re-suspend when being woken up or when exiting X!

To substitute pm-suspend for the acpi sleep script, edit /etc/conf.d/acpi-eeepc-generic.conf and comment out the line that reads:


Replace it with:



To scale the CPU and possibly save a bit of power, you will want to set up cpufrequtils.

  1. pacman -Sy cpufrequtils
  2. Edit /etc/conf.d/cpufreq
    min_freq="1000MHz" max_freq="1.67GHz"
    (or 1.60GHz if you have the Atom N270)
  3. modprobe acpi-cpufreq cpufreq_ondemand cpufreq_powersave
  4. Add these modules listed above to the MODULES=() array in rc.conf
  5. /etc/rc.d/cpufreq start
  6. Add cpufreq to the DAEMONS=() array in rc.conf



WiFi should work out of the box with the stock kernel, but if you do have trouble, try upgrading the rt2860sta module by installing the rt2860 package.

If you still have difficulties associating with some networks, try installing the RT2860STA.DAT file into /etc/Wireless/RT2860STA/RT2860STA.DAT. You can find this file in the source tarball in the AUR's rt2860 package.

  • If you are using the rt2860sta driver it might appear that the network doesn't work when using netcfg2 or iwconfig when the problem is really because the driver uses 'iwpriv' rather than 'iwconfig'. Wicd does however support this backend and works well as a network manager - source:


To turn the bluetooth radio on/off:

 # enable
 $ echo 1 > /sys/class/rfkill/rfkill1/state
 # disable
 $ echo 0 > /sys/class/rfkill/rfkill1/state

Install the bluez-utils and bluez-libs packages, then modprobe btusb.

Note: in the test repository bluez-utils and bluez-libs are merged into a single package, bluez.

See the Arch Linux Bluetooth and Bluetooth Mouse wiki pages for more information about configuring and using Bluetooth devices.

Template:Box Note


To enable/disable the camera:

 # enable
 echo 1 > /sys/devices/platform/eeepc/camera
 # disable
 echo 0 > /sys/devices/platform/eeepc/camera

Make sure that the module uvcvideo is loaded

To record video and take photos, you may use cheese or the wxcam package.

To simply test the camera, you may use mplayer:

 mplayer -fps 15 tv://

The webcam is reported to work with Skype.



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.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)
01:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01)
03:00.0 Ethernet controller: Attansic Technology Corp. L1e Gigabit Ethernet Adapter (rev b0)
  • lspci for another user produced "Network controller: RaLink RT2860" rather than the Atheros chipset in the output above


Laptop suspends while "waking up"

  • Use pm-suspend instead of acpi script

If you have any other issues, make sure you are using kernel 2.6.29 or greater.