Difference between revisions of "ASUS Eee PC 1000HE"

From ArchWiki
Jump to: navigation, search
m
m (Graphic Performance)
Line 132: Line 132:
 
  export INTEL_BATCH=1
 
  export INTEL_BATCH=1
  
See [[Intel_Graphics|Intel Graphics]] 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 xorg.conf:

Revision as of 19:15, 4 January 2010

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

Introduction

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.

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

Graphic Performance

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" 
 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 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/libIntelXvMC.so > /etc/X11/XvMCConfig

Keyboard

  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

Touchpad

  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">
 <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

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

ACPI

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, 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.
  • 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
    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=

acpi-eeepc-generic

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.

Sleep

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:

COMMANDS_SLEEP=("/etc/acpi/eeepc/acpi-eeepc-generic-suspend2ram.sh")

Replace it with:

COMMANDS_SLEEP=("/usr/sbin/pm-suspend")

cpufrequtils

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

Hardware

WiFi

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.

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

Notes: http://wiki.debian.org/rt2860sta#issues

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

Camera

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.

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.