nvidia

Hardy Heron and the Dell Precision M4300

Summary: it just works.

In brief: the problems discussed here and here go away under the most recent Ubuntu release, Hardy Heron, which I can generally recommend.

Alsa seems stable and graphics support is present from installation onwards. Enabling fancier 3D compiz effects requires the nvidia-glx-new package; compiz spots this, however and prompts for installation. All very smooth. Wireless works; my VoIP headset works; but I haven't yet tested Bluetooth.

The only problem was in upgrading from Gutsy: my previous peregrinations had rendered my hybrid distribution shafted and incapable of upgrade. This isn't a problem, though, if one has installed the /home directory (and in my case the /music one too) on a separate partition: the Ubuntu Live CD will blat the root partition with Heron, but leave the other partitions alone if you so require. Don't resize any of your partitions during installation, though, or you'll lose everything. Everything!

The full sensory experience of Linux on a Dell M4300: sound, vision and tinfoil-hat microwaves

Gutsy Gibbon on a Dell: almost everything has been fixed (edit: see Hardy Heron for absolutely everything being fixed).

Now that Gutsy Gibbon is fairly mature, I’ve managed to upgrade my machine to it and am now running the 2.6.22-14-386 kernel. More importantly, with a minimum of fuss I now have video, wireless and sound!

Long-term readers of Graceful Exits might remember that the too-new hardware in my Dell Precision M4300 needed some rather nasty hacks just to get both display and wireless card working. One of those left me with a weird hybrid Gutsy/Feisty installation of Ubuntu, which worked for a while. I could get both video and wifi (by compiling both myself) as far as the 2.6.22-9 kernel, but no further. I needed to upgrade fully to Gutsy.

From hybrid to Gutsy Ubuntu

Upgrading from the hybrid version required me first to comment out the two Gutsy repositories I’d sneaked into my /etc/apt/sources.list. Then gksudo update-manager -c presented me with the necessary upgrade button. An hour or so later all the packages had been downloaded, but it took a whole day to have to keep going back and clicking on “OK to replace this configuration file” popups in between sleeping, showering and going to work. There must be a better way for Ubuntu to do that during mass package installations such as an upgrade.

What worked and what didn’t

When it comes to display drivers, Gutsy is very forgiving. My nVidia drivers didn’t work straight away, but the machine realised this and presented me with a low-res VESA mode, which in turn led to a low-graphics mode that was still more than adequate for the mean time. When Gnome finally finished starting, I noticed with joy that wireless works in Gutsy out of the box. I didn’t need to download the iwlwifi package and compile it. Lovely.

If I were going to nVidia, I wouldn’t start from here

Envy is an easy way to install the right nVidia drivers for your machine. However, if you’ve already tried to install the drivers using nVidia’s own packages (as I had, back when I had a hybrid system), you need to find and delete these files. modprobe -l nvidia will tell you where they are: run envy -t and uninstall everything, then delete whatever’s remaining in, oh, something like /lib/modules/2.6.22-14-386/kernel/drivers/video/nvidia.ko. Then reinstall the drivers with Envy. That should be enough.

Alsa is a known problem, to put it mildly

A comment on Ubuntu bug 131133 describes the Alsa codebase as “mercurial”. Apparently the snd_hda_intel support is fixed and broken on alternate releases, and Ubuntu High Command are doing all they can. In the interim there’s a workaround: method A worked just fine for me.

I’m terribly, terribly happy. K’s even happier, as now she’ll be able to prise me away from frequent driver recompilation messes.

Laptop and Linux: the fixes for a Dell Precision M4300

Getting a Dell Precision M4300 to work with a weird Feisty/Gutsy hybrid Ubuntu (edit: upgrading to Hardy Heron eventually fixed everything).

The Ubuntu Live CD worked straight away for the laptop: I was able to boot into a temporary copy of Linux using the VESA display drivers, and test sound, CD and other peripherals (obviously) and wired networking. However, optimising the system wasn’t so easy, and as I say Nick practically installed Ubuntu for me, fixing all that he could.

Below is a list of the main fixes and workarounds that Nick employed, for my reference as much as anything else.

Kernel

Gusty Gibbon kernel, headers etc. on a Feisty Fawn installation, mixed with apt-pinning; necessary to get the wireless to work.

Wireless

Bleeding-edge Intel wireless drivers were needed for the IPW 4965 chipset (they in turn need most recent kernel). Download the following:

  • mac80211 8.x driver
  • ipw4965 latest driver source
  • ipw4965 latest firmware

The 4695 is a firmware-less card, so you need a copy of the firmware in /lib/firmware/: it gets automagically flashed to the card on boot.

Then, the nastier bit,

  • install Gutsy kernel headers
  • patch kernel headers for mac80211
  • build ipw4965 module

Three lines, detailing so much pain. At least the kernel itself didn’t need recompiling.

Sound

Although ALSA is configured correctly, there’s some bug in the handling of this version of the 82801H chipset. I’m looking into it: there’s nothing more embarrassing than making your users choose between good networking and audio playback…!

Display

The most recent version of the linux-restricted-modules for Gutsy now makes this fix redundant, but initially we needed a bleeding-edge 100.14.09 version of the NVidia drivers to get the display working properly.

The hack to install that was originally accomplished by downloading a non-standard installer and crossing one’s fingers; it worked pretty well but the restricted modules kept trying to do their bit and had to be removed. If you’re sure you have a compatible, hacked-in NVidia module on your system but the restricted version keeps butting in, then sudo modprobe -r nvidia and then restarting X works: Xorg looks in the right place, whereas the kernel gets it wrong.

Edit (2.6.22-10): doesn’t seem to support 100.14.09, so back to the NVidia downloads again.

CDROM

There seems to be a recurring bug with the Linux kernel and SATA CDROM drives, frequently whacked but never fully squashed, that the Gutsy kernel has fallen prey to: my CD drive was not at /dev/scd0 by default. Running sudo lshw produced no details under “*-cdrom” There are a lot of solutions out there, but the one that seemed to work for me was to load the ide_cd module using modprobe.

This does seem to have put my CDROM at /dev/hda, which took a bit of finding, but at least as soon as I ran modprobe Sound Juicer spotted the audio CD in the drive. I’ve not yet tested CD writing, nor DVD writing, so I don’t know yet whether or not I actually need ide_scsi instead; Nick assures me that as most devices support ATAPI these days then the SCSI support shouldn’t be necessary.

Bluetooth

The Precision seems to have an internal USB bluetooth dongle! hcitool finds it with no trouble. I’ve not used it yet and might need to add hci_usb to /etc/modules.

Firewire/1394

As I don’t have any Firewire devices, I still have to have a poke around for this; might need the firewire host controller driver, or sbp2 (SCSI over firewire). Watch this space.

Subscribe to RSS - nvidia