How I wrestled Linux onto the Clevo D870P


Quick hardware reference for Clevo D870P
Manufacturer / Product Driver updates BIOS updates
RockDirect Quaddra Ti RockDirect driver upgrades RockDirect BIOS upgrade instructions
Bootable ISO CD image R1.00.10
Will upgrade your laptop as soon as booted from, it's supposed to wait for Enter but didn't for me - no warning or confirmations! Fortunately it worked.
Clevo D870-P Clevo driver upgrades
Eurocom D870P Mirage Eurocom driver upgrades Eurocom BIOS upgrade R1.00.10
AJP D870P AJP BIOS upgrade R1.00.10
ITC Millennia 7200 ITC driver upgrades
Sager NP8790 Sager driver upgrades Sager BIOS upgrade phone number
See also Alienware, Promedion, IBUYPOWER, and almost any badge-engineered laptop with a D870 model number...


Windows *kof* XP

This laptop came pre-installed with Windows XP Home Edition by Rock Direct. As we had an urgent development to do, I ran Windows for a month and developed under VMware Workstation 5 with a copy of our old development system. I used ntfsresize from the RIP - Recovery Is Possible CD to shrink the NTFS C: intact, and leave three-quarters of the disk to play with Linux.


We are looking at this as a platform, so I thought I'd try it first on the laptop. I was pleased that it seemed to install and work first time. However, after each boot, the kernel gave increasingly frequent ACPI errors, APIC error on CPU0: 00(40) APIC error on CPU0:40(60) APIC error on CPU0:60(60) APIC error on CPU0:60(60) APIC error on CPU0:60(60) and the machine repeatedly hung copying files. I gave up the installation before I'd got the VMware volumes copied across (I didn't yet have the licence to install it, but wanted to get prepared). The Centos kernel is 2.6.9-11.EL and surprisingly the machine seemed to be more stable (fewer ACPI errors/freezes) with the SMP kernel. But it wasn't stable enough so I thought I'd try something even more recent:

Fedora Core 4

Installed but more ACPI errors. The machine froze even more quickly. When I rebooted, one of the two hardware RAID volumes had disappeared.

I paniced for a while as no Linux tool could see the second disk, but mercifully, when I thought of trying it, the Promise RAID BIOS was able to re-create the RAID on that drive, and then the partitions re-appeared still in situ. Phew. It was the RAID with drive C: on, so I needed it urgently for the next month. The word RAID is ironic here, as it came preconfigured with two RAIDS of one disk each, in a machine that can take only two disks. But I needed the NT 5.1, err sorry XP partition, so couldn't erase and start again. If you want to use RAID under Linux, let me know how you get on and I'll add a note here.


Back to Centos again, using the SMP kernel. I tried various ways to disable part or all of ACPI, but the CPU(0) errors continued.

Centos also has little application support for a multimedia desktop replacement lappie. Whilst some of the third party RPM repo's such as rpmbone (formerly dag) do have Centos and/or RHEL3 support, and I expect RPMs would cross-port fairly easily, the precompiled selection is quite limited for what I wanted. I'd have had to cross-port most things, and I don't want to take on a third cross-porting exercise! Also the kernel has no power saving support, and noise and heat are quite an issue when this laptop is running at full tilt.

What finally killed this attempt though was mysterious random segfaults and other software failures, which seemed to be due to the large number of ACPI-inspired disk corruptions. Many RPMs failed their -V checksums, lost+found were full, and one directory was linked to itself. It was too late to go back and turn on full data journalling on the ext3 volumes that Centos prefers. So I persevered with Windows XP and Linux under VMware for a month ...

RH73 on Vmware

Worked - worked well in fact. VMware tools need X, and I chose not to run X because it trashed the machine's responsiveness (see 'X11' section below). But apart from that it worked well, and got me out of a biiiiiig timescale-based hole. Thanks, VMware, my company owes you big time.

Debian Sarge

If you enter "linux26" at the first page of the Sarge installer, you get kernel 2.6 instead of the default 2.4. And who wouldn't want 2.6 for the better all round hardware support, especially on a laptop like this ? Sarge's version of kernel 2.6 is 2.6.8 and as mentioned before, this gave ACPI errors and disk faults.

Debian Etch

One of the great things about Debian is you just add two lines to your APT sources (one main and one security), and no other change needed to upgrade. So I next tried kernel 2.6.12 from Etch(testing) / Sid(Unstable), and lo and behold it was stable ! Well there was a lot more messing around inbetween and a reinstall due to fatal filesystem corruption. It took most of a day to find out. There is one pair of repeated error messages from the ALSA drivers: codec_semaphore: semaphore is not ready [0x1][0x701300]
codec_read 1: semaphore is not ready for register 0x54
but according to a posting I can't find at the moment, this is benign in the case of ALSA, and will disappear in kernel 2.6.13. Oopses if you get them (I didn't) can apparently be fixed with this patch.

