Kali Linux 1.0.7 kernel 3.14 – Install proprietary NVIDIA driver – NVIDIA Accelerated Linux Graphics Driver

24.01.2015

This entry was posted in How to Kali Linux Linux NVIDIA and tagged CUDA How to Kali Linux NVIDIA Pyrit on June 27, 2014 by blackMORE Ops (updated on July 17, 2014)


Install proprietary NVIDIA driver on Kali Linux - blackMORE Ops

This guide explains how to install proprietary “NVIDIA Accelerated Linux Graphics Driver” or NVIDIA driver on Kali Linux 1.0.7 kernel 3.14 system. The first part where you install NVIDIA Driver is very straight forward (well exactly same as before) but on the second part where you install NVIDIA CUDA driver, you get an error while running pyrit “ERROR: could not insert ‘nvidia_uvm’: Invalid argument”. This two part series guide will help you to install NVIDIA Driver and NVIDIA CUDA on your Kali Linux machines. I am not too sure if this applies to all Ubuntu or Debian variants, but it sure works if you have those errors or trying to do it in Kali Linux.

By default Kali Linux installs pen source NVIDIA driver nouveau which works great if you just want a display. Open source drivers can be confirmed by using lsmod | grep nouveau command. But like I said in my previous guides, it doesn’t give you 3D acceleration features or GPU acceleration based applications (such as CUDA and GPU pass through). That means you MUST install proprietary NVIDIA driver.

The proprietary “NVIDIA Accelerated Linux Graphics Driver” provides optimized hardware acceleration of OpenGL applications via a direct-rendering X server. It is a binary-only Xorg driver requiring a Linux kernel module for its use. The first step is to fully update your Kali Linux system and make sure you have the kernel headers installed.

Contents

This guide replaces the old guides

  1. How to Install NVIDIA Kernel Module CUDA and Pyrit in Kali Linux
  2. Install proprietary NVIDIA driver on Kali Linux – NVIDIA Accelerated Linux Graphics Driver

I had to divide it into two parts:

  1. Kali Linux 1.0.7 kernel 3.14 – Install proprietary NVIDIA driver – NVIDIA Accelerated Linux Graphics Driver
  2. Kali Linux 1.0.7 kernel 3.14 – Install NVIDIA driver kernel Module CUDA and Pyrit on Kali Linux – CUDA, Pyrit and Cpyrit-cuda

You use the first guide to install NVIDIA Driver on Kali Linux 1.0.7 kernel 3.14. For normal users, you should just stop here and enjoy your nice smooth NVIDIA graphics. Install some game or enjoy a movie.

For the more advanced users or those who want GPU acceleration, (cudahashcat, GPU pass through etc.) follow the second guide (link above).Since Kali 1.0.7 was introduced along with Kernel 3.14, users been plagued with this annoying error message “ERROR: could not insert ‘nvidia_uvm’: Invalid argument” while running pyrit or simialr GPU based tools. I have since tried multiple times and thanks to use Shinri show came up with the correct advise and solution. This was a bug and there’s way around it, so that’s good news.

I’ve included as much details I can, including troubleshooting steps and checks but I would like to hear your part of the story, so leave a comment with your findings and issues.

Is this guide for me?

I have a freshly installed Kali Linux installation where I updated, upgraded everything following special guide … 20 things to do after Installing Kali Linux.

So except proprietary NVIDIA driver, everything was installed and working. In case those who are not so familiar which guide to follow, ask yourself these questions:

  1. Do I have a NVIDIA card?
  2. Is this a freshly installed Kali system?
  3. When did I installed it?
  4. Did I upgrade everything like blackMORE advised?
  5. Is this the correct version of guide to run on my Kali Linux?

 

blackMORE’s settings

So I’ve installed my Kali Linux v 1.0.7 running Kernel 3.14 on 26/05/2014. I’ve got a NVIDIA GeForce 210 card on this machine running a 64-bit version Kali Linux. How do I know that? You can run the following commands to ensure those:

To find out when you’ve installed your Kali Linux, run the following two commands:

passwd -S sys | tail -1 | awk ‘{print $3}’ tune2fs -l /dev/sda5 |grep ‘Filesystem created’

Which CPU you’re running on? Run the following command:

lscpu

Which graphics card you’re using? Run the following command:

lspci | grep VGA

Here’s mine…

0 - Kali Linux 1.0.7 kernel 3.14 - Install proprietary NVIDIA driver - NVIDIA Accelerated Linux Graphics Driver - When installed

 

