Linux On Laptops Valid HTML 4.0 Transitional

Experiences With a
Dell Inspiron 6400

James F. Carter <jimc@math.ucla.edu>, 2007-05-27

Summary: Almost everything on the machine works under Linux, and I like this machine.

Introduction

A common question is, if I buy this machine is Linux going to work on it? Yes, of course! But with Linux the question is a little more subtle than with the (currently) market-leading operating system, for which, if the vendor (Dell) does a standard installation with limited tweaks for their special hardware and with limited third-party software added, then you can expect the machine to give you a market-leading experience out of the box (including virus infection unless you immediately patch it from behind an effective firewall). The Linux experience tends to not be so slick.

In Linux or any other operating system, the user's experience depends on quite a number of factors, many of which are the user's responsibility:

My New Machine

This is a Dell Inspiron 6400 with the ATI Radeon X1400 graphics chip. It is available on the Small Business section of Dell's website. It is almost the same as the Inspiron E1505 which is on the Home and Home Office section.

I am using the OpenSuSE 10.2 distro, with kernel 2.6.18. In addition, I am using a somewhat uncommon Desktop Environment: neither KDE nor Gnome, with a lot of infrastructure provided by Yours Truly. Thus the question always will come up: if the user puts Debian Etch and KDE on the machine, with a custom compilation of kernel 2.6.21, will items I found troublesome magically start working? Or vice versa with some other distro? But that will have to be answered elsewhere than this page.

The following table summarizes the status of the features on the Inspiron 6400, and rates how much work it took to get them functioning, both in Linux and in Microsoft Windows XP, which was installed at the factory. The descriptions include cross-references to more detailed sections in this file, which has these additional sections:

Legend

Box Worked out of the box, i.e. after a clean installation.
Conf It needed editing a configuration file or running a setup GUI.
Add-On Needed additional or patched software: download it; follow instructions to compile and install it; it works.
Fiddle As with Add-On, but it required some workarounds in the procedure, which might seem minor to an experienced user but which might prevent a newbie from making it work.
Hack So you call yourself a guru? This one will challenge your skills. But this guru eventually got it working.
Fail I wasn't able to get this one to work, at least so far.
N.T. Not tested.
* A prerequisite did not qualify for the Box or Conf rating, but once that was set up, the listed component worked with no further hassle.
% On Linux I didn't catch a version skew in the configuration for resmgr until after quite a bit of testing was done. This daemon gives the console user permission to use various devices, which therefore failed to work out of the box. Items marked '%' would have worked out of the box if it weren't for that error, which is my responsibility and should not reflect on either the distro or the hardware.

Checklist of Features

Item Linux WinXP
Does it boot at all? Box Box
 On Linux the installer boots right away. (On the Dell Optiplex GX-745 it has a 30 sec timeout on each of 3 unused SATA channels, hiss, boo.)
Operating system installation Box Box
 Windows XP was preinstalled at the factory. Here are some notes on installing SuSE 10.2.
Processor: Intel Core 2 Duo T5600 Conroe, 1.83 GHz Box Box
 Several CPUs are offered and this one seemed to me to give the best balance of performance and price. On Linux (and likely also on Windows) both cores are used: on my wastetime benchmark, which mainly tests integer arithmetic (making checksums), one or two instances do 3.07 work units/sec each, not interfering with each other, where a Pentium-III Coppermine at 1.0 GHz would do 1.0 WU/sec, one instance only.