I found Debian SMP doesn't like the laptop's P4 hyperthreading, neither at 2.6.8 nor at 2.6.12. The symptom is that the clock will go slower, and one hyperprocessor will stop processing. The other seems to keep running for a while, at least until the whole machine freezes not long after. I had to disable hyperthreading and run non-SMP 2.6.12-1-686 kernel. Maybe someone could experiment and see if you can disable various bits of ACPI and get hyperthreading working, since Centos SMP seemed to work ...

So kernel 2.6.12 is stable on this sytem. We also have VMware Workstation 5 working which is a story in itself.

Hardware discovery

For 2.6 kernels you need discover1 (aka discover1), not the supposedly more recent discover (aka discover2). In fact discover1 is in regular maintenance, and is the bee's knees for a 2.6 kernel user. No messing around with loading modules - well, much less anyway - let discover sort it out! apt-get install discover1 discover1-data I will only note configs here for items discover didn't fully set up.

Promise PDC20264 RAID controller

Oh boy has this given me hassle and disk corruptions: see the tale of installation woes, up there somewhere. Corruptions outside the scope of the journal trashed my Reiser partitions. I've never seen reiserfsck generate a lost+found before, but it did it on this laptop :-(

Some late 2.4 kernels do work well apparently, even those with the patch that caused problems in 2.6.0-pre5 - I'll fill in the details when I find them again. But you won't get 2.6 goodies.

Promise say you can use Promise FastTrak 100 Tx2 PCI RAID card drivers for your mainboard PDC controller - but that they won't support mainboard controllers.

I've also made sure noflushd and laptop-mode-tools have been purged so that no disk writes are suppressed.


XFree86 4.1 on Red Hat 7.3 under Vmware - recognised the full keyboard including Fn modifiers. I have KDE 3.4.1 desktop on this environment thanks to the good folks at kde-rpm, but it's a bit inefficient (i.e. soaks up 100% CPU) due to VMware getting its share of every interrupt KDE receives.

XFree86 4.3 on Debian Sarge - made KDE think the numlock key was always on 6.8.2, both native Debian Etch/Sid and as backported to Sarge by Norbert Tretkowski, works perfectly. For Sarge (I used a hybrid system before I went fully Etch), add to sources.list: deb sarge main

I have not yet found the way to use both laptop screen and VGA under as either MergeFB or Xinerama, all attempts have failed. Most recently I managed to repeatedly hang the machine loading X by using the closed source drivers.

Video card

ATI Technologies Inc RV350 [Mobility Radeon 9600 M10].

Detected as standard ati by both XFree86 and, X11 radeon driver works too. The screen can be driven in 1440x900 just by putting that as the largest desktop size on each Mode in the Screen section. Settings and modelines are below in case you have a distro that needs them: HorizSync 31.5-100.0 VertRefresh 59.0-75.0 # *Mode "1440x900": 96.2 MHz (scaled from 0.0 MHz), 54.7 kHz, 59.9 Hz Modeline "1440x900" 96.21 1440 1504 1536 1760 900 903 906 912 ATI's proprietary driver (currently at version 8.16.20 and supporting kernel 2.6.12) gives extra features such as 3D acceleration. This is the one I managed to lock the machine with. The Open Source R300 driver project on sourceforge says that it "works well, no lockups" on the Radeon 9600 M10 and they are adding 3D support, but I've not tried them yet. 2D with the standard X11 drivers does me fine.


