Gentoo Wiki


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



HP Pavillon tx1000z series are powerful touchscreen equipped Linux unfriendly ultra portable laptops.

According to the options you choose inside you can have various model numbers (complete list can be found here). The only things that change from a model to another are CPU power, RAM, disk space, bluetooth capability, lightscribe capability. So according to the model you got, some parts of this HOWTO might not apply for you.

It seems at first most of the things weren't working well with Linux on this laptop but with the time most of the hardware is now supported.

Hardware specs and drivers

General configuration


Boot loader

If your laptop freezes time to time, generally at boot time while "Syncing hardware clock to system clock", if you have messages about an IRQ 7 in your tty, you should add this at the end of your kernel loading line:

Code: end of kernel loading line in bootloader
acpi_osi="!Linux" acpi_os_name="Windows 2006" irqfixup pci=nommconf noapic



The graphic card is listed as:

Code: lspci
00:05.0 VGA compatible controller: nVidia Corporation C51 [Geforce 6150 Go] (rev a2)

Latest NVIDIA proprietary drivers work well with this card:

Code: nvidia drivers
     Available versions:  1.0.20070621 ~169.04
     Installed versions:  1.0.20070621(03:46:20 12/02/07)
     Description:         NVIDIA Linux X11 Settings Utility

     Available versions:  1.0.7185 1.0.9639 71.86.01 96.43.01 100.14.09 ~100.14.11 100.14.19 [M]~100.14.23
     Installed versions:  100.14.19(20:42:38 11/30/07)(kernel_linux -acpi -gtk -multilib)
     Description:         NVIDIA X11 driver and GLX libraries

Official nvidia drivers conflict with builtin drivers. If you want to use the binary proprietary nvidia drivers you will have to disable nvidia support in the kernel:

Linux Kernel Configuration: Video drivers
Device Drivers  --->
   Graphics support  --->
      <*>   VESA VGA graphics support
            VESA driver type (vesafb)  --->
      < > nVidia Framebuffer Support


eGalax drivers

You can use the (binary proprietary) drivers provided by the touchscreen maker in order to get it work properly. Response is much better with these drivers than the builtin Vista support.

For this solution to work you need to have hiddev support in your kernel:

Linux Kernel Configuration: hiddev
Device Drivers  --->
   HID Devices  --->
      <*> USB Human Interface Device (full HID) support
      [*]   /dev/hiddev raw HID device support

As well as EventInterface support:

Linux Kernel Configuration: Eventinterface
Device Drivers  --->
   Input device support  --->
      <*>    Event interface

Go to [1 ] (if the url does not work, go to [2 ], click ENTER then SUPPORT / Touch solutions / Drivers and hit Linux). Download the latest 64 bit kernel 2.6 drivers.

Then, as root:

$ tar xvfz TouchKit64_1.07.0907.tar.gz
$ cd TouchKit64
$ cp /usr/lib64/xorg/modules/input/

Add to the section "ServerLayout" of your xorg.conf:

File: /etc/X11/xorg.conf
  InputDevice    "EETI"      "SendCoreEvents"

And add the new device:

File: /etc/X11/xorg.conf

File: /etc/X11/xorg.conf
 Section "InputDevice"
           Identifier     "EETI"
           Driver         "egalax"
           Option         "Device" "/dev/usb/hiddev0"
           Option         "Parameters" "/etc/"
           Option         "ScreenNo" "0"

Restart your xorg server and as root:

$ cd TouchKit64
$ ./TouchKit

If no box message appear and a GUI with several tab shows up, then you have it right and you can go to the calibration tab.

Unfortunately you will have to recalibrate every time you rotate the screen.


Evtouch driver works great, and more importantly works when you rotate the screen (it interpolate coordinates of the pointer when xrandr is called)

First you have to add evtouch to your keywords since it is not marked as stable and emerge it:

$ echo "x11-drivers/xf86-input-evtouch ~amd64" >> /etc/portage/package.keywords
$ emerge -av x11-drivers/xf86-input-evtouch

You will notice that emerge gives you the part to add to your xorg.conf

Follow the note, add this at the end of your xorg.conf:

File: /etc/X11/xorg.conf
Section "InputDevice"
        Identifier "touchscreen"
        Driver "evtouch"
        Option "Device" "/dev/input/evtouch_event"
        Option "DeviceName" "touchscreen"
        Option "ReportingMode" "Raw"
        Option "Emulate3Buttons"
        Option "Emulate3Timeout" "50"
        Option "SendCoreEvents" "On"
       Option "Calibrate" "1"

Don't forget to add the device to the ServerLayout section (and deactivate egalax device if you used it before):

File: /etc/X11/xorg.conf
Section "ServerLayout"
        Identifier      "Default Layout"
        screen 0        "Default Screen" 0 0
        Inputdevice     "Generic Keyboard"
# ALL OTHER DEVICES MUST BE DISABLED. This will fix multitap problems.
# Set the configured mouse driver to "void" and merge the xf86-input-void build
        Inputdevice     "Configured Mouse" "SendCoreEvents"
#this is the egalax device
#       InputDevice    "EETI" "SendCoreEvents"
#this is the evtouch device
        InputDevice     "touchscreen"   "SendCoreEvents"
#this is the touchpad
        InputDevice     "Synaptics Touchpad" "CorePointer"

Then, restart udev to take the evtouch udev rules into consideration:

$ udevcontrol reload_rules
$ udevstart

Calibration program has the path to mandatory file hardcoded and it will complain if it does not find it, so:

$ cp /usr/share/xf86-input-evtouch/empty_cursor.xbm /

Then quit your X session, go to a tty and stop the X server:

$ /etc/init.d/xdm stop

and run the calibration script:


A white screen appears with little X, one in the center and others on the corners and on the middle of the screen borders.

Tap anywhere on the screen, coordinates should appear on the up left corner as you move the pointer. Press the ENTER key, the X at the up left corner should have become red. Tap on the X, the next X on the right becomes red. Tap on all the red X. When you tap on the last X, the program stops and the X server stops.

A file "out.txt" has been generated in the directory from where you launched the calibration script. It should look like that:

File: /etc/X11/xorg.conf
        Option        "MinX"        "60"
        Option        "MinY"        "128"
        Option        "MaxX"        "3988"
        Option        "MaxY"        "3974"
        Option        "x0"        "5"
        Option        "y0"        "4"
        Option        "x1"        "-1"
        Option        "y1"        "2"
        Option        "x2"        "-4"
        Option        "y2"        "-1"
        Option        "x3"        "2"
        Option        "y3"        "0"
        Option        "x4"        "-2"
        Option        "y4"        "1"
        Option        "x5"        "-4"
        Option        "y5"        "-1"
        Option        "x6"        "-2"
        Option        "y6"        "-4"
        Option        "x7"        "0"
        Option        "y7"        "-2"
        Option        "x8"        "3"
        Option        "y8"        "3"

Copy past the 4 first lines to the Device section of your xorg.conf and comment out the Calibration option:

File: /etc/X11/xorg.conf
Section "InputDevice"
        Identifier "touchscreen"
        Driver "evtouch"
        Option "Device" "/dev/input/evtouch_event"
        Option "DeviceName" "touchscreen"
        Option "ReportingMode" "Raw"
        Option "Emulate3Buttons"
        Option "Emulate3Timeout" "50"
        Option "SendCoreEvents" "On"
#       Option "Calibrate" "1"
        Option "MinX" "60"
        Option "MinY" "128"
        Option "MaxX" "3988"
        Option "MaxY" "3974"

Remove the now useless files and restart your X server:

$ rm /empty_cursor.xbm out.txt
$ /etc/init.d/xdm start

Everything should work, if you rotate the screen with xrandr, you can use the touchscreen as usual

Character recognition

You can use CellWriter which works pretty good and more importantly offers a Windows style "always on top" keyboard to select characters with the mouse.

CellWriter is not currently stable in portage so you should, as root:

$ echo "media-gfx/cellwriter ~amd64" >> /etc/portage/package.keywords
$ emerge -av media-gfx/cellwriter

You can run the program by launching command

# cellwriter

After a training for each character you can start writing or displaying the virtual keyboard.

Auto Rotation