So we’re good? Ok then. let’s roll and install proprietary NVIDIA Graphics Driver that we have to install every release. This is getting quite annoying I must say…

 

Prerequisites

I’ve installed everything in a brand new Kali Linux 1.0.7 kernel 3.14 installation. Assuming you have the same but this guide will apply to older version that’s been upgraded as well. You need to complete the followings:

  1. Add Official Kali Linux repository.
  2. Update, upgrade and dist-upgrade Kali Linux.

apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y

This is stock standard for most of my guides.

 

Step 1: Install Linux headers

Install Linux headers as those will be required to build NVIDIA Driver modules.

aptitude -r install linux-headers-$(uname -r)

Where -r means install all recommended packages as well.

1 - Kali Linux 1.0.7 kernel 3.14 - Install proprietary NVIDIA driver - NVIDIA Accelerated Linux Graphics Driver - Install Linux header

 

Step 2: Install NVIDIA Kernel

Next I installed NVIDIA Kernel

apt-get install nvidia-kernel-$(uname -r)

2 - Kali Linux 1.0.7 kernel 3.14 - Install proprietary NVIDIA driver - NVIDIA Accelerated Linux Graphics Driver - Install NVIDIA Kernel

 

Step 3: Install NVIDIA Driver Kernel DKMS

We’re almost ready. You can now install new NVIDIA driver nvidia-kernel-dkms by using the following command:

aptitude install nvidia-kernel-dkms

3 - Kali Linux 1.0.7 kernel 3.14 - Install proprietary NVIDIA driver - NVIDIA Accelerated Linux Graphics Driver - Install NVIDIA Kernel DKMS

While installing you get two popups where you select OK

First one tell you there’s a conflict (well of course, there’s a conflict, you have nouveau installed now and replacing it with Proprietary NVIDIA Driver). So we press OK on this popup.

4 - Kali Linux 1.0.7 kernel 3.14 - Install proprietary NVIDIA driver - NVIDIA Accelerated Linux Graphics Driver - Conflict and Reboot popup

The second popup tell you that you dont have a xorg.conf file in /etc/X11/ folder. . Yeap, we will fix that soon. Press OK .

5 - Kali Linux 1.0.7 kernel 3.14 - Install proprietary NVIDIA driver - NVIDIA Accelerated Linux Graphics Driver - Create XORG.Conf file popup

Press OK on both popups.

 

Step 4: Install xconfig NVIDIA driver application

Now we need a xorg.conf file in /etc/X11/ folder. The easiest way to do that is by installing nvidia-xconfig package.

Use the following command:

aptitude install nvidia-xconfig

This will install Xconfig package which then generates a xorg.conf file in /etc/X11/ folder.

6 - Kali Linux 1.0.7 kernel 3.14 - Install proprietary NVIDIA driver - NVIDIA Accelerated Linux Graphics Driver - Install nvidia-xconfig package

 

Step 5: Generate xorg server configuration file

Now that we have installed nvidia-xconfig package, issue the following command to generate Xorg server configuration file.

nvidia-xconfig

7 - Kali Linux 1.0.7 kernel 3.14 - Install proprietary NVIDIA driver - NVIDIA Accelerated Linux Graphics Driver - Generate xorg.conf file using nvidia-xconfig package

It will rename any existing xorg.conf file and create a new one. On in there wasn’t a per-exisiting xorg.conf file it will just create a brand new one.

Now as directed by NVIDIA driver nvidia-kernel-dkms, reboot your machine to complete installation.

reboot

 

Step 6: Confirming your installation

At this point you should be able to login to your system in Graphical User Mode (GUI). In case you can’t, follow the troubleshooting section at the bottom of this article. As always, we need to check if everything went as expected.

 

Step 6.a: Check GLX Module

First check if system is using glx module.

glxinfo | grep -i “direct rendering”

It should output “direct rendering: Yes”

8 - Kali Linux 1.0.7 kernel 3.14 - Install proprietary NVIDIA driver - NVIDIA Accelerated Linux Graphics Driver - Confirm installation

If you do not have glxinfo then first install mesa-utils package then again issue above command and check output

aptitude install mesa-utils

 

Step 6.b: Check NVIDIA Driver Module

Check if NVIDIA module loaded.

lsmod | grep nvidia

Run lsmod grep nvidia- 8 - Install proprietary NVIDIA driver on Kali Linux - blackMORE Ops

If it produces output like nvidia 9442880 28 or something similar (numbers could be different at your system) then NVIDIA module is loaded.

 

Step 6.c: Check for Open source NVIDIA Driver nouveau module

Just to be sure Open source NVIDIA Driver nouveau module NOT loaded, issue following command

