2

I upgraded from Debian squeeze to wheezy. My box contains an old graphics card not supported by current Nvidia drivers for distros newer than lenny (NV5M64 [RIVA TNT2 Model 64/Model 64 Pro]), so in my /etc/X11/xorg.conf, I had Driver "nv" specified in squeeze (which didn't seem to work after the update to wheezy).

After reading the internets for a bit, I found that my card should be supported by the nouveau driver. Replacing Driver "nv" by Driver "nouveau" in my xorg.conf still didn't produce a useable X.

I read a bit more and made sure to remove any and all proprietary pieces of Nvidia stuff, including drm and whatnot. Just going with the non-free drivers, as suggested in many internet posts, was no option: Remember that Nvidia dropped the driver for my TNT2 card for everything newer than lenny. Anyhow, still no success.

The only way I got any type of X working was using the "vesa" driver, but only in a resolution lower than my LCD monitor's native 1280x1024.

zebonaut
  • 1,115
  • 3
  • 16
  • 31

1 Answers1

2

What solves the problem is enabling KMS (kernel modesetting). This post on the Debian lists showed me how to track down the problem:

Looks like Kernel Modesetting is disabled, either through a boot parameter or via a file in /etc/modprobe.d. Try reloading the nouveau kernel module:

# rmmod nouveau
# modprobe nouveau modeset=1
restart X

For some reason, grub was configured to disable modesetting (maybe to work around a graphics problem I had with an earlier debian version and respective driver – don't remember…). Adding a new menu entry without nomodesetting does the trick, even when doing a fresh boot.

The dirty hack is to remove the word nomodesetting from /boot/grub/grub.cfg. However, the first few lines in this file say:

# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub

This means that the dirty hack works only as long as upgrade-grub is not run, which happens each time you do apt-get upgrade when there's a new kernel version installed.

The permanent fix goes like this:

  1. Remove GRUB_CMDLINE_LINUX_DEFAULT="nomodesetting" from /etc/default/grub.

  2. Run # update-grub.

  3. Watch the progress: Generating grub.cfg ... done.

  4. Enjoy.

zebonaut
  • 1,115
  • 3
  • 16
  • 31