Testing Nvidia's Graphics Drivers 319.17 and 319.32 in LMDE

Questions about hardware and drivers
Forum rules
Before you post please read this

Testing Nvidia's Graphics Drivers 319.17 and 319.32 in LMDE

Postby roblm on Wed May 22, 2013 5:21 pm

This topic will be of interest mostly to LMDE gamers who have an Nvidia video card and would like to improve their gaming experience.
I want to explore the questions: is it worth upgrading to the proprietary Nvidia 319.17 driver and is it possible. The only alternative
besides the default nouveau driver is the Nvidia 304.48 driver, available through the Device Driver Manager. You may show a different driver depending on your graphics hardware. How does the 319.17 driver compare. One of the best ways is by comparing the fps (frames per
second) displayed in playing games. The Playstation 2 emulator pcsx2 will be used to test these 3 video drivers on 2 different games.

If you decide to follow these instructions, then I strongly advise you to have a backup image of your Linux partition or drive in case a disaster happens. Or do the testing on another partition, which can be set up using Gparted. I have both and use Clonezilla for the backups.

The first step was to change the kernel from 3.2.0-4-486 to 3.2.0-4-686-pae to support dual core processors, which pcsx2 recommends
using. You only need to do this if your system has a dual core processor or greater.
In the Synaptic Package Manager install the packages: "linux-headers-3.2.0-4-686-pae" and "linux-image-3.2.0-4-686-pae".

The linux version of the emulator can be downloaded from pcsx2.net. Extract the contents of the “pcsx2-1.0.0_r5325.tar.gz” file in the folder
of your choice. You will also need the Playstation 2 bios files and game ISOs. Click on the “launch_pcsx2_linux.sh” file to start. If nothing
happens, then you will have to install 4 dependencies. Open the Synaptic Package Manager and search for "libcg", "libcggl", ”libwxbase2.8-0”
and “libwxgtk2.8-0” and install them. Put your bios files in the bios folder. The GSdx-0.1.16 video plugin was used where possible because
it is faster and more compatible with games.

First the nouveau driver was tested. Games were not playable using the GSdx-0.1.16 video plugin. The ZZ Ogl PG plugin was used instead. Game 1 played at 26-28 fps and game 2 at 11-14 fps. Also in game 1 the video image quality was a little worse compared with the Nvidia
drivers.

Then the 304.48 driver was installed: Open the Device Driver Manager and select the nvidia-glx 304.48 driver. Sometimes this doesn't work.
If not, then open Synaptic and remove the nouveau driver. Remove the package: xserver-xorg-video-nouveau
Reboot. Open the DDM again and select the nvidia-glx 304.48 driver for installation and then reboot.

The results from testing: game 1 played at 25-28 fps and game 2 at 13-15 fps.

Go to the Nvidia.com site and select “Drivers”. The next screen will check to see if your installed Nvidia card is supported for the 319.17
driver. Then download the driver and put the file “NVIDIA-Linux-x86-319.17.run” in your Home folder ( /home/user-name ). Right click on
it and select Properties > Permissions. Be sure the box next to “Allow executing file as program” is checked. Then change the name of
the file to “N.run” so you won't have to type that long name later during installation.

The 319.17 driver would not install with the present 3.2.0-4 kernel. During the driver installation the Nvidia kernel module needs to be built
(compiled) with the same gcc compiler version that was used to compile the operating system kernel. To check what version of gcc was
used to compile the kernel, you can run the command: cat /proc/version
For LMDE the version is 4.6

To check what version of gcc is currently installed on your system and will be used for compiling modules, you can run the command: gcc -v
For LMDE the version is 4.7

This is why drivers downloaded from the Nvidia website will not install using the standard method of installation, even though your video
card is supported by the driver. There are two ways to get around this but one method is complicated and the other can create potential
problems. The new kernel needs to have been compiled with gcc version 4.7. A popular site to download newer kernels is shown in the
link below:
http://kernel.ubuntu.com/~kernel-ppa/mainline/

These kernels have been compiled with gcc version 4.6 so they won't work.
In contrast to LMDE, Mint 14 and 15 both have kernels compiled with gcc version 4.7 and the installed version is also 4.7, so Nvidia drivers
can be downloaded and installed. The 3.8-2 kernel listed below has been compiled with gcc 4.7.

I went to "Debian.org" and looked under > Debian Packages. Nothing was available in the “stable distribution” or “testing distribution”
categories, but a newer one, 3.8-2, was listed under “View the packages in the unstable distribution”. Click it and select “Kernels”.

