A recent development in Linux graphics technology has been the release of the Nouveau driver: a completely Open Source, 3D driver for NVIDIA graphics cards. It is meant to replace the proprietary drivers provided by NVIDIA with something that provides all of the source code with an OSI-approved license.
This is all fine and good, but there's a bit of a problem with the way the new driver is being used. Even though Nouveau is relatively new and hardware/feature support is still developing, several major distributions have decided to include the driver in their new releases. What's more, the driver has been made default for NVIDIA cards.
This might not be a big deal if Nouveau would at least gracefully degrade to the default Linux VESA driver if it encounters a problem. Unfortunately, this doesn't always seem to be the case. When trying to install the latest version of Linux Mint on one of my machines this weekend, I ran into this exact issue. The live CD booted fine and the installation took place without an issue. However, when I rebooted after the installation, it would get just passed the GRUB screen and then the screen would go blank. Not just a black screen, but the monitor would go into standby since it no longer had a source.
This is pretty disheartening, as this machine (with a Geforce 9400) has been running various forms of Linux for years without any issue. Plus, Linux Mint is hands down my favorite distro due, in part, to its ease of installation.
Thinking it was an issue with the install (I knew the disk was okay since I used it on my wife's laptop the day before), I tried a fresh install, with the same effect. I then tried the Linux Mint Debian Edition, same thing. Getting pretty frustrated, I decided to try the latest RC of Fusion Linux, a distro I haven't tried before but am interested in. This, of course, led to the same effect, since Fusion is based on Fedora, which is one of the distro really pushing the adoption of Nouveau.
After digging around a bit and trying a couple different things, I fixed the problem by disabling Nouvea on boot, letting it fall back to the default VESA driver, then installing the proprietary driver. If you're running an Ubuntu-based distro, here's how:
- When the computer boots and you're in the grub screen, pressed 'e' (make sure the correct operating system is selected)
- This will display the boot options. Add "nouveau.modeset=0" to the end of the line containing "quiet splash". This will disable the Nouveau driver for a single boot.
- Hit Ctrl-X to boot the machine with the new settings.
- Your OS should boot using the VESA driver, meaning the display resolution will be pretty poor. That's okay, Ubuntu will notify you that there are proprietary drivers to install.
- Install the proprietary NVIDIA drivers and reboot. You should now have a fully-functioning installation.
I happen to be using a Geforce 9400. It's a couple years old, but still quite relevant and useful. Based on my time sifting through the internet looking for possible solutions, I believe that other older-model NVIDIA cards could also be affected.
While I appreciate the effort of the Nouveau developers to give us an Open Source alternative to NVIDIA's closed source drivers, making the installation useless due to unsupported hardware is less than acceptable, especially for those of us who have no moral qualms with using proprietary video divers. I don't know if it's the Nouveau team to blame for poor degradation, or the distros to blame for applying the new driver indiscriminately to all NVIDIA cards, but it's an unfortunate situation.