lsmod | grep nouveau

It should NOT produce any output. If it produces output then something is wrong.

 

Step 6.d: Confirm if open source NVIDIA Driver nouveau was blacklisted

I like this new NVIDIA Driver. It blacklists Open source NVIDIA Driver nouveau by default. That means less work for us to do. You can confirm it by checking files in the following directory:

cat /etc/modprobe.d/nvidia.conf cat /etc/modprobe.d/nvidia-blacklists-nouveau.conf cat /etc/modprobe.d/nvidia-kernel-common.conf

 

Troubleshooting

You might get a black screen after installing NVIDIA Driver. Following are your options to fix it:

 

Troubleshooting Step A: Fixing black screen with a cursor problem

Simply press CTRL + ALT + F1 and login. Type the following

nvidia-xconfig reboot

You should now be able to log in using the GDM3 GUI.

 

Troubleshooting Step B: Delete xorg.conf file

Press CTRL + ALT + F1 and login. Type the following

rm /etc/X11/xorg.conf reboot

After reboot, you should be able to log in using the GDM3 GUI.

 

Troubleshooting Step C: remove NVIDIA Driver

Press CTRL + ALT + F1 and login. Type the following

apt-get remove nvidia-kernel-dkms reboot

After reboot, you should be able to log in using the GDM3 GUI.

 

Question: Disabling nouveau driver on Grub?

I am not sure if this is required because I can make my config work without doing this step. See step 6.d where NVIDIA driver automagically disabled NOUVEAU drivers using modprobe. Readers, can you comment on this or why most people adds these two lines in their How to’s. I found it pointless…

sed ’s/quiet/quiet nouveau.modeset=0/g' -i /etc/default/grub update-grub reboot

Some discussion on this seems warranted… Let me know.

 

Suggestions by readers:

Following suggestion was posted by London. I don’t have a bumblebee enabled card, can you confirm if this worked for you?

 

p.s. always read comment sections, I know it’s boring but I can only put as much in the actual post.

 

London

Edit

July 10, 2014 at 10:39 pm

Installation of nVidia driver and configuration of CUDA has now been successful for me, here’s how.

Optimus users need to install “Bumblebee” the sole purpose of this implementation is to allow Linux systems to run Optimus enabled graphics cards. That was pretty much the missing key for me, and it will probably be what others in here need as well. Here’s the link:

https://forums.kali.org/showthread.php?21956-%28Guide%29-Installing-Nvidia-Bumblebee-CUDA-for-Optimus-enabled-Laptops

After doing this one problem still remained for me. I was unable to call on the GPU for testing through the terminal. I fixed it here:

https://wiki.archlinux.org/index.php/bumblebee

In the link above, paragraph 8.2 starts a nice little troubleshooting sub-section that contained my exact error message. The documentation as a whole is quite informative and I’d recommend reading through it to shine some light on what is really happening when we take these actions.

After using those two links I know have Kali 1.0.7 w/ nVidia 331.67, CUDA 5.5, and Bumblebee 3.2.1 with NO xorg.conf in X11, along with a greater understanding of Debian based Linux YAY!

I’m still unsure as to whether or not my nVidia card is now the default and running at start up or not. I think it’s supposed to be at this point but I don’t know how to test that yet. Hopefully this helps someone else. For a beginner, getting these drivers working can be an ordeal.

 

Conclusion

This concludes my general instructions on how to install proprietary NVIDIA driver – NVIDIA Accelerated Linux Graphics Driver Kali Linux 1.0.7 kernel 3.14

NVIDIA Optimus users should be able to follow the same instructions, however, as I said before, feel free to share your side of stories on how your installation went and correct my guide if required. I am open for discussion and will try to reply back to your comments the earliest possible.

For those curious minds, try installing nvidia-settings and see how that goes. NVIDIA Settings will remove NVIDIA Driver but I did manage to make it work with some tinkering. NVIDIA Settings presents you with a GUI X Config Window and you can see GPU Temperature and more info.

 

For normal users, guide ends here. If you want to run applications that uses NVIDIA Kernel Module CUDA, Pyrit and Cpyrit for GPU processing then you will also need to install CUDA drivers, replace official Pyrit and install Cpyrit. Find out if your Graphics Card supports CUDA in the following page from NVIDIA

Next guide will show you how to Install NVIDIA Kernel Module CUDA and Pyrit in Kali Linux – CUDA, pyrit and cpyrit. Thanks for reading. If this guide helped you to install NVIDIA Driver, please share this article and follow us in Facebook/Twitter.