Legoguy’s Linux Laptop Page

Over the past few years I've had the pleasure of setting up two laptops with Gentoo Linux. Both of them are HPs, both of them have some difficult points. I'll start with my newest.

The HP zd7380us Media Center Notebook

IF YOU'RE LOOKING TO BUY A NOTEBOOK, RUN AWAY FROM THIS ONE AS QUICK AS YOU CAN; I'LL EXPLAIN AT THE BOTTOM OF THIS DOCUMENT

This is a powerhouse, more a desktop replacement as they call them now days. Specs are as follows (with a nifty color code for what works with linux and what doesn't [yet]):

ProcessorIntel Pentium 4 3.2GHz with HyperThreading
L2 Cache: 512KB
FSB: 800MHz
(this is not a "mobile" P4 processor!)
Memory1024MB DDR SDRAM (expandable to 2048MB)
Speed: 333MHz
Accessible memory slots: 2
VideoNVIDIA® GeForce™ FX Go5700 with 128MB DDR dedicated video memory
(this is great for a laptop!)
Display17.0" WSXGA+ High-Definition BrightView Widescreen (1680 x 1050)
(this screen is simply amazing, the quality is excellent.)
Hard drive80GB Enhanced IDE (5400 rpm)
(could be faster, but it's still faster than most)
Multimedia driveDVD+R/RW and CD-RW combo
Digital media5-in-1 integrated Digital Media Reader
Wireless54g™ 802.11b/g WLAN with 125HSM / SpeedBooster™ support
Network cardIntegrated 10/100Base-T Ethernet LAN (RJ-45 connector)
Fax/ModemIntegrated V.90/V.92 56K modem (RJ-45 connector)
Sound16-bit Sound Blaster® Pro-compatible audio
Internal Harman Kardon® speakers
AC audio link
Volume control button and mute button
KeyboardNotebook keyboard with integrated numeric keypad and multimedia buttons
(that's right folks, this laptop has a fullsize keypad due to the widescreen!)
Pointing deviceTouch Pad with On/Off button and dedicated vertical Scroll Up/Down pad
PC Card slots1 Type I/II/III 32-bit CardBus (also supports 16-bit)
External ports4 Universal Serial Bus (USB) 2.0
1 Parallel SPP/ECP standard interface
1 VGA (15-pin)
1 RJ-11 (modem)
1 TV-Out (S-Video)
1 RJ-45 (LAN)
1 port replicator connector
1 headphone-out
1 microphone-in
1 IEEE 1394 (FireWire)
1 FIR (Fast Infrared)
(TV Tuner/PVR)1 TV antenna-in on USB TV/PVR7
1 TV-in (S-Video)
1 RCA Video-in
2 RCA Audio-in (1L+1R)
(IR transceiver)2 Infrared blaster-out
SecurityKensington® MicroSaver® lock slot
Power135W AC adapter
12-cell Lithium-Ion battery

Ok, enough of that. Here's the lspci:

0000:00:00.0 Host bridge: Intel Corporation 82865G/PE/P DRAM Controller/Host-Hub Interface (rev 02)
0000:00:01.0 PCI bridge: Intel Corporation 82865G/PE/P PCI to AGP Controller (rev 02)
0000:00:1d.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02)
0000:00:1d.1 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02)
0000:00:1d.2 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI #3 (rev 02)
0000:00:1d.7 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)
0000:00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev c2)
0000:00:1f.0 ISA bridge: Intel Corporation 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge (rev 02)
0000:00:1f.1 IDE interface: Intel Corporation 82801EB/ER (ICH5/ICH5R) IDE Controller (rev 02)
0000:00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02)
0000:00:1f.6 Modem: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller (rev 02)
0000:01:00.0 VGA compatible controller: nVidia Corporation NV36 [GeForce FX Go5700] (rev a1)
0000:02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
0000:02:01.0 CardBus bridge: ENE Technology Inc CB-710/2/4 Cardbus Controller (rev 02)
0000:02:01.1 FLASH memory: ENE Technology Inc CB710 Memory Card Reader Controller
0000:02:02.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link)
0000:02:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)

Now the fun part.



Installing Gentoo

I opted to dualboot this laptop because I need some Windows functions such as playing games, and sometimes manufacturers won't respect your warranty if you remove Windows from the drive. So anyway my partition layout looks like this:

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        5130    41206693+   7  HPFS/NTFS
/dev/hda2            5131        5260     1044225   82  Linux swap / Solaris
/dev/hda3            5261        5265       40162+  83  Linux
/dev/hda4            5266        9729    35857080    5  Extended
/dev/hda5            5266        7698    19543041   83  Linux
/dev/hda6            7699        9729    16313976    c  W95 FAT32 (LBA)

/dev/hda1 is the Windows drive, occupying ~40GB (games are big these days), /dev/hda2 is my ~1040MB swap partition (it's best to have swap as close as possible to the start of the disk), /dev/hda3 is the ~32MB /boot partition, /dev/hda4 is an extended partition, /dev/hda5 is a ~20GB root reiserfs partition, and /dev/hda6 is a 10GB FAT32 partiton for sharing files between the two OS's.

Installing Gentoo was a breeze, provided you have a wired connection to the internet (wireless won't work within the Gentoo LiveCD). Also note that the Gentoo LiveCD uses 1400x1050 as its screen resolution while installing – more on this later.

Since this is a hyperthreaded processor, you can select SMP (max 2 CPUs) with SMT in the kernel configuration. Also select sound support but don't select ALSA (we're going to use the Gentoo alsa-driver in its place). Since this laptop has a gig of memory, we need to enable Highmem support as well. A couple of use flags you might want (long list, I know, but mostly useful - pick out the stuff you don't need, see /usr/portage/profiles/use.desc for descriptions):

USE="mozsvg nptl gtk gtk2 gnome kde -oss truetype \
acpi -apm cdr cups dvd flac gif java jpeg\
mmx sse sse2 X mozilla mpeg -postgres ncurses \
pcmcia perl png python qt quicktime samba sdl spell \
tcltk tiff trusted usb -wavelan xmms \
zlib xft xml oggvorbis xine faad opengl gnutls \
nptlonly hal cdparanoia wifi xscreensaver pthreads \
truetype-fonts bitmap-fonts type1-fonts -3dnow -dri glx \
userlocales xosd -xprint ftp mp3 cairo vorbis ogg -svga \
theora tga xvid xsl bzip2 mng -font-server \
bash-completion gpm zsh kdeenablefinal cddb audiofile cdio cdda \
freetype svg dvdr xrandr mozdevelop tidy objc \
ppds mhash xmlrpc xpm sharedmem rtsp nvidia alsa live \
unicode utf8 sndfile -xgetdefault ccache -esound ctype -esd \
ssl mmap cscope jpeg2k zeroconf posix aac ffmpeg mad a52 \
iconv dga visualization session nntp win32codecs \
divx4linux mmxext javascript moznomail gimp silc network 7zip \
sockets arts cpudetection -jack fftw transcode"


Configuring X.Org / Video & Display

This is where it gets a bit tricky and/or strange. I mentioned the LiveCD using 1400x1050 as its screen resolution in the virtual terminal — turns out that sadly the BIOS doesn't report that it supports anything higher. So you're stuck with a slightly horizontally scaled VT. Once you have performed an emerge xorg-x11 (which only takes about 18 minutes on this thing!), emerge nvidia-kernel nvidia-glx to get support for the NVIDIA® graphics chip. Then, edit your xorg.conf file and configure the "Device" section as follows:

Section "Device"
    Identifier "NVIDIA Corporation NV36 [GeForce FX Go 5700]"
    Driver     "nvidia"
    Option     "NvAGP"  "3"
    Option     "RenderAccel" "true"
    Option     "AllowGLXWithComposite" "true"
#   Option     "UseEdidFreqs" "true"
EndSection

Then, to use the full widescreen resolution of the display, configure a new "Modes" section:

Section "Modes"
    Identifier "widescreen"
    # 800x600 @ 60.00 Hz (GTF) hsync: 37.32 kHz; pclk: 38.22 MHz
    Modeline "800x600"  38.22  800 832 912 1024  600 601 604 622  -HSync +Vsync
    # 1024x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 64.11 MHz
    Modeline "1024x768"  64.11  1024 1080 1184 1344  768 769 772 795  -HSync +Vsync
    # 1280x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 94.84 MHz
    Modeline "1280x900"  94.84  1280 1352 1488 1696  900 901 904 932  -HSync +Vsync
    # 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz
    Modeline "1280x1024"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync +Vsync
    # 1400x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 122.61 MHz
    Modeline "1400x1050"  122.61  1400 1488 1640 1880  1050 1051 1054 1087  -HSync +Vsync
    # 1680x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz
    Modeline "1680x1050"  147.14  1680 1784 1968 2256  1050 1051 1054 1087  -HSync +Vsync
EndSection

These are the VESA GTF timings for the widescreen resolutions. In order to use them, you have to set up the Monitor section to use the widescreen modes:

Section "Monitor"
    Identifier  "LaptopMonitor"
    HorizSync   28.0-96.0
    VertRefresh 50.0-86.0
    Option      "NoDDC" "true"
    UseModes    "widescreen"
EndSection

And to wrap it up, make sure your "Screen" section is using those modes.

Section "Screen"
    Identifier   "LaptopMonitor"
    Device       "NVIDIA Corporation NV36 [GeForce FX Go 5700]"
    Monitor      "LaptopMonitor"
    DefaultDepth 24
    SubSection "Display"
        Depth    24
        Modes    "1680x1050" "1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
        ViewPort 0 0
	EndSubSection
EndSection

Now, since we're here, let's set up the Synaptics touchpad. Go ahead and emerge synaptics, and then configure the "InputDevice" section as follows:

Section "InputDevice"
    Identifier "SynapticsTouchpad"
    Driver     "synaptics"
    Option     "Protocol"             "auto-dev"
    Option     "Device"               "/dev/input/mice"
    Option     "ZAxisMapping"         "4 5"
    Option     "SendCoreEvents"       "true"
    Option     "SHMConfig"            "true"
    Option     "LeftEdge"             "1900"
    Option     "RightEdge"            "5400"
    Option     "TopEdge"              "1900"
    Option     "BottomEdge"           "4000"
    Option     "FingerLow"            "25"
    Option     "FingerHigh"           "30"
    Option     "MaxTapTime"           "180"
    Option     "MaxTapMove"           "220"
    Option     "EmulateMidButtonTime" "75"
    Option     "VertScrollDelta"      "300"
    Option     "HorizScrollDelta"     "300"
    Option     "MinSpeed"             "0.02"
    Option     "MaxSpeed"             "0.18"
    Option     "AccelFactor"          "0.0015"
    Option     "EdgeMotionMinZ"       "30"
    Option     "EdgeMotionMaxZ"       "160"
    Option     "EdgeMotionMinSpeed"   "1"
    Option     "EdgeMotionMaxSpeed"   "100"
    Option     "EdgeMotionUseAlways"  "0"
    Option     "UpDownScrolling"      "1"
    Option     "TouchpadOff"          "0"
    Option     "LockedDrags"          "1"
    Option     "RTCornerButton"       "3"
    Option     "RBCornerButton"       "3"
    Option     "LTCornerButton"       "2"
    Option     "LBCornerButton"       "2"
    Option     "TapButton1"           "1"
    Option     "TapButton2"           "2"
    Option     "TapButton3"           "3"
    Option     "CircularScrolling"    "1"
    Option     "CircScrollDelta"      "0.1"
    Option     "CircScrollTrigger"    "4"
EndSection

These settings are, of course, up to you to change to fit your needs. Basically this setup enables the scroll pad, enables circular scrolling (we lucky Linux users get this feature, Windows doesn't support it!), tells the driver that circular scrolling is activated when you place your finger in the very upper or lower right corner and start dragging in a circle, tells it that tapping the upper-/lower-right corner should produce a right click, and that tapping the upper-/lower-left corner should produce a middle click. To see a more thorough description of synaptics driver options, execute gzcat /usr/doc/synaptics*/README.gz | less.

If you want to be able to use a USB mouse as well, set up a section like this:

Section "InputDevice"
    Identifier "USBMouse"
    Driver     "mouse"
    Option     "Device"          "/dev/input/mice"
    Option     "Protocol"        "ImPS/2"
    Option     "Buttons"         "5"
    Option     "ZAxisMapping"    "4 5"
    Option     "SendCoreEvents"  "true"
    Option     "Emulate3Buttons" "false"
    Option     "Resolution"      "800"
EndSection

This assumes that you have a mouse with a scrollwheel (and the resolution is just for kicks, if your mouse doesn't support it, it won't make a difference).

Now that we have the main configuration set up, let's put it into action by adding these final two sections:

Section "ServerLayout"
    Identifier  "Default Layout"
    Screen      "LaptopMonitor"
    InputDevice "LaptopKeyboard"    "CoreKeyboard"
    InputDevice "SynapticsTouchpad" "CorePointer"
	# COMMENT OUT THE FOLLOWING LINE IF YOU AREN'T GOING TO USE A USB MOUSE!
	InputDevice "USBMouse"          "AlwaysCore"
EndSection
Section "Extensions"
    Option "Composite" "Enable"
    Option "RENDER"    "Enable"
EndSection

FYI, the "Extensions" section is there so that we can play with the nifty new features in X.Org, since this laptop can handle it very nicely ;)

! ! ! ! READ THIS ! ! ! !

Now, I'm not sure if it's a problem with the nvidia driver or with vesafb-tng, but when you switch from X to the VT (by using Ctrl + Alt + F<n>, it seems like the display timings are messed up, colors go strange, the display gets flickery, etc. If the display goes flickery/fuzzy, immediately switch back to X, or restart X. That fuzzy stuff means that it's trying to feed the display faster than designed, and it could potentially damage the display. If the display goes black, and you used "startx" to start X, switch to the terminal you started X from (even if you can't see it), and type in startx[enter] to get the screen back. If you use an init script to start your X automatically, I suggest you disable it from starting automatically in the first place. In any case, if you use /etc/init.d/xdm to start X, just blindly type in /etc/init.d/xdm restart to restart X if the above situation occurs. It seems pretty random as to which of the above conditions happen (bad colors, fuzzy display, blank display, or a combination) and when, but they are no doubt annoying.

I have found a solution for this: make sure you have options nvidia NVreg_SoftEDIDs=0 NVreg_Mobile=2 in your /etc/modules.d/nvidia.

Now, let's move on to the wireless card.



Wireless

Before we start, let's symlink /etc/init.d/net.eth0 to wlan0:

ln -s /etc/init.d/net.eth0 /etc/init.d/net.wlan0

We're going to have to use ndiswrapper with a Windows XP driver for this, so make sure you've got your Driver CD or download the driver from HP and extract it (on a windows system). Find the files bcmwl5a.inf and bcmwl5.sys and copy them somewhere where Linux can access them. Now we need to install ndiswrapper:

emerge ndiswrapper
ndiswrapper -i /path/to/bcmwl5a.inf          # install the driver
modprobe ndiswrapper

Now you can set up /etc/conf.d/wireless — see /etc/conf.d/wireless.example for a fully commented file that explains the configuration. When you're all done, you should be able to start wireless by doing this:

/etc/init.d/net.wlan0 start


Sound

Getting sound to work reliably on this integrated chip proved to be very much a pain in the rear. Even in Windows, the support for newer games such as GTA: San Andreas is slim (but that's another issue entirely). Anyway, add this to your /etc/make.conf:

ALSA_CARDS="intel8x0"

That will tell the alsa-driver ebuild to only build drivers for that card. Also, you're going to want OSS emulation support, so enable the oss USE-flag just for alsa-driver:

echo "media-sound/alsa-driver oss" >> /etc/portage/package.use

Now, go ahead and install ALSA:

emerge alsa-driver alsa-utils
rc-update add alsasound boot

Now, the easiest way to start alsa for the first time is to start alsasound:

/etc/init.d/alsasound start

Also, don't forget that by default the alsa sound is muted, so start up alsamixer and unmute Master and PCM by hitting the "M" key.

Now we can set up those nifty extra vol-up/down/mute buttons on the laptop too. I use Gnome's built-in program/method for doing this, KDE supports it too, and if you don't want to use either of those, there's a number of other programs out there (I even made my own for my other laptop, for specific reasons). Anyway, if you decide to use GNOME, you can start up gnome-keybinding-properties and set it up there.

So now that we've got that set up, let me outline some specific issues with specific apps.

Sound with Doom 3

The latest Doom 3 Linux binary has support for ALSA or OSS. We want to use OSS here; don't ask me why, but Doom 3 sounds REALLY bad otherwise. It's a pity, really. So when you start Doom 3 for the first time, start it with this command line:

doom3 +set s_driver oss

That should make it sound fine.

Sound with BZFlag

This might be a BZFlag bug, but the only way to get normal-speed sounds out of BZFlag (with this chip) is to use plughw:0 as the device. When configuring bzflag, go to Options –> Audio Settings and change the "driver" to "alsa" (and hit enter), and set the "device" to "plughw:0" (and hit enter). Then restart BZFlag, all should be good. Except you can't have any other apps accessing the sound card at the same time when you play it. I hope this is fixed soon.

Sound with Anything Else (™)

If it supports alsa natively, you shouldn't need to do anything, if you have ALSA ≥ 1.0.9b. (if you're reading this, you probably have that).



The USB Infrared Transceiver

This is actually very well supported. Add this to your /etc/make.conf:

LIRC_OPTS="--with-driver=mceusb"

Then you can emerge lirc and you'll have initial support for it. But before you can play around with it much you have to make a file called /etc/modules.d/lirc_mceusb with the following contents:

alias char-major-61  lirc_mceusb
options lirc_mceusb  debug=1

Then, execute modules-update and you should be good to go. Plug it in and check dmesg to see that the module was loaded. Then you can /etc/init.d/lircd start. In order for things like mplayer to work we need to set up a ~/.lircrc. So make a file named that, and for starters, this works:

begin
	button = Power
	prog = mplayer
	config = quit
end
begin
	button = TV
	prog = mplayer
	config = vo_fullscreen
end
begin
	button = Play
	prog = mplayer
	config = seek 0 1
end
begin
	button = Stop
	prog = mplayer
	config = seek 0 1\npause
end
begin
	button = Rewind
	prog = mplayer
	config = seek -10
	repeat = 1
end
begin
	button = Forward
	prog = mplayer
	config = seek +10
	repeat = 1
end
begin
	button = Replay
	prog = mplayer
	config = seek 0 1
end
begin
	button = Skip
	prog = mplayer
	config = seek 100 1
end
begin
	button = Pause
	prog = mplayer
	config = pause
end
begin
	button = VolUp
	prog = mplayer
	config = volume 1
	repeat = 1
end
begin
	button = VolDown
	prog = mplayer
	config = volume -1
	repeat = 1
end
begin
	button = Mute
	prog = mplayer
	config = mute
end
begin
	button = More
	prog = mplayer
	config = osd
end
begin
	button = Up
	prog = mplayer
	config = dvdnav 1
end
begin
	button = Down
	prog = mplayer
	config = dvdnav 2
end
begin
	button = Right
	prog = mplayer
	config = dvdnav 4
end
begin
	button = Left
	prog = mplayer
	config = dvdnav 3
end
begin
	button = OK
	prog = mplayer
	config = dvdnav 6
end
begin
	button = DVD
	prog = mplayer
	config = dvdnav 5
end
begin
	button = Guide
	prog = mplayer
	config = sub_select
end

So that should work. If it doesn't, make sure you have lirc in your USE flags and re-merge mplayer. There are tons of other things you can do with LIRC, so do a little searching and manpage-reading. irxevent is a good tool, as is irexec—both of these are included with LIRC.



The PCMCIA Slot

This is well supported too - just select "CardBus/yenta-compatable" in the PC-Card section of the kernel. Then you can:

emerge pcmcia-cs
rc-update add pcmcia default


The Multimedia Buttons

Many people think that only a couple of them work - but they are wrong! If you check your dmesg when you press one, you see that the kernel gives you a nice little notice. Here's how to make them work all the time at bootup — add this to your /etc/conf.d/local.start:

setkeycodes e008 116
setkeycodes e00b 117
setkeycodes e00a 118


The USB TV Tuner / PVR

Sadly, this is not supported yet. I've looked just about everywhere. It's basically a rebranded Emuse Bali USB TV Tuner / PVR. Says the board inside it (Yes, I took it apart…). Unfortunately I can't find anything about getting this to work in Linux.



The 5-in-1 Multimedia Card Reader

This one suffers the same fate as the PVR - nothing found on how to make it work. Oh well. I have a free 32mb SD card that came as some sort of Windows Mobile games thingy, and to my delight, it wasn't write protected — but I guess I won't be using it in Linux just yet.



The Modem

This might be supported by the kernel (see the ALSA MC'97 driver) but I don't know for sure as I have absolutely no use for a modem anyway.



Video Out (VGA/S-Video)

Haven't tested this, though it probably works. Not sure if the Fn-F4 works, but I'd imagine that the actual video out does. NVIDIA is pretty good for that stuff, so I hear.



Fast InfraRed

Not sure about this either. It seems to show up as detected in dmesg after enabling it in the kernel (it's under networking options), but I have nothing to test it with (unless I can make it communicate with my Lego Robot...)



Port Replicator

Not sure if this works, either—I don't have a port replicator. It might be a plug and play hardware based thing, though.

The Short Life and Long Death of this notebook

To sum this up: HP designed the notebook very badly with regards to heat dissipation.
More in depth; including story: My 18th birthday, middle of Nov. 2005—My aunt buys me Need For Speed: Most Wanted as a gift. I install it that day. I play it for some hours, and I play it off and on for a week or so. Suddenly, one day, the thing freezes; and when I turn it on again, the screen doesn't come on. But it loads the OS and everything. I reboot it twice and the screen is back. Repeat these symptoms with increasing amounts of reboots over the next week. I call HP support to have it fixed. While it's out at HP, I read zd7000forums.com and find that it's a super common problem. And that it keeps happening. I get it back some time later, and play MW again, and the problem is back within a day. I send it back again.. and I get it back some time in early Jan. I turn it on, play some MM2, and two minutes later, I've got green lines and/or red checkerboards down the screen and it's frozen. Rebooted it, kept happening, and after a certain point, it even happened on boot up, and the only thing that would actually load on it was Linux in text mode. So I sent it in again, and it had been two or so weeks, when I got a phone call from some dude in India asking me for authorization to downgrade my GeForce FX 5700 Go to a GeForce FX 5600 Go, because (for some reason) they ran out of the motherboards with the 5700. So I deny that, and call back shortly and work my way to the top of the support tier with my own case manager (that must be record time!). He asks me what kind of stuff I use it for; I say the usual and some gaming. He says, ok, since you're using it for gaming, we'll replace it. So I'm happy, and I get the replacement yesterday, only to find out that they messed up in the factory and put XP home on it and didn't ship it with any TV tuner or remote or anything. And after playing around with it, updating ATI drivers and all, I find that this gfx chip has an even more annoying problem: the White Screen of Death. It slowly fades from black to white in an uneven pattern when you change resoltuions, when you don't use the stock drivers. Poo. So I call him back again, and he's like, well all my things say Media Center here. He checks the rarely used database of what was installed at the factory -- and he finds that only XP home was installed. Now, you have to be pretty sleepy to install the wrong software and package it without the accessories for that to happen. I also complain about the lack of a 1680x1050 screen and he confirms my worry that they don't ship those with the zd8000s, and then offers to replace it with a dv8000z. Which is an AMD64 Turion 2.4GHz powered laptop. I think that's a fair deal, except the graphics card is a little less powerful, but if it works any better than the previous two, I'm happy. I've always wanted to play around with 64 bit Gentoo anyway =D Not to mention it has two hard drive bays, which means I can use the old hard drive from my zd7000 that I took out before sending also. The dv8000z already comes with a preinstalled 200mb linux partiton which is what their QuickPlay or whatever software runs on.
End long story.

Update:

Turns out the graphics card in the dv8000z is a P.O.S. also, integrated, horrible performance. That, and a day after I got my dv8000z, the brand spankin' new HP ad came in the mail, touting a dv8000t on its cover, with nearly identical specs. So I convince the case manager to exchange it one last time on the basis that this dv8000z is not better than or equal to the zd7380us (and it honestly isn't), and I've had this dv8000t for a very long while now. And it's heaven for a Linux user. Even the SD reader works out of the box in recent kernels! Everything works flawlessly. Except, of course, the TV tuner card, which I never expected to work in Linux anyway.
Recently I took custody of a good friend's zd7000 notebook with -- you guessed it -- an nVidia GeForce FX 5700 Go, that had fried itself, with identical symptoms to my own way-back-when. Going to try to salvage it for parts and sell what I can on eBay. I've got two AC adaptors and batteries now. And a screen that is really quite beautiful... I may put it in my dv8000t if I can. No dead pixels. Better backlight... mmm...