Background to Buying a Linux System
My family switched to all-Linux in 2002. Mid-2004 was the last time I purchased
a Windows license for personal use; though I have a copy of XP that I still
occasionally load in a VM. 2004 was the year I bought an HP laptop that came
with Windows, and I put Linux on it during its first boot. Since then I have
purchased a Lenovo Thinkpad and four Dells with Linux pre-installed. It is
infuriatingly difficult to avoid the Microsoft Tax, but it is possible. A lot of
vendors offer FreeDOS systems these days. More important than not paying
Microsoft (and more difficult) is finding a machine with Linux pre-installed.
This is not as difficult as it was. Not long ago, the only way to obtain a
machine pre-installed with Linux was to purchase from a reseller like Emperor
Linux. These resellers don’t have the resources
of the manufacturer, and they likely paid the Microsoft Tax for you before they
put Linux on the device. However, options are gradually improving. The
manufacturers have experimented with Linux systems and HP, Lenovo, and Dell all
sold consumer equipment pre-installed with Linux in the recent past. (I hear
Sony does too, but I refuse to buy Sony products given their history of
proprietary technologies, root kits, etc.) Unfortunately, all these
manufacturers stopped selling the systems after a short time. After a couple of
failed experiments, Dell seems to have figured things out and turned into a
reliable Linux distributor with a decent selection of systems. Here is the
secret to buying a Linux system from Dell: many of the best Linux configurations
are only available when using the “Small and Medium Business” section of their
site; the open source offerings page does not list all of their Linux offerings.
The rest of this blog post details the other sad secret: Linux systems from Dell
don’t necessarily play nicely with Linux.
Before we proceed, I should point out three reasons why it is worth putting
in the effort to get a system with Linux pre-installed:
- Since the manufacturer is willing to support Linux running on the hardware, it
is reasonable to expect that it should be easier to configure with Linux than
other equipment.
- Being officially counted as a Linux user sends a direct message to the
market that manufacturers should support Linux.
- Buying a machine with Linux pre-installed confers moral superiority.
Okay, so the second and third reasons are probably imaginary. I am sorry to
report that the first reason is largely a fiction as well. It would be more
accurate to say: since the manufacturer is willing to support Linux running on
the hardware, I know that someone, somewhere got Linux to at least sort-of run.
Notice that saving money is not on the list. I am not sure what back-room deals
make it as expensive to buy a machine installed with Redmond’s proprietary OS as
it is to purchase a freely available OS like FreeDOS or Linux, but that is how
Dell’s pricing model currently works. In other words, at the current time paying
the Windows Tax, and then putting Linux on yourself is just as economical a
decision as purchasing Linux pre-installed. This is good for Emperor Linux.
Buying a Dell
Dell has been shipping systems pre-installed with Ubuntu for over two years now.
The ten minutes I spent playing with the stock OS were impressive. However, I
choose to reinstall with the latest stock Kubuntu release for a few reasons:
- I am a control freak and want to know exactly what is on the system.
- I am a KDE fan, and Dell ships Gnome by default.
- The Dell releases are pretty old (they are still shipping 8.04).
- I don’t see much value in having an officially licensed DVD and MP3 player,
though others might.
I bought an Inspiron 530 with Ubuntu over eighteen months ago. It took stock
Kubuntu flawlessly and has run great the entire time. It has been the perfect
Linux desktop for my kids’ machine. I highly recommend this product.
I have purchased two Inspiron Mini 10v netbooks with Ubuntu since last
September. I really like these machines. They took stock Kubuntu okay—you have
to install a binary blob for the wireless card (you can get the details in the
Mini 10 section below), but everything else worked out-of-the-box. They are
reliable machines, though I hated the touchpad for a long time. After three
months I am starting to get used to it. These machines are so great that I can’t
seem to keep them—family members keep buying them from me and then I have to
order myself another.
I was so happy with my previous experiences that I decided to buy the
top-of-the-line Linux netbook: the Inspiron Mini 10. This model must be
purchased through the “Small and Medium Business” website. It has a much nicer
screen, a multi-touch touchpad, faster processor, and more memory. However,
getting stock Kubuntu to work on it was not as easy as I expected. Here are the details.
Kubuntu on a Dell Inspiron Mini 10
Proprietary drivers: bringing the pains of Windows to Linux!
Though I don’t know the exact reason Dell ships their Linux netbooks with a lot
of binary-only proprietary drivers, I suspect that it has to do with their
desire to pack in as much power per battery mWh as possible. The Mini 10 series
does have impressive battery life—I am constantly surprised at how long I can
go without plugging in (I plug it in most nights and haven’t run out of juice
yet). I guess that Dell feels like the only way to achieve that is to use the
Intel Poulsbo Chipset that requires a proprietary graphics driver. I suspect
similar logic is behind the awful Broadcom wireless card as well.
Broadcom wireless driver
These Dell netbooks are not very useful until you get wireless networking
setup. I had to install using a wired connection for both the Mini 10 and the
Mini 10v. It is then necessary to setup the binary Broadcom driver. My
understanding is that the new Jocky hardware tool will take care of this once
all the correct packages are pulled down, but I am more comfortable with the
command line.
aptitude install dkms patch bcmwl-kernel-source b43-fwcutter
That command is all it takes, but I’ll offer a little bit of explanation:
- dkms: This is the Dynamic Kernel Module Support framework. It is a really nice
way of making sure that picky kernel modules are always correctly built against
the currently running kernel. Not only does this make binary drivers easier to
manage, it also solved my constant problems with updates breaking VirtualBox (on
my development box—I would not recommend running VirtualBox on these netbooks).
- patch: This is required for the script to edit the bcmwl package before
compilation. It should really be a dependency. It took me a while to realize the
error I was getting was due to patch not being installed.
- bcmwl-kernel-source: This is the proprietary driver for Broadcom wireless cards.
- b43-fwcutter: This is a tool to install the binary blob into the Broadcom 43XX
firmware. I’m not certain that it is necessary. I installed this before I
realized that the DKMS driver was failing to build because of the missing patch
dependency. I suspect that I would have eventually had problems if I hadn’t
installed this tool.
As part of the install, dpkg correctly compiled the kernel module, inserted the
binary blob, and got everything setup. KNetworkManager appeared to see the
wireless at that point, but KNetworkManager hates my WPA2 setup, so I always use
wicd. Don’t forget to manually tell wicd that eth1 is the wireless interface, or
wicd will report that no networks are found even though iwconfig will work and
wlist scan will show networks.
Sound
Remember to turn up the volume of the PCM channel.
Multi-touch touchpad
Works great:
- 1 finger tap: left click
- 2 finger tap: middle click
- 3 finger tap: right click
- place 1 finger, drag one finger: scroll (vertical only)
I don’t currently have horizontal scroll or pinch zoom working.
Video
The biggest let down with the Dell Mini 10 is the Intel Poulsbo chipset. The
larger resolution of the 10 is the most appealing feature to justify the upgrade
from the 10v. Unfortunately, Intel didn’t open source the driver like they have
with their other GPUs because the Poulsbo is based on third party technologies.
If you think the Intel name will guarantee good Linux support, you are mistaken.
Ars Technica has a good rundown on the
problem.
The summary is that the binary driver is only supported by Dell on the versions
of Ubuntu that they are shipping. Getting packages for other versions and
distributions is challenging and not very reliable. However, I was able to get
the driver to work on Kubuntu Karmic Koala (9.10).
Here are the basic steps, distilled from a Launchpad Bug
Report:
Add this PPA to ”/etc/apt/sources.list”:
deb http://ppa.launchpad.net/lucazade/gma500/ubuntu/ karmic main
deb-src http://ppa.launchpad.net/lucazade/gma500/ubuntu/ karmic main
Get this missing package: wget xorg-video-psb.deb. Install it with dpkg -i.
Run this command:
aptitude update; aptitude install psb-kernel-headers psb-kernel-source psb-modules psb-firmware libdrm-poulsbo1 poulsbo-driver-2d poulsbo-driver-3d xpsb-glx
Create this file: “/etc/X11/xorg.conf” with these contents:
Section "Device"
Identifier "Configured Video Device"
Option "IgnoreACPI"
Option "AccelMethod" "exa"
Option "MigrationHeuristic" "greedy"
Option "NoDDC"
Driver "psb"
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Monitor"
Identifier "Configured Monitor"
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
EndSection
#Added for mouse pad
Section "InputDevice"
Identifier "Mouse0"
Driver "synaptics"
Option "Protocol" "auto"
Option "Device" "/dev/input/mouse0"
Option "ZAxisMapping" "4 5 6 7"
Option "CorePointer"
Option "HorizEdgeScroll" "1"
EndSection
- Reboot
Once it all works, you are rewarded with a very nice display which makes the
netbook significantly more usable.
HDMI out
Video worked fine after enabling the external display with xrandr.
I couldn’t get audio working. Here is what I tried:
- Unmuted the IEC958 channel in alsa-mixer (and enabled it in KMix to be sure.
- Changed the device order in System Settings -> Multimedia.
Remaining problems
- Enabling desktop effects completely broke KDE. I had to revert to a backup.
- The driver cannot keep up with a full screen Hulu video, even when the video
was fully buffered and at a non-HD resolution.
- The panel that is the top menu for Kubuntu Netbook Remix cannot be resized. On
the high resolution screen the lock / logout buttons are very tiny and cannot
be configured to be any bigger.
- I am getting lots of these errors:
hda-intel: spurious response 0x0:0x0, last
cmd=0x . . . but I don’t see any negative effects.
Conclusion
I am undecided whether the Dell Mini 10 is worth the hassle. I really like the
multi-touch touchpad, the additional RAM, and the bigger memory. On the other
hand, the significantly cheaper Mini 10v just works. If Intel and Dell could get
the video driver problems ironed out, this netbook would be great.