This guide explains how to install proprietary “NVIDIA Accelerated Linux Graphics Driver” or NVIDIA driver on Kali Linux system. If you are using Kali Linux and have NVIDIA graphics card then most likely you are using open source NVIDIA driver
nouveau. You can see it by
lsmod | grep nouveau command.
nouveau driver works quite well, but if you want to use 3D acceleration feature or want to use GPU based applications (such as CUDA and GPU pass through) then you need to 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.
This guide replaces the old guide
Where you had to download NVIDIA Driver (CUDA) manually and edit
grub.cfg file to make everything work. Because it will be a long guide, I had to divide it into two parts:
- Install proprietary NVIDIA driver on Kali Linux – NVIDIA Accelerated Linux Graphics Driver
- 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. If you want GPU acceleration, (cudahashcat, GPU pass through etc.) keep reading and follow the second guide to complete your installation. 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.
The new NVIDIA Driver
The new Linux binary NVIDIA drivers
nvidia-kernel-dkms builds the NVIDIA Xorg binary kernel module needed by NVIDIA driver, using DKMS. Provided that you have the kernel header packages installed, the kernel module will be built for your running kernel and automatically rebuilt for any new kernel headers that are installed. The binary NVIDIA drivers provide optimized hardware acceleration of OpenGL applications via a direct-rendering X Server for graphics cards using NVIDIA chip sets. AGP, PCIe, SLI, TV-out and flat panel displays are also supported. NVIDIA Added support for the following GPU including fixing some issues: (existing GPU’s are already supported).
- GeForce GT 710
- GeForce 825M
- Fixed a regression that prevented NVIDIA-installer from cleaning up directories created as part of the driver installation.
- Added a new X configuration option “InbandStereoSignaling” to enable/disable DisplayPort in-band stereo signaling.
- Fixed a bug that caused PBO downloads of cube map faces to retrieve incorrect data.
- Fixed a bug in NVIDIA-installer that resulted in spurious error messages when opting out of installing the NVIDIA kernel module or source files for the kernel module.
- Added experimental support for ARGB GLX visuals when Xinerama and Composite are enabled at the same time on X.Org xserver 1.15.
See the details about this driver in NVIDIA official website:
Debian Linux usually ports that Official Driver to fit it’s requirements. The NVIDIA driver graphics processing unit (GPU) series/codename of an installed video card can usually be identified using the lspci command. For example:
lspci -nn | grep VGA
My PC got the following configuration:
I’ve installed everything in a brand new Kali Linux 1.0.6 installation, fully updated and upgraded. Before you do anything, you of course add the Official Kali Linux repository. Once I’ve added the correct Kali Official repositories, I’ve issued the following commands to update, upgrade and dist-upgrade my Kali Linux.
apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
If you’ve completed this part, move on to the next instruction.
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)
Step 2: Install NVIDIA Kernel
Next I installed NVIDIA Kernel
apt-get install nvidia-kernel-$(uname -r)