This is an Alps GlidePoint. There's a GPL X11 GlidePoint driver by Peter Ă–sterlund which suits both XFree86 and Debian has packages for both.

Kernels 2.6.11 and greater include support for the ALPS GlidePoint as fitted to the laptop using the Synaptics driver. The Gentoo Wiki has an article on how to configure X for your GlidePoint.

All very good in theory. But neither synclient nor ksynaptics actually changes the device's response, nor can the driver sense touches from it, even though they can all see the pad ! As long as X11 uses the mouse, touchpad signals appear there instead. If I set X11 to use the touchpad only, the touchpad signals go nowhere. I suspect that opening the mouse either via the kernel module or via gpm "grabs" the touchpad in some way: note this kernel message early in the boot which shows them both using the same device: alps.c: Enabling hardware tapping input: PS/2 Mouse on isa0060/serio4 input: AlpsPS/2 ALPS GlidePoint on isa0060/serio4 This touchpad trouble shooting guide reckons that you can't have mouse and touchpad independently unless you have an i8042 keyboard controller that does multiplexing (i.e, not a totally ancient one). This laptop does ! i8042.c: Detected active multiplexing controller, rev 1.1. But maybe it has a similar problem ? Something for you to work on if you want clever tap-and-dragging on your own pad ... myself I just use it as a plain PS/2 mouse. I haven't got the middle button to do scrolling yet either, only plain clicking.

STOP PRESS - Following a reinstall whch doesn't have gpm included, the touchpad now seems separately recognised !

Wired Lan

The inbuild Realtek RTL-8169 Gigabit Ethernet is detected by discover and works well using the natural r8169 module.

Wireless Lan

The Debian modules for the inbuilt Ralink RT2500 wireless NIC will load and detect it, however I haven't as yet got wpasupplicant to talk to my house AP. In any case, using it under Windows, I found this NIC to be of astonishingly short range.

So I fitted a 3Com 3CRUSB10075 which I had and which has a slightly better range. I've not yet built the native Linux drives for 2.6.12, but didn't have luck with them on 2.6.8. And ndiswrapper sadly won't load the Windows drivers, neither from CD nor the later 3Com site.

So I don't currently have wireless connectivity under Linux.

Bison Cam

According to lsusb this is: ID 0402:5603 ALi Corp. USB 2.0 Q-tec Webcam 300 an Acer Labs M5603C. It presents as a permanently connected USB device. Drivers are supposedly under development - but are not released and development is stalled.

Power Saving

The machine works well with these modules: cpufreq_powersave cpufreq_userspace processor speedstep_lib p4_clockmod ac battery button fan processor thermal Cpufreqd, cpudynd, cpufrequtils and klaptop can all control it. I got cpufreqd to run the CPU at 420 MHz when I'm not doing anything - when I do, it zooms up to 2100 or the max of 3400 as required! With some heavy tweaking of /etc/cpufreq.conf, I can listen (using headphones, not the crappy built-in speakers) to crystal clear 192kbit internet radio whilst running the CPU-hog VMware, all at approx 2/3 power, 2400 MHz. And when idling down at 420 MHz, the fan runs much quieter.

I haven't found a way to stop the fan noise entirely though, which Windows can do in battery mode when idle. If I did, it would probably overheat. This thread discusses D870P heat and fan testing. I have to say mine is nowhere near as bad as one of the ones discussed there, but it's still too hot to use on my lap, and too noisy to use whilst my wife's watching telly :-(

What I haven't tried yet


Desktop with Vmware

1440/900 KDE 3.4 desktop, with Vmware

lspci output lsusb output
dmesg output lsmod output

Home Page | D870P | Linux On Laptops Last updated 7th December 2005: Promise kernel 2.6 problems noted.