This page describes how to install (Gentoo) Linux on the Asus W2W laptop. Due to software updates and possibly additional devices and features that I manage to configure successfully over time, this page will be subject to continuous change. Please refer to the modification history on the main page to see what has changed.
It is described to how configure Gentoo Linux with kernel 2.6.23-gentoo-r3. I used the Gentoo 2007.0 version of the live CD to bootstrap the system. My former 2005.1 version would not want to recognize the harddisk (!), so it is advised you use the 2007.0 version or higher.
| ATI Radeon HD 2600 | Working (with Compiz fusion) |
| Sound | Working |
| Wireless | Working |
| Network | Working |
| USB | Working (tested with USB stick) |
| ACPI | Did not look at hibernation and suspend yet |
| CPU frequency scaling | Working |
| Bluetooth | Working (with included wireless mouse) |
| Infrared | Did not try |
| Webcam | Did not try |
| Radio | Did not try, but seems difficult at least |
| TV | Did not try, but seems difficult at least |
Most users probably won't want to erase the pre-installed Windows Vista. Although the original Vista installation CD's are not included (!?!), the machine arrives with the harddisk partitioned in three partitions, one of which is a mysterious 8 Gig hidden windows partition. Of course, a new partitioning scheme was needed badly:
Disk /dev/sda: 300.0 GB, 300069052416 bytes
251 heads, 63 sectors/track, 37062 cylinders
Units = cylinders of 15813 * 512 = 8096256 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 1037 8192000 1c Hidden W95 FAT32 (LBA)
/dev/sda2 * 1037 19568 146518016 7 HPFS/NTFS
/dev/sda3 19568 24509 39069368+ c W95 FAT32 (LBA)
/dev/sda4 24510 37062 99250294+ 5 Extended
/dev/sda5 24510 24763 2008219+ 82 Linux swap / Solaris
/dev/sda6 24764 24827 505984+ 83 Linux
/dev/sda7 24828 37062 96735996 83 Linux
Note that the drive shows up as sda instead of
hda. I chose to have a 40 Megs share between Linux
and Vista (/dev/sda3), a 2 Gigs swap
(/dev/sda5), a 500Mb /boot
(/dev/sda6) and the leave the remainder for
the root partition (/dev/sda7). With this
partition scheme, the Grub bootloader was installed with:
default=0
timeout=10
splashimage=(hd0,5)/grub/splash.xpm.gz
title Linux (2.6.22)
root (hd0,5)
kernel /vmlinuz-2.6.23-gentoo-r3 real_root=/dev/sda7
initrd /initramfs-genkernel-x86-2.6.23-gentoo-r3 real_root=/dev/sda7
title Windows Vista
rootnoverify (hd0,1)
chainloader +1
You may download my complete .config file here. This may not (yet) be the perfect configuration, it certainly
comprises a smoothly working kernel that supports most features. Please feel
free to mail any modifications to me (see contact section in my home page).
My current /etc/make.conf is reproduced below.
Caveat:the SYNC variable is specific
to my configuration at home, as is the
GENTOO_MIRRORS variable.
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /etc/make.conf.example for a more detailed example.
CFLAGS="-O2 -march=nocona -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
# This should not be changed unless you know exactly what you are doing. You
# should probably be using a different stage, instead.
CHOST="i686-pc-linux-gnu"
MAKEOPTS="-j3"
VIDEO_CARDS="fglrx radeon"
SYNC="rsync://prometheus/gentoo-portage"
GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://mirror.scarlet-internet.nl/pub/gentoo ftp://mirror.nutsmaas.nl/gentoo/"
USE="-ipv6 -oss -kde -gnome -cups acpi java X alsa usb dvd xvmc mmx mmxext sse sse2 ssse3 mp3 mp2 aac opengl sdl xv win32codecs radio vorbis real quicktime jpeg gif nsplugin png"
This still needs to be configured properly. For now, I activated
[*] Power Management support
[ ] Legacy Power Management API (DEPRECATED)
[ ] Power Management Debug Support
[ ] Suspend to RAM and standby
[ ] Hibernation (aka 'suspend to disk')
[*] ACPI (Advanced Configuration and Power Interface) Support --->
[ ] Deprecated /proc/acpi files
[*] Deprecated /proc/acpi/event support
<*> AC Adapter
<*> Battery
<*> Button
<M> Video
<*> Fan
< > Dock
<*> Processor
<*> Thermal Zone
<*> ASUS/Medion Laptop Extras
< > Toshiba Laptop Extras
...
< > APM (Advanced Power Management) BIOS support --->
CPU Frequency scaling
With hibernation I'll play in the near future.
Frequency scaling can be fully automated by using the proper
kernel settings and installation of the cpufrequtils
package, see the Gentoo HOWTO CPU Frequency Scaling page.
Activate the following settings and the following settings only:
CPU Frequency scaling -->
Power management options (ACPI, APM) --->
[*] CPU Frequency scaling
[ ] Enable CPUfreq debugging
<*> CPU frequency translation statistics details
Default CPUFreq governor (userspace) --->
< > 'performance' governor
< > 'powersave' governor
--- 'userspace' governor for userspace frequency scaling
<*> 'ondemand' cpufreq policy governor
< > 'conservative' cpufreq governor
--- CPUFreq processor drivers
<*> ACPI Processor P-States driver
Using Xfce4 as my window manager, I installed the
xfce4-cpu-freq
plug-in to keep an eye on the current CPU frequency.
Support for the ATI Radeon HD 2000 family including the ATI Mobility Radeon HD 2600 of the W2W, has (finally) become available since November 21, 2007. As of this writing, I'm running the ATI drivers version 8.43.2 that support DRI and AIGLX.
Loadable Module Support --->
[*] Enable loadable module support
[*] Module unloading
Processor type and features --->
[*] MTRR (Memory Type Range Register) support
Device Drivers --->
Character Devices --->
<M> /dev/agpgart (AGP Support)
< > ALI chipset support
<M> ATI chipset support
< > AMD Irongate, 761, and 762 chipset support
...
< > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
Graphics support --->
< > Support for framebuffer devices
xorg-server with
emerge -av xorg-server. I'm currently running
[ebuild R ] x11-base/xorg-server-1.3.0.0-r2 USE="dri nptl xorg -3dfx -debug -dmx -ipv6 -kdrive -minimal -sdl -xprint" INPUT_DEVICES="evdev keyboard mouse -acecad -aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300 -elographics -fpit -hyperpen -jamstudio -joystick -magellan -microtouch -mutouch -palmax -penmount -spaceorb -summa -synaptics -tek4957 -ur98 -vmmouse -void -wacom" VIDEO_CARDS="fglrx radeon -apm -ark -chips -cirrus -cyrix -dummy -epson -fbdev -glint -i128 -i740 -i810 (-impact) -imstt -mach64 -mga -neomagic (-newport) -nsc -nv -nvidia -r128 -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l -vesa -vga -via -vmware -voodoo" 0 kBHigher (experimental) versions are currently discouraged.
x11-drivers/ati-drivers ~x86
to your /etc/portage/package.keywords.emerge -av ati-drivers.
Enable OpenGL by invocation of
eselect opengl set ati/etc/X11/xorg.conf:
Section "ServerLayout" Identifier "Simple Layout" Screen 0 "LaptopScreen0" 0 0 InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection Section "Files" FontPath "/usr/share/fonts/misc/" FontPath "/usr/share/fonts/100dpi/" FontPath "/usr/share/fonts/75dpi/" EndSection Section "Module" # This loads the DBE extension module. # This loads the miscellaneous extensions module, and disables # initialisation of the XFree86-DGA extension within that module. # This loads the font modules # Load "type1" # This loads the GLX module # Load "glx" # This loads the DRI module # Load "dri" Load "dbe" # Double buffer extension SubSection "extmod" Option "omit xfree86-dga" # don't initialise the DGA extension EndSubSection Load "freetype" # Load "xtt" EndSection Section "InputDevice" Identifier "Keyboard1" Driver "kbd" Option "AutoRepeat" "500 30" # Specify which keyboard LEDs can be user-controlled (eg, with xset(1)) Option "XkbRules" "xorg" Option "XkbModel" "pc101" Option "XkbLayout" "us" EndSection Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Protocol" "Auto" # Auto detect Option "Device" "/dev/input/mice" # When using XQUEUE, comment out the above two lines, and uncomment Option "ZAxisMapping" "4 5 6 7" # Emulate3Buttons is an option for 2-button mice Option "Emulate3Buttons" # Option "Emulate3Timeout" "50" # ChordMiddle is an option for some 3-button Logitech mice # Option "ChordMiddle" EndSection Section "Monitor" Identifier "LaptopScreen" HorizSync 31.5 - 82.0 VertRefresh 60.0 - 60.0 EndSection Section "Monitor" Identifier "LaptopDisplay0" Option "VendorName" "ATI Proprietary Driver" Option "ModelName" "Generic Autodetecting Monitor" Option "DPMS" "true" EndSection Section "Extensions" Option "Composite" "Enable" EndSection Section "DRI" Mode 0666 EndSection Section "Device" Identifier "AtiRadeonHd2600" Driver "fglrx" EndSection Section "Screen" Identifier "LaptopScreen0" Device "AtiRadeonHd2600" Monitor "LaptopDisplay0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 EndSubSection EndSection
# ln -s /usr/lib/libGL.so /usr/lib/libGL.so.1
/etc/rc.conf:
XSESSION="Xfce4"
COMPIZ_OPTIONS="--replace --sm-disable ccp" export LIBGL_ALWAYS_INDIRECT=1 compiz $COMPIZ_OPTIONS gconf move resize minimize place decoration wobbly fade cube rotate scale switcher zoom dbus & sleep 5 emerald --replace &
lspci shows us two network interfaces:
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01) 03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)The wired ehternet controller shows up as
eth0 and the
wireless network controller shows up as eth1.
Device drivers --> Network device support ---> Ethernet (1000 Mbit) ---> <*> Realtek 8169 gigabit ethernet supportFuther configuration of the network is standard practice.
Networking --->
Wireless -->
<*> Generic IEEE 802.11 Networking Stack
[ ] Enable full debugging output
<M> IEEE 802.11 WEP encryption (802.1x)
<M> IEEE 802.11i CCMP support
<M> IEEE 802.11i TKIP encryption
< > Software MAC add-on to the IEEE 802.11 networking stack
lspci tells us the HD audio controller type:
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)This HDA (High-Definition Audio) Intel soundcard with Realtek ALC882 chipset is supported by the
snd-hda-intel module. Since I almost always i
want to have sound, I decided to compile it in the kernel, but you may decide
for yourself, of course:
Device Drivers --->
Character Devices --->
Sound --->
<*> Sound card support
Advanced Linux Sound Architecture --->
< > Sequences support
<*> OSS Mixer API
...
PCI devices --->
<*> Intel HD Audio
/dev/sda.
In the kernel, I activated the associated options like so:
Device Drivers --->
RSerial ATA (prod) and Parallel ATA (experimental) drivers --->
<M> AHCI SATA support
< > ServerWorks Frodo / Apple K2 SATA support
...
Luckily, the DMA is recoginzed as well, giving (IMHO) a very decent I/O
performance of the 4200 RPM 300Gig harddisk:
apollo linux # hdparm -Tt /dev/sda /dev/sda: Timing cached reads: 6888 MB in 2.00 seconds = 3447.79 MB/sec Timing buffered disk reads: 122 MB in 3.02 seconds = 40.35 MB/sec
Networking ---> <*> Bluetooth subsystem support ---> --- Bluetooth subsystem support <M> L2CAP protocol support <M> SCO links support <M> RFCOMM protocol support [*] RFCOMM TTY support <M> BNEP protocol support [*] Multicast filter support [*] Protocol filter support <M> HIDP protocol support Bluetooth device drivers ---> <M> HCI USB driver [*] SCO (voice) support <M> HCI UART driver [*] UART (H4) protocol support [*] BCSP protocol support [*] Transmit CRC with every BCSP packet <M> HCI BCM203x USB driver <M> HCI BPA10x USB driver <M> HCI BlueFRITZ! USB driver (The four drivers below are for PCMCIA Bluetooth devices and will only show up if you have also selected PCMCIA support in your kernel.) < > HCI DTL1 (PC Card) driver < > HCI BT3C (PC Card) driver < > HCI BlueCard (PC Card) driver < > HCI UART (PC Card) device driver (The driver below is intended for HCI Emulation software.) < > HCI VHCI (Virtual HCI device) driver
Finally, I had to change the following two lines in the /etc/conf.d/bluetooth as follows:
HIDD_ENABLE=true HIDD_OPTIONS="--connect 01:23:45:67:89:ab"
The output of lspci tells us the HD audio controller type:
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 (rev 03) 00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03) 00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
Nothing special here, just see the section with my kernel configuration parameters.
The TV and radio are not yet operational
01:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 9581 01:00.1 Audio device: ATI Technologies Inc Unknown device aa08