For newer PCs, first find the package “linux-headers-3.8-2-686-pae”. When this is clicked, then the dependency packages are shown.
Two are needed. Click the “linux-headers-3.8-2-common” and “linux-kbuild-3.8” packages for download. In the Download links section,
under “architecture” choose “i386”. Then go back and download the “linux-headers-3.8-2-686-pae” package.

Then find the “linux-image-3.8-2-686-pae” package and click it to look at the dependencies. Only the “initramfs-tools” (generic modular
initramfs generator) dependency package is needed. This is a newer version. Download both of these.
For older PCs choose the “linux-headers-3.8-2-486” and “linux-image-3.8-2-486” packages.
For 64 bit PCs choose the “linux-headers-3.8-2-all-amd64” and “linux-image-3.8-2-all-amd64” packages.
So the 5 downloaded packages are:

initramfs-tools_0.112_all.deb
linux-kbuild-3.8_3.8.11-1_i386.deb
linux-headers-3.8-2-common_3.8.13-1_i386.deb
linux-headers-3.8-2-686-pae_3.8.13-1_i386.deb
linux-image-3.8-2-686-pae_3.8.13-1_i386.deb

The 319.17 Driver Installation:
There are two routes depending on if you have the nouveau driver installed or you have already upgraded to the 304.48 driver.

Instructions if you have the nouveau driver installed:
First the nouveau driver needs to be disabled. Open Nemo and go to /etc/default. Right click on the file “grub” and select
“Open as Root” (for Cinnamon users). Then open the file and add the words “rdblacklist=nouveau” below the line >
GRUB_CMDLINE_LINUX=""

Save the file and without closing Nemo open the “modprobe.d” folder. Right click in the empty space and select > Create New Document >
Empty Document. Now rename the document "disable-nouveau.conf"
Open this new file and add these 2 lines:
blacklist nouveau
options nouveau modeset=0

Save the file and open the Terminal. Type these 2 commands one at a time and press Enter after each:
sudo update-grub
sudo update-initramfs -u

Now install the 5 .deb packages downloaded above by clicking each one, starting with the top package and going down the list in that order.
Then reboot. Press Ctrl+Alt+F1 at the same time to enter the virtual console tty1.

Then type: sudo service mdm stop (if a different screen appears, then just press Ctrl+Alt+F1 again)
Then type: sudo sh N.run
During the installation select “Accept” or “Yes” for each screen. After installation, press Ctrl+Alt+Delete at the same time to reboot.

Another potential problem is some systems may not support the command: rdblacklist=nouveau
Then this command should be used: nouveau.modeset=0
Then in the Terminal run "sudo update-grub" and "sudo update-initramfs -u"
Reboot. After stopping the X Server with “sudo service mdm stop”, then this command may also be needed: modprobe -r nouveau

Instructions if you already have installed the Nvidia 304.48 driver through Device Driver Manager:
Install the 5 downloaded .deb packages by clicking each one, starting with the top package and going down the list in that order. Reboot.
You will stop at the virtual console tty1. Wait until a new screen appears saying “Failed to start the X server”. Select “No” and you will go
back to the first screen.

Then type: sudo service mdm stop
Then type: sudo apt-get remove nvidia*
Then type: sudo sh N.run
During the installation select “Accept” or “Yes” for each screen. After installation, press Ctrl+Alt+Delete at the same time to reboot.

Finally the 319 driver was tested. In game 1, there was a big increase to 38-49 fps and in game 2 there was an increase to 20-26 fps.
Game 2 was a newer more graphically intense game.

To check if using the new 3.8-2 kernel had any effect on these results, the nouveau driver was again tested on a fresh installation with this
kernel and the results were compared with the 3.2.0-4 kernel results. The results were similar.

Conclusion: I think the upgrade is well worth it if you're into gaming.

I prefer Linux Mint Cinnamon but use LMDE on an older PC. This testing was done on a system with the following specifications:

Athlon II X2 3.4 GHz
Nvidia GeForce 210
2 GB RAM
FFX11.png

UPDATE: 7-25-13
Since Nvidia's release of the 319.17 driver there have been two more releases, the 319.23 driver and the 319.32 driver. I decided
to test the latest release to see if any further improvements in performance could be seen. This driver installation was extremely easy. After
entering the virtual console tty1, just type the two commands:
sudo service mdm stop
sudo sh N.run

The 319.17 driver is automatically removed. After installation of the 319.32 driver, then reboot or type: sudo service mdm start

Testing in game 1 gave frame rates of 41 - 47 fps, which was no improvement, but in game 2 the frame rates improved to 25 - 29 fps.

UPDATE: 8-10-13
I was looking for newer kernels at Debian.org and to my surprise noticed the 3.8-2 kernel was no longer listed on this site. However, the
3.9-1 kernel was now available under “View the packages in the testing distribution”. Instead of searching for the required packages at this
site, it will be easier to install them through the Synaptic Package Manager. Open Synaptic and select > Settings > Repositories >
Other Software. Click the “Add” button. Add the following information in the window to add this repository:
deb http://ftp.de.debian.org/debian jessie main