Memory: 2 DIMMs, 512Mb each, 533MHz Box Box
 I never did get Windows to tell me how much memory it was using. BIOS setup (and /proc/meminfo and memtest86) confirmed that 1Gb was installed. Memory tester said the speed of the memory was 667MHz (matching FSB speed; I didn't pay extra for this; is it really just reporting the FSB speed, or did Dell have an uncharacteristic spasm of generosity?) The motherboard has 2 memory slots, both occupied, with dual channel access.
Video: ATI Radeon X1400 128Mb Fiddle Box
 Spec page in the manual says video RAM is 128Mb; Windows device manager and Linux fglrx driver confirm this. But Dell's order form said 256Mb, hiss, boo! The Linux installer installs the VESA framebuffer driver by default, which works out of the box within its limitations. For accelerated graphics you need to either install the xorg-x11-driver-video package for the generic radeon driver, or to get all the features you need to compile and install the fglrx proprietary driver (details here). There were definitely details that needed to be fiddled with.

Here is jimc's complete xorg.conf file, warts and all. Particularly, the parameters for the touchpad are not in an exemplary state.

Offerings vary, and at one time an nVidia chip was offered. In web postings some people say they prefer it. However, if you have 3D graphics turned on the driver cannot wake it after suspend-to-RAM or to disc; you end up with a black screen, and none of the usual maneuvers will bring it back. Apparently this bug has been present for a long time. Since suspending is important to me, I did not consider the nVidia graphics.

OpenGL direct rendering Box* Box
 Frame rate was 212 frames/sec on my favorite mesademo/fire benchmark, using 100% of one CPU and up to 14% of the other. Compare 158 fr/sec for a Radeon X300 and 1.6GHz Pentium-M in the old Inspiron 6000d. 1541 fr/sec on glxgears (not as demanding). "Box*" means that I had OpenGL (DRI) running on my old machine, and once I had the video driver installed I could copy the DRI-related sections from the old to the new /etc/X11/xorg.conf file and they worked without changes. This is with ATI's proprietary fglrx driver.

On Windows XP it's hard to tell, without installing a 3D game, whether 3D graphics is working. (On Vista you would look for the Glass window manager theme.) However I'm sure that it would have worked if properly tested, so I'm giving it an out-of-box rating.

Screen: 1680x1050px Box* Box
 I think this screen has excellent color rendition, and the viewing angle is rated at ±65º horizontally and similar vertically, and I'd say that rating is conservative. The screen can be ordered with a matte or gloss surface; my old machine had matte while this one has gloss. I'm not sure which one I like better. You can see things reflected in the gloss screen, particularly outdoors (in shade under trees), which can be distracting, whereas with the matte screen the reflection takes the form of haze over the screen, which is also annoying.

In direct sunlight the screen is readable, but just barely. I don't know of any self-luminous screen that is satisfactory in direct sunlight. Reflective screens are at their best in sunlight, but lack color. Unfortunately you can't have everything. (Yet.)

During installation and in the default X-Windows configuration, Linux used the default 800x600px screen resolution. The installer could have done 1400x1050px (wrong aspect ratio), but not the correct 1680x1050px. This was straightened out together with the video driver. It would have been more pleasant to pick 1400x1050px on the installer's boot screen.

SynPS/2 Synaptics TouchPad Box Box
 At first I copied my pad parameters in /etc/X11/xorg.conf from the old machine, which had an Alps Glidepoint pad, but these parameters rendered the touchpad completely inoperative. When I substituted a completely default mouse stanza (details here), which is what SuSE setup would have done if I hadn't overwritten the default xorg.conf, the pad worked with nearly all the features I wanted, so I'm scoring this one as Box. Since then I've been tweaking parameters, but I still haven't gotten it in perfect shape.
Keyboard: 87 keys Box Box
 The same keyboard is used as on other Dell Inspirons and Latitudes. I think the keys feel good. As you press them down there is negative resistance, that is, at a certain point they drop all the way down, like on a real keyboard, compared to some keys' pure springy feel, or worse, membrane keyboards where you need to give it a good poke at the bottom of the stroke. The keys are standard size except the function keys are half height. For European layouts there is space for two additional keys. Special functions, such as wireless kill and brightness adjust, plus a simulated numeric keypad, are reached by a Fn shift key.
Disc: 80Gb SATA 5400rpm, Samsung HM080HI (disc specs here) Box Box
 As delivered, the C: partition had 4.9Gb used for Windows and 64.5Gb free; the extended area (4.9Gb total) held restore and Direct Media partitions. I reformatted it, preserving the Dell diagnosics (0.055 Gb). The detailed partition list is here..

Under Linux, the speed of reading the disc was 8.61e7 byte/sec. See the complete comparison here.

Optical disc: 24x CD-RW/DVD-RO, TSST Corp. TSL462D
Read double layer data DVD Box% N.T.
Play entertainment DVD Add-On Conf
 
In Windows it wanted me to confirm setting the region, but after that Windows Media Player actually played the DVD (unlike Dell/Windows Media Center which gave me so much trouble).

In Linux licensing issues for the codec are murky at best. In theory you just install the libdvdcss library, select player software appropriate for your Desktop Environment, and it works; hence I've marked this Add-On. However I have not personally done this on any of my machines, and so N.T. would be a more honest rating.

Play music CD Box Box
 
Works in both systems, including auto-play upon insertion. On Linux I configured gnome-volume-manager on my old machine, and I copied the configuration file to the new one. The default configuration uses a player that I don't install, so Conf would probably be a more honest rating.
Read data CD Box% Box
Write data CD Conf% Box
 
k3b got an error: /usr/bin/cdrecord cannot lock memory, can't open /dev/sg0 etc. etc. Does /usr/bin/wodim (replaces cdrecord) need to be setUID? With this set, it can burn. Optimum write speed was 4x, empirically 6.2e5 byte/sec.
Read CD that was burned Box% Box
 
On Linux, there were no errors in a bit-by-bit comparison of the original data with what was burned (220 Mb). File handling tools are not as well developed on Windows, but comparison of the larger individual files revealed no errors.
Wired Ethernet: Broadcom 440x, 10/100baseT Conf Conf
Wireless (802.11 family): Intel 3945ABG Hack Conf
 Should have been Add-On because the ipw3945 driver is not (yet) mainline in the 2.6.18 kernel and must be downloaded from Intel's site. However, it requires a userspace non-open-source daemon (ipw3945d) to enforce regulatory policy, and the provided instructions were ineffective in getting it to start during coldplug. The cure was to create a new boot script that separately starts this daemon. This is a gross kludge.

For Linux use, don't order either the 802.11ab card (Dell 1390, really Broadcom 18xx) or the 802.11n (Intel 4965AGN) card until you've seen reports on the web that other people have gotten them working natively under Linux. The 18xx has no kernel support at all in 2.6.18, and will require the ndiswrapper middleware for the Windows driver, which cannot handle suspend-to-RAM or disc, which is important for me. The Intel 4965AGN has a Linux driver but it is kind of at an alpha level, not for use except by developers and testers.

Bluetooth: Dell 355, supports v2.0 Hack Conf
 

On WinXP, the Bluetooth drivers are on the machine but not actually installed. When you click on the Bluetooth icon for the first time, it has to go through quite a long automated process to install them.

Linux: The internal NIC (Dell 355, Broadcom BCM2045 chipset) is recognized, drivers loaded, and daemons started (using config imported from the old machine). But it only looks like it's working. With some serious hacking, Bluetooth was brought to life.

Wireless keyboard (Bluetooth HID) Conf* Conf
 Linux: With the correct incantations, documented only in mysterious forums, it can be paired, encrypted, and connected, and data typed at the keyboard has its proper effect.
Wireless headphones (Bluetooth A2DP) Hack* Fail
 On WinXP, evidently the hardware was paired, and I convinced Windows Media Player to use other than the internal speaker and/or wired phones, but I couldn't hear anything on the Bluetooth phones. I've made this work on Vista, sort of, but I didn't put much time into figuring out the right magic incantation for WinXP since I'm going to wipe this installation in a few hours anyway.

On Linux the a2dpd daemon for the stereo sound profile (A2DP) is not part of the standard bluez-utils package (as of version 3.7) and has to be obtained from CVS. Follow these instructions to download. There's been an upgrade in libdbus-1 and I had to recompile my copy of a2dpd. Also the procedure for pairing devices has changed in this release. Once that was figured out (Hack described here) and configured, it worked right off.

However, I'm disappointed by the results. First, the SBC codec produces sound quality that is quite noticeably worse than the same headphones (Motorola HT820) connected by the provided wire. Second, there are some timing issues, and while a simple setup (feeding ogg123 into aplay) usually delivers unbroken sound, the xmms player has trouble to connect directly to the ALSA device, and if you use a sound proxy (esd or pulseaudio) then sometimes, but not always, you get gaps at 15 to 20 Hz. The developers are working on it . . .

Modem: Conexant, PCI ID 14f1:2bfa, subsystem 14f1:00c3 Add-On N.T.
 I have not actually installed the Linuxant driver for this modem, but on my old machine (with an AC97-type Conexant softmodem) the same driver installed with no hassle, so here I'm giving it an honorary Add-On rating. See this link for more details about the modem, plus a link to get the driver from Dell for free (this one gets a rating of Fiddle).
Sound: Sigma Tel STAC9200 Box% Box
 As with all ALSA devices, the card is muted initially. You need to preset the mixer with muting off; SuSE takes care of this.
Internal speaker Box Box
 
An audiophile would not consider a laptop's internal speakers to be functioning and would use wired headphones instead. However, compared with other laptops' speakers these aren't too bad.
Wired headphones Add-On Box
 
On the Inspiron 6000 when you plug in the wired headphones it gates the audio (by a physical switch?) to them. With the Inspiron 6400 this does not happen, and the mixer controls are very limited. Various web postings suggest that the Intel High Definition Audio Controller can be arranged various ways on different motherboards, and I need a version that knows about Dell's arrangement. I downloaded the latest ALSA driver set (currently 1.0.14) from ftp://ftp.alsa-project.org/pub/driver and compiled it. snd_hda_intel.ko from that set brought the headphones to life. The driver update directory is described here.
Microphone N.T. N.T.
Random number generator Fail N.T.
 The ICH7M chipset does not have one, hiss, boo.
Memory card slot Box% N.T.
 Physically supported formats: SD/SDIO, MMC, Memory Stick, MS PRO, xD. Does not take CF. My test was on a xD card.
PCMCIA expansion cards N.T. N.T.
  The machine takes Express Cards. These are not your old-fashioned PCMCIA cards; the connector is over on the side so it looks like a CF (Compact Flash) card on steroids. There is one slot which can take either 34mm or 54mm width cards. Since I only have one old-style PCMCIA card I could not test this card slot.
USB hotplug: Flash memory Box% Box
USB hotplug: External mouse Box N.T.
 "Box" means that xorg.conf copied from the old machine was already set up to look for an external USB mouse, and when one was provided, it was used. The xorg.conf stanza for the mouse is here.
USB hotplug: Joystick N.T. Box
USB hotplug: External hard disc Box N.T.
 Speed 1.40e8 byte/sec vs. 4.80e8 byte/sec theoretical maximum. See the complete comparison here.
Firewire: External hard disc Box N.T.
 Speed 1.70e8 byte/sec vs. 4.00e8 byte/sec theoretical maximum. See the complete comparison here.
Battery (85Whr) Box Box
 Windows claims 6hr 12min battery life, ROTFL. On Linux, in an informal test in daylight (brightness at max) but otherwise just editing text, it looks like it's going to give me about 2hr 45min. Remember that LiIon batteries lose capacity as the months pass; the rate depends on manufacturing details.

See my detailed measurements of power used.

CPU speed modulation Box N.T.
 The CPU runs at full speed under load, but slower, and with reduced voltage, hence reduced heat and battery drain, when the load is under 100%. The low speed is 1.0 GHz. When either processor is doing nothing it halts and uses very low power; comparing one versus two benchmark instances, the total power differs by 9 watts. Linux uses the speedstep_centrino and cpufreq_ondemand drivers. The latter adjusts the speed within the kernel; a userspace daemon is not required.
Suspend to RAM Box Box
 On Linux it takes about 10 secs to suspend, seems like 2 secs to resume (not counting typing in my password). Some of that 10 secs was my special security stuff; I estimate 4 secs without it. This is almost, but not quite, as fast as a MacBook. I've been using suspend to RAM fairly frequently for the last two weeks and it's always worked, except once when I did some rather funky stuff with User Mode Linux (involving crashing), it got stuck while suspending.
Suspend to disc Box Box
 It takes about 40 secs to suspend and 45 secs to resume (counting grub). I've used the feature only a few times, but reliability issues are similar to suspending to RAM although a bit less demanding. The advantage of suspending to disc is that no power is used and you can even remove the battery. The disadvantage is that it takes longer than suspending to RAM. If your battery is very low you might not survive for the needed 40 seconds -- but you won't get much time in suspend-to-RAM state either.
Wireless: Kill switch works? Box Box
 Both 802.11 and Bluetooth respond to it. It appears to cause the USB bus to be rescanned, hiss, boo!
ACPI BIOS Box N.T.
 Using the standard interface in /proc you can find out the AC vs. battery status, battery current and charge level, and CPU temperature. You can't read out the graphics temperature, nor can you detect or control fan activity, nor adjust the thermal trip points. (Same as Inspiron 6000.)

The experiences of other Inspiron 6400 owners, and other types of laptops, can be found through links on Kenneth Harker's page, http://www.linux-laptop.net/ (now redirected to http://www.linux-on-laptops.com/ sponsored by LinuxCertified Inc.)