I wrote this shell script and mapped it to one of the multimedia keys (that i got to work).

note: Don't forget to 'chmod +x' to make it executable

File: ~/bin/
orient=$(xrandr -q --verbose | awk 'NR==2{print $5}') #;echo $var
if [ "$orient" = "normal" ]; then
        xrandr -o right
elif [ "$orient" = "right" ]; then
        xrandr -o inverted
elif [ "$orient" = "inverted" ]; then
        xrandr -o left
elif [ "$orient" = "left" ]; then
        xrandr -o normal


If you want to be able to use the wheel on the right of the touchpad you will have to get the synaptics drivers:

$ emerge -av x11-drivers/synaptics


you can add synaptics as an input device in you make.conf:

File: /etc/make.conf
INPUT_DEVICES="keyboard mouse synaptics"


Here is an example of xorg.conf for this laptop:

File: /etc/X11/xorg.conf
Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "kbd"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "us"

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"        "/dev/input/mice"
        Option          "Protocol"      "ImPS/2"
        Option          "ZAxisMapping"  "4 5"
        Option          "Emulate3Buttons"       "true"

Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "SendCoreEvents"        "true"
        Option          "Device"        "/dev/psaux"
        Option          "Protocol"      "auto-dev"
        Option          "HorizEdgeScroll"       "0"
        Option          "UpDownScrolling" "1"

Section "Device"
        Identifier      "nVidia Corporation C51 [Geforce 6150 Go]"
        Boardname       "nv"
        Busid           "PCI:0:5:0"
        Driver          "nvidia"
        Screen  0
        Option      "AddARGBGLXVisuals" "true"

Section "Monitor"
        Identifier      "Generic Monitor"
        Vendorname      "Plug 'n' Play"
        Modelname       "Plug 'n' Play"
        Option          "RandRRotation" "on"

Section "Screen"
        Identifier      "Default Screen"
        Device          "nVidia Corporation C51 [Geforce 6150 Go]"
        Monitor         "Generic Monitor"
        Defaultdepth    24
        Option          "metamodes"     "1280x800_60 +0+0"
        SubSection "Display"
                Depth   24

Section "ServerFlags"
        Option "Xinerama" "False"

 Section "InputDevice"
           Identifier     "EETI"
           Driver         "egalax"
           Option         "Device" "/dev/usb/hiddev0"
           Option         "Parameters" "/etc/"
           Option         "ScreenNo" "0"

Section "ServerLayout"
        Identifier      "Default Layout"
        screen 0        "Default Screen" 0 0
        Inputdevice     "Generic Keyboard"
        Inputdevice     "Configured Mouse" "SendCoreEvents"
        InputDevice    "EETI" "SendCoreEvents"

        Inputdevice     "Synaptics Touchpad" "CorePointer"

Section "Module"
        Load            "extmod"
        Load            "glx"
        Load            "v4l"

Section "device" #
        Identifier      "device1"
        Boardname       "nv"
        Busid           "PCI:0:5:0"
        Driver          "nvidia"
        Option          "TwinView" "True"
        Option "TwinViewOrientation" "RightOf"


Section "screen" #
        Identifier      "screen1"
        Device          "device1"
        Defaultdepth    24
        Monitor         "monitor1"
        SubSection "Display"
                Depth   24
                Modes           "1600x1050@65"

Section "monitor" #
        Identifier      "monitor1"
        Vendorname      "Plug 'n' Play"
        Modelname       "Plug 'n' Play"

Section "Extensions"
        Option "Composite" "Enable"


Works out of the box with the latest kernel 2.6.24 and buildin hda-intel driver.

With older kernels you will need the latest alsa drivers (not the builtin drivers) in order to get the headphone plugs working properly.

Linux Kernel Configuration: Sound
Device Drivers  --->
   Sound  --->
      <*>   Sound card support
            Advanced Linux Sound Architecture  --->
               < > Advanced Linux Sound Architecture
            Open Sound System  --->
               < > Open Sound System (DEPRECATED)

Add the right alsa card to you make.conf:

File: /etc/make.conf


$ echo "media-sound/alsa-driver ~amd64" >> /etc/portage/package.keywords
$ emerge -av media-sound/alsa-driver
$ rc-update add alsasound boot



