Last updated: 5/4/2006
General Hardware Specifications of X60
Status under Linux
|Core Duo Processor, 1.83 GHz||Works||Enable Symmetric multi-processing support|
|12.1 TFT Display, up to 1024x768||Works||xorg-x11 7.0.0 automatically configures OK|
|Intel Corporation Mobile 945GM Express Integrated Graphics Controller (rev 03)||Works||Using VESA driver and xorg-x11 7.0.0|
|100 GB TOSHIBA MK1032GS on Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 02)||Works||SATA=scsi (/dev/sda), using SATA compatability mode|
|Intel Corporation 82573L Gigabit Ethernet Controller||Works||Enable Intel(R) PRO/1000 Gigabit Ethernet support|
|Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)||Works (WPA PSK)||Using madwifi-ng driver, wpa_supplicant|
|Internal 56k Modem||?||Didn't try|
|Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)||Can be made to work poorly||Kernel hack required for stable kernels (see update)|
This laptop is operating under Kernel version 126.96.36.199
Encountered some troubles doing stage 1 install. First, livecd 2006.0 would not boot on the machine. Used Knoppix v4.0.2 (2.6.13 kernel) to boot system. Second, on board ethernet was not recognized, so I used an older pcmcia ethernet adapter I had lying around for successful stage 1 install.
Used 2.6.15-gentoo-r1 kernel initially. Encountered a strange issue with setup of the SATA controller on boot. It always succeeded, but would take varying amounts of time up to several minutes to do so. The workaround for this is to change SATA controller settings in the bios from AHCI to compatability and enable ata_piix under SATA support in the kernel. Oddly, the Knoppix kernel (2.6.13) did not display this behavior, so it may be a bug that appeared in a limited number of kernel versions. I don't expect this to be the bottleneck in disk I/O, so I'm not really worried about getting AHCI support working properly.
A 3.4 or later series gcc compiler is required for pentium-m target, which should give the best code optimizations for Core Duo. I am using "-O2 -march=pentium-m -pipe -msse3" for CFLAGS and CXXFLAGS in make.conf. Be sure to include MAKEOPTS="-j2" to get multiple compile jobs running on the two cpu cores (and look lovingly upon it as it screams through compilations).
Word on the street was that modular X (v7.0) is required for support of the intel integrated graphics, so I went with that right away. Gentoo has a howto covering emerging modular X. Once built, x11 7.0 worked automatically and didn't require an /etc/X11/xorg.conf. I do get some ugliness on start up, though, so I tried generating an xorg.conf but didn't see any improvement. I wasn't able to get get the i810 graphics driver to support the intel graphics card, may need an updated driver, but the VESA driver seems to work fine for my purposes. I'm not sure x11 7.0 was actually needed, but since it's modular it compiles much quicker in any case.
The intel PRO/1000 driver in the 2.6.15 and 2.6.16 kernels handles the onboard ethernet fine. The internal wlan card is from atheros and requires the madwifi driver (more info). You seemingly need to remove 80211 support form the kernel and emerge net-wireless/ieee80211. Then emerge net-wireless/madwifi-ng and net-wireless/madwifi-ng-tools. With the drivers built, "modprobe ath_pci" should configure your device, use iwconfig to check. If wpa is desired, emerge wpa_supplicant and edit /etc/wpa_supplicant.conf (more info). Once my pre-shared key is in wpa_supplicant.conf, the following commands get my card up:
iwconfig ath0 essid MyNetwork iwconfig ath0 ap 00:11:22:33:44:55 /sbin/wpa_supplicant -B -D madwifi -i ath0 -c /etc/wpa_supplicant.conf dhcpcd ath0
There are several hardware devices that I currently have no need for, and have not attempted to configure: bluetooth, modem and Verizon network card.
Apparently no APM support in the bios, so ACPI support should be included in the kernel. I messed around with the frequency scaling (more info) via ACPI, cpufreq-set and the kernel governers, and it seemed to work. However, cpufreq-info doesn't appear to show the correct frequency and I use x86info to check this. In the end, it seems that the bios/hardware handles frequency scaling just fine and I opted to eliminate freq scaling from my kernel in the interest of simplicity.
I didn't have any luck with the original kernel suspend support. I was able to get suspend2 working quite easily, at least to disk (more info). Suspend to ram suspends but doesn't restart properly. Latest version of suspend2 patch is for kernel 188.8.131.52, so I switched to that kernel.
I use the kde windows manager. It's a well known headache to get fonts from kde gnome/gtk (evolution and firefox) apps to play nicely together. This is due in part to dpi settings, and there's no great solution. By default, the gnome/gtk fonts are very large. When I use gnome-font-properties to make the gnone/gtk fonts look nice, it messes up the kde fonts, and is not persistent for some reason -- I have to run gnome-font-properties every time I start X. My hack is to set the dpi to 72 at startx (startx -- -dpi 72). This results in reasonable gnome/gtk fonts, and I can adjust the kde fonts as desired.
Starting to worry about this machine. Out of the box it made a high-pitched whine when running off the battery, which I ignored until this morning as I usually run off AC unless I'm travelling. Did some experimenting this morning and determined that it happens only when the CPU throttles down AND is running off battery. Never occurs under AC power, regradless of CPU clock (verified by x86info). Under battery power does not occur if CPU under load or CPU power management is turned off in bios (CPU doesn't throttle down). None of the other numerous experiments I did had any effect.
I also noticed a faint flicker in the screen at lower brightness setttings on battery power. I can't seem to reproduce that behavior at the moment though. Also had a couple system lock-ups this morning, but that could, in theory be a software issue.
Oh, and the "Q" key on my keyboard is misbehaving. Quality, huh?
Site Map Soundcard, lots of fun. So, you need to build the Intel HD Audio driver. Problem is, that the setup code in the driver finds repeated "azx_get_response timeout" errors. If you build it as a module then the modprobe hangs. After trying a list of older and newer kernels, alsa-driver packages, etc., the only thing that worked was commenting out "#define USE_CORB_RIRB" in sound/pci/hda/hda_intel.c. Saw that on some webpage somewhere that I've since forgotten about, but it is a successful workaround. According to the source, it does this:
/* * Use the single immediate command instead of CORB/RIRB for simplicity * * Note: according to Intel, this is not preferred use. The command was * intended for the BIOS only, and may get confused with unsolicited * responses. So, we shouldn't use it for normal operation from the * driver. * I left the codes, however, for debugging/testing purposes. */Anyways, it now initializes and I can listen to mp3's and it sounds ok. I played with Krec a bit and it worked, but sounded terrible. Can't get audacity to build at the moment.
Still seeing occassional system lock-ups, usually when it's been up for a while and under a bit of load. Things start to get slow and eventually it becomes a brick, can't kill X or switch to another console. Luckily only seems to happen once/twice a week.
Still noisy on batter power. Talked to Lenovo and they want me to run a diagnostic disk on it, just haven't gotten around to it. For whatever reason, dirt seems to get into the keyboard mechanisms easier than on the older IBM Thinkpad keyboards, which will make keys flakey until you break it up or it works its way out of its own accord.