Click “Add Source”, close the Software Sources window and click on “Reload” at the top.

Then search for “linux-headers” and select: linux-headers-3.9-1-686-pae
Two other packages will be installed with it:
linux-headers-3.9.1-common
linux-kbuild-3.9

Click “Apply” to install the three packages. Then search for “linux-image” and select:
linux-image-3.9-1-686-pae
The package “initramfs-tools” will also be upgraded

Click “Apply” and reboot. I then ran the command “cat /proc/version” to see what version of the gcc compiler was used to build the 3.9-1
kernel. The version was 4.7. I then downloaded and installed the Nvidia 319.17 driver successfully. The only difference I noticed is that after
doing the steps to disable the nouveau driver and rebooting, the desktop screen was black with only the menu button showing.

I also tested the 3.10-2 kernel which is available under “View the packages in the unstable distributions”.
However, after installing it I was unable to install the Nvidia 319.17 driver.

UPDATE 8-17-13
Now the 3.9.1 kernel has been removed from the Testing Distributions and replaced with the 3.10-2 kernel, which is also still listed in the
Unstable Distributions. I again installed it and was still unable to install the Nvidia 319.17 driver. I also tested the Liquorix 3.10-7 kernel and
it would not work either. So now there are no available kernels that I know of that will work with the Nvidia drivers. One option is to use SMXI.
Here is the link: http://smxi.org/
I personally haven't tested it yet.

The other way to install the Nvidia driver is to allow the driver module to be built with gcc version 4.7, even though the kernel was built with
version 4.6. This is what Nvidia says about doing this in the “NVIDIA Accelerated Linux Graphics Driver README and Installation Guide”, in Chapter 8, Common Problems. I quote: “This may be perfectly fine, but there are cases where this can lead to unexpected behavior and
system crashes”.
During the installation you are asked: Would you like to register the kernel module sources with DKMS. Select “No”. The next screen warns
about the gcc compiler mismatch and says “If you know what you are doing and want to ignore the gcc version check, select “No” to continue installation. The driver will install but it doesn't function as well. During testing with pcsx2, the GSdx-0.1.16 video plugin could not be used, so
the slower ZZ Ogl PG plugin was used. Performance for game 1 was 30 fps and 16-17 fps for game 2, significantly below the performance
attained using this driver from the installation without the gcc mismatch.

UPDATE: While checking the Linux section of the Nvidia forum, the 3.10 kernel appears to be incompatible with the Nvidia drivers, as
reported by many others. A patch is available but I wanted to keep driver installation as simple as possible for new LMDE users. I'm going to
wait for the 3.11 kernel to be available at "Debian.org" and then test it.

UPDATE: 11-3-13
The 3.11-1 kernel was now available at debian.org under "View the packages in the unstable distribution". However, it also would not work
with the Nvidia 319.17 driver. I finally found a site to download the 3.8-2 and 3.9-1 kernels at the elivecd.org repository.
I tested the 3.8-2 kernel and was able to install the Nvidia 319.17 driver. Get these three packages:

linux-headers-3.8-2-common_3.8.13-1_i386.deb
linux-headers-3.8-2-686-pae_3.8.13-1_i386.deb
linux-image-3.8-2-686-pae_3.8.13-1_i386.deb

at this site: http://repository.elivecd.org/pool/drivers/l/linux/

Get this package: linux-kbuild-3.8_3.8.11-1_i386.deb
at this site: http://repository.elivecd.org/pool/driv ... nux-tools/

Get this package: initramfs-tools_0.112_all.deb
at this site: http://93.93.128.128/raspbian/raspbian/ ... mfs-tools/

EDITED: 12-18-13: The site above is no longer available. Use the link below. It's a newer version (0.115) but it works.
I tested the 3.9-1 kernel this time and it works:
http://packages.debian.org/unstable/uti ... amfs-tools

I had the files scanned at "virustotal.com". Be sure to install them in the correct order listed earlier in this post, or use a single command
by opening the Terminal. First change to the directory containing the files, usually Downloads, with this command: cd Downloads
Be sure there are no other ".deb" files here or they will be installed.

Then type: sudo dpkg -i *.deb

Unfortunately, no amd64 packages were available.
User avatar
roblm
Level 5
Level 5
 
Posts: 584
Joined: Sun Feb 24, 2013 2:41 pm

Linux Mint is funded by ads and donations.
 

Return to Hardware Support

Who is online

Users browsing this forum: No registered users and 4 guests