Wireless works well with WEP, WPA (including WPA enterprise and stuff -- tested) using the officials (binary proprietary) drivers and ndiswrapper.

Card is listed as:

Code: lspci

03:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 02)

First you need to enable wireless extensions in the kernel

Linux Kernel Configuration: Wireless Networking
Networking  --->
   Wireless  --->
      [*]   Wireless extensions

You will then need ndiswrapper:

$ echo "net-wireless/ndiswrapper ~amd64" >> /etc/portage/package.keywords
$ emerge -av net-wireless/ndiswrapper net-wireless/wireless-tools

Then you'll need the driver. Important things, get them from Dell not from HP (its supposed to be the same drivers but a lot of people have reported things not working after getting drivers from HP)

$ wget
$ unzip -a R151517.EXE

(if unzip doesn't work, use wine)

$ ndiswrapper -i bcmwl5.inf

Check the driver installation:

$ ndiswrapper -l
 bcmwl5 : driver installed
      device (14E4:4311) present

Add ndiswrapper to the system:

$ ndiswrapper -m

Load the module:

$ modprobe ndiswrapper

Check if everything works:

$ iwconfig

You should have a wlan0 card listed. You can follow the Gentoo Linux Documentation Wireless networking HOWTO to configure network.

For kernels 2.6.24 & 2.6.25 you should check this


Wired ethernet works with the forcedeth module.

Linux Kernel Configuration: Wired Network
Device Drivers  --->
   Network Device Support  --->
      Ethernet (10 or 100Mbit)  --->
         [*] EISA, VLB, PCI and on board controllers
         <*>     nForce Ethernet support




The different models comes with different webcams. I have had two models (1270oe amd 1345eo) which differs (as I found so far) only in CPU-model and the web-cam.

Sonix Webcam

If you have the Sonix USB 2.0 Camera (lsusb reports deviceID 0c45:62c0) it will work out of the box using uvc:

$ echo "media-video/linux-uvc ~amd64" >> /etc/portage/package.keywords
$ emerge -av media-video/linux-uvc
$ modprobe uvcvideo

Start a program that use the webcam, it should work fine.

Add uvcvideo at boot:

$ echo uvcvideo >> /etc/modules.autoload.d/kernel-2.6

Ricoh Webcam

If you have the Ricoh USB Camera R5U870 (lsusb reports deviceID 05ca:1810) you can install drivers using the Ry5u870 drivers. Download the drivers from [1] and follow the instruction in readme. I have hotplug emerged although I don't know it it is needed. The firmware must be located in the /lib/firmware as told in the README even though hotplug uses another path (/usr/lib/hotplug/firmware I believe). The cam is working with xawtv and skype-2 but kopete is hanging. My source of this information is [2]

Edit: Using the trunk-version as described in [3] solves the hanging Kopete.

Extra buttons

Multimedia keys

Most of the multimedia keys can be mapped to desktop-specific actions. How to do this varies by desktop.

For Gnome, go to System -> Preferences -> Keyboard Shortcuts. Click on the line for the action you want and then press the desired media key. Volume Up, Volume Down, Mute, Play/Pause, Skip Forward, Skip Back and Stop all seem mappable.

DVD, QuickPlay, Screen Rotate and the button with a Gear icon do not seem mappable through this method.

EDIT: I got DVD, QuickPlay to work using the gentoo multimedia keys HowTo.

Screen buttons

Remote control

Most of the remote control keys simply emulate keystrokes. No special drivers are required here. The directional keys send the same as if pressing the arrow keys on the keyboard. So long as you have the multimedia keys mapped for your desktop of choice, they will work too. Once mapped, pressing that corresponding key on the remote will echo that keystroke to the application.



Fingerprint reader

Fingerprint ready surprisingly works under Linux, thanks to fprint project. Still in development but it works not bad at all from version 0.0.5

Add the overlay as explained here:


$ emerge fprint_demo

and test it out. The driver to use if not automatically recognized is AES1610

You can follow instructions here: to use it as authentification


Retrieved from ""

Last modified: Sun, 28 Sep 2008 11:25:00 +0000 Hits: 12,385