Installing NVIDIA Graphic Driver on Slackware64

Home / Installing NVIDIA Graphic Driver on Slackware64

NVIDIA is one of graphic card producer (beside AMD/ATI) for Personal Computer. An open source graphic driver is available with name nouveau (and enabled by default if you use NVidia card). How if you want to use NVidia’s proprietary driver? Yes you can.
This article will discuss about installing NVIDIA graphic driver for Slackware Linux. In this article I use:
  1. Slackware64 14.0
  2. NVidia driver

There are two ways to accomplish: install via SlackBuilds.org and run nvidia proprietary driver. Both of them are OK.

Installation via SlackBuilds.org

There are three packages at Slackbuilds.org for functioning nVIDIA driver. They are: nvidia-kernel packages which builds the kernel module, the nvidia-driver packages which builds the X.Org driver and contains the OpenGL implementation as well as the COMPAT32 libraries for multilib Slackware64 system and libvdpau package as requirement of nvidia-driver package.

”nouveau” Module Removal

Before we install the driver, we must make sure nouveau module is not loaded. As stated before, this module is open source implementation for NVidia graphic cards. Yet, to use NVidia propietary driver we must disable nouveau so that both of them are not conflicting each other. Failure to do so may result in a startx error of “ERROR: could not insert ‘nvidia’: No such device”.

There are two ways to blacklist nouveau driver: installing xf86-video-nouveau-blacklist package from extra directory of Slackware64 on the installation CD/DVD. You can also obtain it by Slackware mirror, or using slackpkg utility.

If you choose to install xf86-video-nouveau-blacklist, you can simply invoke this command on the same directory as the package:

upgradepkg --install-new xf86-video-nouveau-blacklist-*.txz

Otherwise you can do it by creating a new file on /etc/modprobe.d :

disable nouveau
options nouveau modeset=0

And name it as disable_nouveau.conf.

SlackBuilding

If you who choose using slackbuild, there are currently two ways to install SlackBuild:

  1. Downloading the appropriate build scripts manually from SlackBuilds.org and following the procedure.
  2. Using sbopkg which automates downloading the needed source and compilation of multiple packages.

Once the packages have been installed, server can be started with full GPU support.

NVIDIA Binary

For you who want to install using binary driver provided by NVIDIA you can follow these steps.
To obtain the driver, you can visit following url. The name of the driver package would be something like “NVIDIA-Linux-ARCH-VERSION.run” where ARC is the computer architecture (x86 / x86_64).
If you are using Slackware64 (64-bit system with or without multilib support) you should download the “Linux x86_64/AMD64/EM64T” driver package (in our case), while 32-bit Slackware needs the “Linux x86/IA32” driver
While it is not always true, but your safest choice would be use the “Latest Long Lived Branch version”. In some case, you might want to choose ”Latest Short Lived Branch version” instead.
Older legacy drivers are available as well for graphics cards which are no longer current. When you select a driver, a list of compatible GPUs will be displayed. Once you have determined the correct driver, the license will need to be accepted and the file saved in an accessible location. Before running the installer, there are some other actions that must be taken.
Ensure X11 is not running. Login as root and do this command:
telinit 3
Once successful, you will be brought to runlevel 3 where this mode is multiuser without X support.
Now invoke this command:
sh /path/to/NVIDIA-Linux-ARCH-VERSION.run
If prompted to blacklist nouveau, do so (see above) and restart and launch installer with root permission after restarted.
Choose to accept the license and install the driver.

note: nVIDIA binary driver installation can not be completed while the X11 Window System is active.

On process, the installer will proceed as follows:
  1. Extract itself and start an ncurses interface.
  2. Print license terms on screen.
  3. If you have no previouse system, the installer will begin by building the modules. Otherwise, the installer woll prompt permission to remove previous driver as part of the new installation.
  4. The installer will prompt you about installing NVidia’s 32-bit compatibility OpenGL libraries (if you enable multilib).
  5. Once no conflicting X and OpenGL files are found, the modules will be installed.
  6. Installer will offer to use nvidia-xconfig utility to modify xorg. The old one will be backed up to /etc/X11/xorg.conf.nvidia-xconfig-original.
  7. Installation is completed and the program will exits.

If everything is OK, then modules should be installing for the currently running kernel.

You must create an X.Org configuration file which loads the binary Nvidia driver if you decided not to let the nvidia-xconfig utility modify your computer’s xorg.conf file. The X.Org of Slackware supports individial “*.conf” files in a directory /etc/X11/xorg.conf.d. Any file with a .conf extension will be included together with the main /etc/X11/xorg.conf file.
You could create for instance a file named /etc/X11/xorg.conf.d/10-nvidia.conf with the following content:

Section "Device"
    Identifier  "Device0"
    Driver  "nvidia"
    VendorName "Nvidia Corporation"
    BoardName ""
EndSection

Without this definition, you will not get accelerated Nvidia GPU support! X.Org would fall-back to VESA mode because the nouveau driver has been blacklisted. The kernel will not auto-detect the binary driver as opposed to the nouveau driver.

Starting X11 with nvidia GPU Support

All that remains is to start the X.org server. This can be accomplished by configuring Slackware to start in runlevel 4, which will start a graphical login manager, such as KDM or XDM, on boot. If you want this, then you need to edit the file ”/etc/inittab” and change the line

id:3:initdefault:

to

id:4:initdefault:

Otherwise you can login to a user account and issue the ”startx” command to start an X session.

By default, startx will start the window manager which was chosen during installation. To change this behavior, the file ”.xinitrc” in the user’s home directory can be edited to start a different WM.
Alternatively, the default WM can be altered on a per-user basis by using the command ”xwmconfig” and selecting one of the available WM’s.

,

About Author

about author

xathrya

A man who is obsessed to low level technology.

1 Comment
  1. NVidia Optimus Support for Slackware - Xathrya.ID

    […] newer laptops nowadays, specifically for nVidia graphic cards, come with what is known as “nVidia Optimus” technology. This technology is an hybrid of nVidia […]

Leave a Reply

Your email address will not be published. Required fields are marked *

Social media & sharing icons powered by UltimatelySocial