Difference between revisions of "ASUS Eee PC 1000HE"

From ArchWiki
Jump to: navigation, search
(Explaining how to get the WiFi working with a 2.6.33 kernel)
(removed link to deleted AUR package)
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Category:ASUS (English)]]
+
[[Category:ASUS]]
 
{| style="float:right; border: 1px solid #000;"  
 
{| style="float:right; border: 1px solid #000;"  
 
| '''Device''' || '''Status''' || '''Modules'''
 
| '''Device''' || '''Status''' || '''Modules'''
Line 20: Line 20:
 
|}
 
|}
  
First, feel free to help out!
+
==Installation==
 +
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]].
  
Secondly, this wiki page assumes you are using kernel 2.6.29 or greater.
+
==Xorg==
 
+
===DPI Settings===
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.
+
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 {{ic|/etc/X11/xinit/}}).
 
+
=Installation=
+
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]].
+
 
+
=Xorg=
+
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    "X.org Configured"
+
  Screen      0  "Screen0"
+
EndSection
+
+
Section "ServerFlags"
+
  Option "DontZap" "false"
+
EndSection
+
+
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"
+
EndSection
+
+
Section "Module"
+
    Load  "dri"
+
    Load  "glx"
+
    Load  "extmod"
+
    Load  "record"
+
    Load  "dbe"
+
    Load  "dri2"
+
EndSection
+
+
Section "Monitor"
+
    Identifier  "Monitor0"
+
    VendorName  "Monitor Vendor"
+
    ModelName    "Monitor Model"
+
EndSection
+
+
Section "Device"
+
  Identifier  "IntelCard"
+
  Driver      "intel"
+
  VendorName  "Intel Corporation"
+
  BoardName  "Mobile 945GME Express Integrated Graphics Controller"
+
  BusID      "PCI:0:2:0"
+
EndSection
+
+
Section "Monitor"
+
  Identifier "Monitor0"
+
  VendorName "ASUS"
+
  ModelName  "eeePC 1000he"
+
  Modeline  "1024x600" 48.86 1024 1064 1168 1312 600 601 604 622 -Hsync +Vsync
+
EndSection
+
+
Section "Screen"
+
  Identifier "Screen0"
+
  Device    "IntelCard"
+
  Monitor    "Monitor0"
+
  SubSection "Display"
+
    Viewport  0 0
+
    Depth    1
+
  EndSubSection
+
  SubSection "Display"
+
    Viewport  0 0
+
    Depth    4
+
  EndSubSection
+
  SubSection "Display"
+
    Viewport  0 0
+
    Depth    8
+
  EndSubSection
+
  SubSection "Display"
+
    Viewport  0 0
+
    Depth    15
+
  EndSubSection
+
  SubSection "Display"
+
    Viewport  0 0
+
    Depth    16
+
  EndSubSection
+
  SubSection "Display"
+
    Viewport  0 0
+
    Depth    24
+
    Virtual 1280 1024 #Set to resolution of CRT/External
+
  EndSubSection
+
EndSection
+
 
