For more information on overclocking the Asus EEE PC line, see http://wiki.eeeuser.com/howto:overclockfsb

For more information on overclocking the Asus EEE PC line, see http://wiki.eeeuser.com/howto:overclockfsb

+

+

{{Note|Speedstep is applicable to the 901 as it's CPU is of the Intel Atom family. The eee 900 and 904 use an Intel Celeron M CPU and so should use the p4-clockmod module instead. }}

=== Faster boot and udev ===

=== Faster boot and udev ===

Revision as of 20:29, 30 May 2011

This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the ASUS EEE 901 PC.

Most of the article can also be applied to eeepc-models which are similar to the 901 such the 901H, 1000 and 1000H. If you discover a configuration or software option applicable to a certain model that differs from what is described in this article, please add it, with a note about which model the suggestion pertains to.

Kernel Installation and configuration

Note: The wireless driver (rt2860sta) does not seem to work with the latest linux kernel (2.26.32). The current arch release (2009-8) still uses the 2.26.30 kernel. Install arch using the core images, rather than netinstall. This will install the 2.26.30 linux kernel, rather than downloading the latest kernel from the repositories. Then, after rebooting, and before upgrading any package, include

IgnorePkg=kernel26

in /etc/pacman.conf, to avoid upgrading the kernel.

As of the advent of kernel 2.6.30, all drivers needed for the EEE 901 are included in the Arch Linux stock kernel. In case you would like to compile your own kernel, make sure that you build the following modules:

as a _module_ (thanks for the hint, dieghen89, even though I never got to include it...)

For some tricks to speed up udev boot time, see below.

Blind

Using the Stock kernel

This section gives some hints and clues about how to tweak the stock Arch Linux kernel for the EeePC 901. For more general information about building custom Arch Linux kernels, see Kernel Compilation.

The stock kernel has some advantages over the custom kernel:

The ethernet driver is now available in stock kernel (called: Atheros L1E Gigabit Ethernet support), so no external modules or patching needed

As of kernel 2.6.29 the Ralink wireless driver is included in the stock kernel (though it is still a work in progress). Just add the rt2860sta module to /etc/rc.conf and it works out of the box.

From kernel 2.6.33 on you only need to blacklist rt2800pci in /etc/rc.conf and wireless works flawlessly

It is likely that more Asus and EeePC-specific features will be included in future versions of the stock kernel, and current drivers will improve with each kernel release. (Word has it that Linus Torvalds himself bought an EeePc). Chances are that the stock kernel now includes the drivers and features you need for your EeePC.

The stock kernel, as part of the core repository, is always available and maintained in a number of mirror repositories.

example .config

Here is a sample kernel .config file created for the 1000H with the stock 2.6.27.7 kernel: .config.

You can take it as starting point to build your own kernel. Make sure that the filesystem types you want to use are configured (at the moment this configuration only contains ext2, compiled in, and ext3 as module).

OS Configuration

To support the devices listed below, make sure the module eeepc_laptop is loaded on boot.

To automatically all the modules needed (including bluetooth, if it is enabled in BIOS, and the ALSA sound drivers), enable autoloading in your /etc/rc.conf:

MOD_AUTOLOAD="yes"

Networking: Ethernet

Ethernet (wired) network access should work right out of the box with precompiled kernels, or with atl1e module you built from AUR.

Networking: Wireless

After a bios-upgrade the wireless-card of the Eee PC will be disabled by default, so if you have any troubles with wlan check that it is enabled in the bios.

Make sure you have the wireless_tools package installed, also. You may need to manually download the package from a Mirror (look in core/os/i686/) and install it locally (e.g. after moving it with a usb-stick to your eeePC) using Pacman.

There are reported some problems associating an AP with netcfg2 (WEP and open, WPA-PSK works ok). If you experience problems, try another connection manager, for example wicd works fine.

pacman -S wicd

If you experience problems with the Ralink driver and your connection manager, try using the following script to connect:

ACPI (Hotkeys)

For this package to work, make sure the eeepc_laptop and rfkill modules are loaded at boot.

Consult the notes included with the install for instructions on configuring /etc/conf.d/acpi-eeepc-generic.conf.

This will enable all the Fn + xx keys and the four silver hotkey buttons buttons as configured in the default Xandros distribution, with some minor variations. Edit the /etc/conf.d/acpi-eeepc-generic.conf file to change or modify the behavior of the function keys.

Note: The kernel interfaces /proc/acpi/asus or /proc/acpi/eee are not available with the eeepc_laptop module. The corresponding eeepc_laptop interfaces are files in: /sys/devices/platform/eeepc/. You may need to edit some of the scripts under /etc/acpi/ to point to the correct paths.

ASUS OSD

Asus OSD is included as part of the acpi-eee901 package. Simply add the command asusosd & to your desktop manager startup script, or create the file /etc/xdg/autostart/asusosd.desktop with these contents:

Webcam

To record video and take photos, you may use cheese or the wxcam package (available in the edgy repository or AUR).

pacman -S wxcam

To simply test the camera, you may use mplayer:

mplayer -fps 15 tv://

The webcam is reported to work with Skype.

Audio

Audio output is enabled with the default ALSA drivers distributed with the kernels. You may need to install the alsa-lib and alsa-utils packages to get full functionality.
Make sure the snd-hda-intel module is loaded.

Both the microphone and PC speakers should work out-of-the-box with current versions of the kernel and ALSA drivers. A common gotcha: if you're not getting any sound, did you run alsamixer and unmute your channels?

See the Arch Linux ALSA wiki page for more information about configuring and using ALSA.

Some users have reported problems with vsync and the xf86-video-intel driver. These problems may be partially solved in the application (see this forum post.)

Connecting an external Monitor

The xrandr utility (part of Xorg) can be used to switch into screen modes appropriate either for the EeePC's LCD or an externally connected monitor. Running "xrandr -q" will show you the available output devices and the supported modes. Then run the tool as follows:

Your monitor will probably support a bigger resolution than the LCD. To make use of that additional screen space, tell the X server to create an appropriately large framebuffer by adding the "Virtual" directive to the Screen/Display section in /etc/X11/xorg.conf:

On the LCD, the additional space will be unused, but when switching to the external monitor, the screen will be. Note that some window managers (such as ratpoison) might need to be restarted to realize that the visible screen size has changed.

Letterboxing with XRandR

If you have set up your X server and kernel to use KMS you might have some trouble getting a 800x600 resolution letterboxed (centered) rather than stretched, which might be unpleasant in some programs that don't support 1024x600 such as older games. This is because with KMS the xrandr syntax is a bit different [1].
To get a centered 800x600 visual field on your 1024x600 panel run:

The latest version of the Elantech touchpad driver patch is available at http://arjan.opmeer.net/elantech/ or here mac how to You'll need to apply this patch to your kernel source, then recompile the kernel. This patch has been tested on the 2.6.27.6 and 2.6.27.7 kernels.

A complete working set Xorg/HAL config files

The latest version of xserver recommends using the HAL subsystem to manage X device configurations, in place of xorg.conf.

If it isn't installed already, install HAL, then add hal to the list of daemons in your /etc/rc.conf file: