Gentoo Wiki


This article is part of the Hardware series.
Laptops TV Tuner Cards Wireless Servers Storage Other Hardware Motherboards Related


Barbecue issue with 2007.0 and older

Warning: A BIG FAT ONE: I have almost fried my computer during install, because Gentoo 2007.0 LiveCD kernel 2.6.19 has old ACPI 20060707 (cat /proc/acpi/info).

This old ACPI does not handle thermal_zones of HP 6710b and that's why the fan is always LOW on spinning (temperatures rise above 60 °C)! (you will be harmed, unless you have a loud fan problem (, but in this case -- my condolences about loud fan then..) Solutions:

Otherwise you may end up close to this barbecue stuff: Cope with pentiumM Problems

You can also try during install: "/etc/init.d/acpid start" to start the acpi deamon. Then add the needed modules: "modprobe fan" and "modprobe thermal".

The Hardware

Hands on Santa Rosa! This laptop compiles things like crazy! Here is the hardware configuration:

 HP GB891EA#ABB Business Notebook with Corporate Package
   6710b Series Notebook
 Intel Core 2 Duo T7300 2.0Ghz 4MB cache 800Mhz FSB
 Mobile Intel 965GM Express Chipset
 1024MB DDR2-667 SO-Dimm
 160GB SATA 5400rpm HDD
 DVD+-RW SuperMulti Double Layer writer
 15.4" WSXGA+ (1680 x 1050)
 Intel Graphics Media Accelerator X3100 up to 384MB shared graphics
 Intel PRO/Wireless 3945ABG wifi
 56k modem
 10/100/1000 Ethernet LAN
 Fingerprint reader & TPM

I will be updating this page heavily, installing Gentoo, Ubuntu and Foresight, so stay tuned within contents and links provided.

The Installation (2007.0 LiveCD)


With hardware-based USE flags (add yours to your taste):

File: /etc/make.conf
 USE="acpi alsa battery bluetooth cdr dvd dvdnav dvdr dvdread ieee1394 pcmcia sound usb wifi"
 INPUT_DEVICES="keyboard mouse synaptics"
 VIDEO_CARDS="i810 vesa"

Kernel Configuration

I recommend kernel >=2.6.21 as it handles your barbecue problem with newer ACPI.

Linux Kernel Configuration: Processor type and features
Processor family (Core 2/newer Xeon)  --->

You need ATA/IDE for your DVD+R/W:

Linux Kernel Configuration: Device Drivers:ATA/ATAPI/MFM/RLL support
 <*> ATA/ATAPI/MFM/RLL support
 <*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
 ---     Please see Documentation/ide.txt for help/info on IDE drives
 [ ]     Support for SATA (deprecated; conflicts with libata SATA driver)
 [ ]     Use old disk-only driver on primary interface
 <*>     Include IDE/ATA-2 DISK support
 [ ]     Use multi-mode by default
 < >     PCMCIA IDE support
 < >     Cardbus IDE support (Delkin/ASKA/Workbit)
 <*>     Include IDE/ATAPI CDROM support
 < >     Include IDE/ATAPI TAPE support (EXPERIMENTAL)
 < >     Include IDE/ATAPI FLOPPY support
 <*>     SCSI emulation support
 [*]       Generic PCI bus-master DMA support
 [ ]         Force enable legacy 2.0.X HOSTS to use DMA
 [ ]         Enable DMA only for disks
 <*>         Intel PIIXn chipsets support

And SATA for HDD:

Linux Kernel Configuration: Device Drivers:Serial ATA (prod) and Parallel ATA (experimental) drivers
<*> ATA device support
<*>   AHCI SATA support (NEW)
< >   ServerWorks Frodo / Apple K2 SATA support (NEW)
< >   Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support
< >   Marvell SATA support (HIGHLY EXPERIMENTAL) (NEW)
< >   NVIDIA SATA support (NEW)

To view your laptop temperatures, use this command (with >=2.6.21):

 cat /proc/acpi/thermal_zone/TZ?/temperature

ncurses-based text mode install

Just use it. And/or read the handbook (especially for alternative install, or solutions to avoid barbecue problem)

GUI installation aspects

For me the GUI installation failed on ~100th of 500 packages, because I chose not to compile my own kernel and so it failed on emerging cryptsetup-luks or it will fail for you for any package which requires custom-compiled kernel.

And there was no way to resume it later after reboot, because GUI does NOT `emerge package_1 package_2 ... package_500' --- instead it does `emerge package_1 && emerge package_2 ...' so there is no way to emerge --resume <-- you have been warned!

If you still want to go for GUI Install, remember the barbecue issue, think twice and choose another laptop to encounter yourself with new bugs of GUI Installer ;) And read this: For those, who do not RTFM (count me in :)), in Local Mounts section of a GUI installer, when you fill in Device, Type and Mount Point, do not press Add button again, but press Update: this one will enter your mount into the list, whilst Add just clears the fields -- quite not intuitive this `Update' button ;)



See this HowTo.


See this guide.

Framebuffer with Fbsplash

The graphics BIOS contains only standard modes and results in black bars on the right and left side of your screen. The next part describes how to install a framebuffer console on a HP 6710s series notebook with 1280x800 resolution. If you have a higher resolution (HP6710b) just replace the numbers. Kernel:

Linux Kernel Configuration: Device Drivers:Graphics Support
[*] Backlight & LCD device support  --->
< > Frontpath ProGear Backlight Driver  
    Display device support  --->     
<*> Support for frame buffer devices 
[ ]   Enable firmware EDID           
---   Enable Video Mode Handling Helpers
[ ]   Enable Tile Blitting Support   
---   Frame buffer hardware drivers  
<M>   VESA VGA graphics support            
        VESA driver type (vesafb-tng)  --->
(1280x800@60) VESA default mode            
[ ] Bootup logo  --->
[*] Support for the framebuffer splash
Linux Kernel Configuration: Device Drivers:Graphics Support:Console display driver support
--- VGA text console                        
[ ]   Enable Scrollback Buffer in System RAM
[*]   Video mode selection support          
<*> Framebuffer Console support             
[ ]   Framebuffer Console Rotation          
[*] Select compiled-in fonts                
[ ]   VGA 8x8 font                          
[*]   VGA 8x16 font 

Install sys-libs/lrmi, media-gfx/splashutils and optionally media-gfx/splash-themes-gentoo for example.

Needs => sys-apps/915resolution:

echo "sys-apps/915resolution-0.5.3-r1 ~x86" >> /etc/portage/package.keywords

When I installed 915resolution it couldn't detect my graphics chip which is a 965GM. You can either stop the ebuild and apply the patch or compile it by hand. There is now a bug report that contains a new ebuild and the patch.

Code: 915resolution.patch
--- /home/david/915resolution-0.5.3/915resolution.c_orig        2007-04-15 12:46:56.000000000 +0200
+++ 915resolution.c     2007-07-15 21:21:05.000000000 +0200
@@ -56,12 +56,12 @@

 typedef enum {
     CT_UNKWN, CT_830, CT_845G, CT_855GM, CT_865G, CT_915G, CT_915GM, CT_945G, CT_945GM,
-    CT_946GZ, CT_G965, CT_Q965
+    CT_946GZ, CT_G965, CT_Q965, CT_965GM
 } chipset_type;

 char * chipset_type_names[] = {
     "UNKNOWN", "830",  "845G", "855GM", "865G", "915G", "915GM", "945G", "945GM",
-    "946GZ",   "G965", "Q965"
+    "946GZ",   "G965", "Q965", "965GM"

 typedef enum {
@@ -225,6 +225,10 @@
         type = CT_Q965;

+    case 0x2a008086:
+       type = CT_965GM;
+       break;
         type = CT_UNKWN;
@@ -511,6 +515,7 @@
     case CT_946GZ:
     case CT_G965:
     case CT_Q965:
+    case CT_965GM:
         outl(0x80000090, 0xcf8);
         map->b1 = inb(0xcfd);
         map->b2 = inb(0xcfe);
@@ -551,6 +556,7 @@
     case CT_946GZ:
     case CT_G965:
     case CT_Q965:
+    case CT_965GM:
         outl(0x80000090, 0xcf8);
         outb(map->b1, 0xcfd);
         outb(map->b2, 0xcfe);
@@ -809,6 +815,9 @@
         else if (!strcmp(argv[index], "G965")) {
             *forced_chipset = CT_G965;
+       else if (!strcmp(argv[index], "965GM")) {
+           *forced_chipset = CT_965GM;
+       }
         else if (!strcmp(argv[index], "Q965")) {
             *forced_chipset = CT_Q965;

Now you have to replace a BIOS video mode with a new modeline. On my computer vbetest shows:

Code: vbetest
  dyas ~ # vbetest
  VBE Version 3.0
  Intel(r)Crestline Graphics Chip Accelerated VGA BIOS
  [261] 1024x768 (256 color palette)
  [279] 1024x768 (5:6:5)
  [280] 1024x768 (8:8:8)
  [274] 640x480 (8:8:8)
  [276] 800x600 (5:6:5)
  [277] 800x600 (8:8:8)
  [257] 640x480 (256 color palette)
  [259] 800x600 (256 color palette)
  [273] 640x480 (5:6:5)
  Type a mode number, or 'q' to quit - q 

Decide which mode you want to replace by the new resolution. 5c is the "table row" that you use. You can select a number when you have the output of 915resolution.

Note: Replacement is not permanent. It's gone after reboot.

Use the resolution that suits your notebooks' screen.

Code: 915resolution

dyas ~ # 915resolution 5c 1280 800

If your new compiled kernel is running and you use already a framebuffer console you can switch now to the new resolution by selecting the number:

Code: vbetest
dyas ~ # vbetest
VBE Version 3.0
Intel(r)Crestline Graphics Chip Accelerated VGA BIOS
[316] 1280x800 (256 color palette)
[333] 1280x800 (5:6:5)
[348] 1280x800 (8:8:8)
[261] 1024x768 (256 color palette)
Type a mode number, or 'q' to quit - q

Now it is possible to load the module with the correct framebuffer mode:

Code: Load the module
  dyas ~ # modprobe vesa-tng vbemode=348

Provided that you already have installed and configured a splash theme you can start the /etc/init.d/splash and should have a themed framebuffer console.

If you want a framebuffer splash screen during the boot process you have to replace the modeline shortly after the kernel started. I used IvanMajhen's Howto.

Warning: Check if the initramfs contains all the directories shown in the Howto! splash_geninitramfs doesn't create all of them

Wireless (Intel PRO/Wireless 3945ABG)

See this guide.

Wireless (BCM4312 802.11a/b/g)

See the Broadcom 43xx article.

Audio (Intel HD ICH8)


Now, using the kernel-2.6.22 driver, I got problems (got feedback that other 6710 have the same problem): if I touch the Mute button, after a while it turns off and I get the unwanted sound back. If I mute it via alsamixer or GNOME Sound Manager, everything's ok, but then I cannot turn the Mute off with a touch-button. In addition to problems, alsaconf does not detect any devices, maybe it still does not properly support the device with that of Kernel Driver.

Should try alsa-driver-9999 or so, to check upon such problems. Maybe it would as well enable the Mic playback (at least external Mic amplified playback), as even in Windows Vista I cannot amplify my guitar :( Has anyone tried?

For now, the Kernel drivers:

Linux Kernel Configuration: Device Drivers:Sound
<x> Sound card support
 Advanced Linux Sound Architecture  --->
  <x> Advanced Linux Sound Architecture
   PCI devices  --->
    <x> Intel HD Audio
 emerge alsa-utils

TPM & Fingerprint reader

Hardware: AuthenTec AES2501 Fingerprint reader works with fprint.

It's available via layman from Wolfram Schlich's overlay (HOWTO) and can be plugged to PAM for system auth (HOWTO).

In short

emerge layman
layman --sync ALL
layman -a wschlich-testing
File: /etc/make.conf
File: /etc/portage/package.keywords
emerge media-libs/libfprint sys-auth/pam_fprint app-misc/fprint_demo

Scan your finger

pam_fprint_enroll --help

Play with the fingerprint reader


Fingerprint acceptance sufficient, fall back on password otherwise

File: /etc/pam.d/system-auth
auth       required
auth       sufficient
auth       sufficient try_first_pass likeauth nullok
auth       required

Fingerprint acceptance required, no password input

Warning: This setup requires successful fingerprint verification through libfprint before login can succeed. I would not recommend doing this at this point in time, because libfprint is alpha software, and if it breaks, you're in trouble!
File: /etc/pam.d/system-auth
auth       required
auth       required

and remove other auth entries.

Multimedia keys

Keymaps for them work, so we just need to assign them with xmodmap.

File: ~/.Xmodmap
keycode 222 = XF86PowerOff
keycode 223 = XF86Sleep
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
File: .kde/Autostart/
killall xbindkeys &>/dev/null # Get rid of old instances
killall xmodmap &>/dev/null
[ -f ~/.Xmodmap ] && xmodmap ~/.Xmodmap
exec xbindkeys

Volume controls

File: ~/.xbindkeysrc
"amixer -q set Master 1- unmute"

"amixer -q set Master 1+ unmute"

Hibernation and Sleep controls

sys-kernel/tuxonice-sources # With suspend support enabled
su root # Needs root access
%users ALL=(ALL) NOPASSWD: /usr/sbin/hibernate-ram, /usr/sbin/hibernate, /usr/sbin/vbetool
File: /usr/local/bin/hibernate
sudo /usr/sbin/hibernate
File: /usr/local/bin/hibernate-ram
sudo /usr/sbin/hibernate-ram
chmod +x /usr/local/bin/hibernate* # Make them executable
* XF86PowerOff - power button
* XF86Sleep - fn + f3
File: ~/.xbindkeysrc


Hibernation and Suspend to RAM

The notebook supports both suspend to ram and to disk. I'm currently using the standard gentoo-sources but I guess suspend2-sources should work too, maybe even better.

In order to get the suspend functionality one must configure the kernel with suspend support(it depends on which kernel flavor you're using), and them emerge the hibernate-script utility.

The default suspend configuration doesn't handle correctly all the features after reload, so you must tweak it a little bit by editing the /etc/hibernate/common.conf file.

some settings from my /etc/hibernate/common.conf:

Distribution gentoo
UnloadBlacklistedModules yes
LoadModules auto
GentooModulesAutoload yes
DownInterfaces eth0
UpInterfaces auto 
EnableNMReconnect yes
RestartServices net.eth0 ntp-client ntpd 
SwitchToTextMode yes #gets you inside X after resume

Lid close

This is know problem

echo 1 > /proc/acpi/video/C098/DOS

If it will help, add it in start scripst

lspci listing

 00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 0c)
 00:02.0 VGA compatible controller: Intel Corporation Mobile Integrated Graphics  Controller (rev 0c)
 00:02.1 Display controller: Intel Corporation Mobile Integrated Graphics Controller (rev 0c)
 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)
 00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
 00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
 00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
 00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)
 00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03)
 00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
 00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
 00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
 00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
 00:1f.0 ISA bridge: Intel Corporation Mobile LPC Interface Controller (rev 03)
 00:1f.1 IDE interface: Intel Corporation Mobile IDE Controller (rev 03)
 00:1f.2 SATA controller: Intel Corporation Mobile SATA AHCI Controller (rev 03)
 02:04.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b6)
 02:04.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 02)
 10:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
 18:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express (rev 02)
Retrieved from ""

Last modified: Sun, 07 Sep 2008 09:51:00 +0000 Hits: 25,528