+
==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'''
 
  exec /usr/bin/X -nolisten tcp '''-dpi 96'''
  
==Graphic Performance==
+
See also [[Xorg#Display Size and DPI]].
With X.org'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 X.org acceleration. Add this section to the device section of your xorg.conf.
+
  
  Option "AccelMethod" "exa"
+
===Graphic Performance===
  Option "MigrationHeuristic" "greedy"
+
 
+
In addition to improving 2D graphics, the card's 3D performance can be [https://bugs.launchpad.net/xserver-xorg-video-intel/+bug/195843 greatly enhanced] by adding this line to your /etc/profile.
+
 
+
export INTEL_BATCH=1
+
  
 
See [[Intel]] for more information.
 
See [[Intel]] 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:
+
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 {{ic|xorg.conf}}:
  
 
  Option "XvMC" "true"
 
  Option "XvMC" "true"
  
Lastly, create a config file to tell the X server where the XvMC library is:
+
Lastly, create a configuration file to tell the X server where the XvMC library is:
  
 
  echo /usr/lib/libIntelXvMC.so > /etc/X11/XvMCConfig
 
  echo /usr/lib/libIntelXvMC.so > /etc/X11/XvMCConfig
  
==Keyboard==
+
===Touchpad===
#Copy /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi to /etc/hal/fdi/policy
+
See [[Touchpad Synaptics]]
#Edit /etc/hal/fdi/policy/10-keymap.fdi and change '''<merge key="input.xkb.layout" type="string">us</merge>''' accordingly
+
 
+
==Touchpad==
+
#Install the xf86-input-synaptics package
+
#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">
+
  <device>
+
    <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>
+
    </match>
+
  </device>
+
</deviceinfo>
+
  
==xrandr==
+
===xrandr===
For a nice GUI tool, try '''lxrandr'''; it is very simple to use!
+
For a nice GUI tool, try {{Pkg|lxrandr}}; it is very simple to use!
  
 
Switch to External Monitor:
 
Switch to External Monitor:
Line 176: Line 55:
 
  xrandr --output LVDS --auto --output VGA --off
 
  xrandr --output LVDS --auto --output VGA --off
  
=ACPI=
+
==Powersaving==
 +
===laptop-mode-tools===
 +
I got the best powersaving from a combination of [[Laptop Mode Tools]].
  
==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, and lcd-brightness.conf.
I got the best powersaving from a combination of laptop-mode-tools.
+
* 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.
 
+
* 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.
+
 
  BATT_BRIGHTNESS_COMMAND="echo 3"
 
  BATT_BRIGHTNESS_COMMAND="echo 3"
 
  LM_AC_BRIGHTNESS_COMMAND="echo 15"
 
  LM_AC_BRIGHTNESS_COMMAND="echo 15"
 
  NOLM_AC_BRIGHTNESS_COMMAND="echo 15"
 
  NOLM_AC_BRIGHTNESS_COMMAND="echo 15"
 
  BRIGHTNESS_OUTPUT="/sys/devices/virtual/backlight/eeepc/brightness"
 
  BRIGHTNESS_OUTPUT="/sys/devices/virtual/backlight/eeepc/brightness"
** 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 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.
+
====Super Hybrid Engine====
 +
The eeepc "Super Hybrid Engine" as it is known under Windows has a significant effect on powersaving. This underclocks the FSB for powersave/overclocks for performance and can be controlled via {{ic|/sys/devices/platform/eeepc/cpufv}} which is provided by the {{Ic|eeepc_laptop}} module. The following is a laptop-mode configuration for it that controls it automatically.
  
 
<pre>
 
<pre>
Line 240: Line 113:
 
</pre>
 
</pre>
  
==acpi-eeepc-generic==
+
===Wireless===
Install the [http://aur.archlinux.org/packages.php?ID=23318 acpi-eeepc-generic package] from AUR (see [[AUR User Guidelines]]).
+
The rt2860sta wireless has pretty good powersaving, but it is a tradeoff between throughput<->power usage. Minimum power usage gives a pretty low throughput of ~11KB/s when I would normally get >1MB/s.
You must install version 0.9 or greater, as previous versions do not have support for the 1000HE.
+
iwpriv ra0 set PSMode=MAX_PSP
 +
* MAX_PSP - maximum power saving
 +
* CAM - seems to be normal
 +
* FAST_PSP - ? untested, probably a medium value.
  
==Sleep==
+
===acpi-eeepc-generic===
Use '''pm-suspend''' instead of the script in acpi-eeepc-generic.
+
Install the [https://aur.archlinux.org/packages.php?ID=23318 acpi-eeepc-generic package] from [[AUR]]. You must install version 0.9 or greater, as previous versions do not have support for the 1000HE.
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
+
====Sleep====
/etc/conf.d/acpi-eeepc-generic.conf and comment out the line that
+
If you want to use '''pm-suspend''' from [[pm-utils]] with acpi-eeepc-generic, edit {{ic|/etc/conf.d/acpi-eeepc-generic.conf}} to comment out the line
reads:
+
#SUSPEND2RAM_COMMANDS=("echo -n \"mem\" > /sys/power/state") # Simple suspend
 +
and uncomment the line
 +
SUSPEND2RAM_COMMANDS=("pm-suspend") # Use pm-utils
  
COMMANDS_SLEEP=("/etc/acpi/eeepc/acpi-eeepc-generic-suspend2ram.sh")
+
===cpufrequtils===
 +
To scale the CPU and possibly save a bit of power, you will want to set up [[CPU Frequency Scaling]].  For this you will be using the {{Ic|acpi-cpufreq}} kernel module. Note that if you have already configured [[Laptop Mode Tools]] to set governors, frequencies, etc then you do not need to bother with loading the cpufreq daemon.
  
Replace it with:
+
==Hardware==
 
+
===lspci===
COMMANDS_SLEEP=("/usr/sbin/pm-suspend")
+
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)
==cpufrequtils==
+
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
To scale the CPU and possibly save a bit of power, you will want to set up cpufrequtils.
+
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)
#pacman -S cpufrequtils
+
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
#Edit /etc/conf.d/cpufreq <pre>min_freq="1000MHz" max_freq="1.67GHz"</pre> (or 1.60GHz if you have the Atom N270)
+
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
#modprobe acpi-cpufreq cpufreq_ondemand cpufreq_powersave
+
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
#Add these modules listed above to the MODULES=() array in rc.conf
+
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
#/etc/rc.d/cpufreq start
+
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
#Add cpufreq to the DAEMONS=() array in rc.conf
+
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)
=Hardware=
+
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
==WiFi==
+
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
WiFi should work out of the box with the stock kernel, but if you do have trouble, try upgrading the rt2860sta module by installing [http://aur.archlinux.org/packages.php?ID=14557 the rt2860 package].
+
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)
With the 2.6.33 kernel, there are 2 drivers loaded, producing errors like
+
03:00.0 Ethernet controller: Attansic Technology Corp. L1e Gigabit Ethernet Adapter (rev b0)
  # ifconfig wlan0 up
+
  SIOCSIFFLAGS: no such file or directory
+
and the
+
  Apr 24 13:52:28 ismene kernel: phy0 -> rt2x00lib_request_firmware: Error - Failed to request Firmware.
+
output in /var/log/errors.log, preventing any use of the WiFi.
+
The issue is to unload the rt2800lib and rt2800pci modules.
+
Blacklist them in your /etc/rc.conf to avoid them to be loaded on the next reboot:
+
  MODULES=(!rt2800pci !rt2800lib)
+
Then either use
+
  # modprobe -r rt2800pci
+
  # modprobe -r rt2800lib
+
or reboot to get your WiFi working.
+
 
+
===Obsolete Methods===
+
 
+
rt2860sta supports configuration by configuration or iwpriv. Both of these are obsolete and the standard wireless extension tools should be used instead (wireless_tools and wpa_supplicant). If you have an issue with these tools, then it is suggested that you file a bug with the rt2860sta driver.
+
  
As a workaround, you can use the obsolete interfaces. 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. Wicd supports the iwpriv backend
+
Note: lspci for another user produced "Network controller: RaLink RT2860" rather than the Atheros chipset in the output above
  
Notes: http://wiki.debian.org/rt2860sta#issues
+
===WiFi===
 +
WiFi should work out of the box with the stock kernel.  However, if you do have trouble, you can try switching to the rt2860sta module provided by the [https://aur.archlinux.org/packages.php?ID=14557 rt2860] package.  If you use the AUR package, you may need to [[Kernel_modules#Blacklisting|blacklist]] the rt2800lib and rt2800pci modules.
  
==Bluetooth==
+
===Bluetooth===
 
To turn the bluetooth radio on/off:
 
To turn the bluetooth radio on/off:
  
Line 303: Line 165:
 
   $ echo 0 > /sys/class/rfkill/rfkill1/state
 
   $ echo 0 > /sys/class/rfkill/rfkill1/state
  
Install the '''bluez-utils''' and '''bluez-libs''' packages, then <tt>modprobe btusb</tt>.
+
Install the {{Pkg|bluez}} package and then {{Ic|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.
  
See the Arch Linux [[Bluetooth]] and  [[Bluetooth Mouse]] wiki pages for more information about configuring and using Bluetooth devices.
+
===Camera===
 
+
Make sure that the {{Ic|uvcvideo}} module is loaded.
{{Box Note |'''''Switching the Bluetooth Radio on and off does not work on kernel 2.6.28 or below. You need to use kernel 2.6.29 or greater.'''''}}
+
 
+
==Camera==
+
  
 
To enable/disable the camera:
 
To enable/disable the camera:
 
 
   # enable
 
   # enable
 
   echo 1 > /sys/devices/platform/eeepc/camera
 
   echo 1 > /sys/devices/platform/eeepc/camera
Line 320: Line 178:
 
   echo 0 > /sys/devices/platform/eeepc/camera
 
   echo 0 > /sys/devices/platform/eeepc/camera
  
Make sure that the module <tt>uvcvideo</tt> is loaded
+
To record video and take photos, you may use {{Pkg|cheese}} or the wxcam package.
  
To record video and take photos, you may use '''cheese''' or the [http://aur.archlinux.org/packages.php?ID=15272 '''wxcam'''] package.
+
To simply test the camera, you may use [[MPlayer]]:
 
+
To simply test the camera, you may use <tt>mplayer</tt>:
+
  
 
   mplayer -fps 15 tv://
 
   mplayer -fps 15 tv://
  
The webcam is reported to work with Skype.
+
The webcam is reported to work with [[Skype]].
 
+
=Info=
+
==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.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
+
 
+
=Issues=
+
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.
+

Revision as of 21:53, 16 July 2012

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

Installation

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.

Xorg

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

See also Xorg#Display Size and DPI.

Graphic Performance

See Intel 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 configuration file to tell the X server where the XvMC library is:

echo /usr/lib/libIntelXvMC.so > /etc/X11/XvMCConfig

Touchpad

See Touchpad Synaptics

xrandr

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

Powersaving

laptop-mode-tools

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, and 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.
BATT_BRIGHTNESS_COMMAND="echo 3"
LM_AC_BRIGHTNESS_COMMAND="echo 15"
NOLM_AC_BRIGHTNESS_COMMAND="echo 15"
BRIGHTNESS_OUTPUT="/sys/devices/virtual/backlight/eeepc/brightness"
  • 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.

Super Hybrid Engine

The eeepc "Super Hybrid Engine" as it is 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 the eeepc_laptop module. The following is a laptop-mode configuration for it that controls it automatically.

#! /bin/sh

if [ x$SUPERHE_CONTROL_FILE = x ]; then
    SUPERHE_CONTROL_FILE=/sys/devices/platform/eeepc/cpufv
fi

if [ x$CONTROL_SUPERHE = x1 ]; then
    if [ $ON_AC -eq 1 ]; then
        if [ $ACTIVATE -eq 1 ]; then
            SUPERHE_VALUE="$LM_AC_SUPERHE"
        else
            SUPERHE_VALUE="$NOLM_AC_SUPERHE"
        fi
    else
        SUPERHE_VALUE="$BATT_SUPERHE"
    fi
    echo $SUPERHE_VALUE > $SUPERHE_CONTROL_FILE
fi
#
# 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.
CONTROL_SUPERHE=1
 
# 2 is powersave
# 1 is normal
# 0 is performance

BATT_SUPERHE=2
LM_AC_SUPERHE=0
NOLM_AC_SUPERHE=0

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

Wireless

The rt2860sta wireless has pretty good powersaving, but it is 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.

acpi-eeepc-generic

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

Sleep

If you want to use pm-suspend from pm-utils with acpi-eeepc-generic, edit /etc/conf.d/acpi-eeepc-generic.conf to comment out the line

#SUSPEND2RAM_COMMANDS=("echo -n \"mem\" > /sys/power/state") # Simple suspend

and uncomment the line

SUSPEND2RAM_COMMANDS=("pm-suspend") # Use pm-utils

cpufrequtils

To scale the CPU and possibly save a bit of power, you will want to set up CPU Frequency Scaling. For this you will be using the acpi-cpufreq kernel module. Note that if you have already configured Laptop Mode Tools to set governors, frequencies, etc then you do not need to bother with loading the cpufreq daemon.

Hardware

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.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)

Note: lspci for another user produced "Network controller: RaLink RT2860" rather than the Atheros chipset in the output above

WiFi

WiFi should work out of the box with the stock kernel. However, if you do have trouble, you can try switching to the rt2860sta module provided by the rt2860 package. If you use the AUR package, you may need to blacklist the rt2800lib and rt2800pci modules.

Bluetooth

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 package and then modprobe btusb.

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

Camera

Make sure that the uvcvideo module is loaded.

To enable/disable the camera:

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

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.