HARDWARE Gentoo on HP Compaq nx6325
From Gentoo Linux Wiki
|
Laptops ��� TV Tuner Cards ��� Wireless ��� Servers ��� Storage ��� Other Hardware ��� Motherboards ��� Related |
This article is still a Stub. You can help Gentoo-Wiki by expanding it.
A guide to install Gentoo on the HP Compaq nx6325
Since I'm a wiki n00b, I shamelessly stole most of the formating from this HP Compaq nc6220 article. Which is a good source also, btw.
- This information is also likely to be useful for some other HP nx and nc laptops that share similar/identical components.
- This is no step-by-step guide to install Gentoo. For that, go to the Gentoo website. They have done a great job. This guide is meant to be a hint what to look for during install. And of course for those who are interested in this laptop and want to know if it can be used with Gentoo or other Linux distributions.
Author: CWache (chris at secondfoundation dot net). If you have any questions or suggestions drop me a mail. Beware: greylisting and spam filters ahead!
Introduction
The Compaq nx6325 series is HP's first AMD Turion X2 laptop. For it's features it's a great bargain, if you don't mind the integrated graphics of the ATI Radeon Xpress 200M (aka Xpress 1150) chipset wich comes in form of an integrated X300 Mobile. I purchased the currently available top model with Turion X2 -TL 60 (2x 2GHz) CPU, 1x 1024 MB RAM (yes, only ONE module and so a lot of computing power ist wasted because the AMD Turion has a two channel RAM interface. I'll add a second 1024 MB stick soon), 15" SXGA Display (1400x1050), 80 GB HDD and a Multi DVD burner with lightscribe. All that and more for less than ��� 1200,-.
On we go ...
Currently supported/working Hardware
- ATI integrated Graphics ATI X300. Full DRI/DRM Working!
- Synaptics Touchpad
- HP's Integrated Bluetooth Broadcom Chipset (Leon Lessing has reported success)
- Broadcom BCM4310 Wireless 802.11 a/b/g
- Broadcom NetXtreme BCM5788 Gigabit Ethernet
- Texas Instruments Cardbus (PCMCIA) Bridge
- ATI Technologies Inc SB450 HDA Audio
Currently unverified Hardware
- Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
- Integrated Modem (no need for it anyway)
- Bluetooth (I just can't find a decent, full-size bluetooth mouse. Drop me a note, if you know one !)
- FireWire (Modules load fine, so I guess it should work. I just don't have a device to try it.)
- Finger Print Reader
Output of lspci
Code: lspci |
00:00.0 Host bridge: ATI Technologies Inc RS480 Host Bridge (rev
10) |
Configuration
The important first
The DSDT table and as a result the ACPI management seems to be badly broken with the original BIOS (Version F00). The latest Knoppix 5.01 won't even boot. Booting with Gentoo LiveCD works but you'll need the latest Kernel 2.6.17-r1 with two patches to get the temperature / battery readout and the fan control working. Without that, the CPU might overheat and get damaged during heavy load (such as compiling a Gentoo stage ...)!
Note: The above is not true as far as I can tell. Please refer to this post According to one of the AMD moderators, "Also note that all AMD 8th-Generation processors (both desktop and mobile) have a built-in, hardware-enforced thermal protection which is designed to shut down the core in order to prevent possible damage once its temperature exceeds the specified threshold." Furthermore, refer to the following post on the ACPI mailing list "The author is wrong. Recent HP laptops all have hardcoded support in the fan control hardware, which will force the fan on if the temperature rises above 80 degrees."
Note to the anonymous Note: First, while it is certainly true that the CPU switches off due to "hardware-enforced thermal protection ", the surrounding component boiling at maybe 90��C won't get any better .... Second, I don't give a sh#t what HP says about hardcoded fan control. They are supposed to have a error free, ACPI compliant BIOS too, no? Fact is, I still can reproduce it any time I want. Just boot an unpatched kernel, compile a bigger package (gcc) and just wait until you burn your fingers on the Q key and X gets slow to the crawl (CPU built-in thermal throttling). Then do a cat /proc/acpi/thermal_zone/TZ*/* and plopp it goes and off it wents. If you're fast enough you'll notice the 110��C on your display... (Chris)
See these bug submissions for more information:
- ThermalZone: Kernel Bug 5543 : Patch
- AC/Battery: Kernel Bug 6455 : Patch
Update 08/19/2006: HP has released a new BIOS. Please see my rant further down for more information.
You can verify if the temperature and fan control is working by doing cat /proc/acpi/thermal_zone/TZ*/*
That should get you something like this :
enceladus linux # cat /proc/acpi/thermal_zone/TZ*/* <setting not supported> cooling mode: active <polling disabled> state: ok temperature: 34 C critical (S5): 105 C passive: 95 C: tc1=1 tc2=2 tsp=100 devices=0xf7fcefe0 0xf7fce1e0 active[0]: 75 C: devices=0xf7f9a9c0 active[1]: 65 C: devices=0xf7f9c920 active[2]: 55 C: devices=0xf7f9c8a0 active[3]: 45 C: devices=0xf7f9c820 <setting not supported> cooling mode: passive <polling disabled> state: ok temperature: 42 C critical (S5): 100 C passive: 90 C: tc1=1 tc2=2 tsp=300 devices=0xf7fcefe0 0xf7fce1e0 <setting not supported> cooling mode: passive <polling disabled> state: ok temperature: 35 C critical (S5): 100 C passive: 60 C: tc1=1 tc2=2 tsp=300 devices=0xf7fcefe0 0xf7fce1e0
As you can see, there are three thermal zones with CPU, video and probably case from top to down. Here, the current CPU temperature is at 34��C with state ok. That means the fan is spinning at the lowest level. Pretty amazing for a Dual Core CPU (Powernowd is running and sets the CPU to low power mode. More later). The fan will change to higher rev at 45��C and state would change to active [3] . If you run something lightly CPU intensive or powernowd isn't yet running, you're probably at this state. This is still nearly unaudiable. Even active[2] is still low noise. Never managed to get active[0] so far even during summer and 25��C ambient. So cooling is no concern with this laptop under normal circumstances and working power management.
It's normal that those threshold temperatures will change once they are reached. For example, if you reach 45��C the fan spins faster and the threshold changes to 40��C. So it will slow down when the temperature drops down to 40��C. This is called hysteresis.
So now to see if it's working do a watch cat /proc/acpi/thermal_zone/TZ*/* in one console and in the other do something CPU intensive like openssl speed. You now should see the CPU temp rising and when a threshold is reached, the state should change and the fans should spin faster (or slower if the temp is going down again).
make.conf
Read this: Safe Cflags#Turion64 (AMD)
FIXME: correct this if necessary: |
File: /etc/make.conf |
CFLAGS="-march=athlon64 -O2 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CXXFLAGS="${CFLAGS}" #ACCEPT_KEYWORDS="amd64 ~amd64" # for having an unstable system :) #MAKEOPTS="-j3" # for using both CPU's when compiling #LINGUAS="de en" # for multilanguage-support #VIDEO_CARDS="radeon vesa" # if you want to use the kerneldriver |
Read this for USE=""
Kernel config
FIXME: add my kernel config here |
I have build nearly all my modules into the kernel.
Xorg and Configuration
For the basics, see the modular Xorg FAQ.
I use the latest ATI 8.26.18-r1 drivers. Since those drivers are still not xorg7.1 capable, you'll have to mask those along with the related ebuilds:
File: /etc/portage/packages.mask |
>=x11-base/xorg-server-1.1.0-r1 >=x11-base/xorg-x11-7.1 >=x11-drivers/xf86-video-vesa-1.2.0 >=x11-drivers/xf86-input-keyboard-1.1.0 >=x11-drivers/xf86-video-ati-6.6.0 >=x11-drivers/xf86-input-mouse-1.1.0 |
You can compile the vesa and radeon framebuffer into your kernel. But no DRI please. See also the Gentoo ATI-Howto
To get a nice resolution console screen and to get rid of the mttr error (because the radeonfb and ATI drivers are fighting for it), try to add this to your kernel boot line in grub:
video=vesafb:nomtrr:3,ywrap,1400x1050-16@60
To get USB mouse AND touchpad to work:
File: /etc/X11/xorg.conf |
########################### Section "InputDevice" ########################### Driver "mouse" Identifier "Mouse[1]" Option "ButtonNumber" "5" Option "Buttons" "5" Option "Device" "/dev/input/mice" Option "Name" "Autodetection" Option "Protocol" "auto" Option "Vendor" "Sysp" Option "ZAxisMapping" "4 5" EndSection ############################ Section "InputDevice" ############################ Driver "mouse" Identifier "Mouse[2]" Option "Buttons" "5" Option "Device" "/dev/input/mice" Option "Name" "Autodetected" Option "Protocol" "auto" Option "Vendor" "AutoDetected" Option "ZAxisMapping" "4 5" EndSection |
and add this to the ServerLayout section:
File: /etc/X11/xorg.conf |
InputDevice "Mouse[1]" "CorePointer" InputDevice "Mouse[2]" "SendCoreEvents" |
A common problem is, that as user you get no DRI as user but as root it works fine. So add this:
File: /etc/X11/xorg.conf |
Section "DRI" Group "video" Mode 0660 EndSection |
And make sure you add your user to the video group.
To get the Display brightness buttons to work even under X, put this line (or uncommend it) in your /etc/X11/xorg.conf under Section "Device":
File: /etc/X11/xorg.conf |
Option "UseInternalAGPGART" "no" |
PCMCIA Configuration
Just compile the Yenta_Socket module into the kernel.I haven't used it so far, but it's pretty common hardware and so it should work fine.
Onboard Gigabit Ethernet
The appropriate kernel module is the Broadcom Tigeon (tg3). Just compile it into the kernel.
Onboard Wireless (802.11)
First I tried the modules that comes with the kernel. No go. So I went on to use ndiswrapper. There's a nice How-To here. (Or rather here.)
The wireless button on the keyboard seems to work in that way, that it disables the antenna.
Update 2006/08/21 - the 64 bit driver from HP worked for me with ndiswrapper. Get it here (John Heath). Had been nice is the .sys and .inf files was downloadable for linux only users.
Update 2006/11/13 - I have patched 2.6.18-gentoo-r2 kernel with the patch downloaded from here (maybe 2.6.19 will have it out of the box) and used firmware cutted using bcm43xx-fwcutter from bcmwl5a.sys file included in this file. After loading bcm43xx module everything seems to work with the native GPL'ed Linux driver. I can see network interface and I can make it up with ifconfig. I have scanned the air using iwconfig and my wifi nic found an access point. Because this AP uses WEP and I don't wanna crack it and my AP is dead so I have to wait for repairing my AP. Try to use this patch and test your WiFi connection. Good luck! (Tomasz Chilinski).
Update 2006/12/07 - PCI-E code for BCM is now in 2.6-git tree. Link (Grzegorz Chwesewicz - information from Tomasz Chilinski)
Update 2006/12/27 - As Greg wrote above patch with PCI-E support has been commited to mainstream kernel 2.6.20. Unfortunately I wasn't able to find any firmware which would make wifi working. On bcm43xx-devel mailing list people describe their problem histories and try to find a solution (Tomasz Chilinski).
Onboard Bluetooth
Not set up and not tested. But since the HW is not much different, this guide should work just fine.
Update 2006/08/12 - Bluetooth works 100% with kbluetoothd daemon. (Leon Lessing)
Update 2006/09/28 - If you want to use Bluetooth headset (i.e. Plantronics Voyager 510) read the article about using bluetooth headset and especially pay attention to troubleshooting section, because unfortunately the laptop has builtin Broadcom controller. After patching my kernel 2.6.17-gentoo-r8, headset started working, but the voice often disappers. (Tomasz Chilinski).
Update 2007/01/02 - If you use gentoo-sources 2.6.18 or later you should modify hci_usb.c file with adding the following code snippet to blacklist_ids[] table (Tomasz Chilinski):
Code: drivers/bluetooth/hci_usb.c |
... /* HP nx6325 with Broadcom chip */ { USB_DEVICE(0x03f0, 0x171d), .driver_info = HCI_WRONG_SCO_MTU }, ... |
Onboard Sound
Once again, the kernel modules snd_intel_hda won't work. Try the alsa ebuild as described here. If it still won't work then try this.
Annotation 2006/11/28 - With 2.6.18-r3, you can use the snd-hda-intel module.
Even then, it wouldn't work for me. After searching back and forth, I had to add/change this:
File: /etc/modules.d/alsa |
alias snd-card-0 snd-hda-intel options snd-hda-intel model=hp position_fix=1 enable=yes |
To make the keyboard keys for sound up/down and mute work, prepare the following file:
File: ~/.Xmodmap |
keycode 160 = XF86AudioMute keycode 174 = XF86AudioLowerVolume keycode 176 = XF86AudioRaiseVolume |
and then if you want to enable these keys in KDE create the following script in your home directory:
File: ~/.xprofile |
/usr/bin/xmodmap ~/.Xmodmap |
If you need more informations, read article about using multimedia keys.
Update 2006/11/26 - In KDE the keyboard keys for sound up/down and mute worked for me without the files .Xmodmap and .xprofile after I changed the keyboard layout to type "Hewlett-Packard Internet Keyboard" in Control Center -> Regional & Accessibility -> Keyboard Layout. (Oliver L��hr)
Onboard Modem
Bleh.
Finger Print Sensor
After trying it in Windows XP, I found this toy to be extremly...cool. :)
I will try to set it up later, but already provide links down in the link section.
Update (07/09/2006): The link below contains an ebuild that doens't work with new gcc >= 4.x versions. This link contains a patch for this. I have modified the ebuild will make it available soon. Just let me do some more testing.
Update (07/11/2006): OK, now. This fingerprint sensor is diffferent from the Think Pads. It's no Upec but an AuthenTec AES 2501:
Code: lsusb -v |
Bus 003 Device 002: ID 08ff:2580 AuthenTec, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 255 Vendor Specific Protocol bMaxPacketSize0 8 idVendor 0x08ff AuthenTec, Inc. idProduct 0x2580 bcdDevice 6.21 iManufacturer 0 iProduct 1 Fingerprint Sensor iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 0 |
There's more info at Ubuntu and from this guy, who is also working an a GUI frontend based on SANE. To quote: "When Authentec was contacted in January of 2006, they also stated that they were working on a linux driver, to be released within six months." Hopefully, once the drivers are released, they can be used with the bioapi framework.
Update (09/03/2006): There's Linux mentioned as supported OS in the Authentec's AES 2501B product specification.
There is apparently a test suite for the Authentec sensors available. I've not tested it but it might be a good start - seems to include source for some driver? If not it could be reverse-engineered. [1]
Update (09/03/2006): This test suite has size only 500 kB. There is NO source code for any Authentec in this suite. AES 4000 is only supported in this. All capabilities of this suite are linked in one executable.
For now: - may be working -
Update (09/05/2006): There exist description of the data format used in authentec devices at this site as you can see. Thanks for Andreas Grotz. I hope it takes not so long to release working linux driver.
Update (09/13/2006): First USB userspace driver was released.
Onboard cardreader
Apparently it works when using a >= 2.6.17 kernel and running setpci -s 02:04.2 4c=0x22 to enable it. "02:04.2" is the pci address ( use /sbin/lspci | grep "Multimedia Card Reader" or similar to find it). [2]
Suspend-to-Disk
Not tried. But see this guide from above. He has done a good job.
ACPI Configuration
As I already mentioned, the DSDT / ACPI tables of this laptop and BIOS F00 seems to be badly broken. If you're not interrested, skip this section entirely.
I extracted the DSDT table and tried to recompile it with iasl so it spits out the errors. I fixed them and only left the warnings (to which I had no solutions anyway) and patched my kernel and initramfs to load the custom DSDT instead. Well, it works but didn't fix anything.
Things that are broken/need patching:
- Thermal and Fan Control (only patches/workarounds)
- AC/Battery Status (only patches/workarounds)
- Sometimes it just won't boot (Read this, and for a solution go here.
The latter is a rather strange issue. I noticed this after the initial Windows XP setup. The system did a reboot but hung with a black screen. I had to stay on the power switch for 5 seconds to turn it off. But after turning on again, still black screen. Fans are spinning, DVD is seeking but nothing else. I took out AC and battery, put them back in and still nothing. I got pissed. But the fourth try surpsingly went through.I thought what the hell and moved on with my repartition and install (Gentoo of course).I had to reboot a few times and got the same behaviour again. Only that sometimes it worked the first try, sometimes I needed a couple of power off/on cycles. And there are three versions of "not booting" as strange as it sounds:
- fans spinning, DVD seeking, black screen (backlight completely off)> nothing
- fans spinning, DVD seeking, black screen but backlight on and a blinking cursor > nothing
- the system eventually boots, but the the HP logo stays for much longer, the F9 / F10 Options disappear like in slow motion, Gentoo boots but stops two times for a second at the kernel messages and shows strange behaviour after that (for example, the AC/Battery status won't be updated anymore despite the patch)
If the system comes up, and the HP logo and boot options disappear in about 5 seconds, then it's all fine. No "stop" during boot, AC/Battery status works as intended.
Just for information, here are the acpi errors (only the errors):
Code: dmesg output |
... ACPI Error (psloop-0193): Found unknown opcode FD at AML address f8802706 offset E8, ignoring [20060127] ACPI Error (psloop-0193): Found unknown opcode FD at AML address f88027f7 offset 1D9, ignoring [20060127] ACPI Error (psloop-0193): Found unknown opcode FD at AML address f8802706 offset E8, ignoring [20060127] ACPI Error (psloop-0193): Found unknown opcode FD at AML address f88027f7 offset 1D9, ignoring [20060127] ... ACPI Error (evgpeblk-0284): Unknown GPE method type: C34E (name not of form _Lxx or _Exx) [20060127] ACPI Error (evgpeblk-0284): Unknown GPE method type: C253 (name not of form _Lxx or _Exx) [20060127] ACPI Error (evgpeblk-0284): Unknown GPE method type: C34F (name not of form _Lxx or _Exx) [20060127] ACPI Error (evgpeblk-0284): Unknown GPE method type: C350 (name not of form _Lxx or _Exx) [20060127] ACPI Error (evgpeblk-0284): Unknown GPE method type: C21D (name not of form _Lxx or _Exx) [20060127] ACPI Error (evgpeblk-0284): Unknown GPE method type: C351 (name not of form _Lxx or _Exx) [20060127] ACPI Error (evgpeblk-0284): Unknown GPE method type: C352 (name not of form _Lxx or _Exx) [20060127] ... |
I search Google for those errors but couldn't find anything useful.
Also I get dozens and dozens of those (it's APIC and not ACPI but related):
Code: dmesg output |
APIC error on CPU0: 40(40) |
Searching Google, the common opinion on this is: mostly harmless. My feeling says bullsh*t. They say disable it with noapic on the kernel options. But with this, I'd probably disable the SMP code also and would lose my second CPU core. I'd really, really like to know what's going on. So if someone with more ACPI knowledge could look into this? I can provide the DSDT with my fixes and all. At this point, I even can't rule out faulty hardware. I've got three years on-site NBD support, so maybe I'll give it a try.
Update 07/17/06: After running into even more problems (VMWare won't run), I just tried it. I added
noapic
to my kernel boot line. Now the APIC errors shown in dmesg are gone. And VMware works just fine. I'll report if any problems occur. Just for reference, here's my complete boot line:
kernel (hd0,2)/kernel-2.6.17-gentoo-r2 pci=assign-busses noapic root=/dev/sda6 video=vesafb:nomtrr:3,ywrap,1400x1050-16@60
Update07/23/2006: I found time to fix the DSDT Table. You can get it here. This is the ready compiled version to include in your initramfs or kernel. If you want the source, drop me a mail.
Update 08/12/2006: Starting my notebook from 'cold' on batteries causes thermal run-a-way, but I have downlaoded 2.6.17.8 and applied the 2.6.17 acpi patch, now at least the temperatures updates and it shows the run-a-way, but the fans statys 'off'. I have not found a way to manually start the fans. (Leon Lessing) New edit updating my BIOS to F.02 has fixed the run-away hassle.
Update 08/19/2006: My notebook died last week. It simply wouldn't turn on anymore or shut down after a few seconds. I got the systemboard replaced. My problems with "not booting" are now gone. I also noticed that HP finally published a new BIOS F.02. I immediately flashed it and upgrade to gentoo-sources 2.6.17-r5. Results:
- The ACPI error during boot (Found unknown opcode ) is gone
- The ACPI error during boot (Unknown GPE method) is still there
- Thermal readings and fan control is working without patch
- "noapci" on the kernel boot line is not neccessary anymore. The APIC errors in the dmesg output are gone.
- Battery/AC Updates is still not working out-of-the-box. The old patch I linked above is not working anymore. I've attached a new one:
File: |
--- linux-2.6.17-gentoo-r5/drivers/acpi/ec.c 2006-08-19 09:12:19.000000000 +0200 +++ /root/temp/linux-2.6.17-gentoo-r5/drivers/acpi/ec.c 2006-08-19 08:43:39.000000000 +0200 @@ -243,6 +243,7 @@ case ACPI_EC_EVENT_IBE: if (~acpi_ec_read_status(ec) & ACPI_EC_FLAG_IBF) + ec->intr.expect_event = 0; return_VALUE(0); break; } @@ -787,19 +787,22 @@ case ACPI_EC_EVENT_OBF: if (!(value & ACPI_EC_FLAG_OBF)) break; + ec->intr.expect_event = 0; + wake_up(&ec->intr.wait); + break; case ACPI_EC_EVENT_IBE: if ((value & ACPI_EC_FLAG_IBF)) break; ec->intr.expect_event = 0; wake_up(&ec->intr.wait); - return ACPI_INTERRUPT_HANDLED; + break; default: break; } |
Update 08/19/2006:
I'm now playing with the 2.6.18-suspend2 kernel. As suspected, ACPI thermals and fans didn't work. For solutions please see my Bugzilla entry.
Update 11/12/2006:
For me were issues with Fan/Thermal fixed using updated BIOS and 2.6.18-suspend2 kernel with options noapic and nolapic together with these three patches:
The noapic and nolapic options should be AFAIK used only on the Sempron versions of the nx6325 (such as mine is) because on dulacore Turion64 based boxes it is necessary to have APIC enabled because of SMP. (Question: does the noapic question really disable or interfere with dual core? trilexx) But without these options passed to the kernel my suspend-to-disk hangs.
So now I have even suspend-to-disk (haven't tried RAM) working and correct ACPI behavior... (Ctibor Bran����k)
Update 11/23/2006:
A few corrections. The following patches fix thermal and fan control problems if you don't need to use S4 state: [6], [7].
Otherwise you have to apply those patches too: [8], [9].
More details about mentioned patches at [10] and [11] respectively.
Afterwards both S3 and S4 (swsusp) states work. There are some minor problems, but aren't critical. No need for kernel parameters noapic and nolapic. Remember to change DPMS mode of display (use vbetool) and to unload a few nasty modules (rfcomm, hidp, l2cap, ohci1394, bluetooth, button, sdhci, ohci_hcd, uhci_hcd) before changing your box state. In short make some scripts that handle this or use ready-to-go tools like pm-utils.
Don't use F.04 BIOS as it screws S3 and S4 up totally. Although you might find it useful just to enable TPM module (and then go back to F.02). All my comments apply to 2.6.18.2 kernel and Turion X2 box. (user who doesn't quite understand why HP - ironically co-founder of the standard - is unable to provide fully compliant ACPI implementation)
ATTENTION: There is a thread in the official forums of HP containing a request for a bios with a fixed dsdt table and full linux acpi support. Please post there. I know that this did help in the case of the nx7400, HP answered with a fixed BIOS. Click here to check out the Thread and make some noise! :) trilexx
Update 24/2/2007: With linux prepatch release 2.6.21-r1 the acpi problems are gone :-)
PowerNow
Intels equivalent is SpeedStep. Basicly, it means that the CPU is clocked down and the voltage is reduced to save power during low or no processing demand. Good idea to use it. Look at the kernel config section for the options and emerge powernowd. Add it to the default boot scripts. It works fine out of the box but of course you can tweak it through config files.
In KDE I just used KLaptop for the Battery/AC status and some more useful settings.
Links
In addition to the already provide links above, I find these to be very useful: