Solving Display Problems With Some NVIDIA Chipsets After Installing Slackware 13.37 or Salix OS 13.37

By Caitlyn Martin
April 5, 2012

SalixLive-Screenshot-garbled.jpg
Slackware 13.37 and Salix OS 13.37, like most current Linux distributions, use the Open Source nouveau driver by default if an NVIDIA graphics chipset is detected. Nouveau works well with most NVIDIA graphics cards and chipsets but by no means all of them. In some cases the hardware detection works as it should but misconfigures X.org. In other cases, particularly older, legacy chipsets and very new chipsets, the hardware simply is unsupported. The net result, in either case, is that while installation completes normally at first boot into the GUI you get an absolutely unreadable screen which may look something like the image on the right. Fortunately, it's fairly easy for someone who is comfortable on the command line to correct the problem.

If you have an unsupported chipset you have a choice of falling back to the older, somewhat limited Open Source nv driver or installing the proprietary driver from the NVIDIA website. I find it easiest to get nv working first in either case.

To change the default driver press CTRL-ALT-F1 together to bring up a virtual terminal. Login as root. If you're running Slackware you will need to download one package from the repository into your /root directory:

xf86-video-nouveau-blacklist-noarch-1.txz

Then remove the existing driver:

removepkg xf86-video-nouveau

and install the blacklisting package:

installpkg xf86-video-nouveau-blacklist-1.txz

if you restart X or reboot Slackware will fall back to the nv driver and you will be presented with a nice, normal login screen.

The procedure is a little different for Salix OS, which uses Slackware Apt for package management. (Slackware Apt is not included in the official Slackware distribution.) First retrieve an updated package list for both the Slackware and Salix OS repositories with the command:

slapt-get --update

Remove the nouveau driver:

slapt-get --remove xf86-video-nouveau

Download and install the blacklisting package from the Slackware repository and enable nv:

slapt-get --install xf86-video-nouveau-blacklist

One additional step is needed on Salix OS that is not needed on vanilla Slackware. Salix OS offers automated updates. The updater assumes that the blacklist package is an outdated version of nouveau and will cheerfully offer to replace it with the latest and greatest driver which you can't use. Avoid this problem by editing the /etc/slapt-get/slapt-getrc file to add ^xf86-video-nouveau to the EXCLUDE= statement in that file.

For those who have an NVIDIA chip which isn't supported by nouveau and want full 3D accelerated functionality a trip to the NVIDIA website to download the proprietary driver is a necessity. Slackbuilds.org does offer a handy, dandy scripts to build the two needed packages but they are written for an older version of the driver. I modified them to reference the current version so I had the proprietary NVIDIA driver managed by the Slackware apt package management system. It's just a matter of replacing the old version number with the new number in the script.

I originally thought the NVIDIA GeForce 6150SE chip in my desktop, commonly used for onboard graphics on low end motherboards as well as on older systems, was unsupported. However, when I reviewed Salix OS 13.37 for DistroWatch Weekly last September a reader calling him or herself eco2geek corrected me: it is indeed simply misconfigured.

To correct the configuration press CTRL-ALT-F1 together to bring up a virtual terminal. Login as root and:

cd  /etc/X11/xorg.conf.d

Using your favorite text editor edit (or create) a file called 50-device.conf The problem is solved by adding "Option" "ShadowFB" "on" to that file. The result should look like this:

Section "Device"
Identifier "Default Device"
Driver "nouveau"
Option "ShadowFB" "on"
EndSection

Then restart X and you'll have a nice, normal login screen.


You might also be interested in:

News Topics

Recommended for You

Got a Question?