page id: 4
Linux On Hp Pavilion tx1000z
The HP Pavilion tx1000z is a very Linux unfriendly laptop but the hardware combination is hard to beat at that price. It has everything I want. You can get almost everything work with linux with a bit of effort. My only big issue right now is the internal modem.
I believe that the following are all model variations of the HP Pavilion tx1000 series:
tx1000 tx1000z tx1001au tx1001xx tx1002au tx1002xx tx1003au tx1004au tx1005au tx1006au tx1007au tx1008au tx1009au tx1010au tx1011au tx1012au tx1013au tx1014au tx1016au tx1017au tx1020au tx1020ea tx1021au tx1030ea tx1030la tx1040ea tx1070br tx1080ea tx1110us tx1115nr tx1119us tx1120us tx1127cl tx1205 tx1215nr tx1320us tx1327cl tx1414ca tx1416ca tx1418ca tx1420ca
If you find any mistakes or omissions in the above list please let me know. (Contact info at the end of the page)
What works and what doesn't
WARNING! you may end up ruining your windows partition(s) if you are not careful when partitioning and formating the drive.
Initial SetupBoot with knoppix before you boot windows for the first time. Do this by turning on the computer and pressing the esc key to change the boot order. While it's waiting put in the knoppix cd in the drive.
boot knoppix with :
(I used 5.1.1. When I first tried it, it froze before it started X. I then rebooted with the noagp option. Don't know why that worked)
Mirroring the Drive
I first tried to image the whole 200 Gb drive on to a USB drive (160Gb) with
dd if=/dev/sda |bzip2|dd of=/media/sdb1/hp.img.bz2
That was taking taking forever so after 4 hours I gave up as bzip2 was slowing things down way too much.
I backed up the partition table on to my usb drive:
dd if=/dev/sda of=/media/sdb1/hp_sda.mbr bs=512 count=1 sfdisk -d /dev/sda > /media/sdb1/hp_sda.sfdisk
BTW that looks like :
# partition table of /dev/sda unit: sectors /dev/sda1 : start= 63, size= 50363712, Id= 7, bootable /dev/sda2 : start=373430925, size= 17285940, Id= 7 /dev/sda3 : start= 0, size= 0, Id= 0 /dev/sda4 : start= 0, size= 0, Id= 0
I then backed up both the partitions with dd:
dd if=/dev/sda1 of=/media/sdb1/hp_sda1.img dd if=/dev/sda2 of=/media/sdb1/hp_sda2.img
Repartitioning The Drive
I then added a few partitions for various linux distributions. I used cfdisk and started the partitions from the end to leave some extra space for vista to take over after the first time is boots. I created 3 different 15 GB partitions to try different linux distributions. This is what the partitions looked like when I was done.:
(Note that I have not booted in Vista yet)
> sfdisk -d /dev/sda # partition table of /dev/sda unit: sectors /dev/sda1 : start= 63, size= 50363712, Id= 7, bootable /dev/sda2 : start=373430925, size= 17285940, Id= 7 /dev/sda3 : start= 64822275, size=308608650, Id= 5 /dev/sda4 : start= 0, size= 0, Id= 0 /dev/sda5 : start= 64822338, size=214837182, Id=83 /dev/sda6 : start=279659583, size= 29302497, Id=83 /dev/sda7 : start=308962143, size= 29302497, Id=83 /dev/sda8 : start=338264703, size= 29302497, Id=83 /dev/sda9 : start=367567263, size= 5863662, Id=82
Dealing with Vista
I then rebooted in Vista and ... gasp ... accepted the license agreement.
Windows did all sorts of crap then HP installed some more stuff. As the end that first 28 Gb partition was expanded to 35 (those 7 Gb is what I had left unused right above sda1 (the windows boot partition). The other ntfs partition BTW is the windoze restore partition.
I created the hp recovery disks as suggested by hp while I was in vista
Installing Fedora 7 x86_64
Installation went well. I installed everything except for the webserver. The reboot had problems though. It froze after I entered the time. I rebooted after several trials and tribulations I ended up adding:
vga=0x317 acpi=off noacpi
to my kernel line in grub.
I rebooted again and voila entered the time and sent my hardware configuration to fedora and was in business..
I eventually removed the
acpi=off noacpifrom the boot line as this is a laptop.
My kernel line in /boot/grub/menu.lst looks like this
kernel /boot/vmlinuz-18.104.22.168-41.fc7 ro root=LABEL=/ rhgb quiet noapic nolapic irqfixup pci=nommconf
Many thanks to David M. for the irqfixup tip. It fixes the problem with the errand irq 7 I was getting and I can now use my external USB devices with the noapic option.
The pci=nommconf helps with some random freezes I was seeing with the nvidia proprietary driver.
To boot Ubuntu 7.04 press f6 at the startup menu and enter noapic on the kernel command line
AMD Turion™ 64 X2 Dual-Core
I installed the x86_64 version of Fedora to get all the 64 bit goodness.
In case you care, if you type
and you see the model as 104 you have a 65 nm part. If you see the model as 72 you have a 90 nm part. If you see something else drop me a line.
Frequency scaling works great out of the box. You can watch the CPUs scale the frequency up and down as you do stuff if you add the CPU frequency scaling monitor to your panel. The system is very responsive even when it's throttled down to 800MHz. The actual frequencies it scales to depend on the model of your CPU. I have a TL-58 and it can scale between 800 MHz, 1.6 GHz, 1.8 GHz and 1.9GHz.
You can get the NVIDIA driver from NVIDIA.
Read NVIDIA documentation
enter run level 3 with :
install the driver as per NVIDIA directions
Have it configure your xorg.conf
edit /etc/X11/xorg.conf to make sure your module section looks like :
Section "Module" Load "extmod" Load "glx" EndSection
You should now be able to run compiz or beryl. If you have not installed beryl yet you can do so by:
yum install beryl-manager beryl-gnome
Once you have this installed you can start it by going to
Applications -> System Tool -> Beryl Manager
The eye candy is excellent!
The following instructions are for FEDORA 7. In FEDORA 8 sound works with no problems and there is nothing for you to do. Ubuntu users please skip to the end of this section for a helpful tip.
The sound is finicky. The sound detection tool actually detects the sound card (chip) but can't play a sound!
I actually ended up getting sound to work completely (including the headphones). I'll describe my findings here
The card detected is nVidia Corporation MCP51 High Definition Audio
The PCM device is the ALC861-VD by Realtek
The module you need to get sound out is snd-hda-intel
First if you want to use the stock Fedora 7 alsa (built in headphone jacks won't work) :
You need to add this line to /etc/modprobe.conf to get sound to work
options snd-hda-intel model=3stack
In Fedora 7 the microphone (stereo) is controlled by "Front Mic" of Volume Control by the HDA NVidia (Alsa mixer) device.
I still haven't figured out how to get audio out of the headphone jacks that are in the front. By the way, I did try every possible model type (3stack 3stack-660 3stack-dig 6stack-dig asus asus-laptop auto lenovo toshiba uniwill-m31) according to the ALSA documentation and non helped me get sound out of the headphone jacks.
Since people around me are not interested in hearing my movie I really wanted to be able to use headphones with mplayer so for now I'm using an external USB sound card (the Turtle Beach Audio Advantage amigo). It's automatically detected as device 6 when I insert it and I can get mplayer to use it by adding the following line to the ~/.mplayer/config file:
The above will try to use the usb sound card first and if it's not available it will try the alsa default.
With gmplayer you have to switch between the two (Preferences->Audio->alsa->Configure driver->device hw=6). I haven't figured out how to do it so that it falls back to the alsa default without actually manually switching to it via the gui.
Now if you are willing to risk trying out the latest alsa rc you can actually get the headphones to work:
(I used alsa-driver-1.0.15rc3 but I believe most of the relevant changes were made in rc1). (Don't complain to me if your sound totally breaks after you do this. The below worked for me)
The quick way
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.15rc3.tar.bz2 tar xvfj alsa-driver-1.0.15rc3.tar.bz2 cd alsa-driver-1.0.15rc3 ./configure make -j 3 <The above should use both CPUs when compiling so it should be faster> <Execute the below as root> make install
Note that if you previously had a "options snd-hda-intel" line in your /etc/modprobe.conf file like the one I described in the previous section you can go ahead and remove it now. Everything seems to be detected OK so that line isn't needed.
Reboot. (I know you don't have to but I'm too lazy to figure out what and in what sequence to unload and reload...)
After the system comes back up the mute button should stay blue. Now you'll need to configure your Volume Control
System -> Preferences -> Hardware -> Sound
In Volume Control go to
Edit -> Preferences
Make sure Headphones, PCM, Front, Front Mic, Capture and Input Source are enabled.
Now in the Playback tab make sure nothing is muted
In the Recording tab make sure Capture is not muted
In the Options tab set Input Source to ATAPI Mic
(I have no clue why that last one works)
UBUNTU tip from Bob Sound was a problem. After installing the alsa drivers version 1.0.15 I had no sound at all, and kmixer showed nothing al all. In /var/log/messages I had several lines with 'snd_hda_intel: disagrees about version of symbol xxx'. The solution is to install backport modules. Someone with a thinkpad had the same problem and was advised to apply this solution. So my problems vanished with: sudo apt-get install linux-backports-modules-generic.
To get the touchscreen to work:
First get the 64 bit proprietary xorg driver from
tar xvfz TouchKit64_1.07.0907.tar.gz cd TouchKit64 su cp egalax_drv.so /usr/lib64/xorg/modules/input/
Now edit your xorg.conf
add this line to Section "ServerLayout"
... InputDevice "EETI" "SendCoreEvents" ...
And this somewhere else in the file:
... Section "InputDevice" Identifier "EETI" Driver "egalax" Option "Device" "/dev/hiddev0" Option "Parameters" "/etc/egalax.cal" Option "ScreenNo" "0" EndSection ...
Now logout and log back in.
Open a terminal and cd back in to the TouchKit64 directory
Start the TouchKit executable as root
select the Tool tab and start the 25Pts Linz Function
calibrate the screen hit apply and OK
It should work now.
Thanks to Dougie R. for the tip and the pointer to the driver
You can get the XP broadcom wireless driver to work with ndiswrapper
yum install ndiswrapper yum install cabextract
Now get the XP drivers: Note that the Vista drivers don't work with ndiswrapper (yet?)
Windows XP broadcom driver (hp.com)
Windows XP 64 broadcom driver (hp.com)
Even though the second one says XP 64 the inf file is identical to the 32 bit version
Get the driver
Remove the existing kernel module that conflicts with ndiswrapper and doesn't work anyway.
Install the ndiswrapper module
ndiswrapper -i bcmwl5.inf
See if it worked
ndiswrapper -l modprobe ndiswrapper
If things went OK and you don't see any alternate drivers you should be able to start(activate) your wlan0 device through System->Administration->Network. If it didn't work look at the ndiwrapper troubleshooting page.
To make ndiswrapper permanent:
Write modprobe configuration
If you previously saw the bcm43xx_mac80211 module loaded you need to black list it so it doesn't start up again prior to ndiswrapper
edit /etc/modprobe.d/blacklist and add the following line to the end
Make sure to delete any backup files your editor leaves or they will be parsed and you will get several warnings about them on the next reboot. Live and learn...
Now assuming you activated wlan0 earlier, on your next reboot wireless should work. Good luck!
The webcam identifies it self as (/proc/bus/usb/devices):
P: Vendor=0c45 ProdID=62c0 Rev= 2.10 S: Manufacturer=Sonix Technology Co., Ltd. S: Product=USB 2.0 Camera
I noticed that Ubuntu 7.04 amd64 actually detects and uses the camera "out of the box" with Ekiga. So I did an lsmod and saw that it was using the uvcvideo driver. For Fedora, you need to get this from http://linux-uvc.berlios.de/
The quick way
svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk cd trunk make make install modprobe uvcvideo
If you start Ekiga now, set it up so that you use V4L2. The webcam should be automatically detected.
I was able to map the volume up/down and mute buttons using System->Preferences->Personal->Keyboard Shortcuts. They worked once flawlessly but then stopped. I ended up deleting all the gnome configuration files in my home dir which made me loose ALL my settings. I then set up the volume buttons again and this time they worked and have worked since. You can set up the play/pause, next, previous and stop buttons on the right hand of the screen in a similar fashion.
To set up the DVD and media button, you need xbindkeys so get xbindkeys:
yum install xbindkeys
now as root add this to your /etc/rc.local file
#DVD button setkeycodes e00e 144 #Media button setkeycodes e008 136 #touchpad disable button #setkeycodes e058 <keycode> #touchpad enable button #setkeycodes e059 <keycode>
now as a user add these lines to your ~/.Xmodmap (if you don't have one create one)
keycode 198 = XF86Launch0 keycode 122 = XF86Launch1
add these lines to your ~/.xbindkeysrc (if you don't have one create one)
"xine" XF86Launch0 "gmplayer" XF86Launch1
Now add the xbindkeys command to your session. Got to System->Preferences->Personal->Sessions create a new entry and add xbindkeys
Next time you log in, pressing the DVD button should start xine and pressing the media button should start gmplayer, assuming you have them installed. You can substitute your own commands like vlc and xmms if you want.
IR RemoteThe supplied IR remote works with Linux because it actually mimics keyboard keys when the buttons on the remote are pressed. I can mute and control the volume, use the cursor keys and hit enter. What is very cool is that it fits neatly in to the ExpressCard34 slot on the laptop. Since it has a home, the chances of me loosing it are fewer.
Fingerprint readerUse libfprint which works with the AuthenTec, Inc. USB finger print sensor. (identified as AES 1610). To install libfprint become root and:
yum install libfprint.x86_64 fprint_demo.x86_64 pam_fprint.x86_64
(Note the above assumes you are running the x86_64 version of Fedora and will not install the 386 version of them)
Suspend and Hibernate
Both work for me now that I'm passing the above parameters to the kernel.
Hibernate works with either noapic or noacpi (yes you read that correctly).
My USB problem has been fixed with the irqfixup option passed to the kernel (see above). I have to wonder what the bios is really doing if I have to pass all these options to the kernel...
Speaking of nuances, the screen, even though bright and clear, has a really bad glare. Probably because it's a touchscreen. The material is easy to clean, but it's so reflective that I can literally use it as a mirror when the laptop is off.
This laptop has a good combination of hardware but it's not Linux friendly. The size, weight, processing power and battery life are all features I was looking for but the particular hardware components HP chose to use are what make it unfriendly to Linux. If you try to install Linux expect to give it some effort. Let me know about your experience, especially if you get something to work that I haven't been able to like the internal modem.
Created by:last modification: Friday 11 of April, 2008 [02:34:36 UTC] by