Install Latest Nvidia Drivers with a Custom Compiled Kernel in Ubuntu

Monday, February 18th, 2013

Installing Nvidia's Latest Drivers in Ubuntu using a Custom Compiled Kernel

I compiled the latest kernel 3.7.9 in my Ubuntu 10.04 Lucid following this guide here:  http://www.howopensource.com/2011/08/how-to-compile-and-install-linux-kernel-3-0-in-ubuntu-11-04-10-10-and-10-04/

Everything worked properly, but I ran into problems when attempting to install Nvidia's latest drivers (version NVIDIA-Linux-x86-310.32).  The DKMS build would not work and I received errors like "Unable to determine the target kernel version", "bad exit status 2", and "kernel header file does not exist" in the make.log file (along with others) in the /var/lib/dkms/nvidia folder.  The installer would always fail.  So, here's how to get the latest drivers installed and working properly with DKMS support.

First, we need to remove anything Nvidia that may already be installed.  There may be some Nvidia packages that are already installed on your system even though you've yet to install the Nvidia drivers!

Step 1: Download Nvidia Driver and Blacklist Other Drivers:

You can download the Nvidia drivers from http://www.geforce.com/drivers

Nvidia Drivers will only install if you are not running X, so you'll have to install this in a terminal.  Stop GDM before running the rest of the commands.

sudo service gdm stop

Now, we'll need to Blacklist some drivers.  To do this, launch a terminal, and use the following commands:

sudo nano /etc/modprobe.d/blacklist.conf

Add the following entries to the bottom of the file:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

Run the following command:

sudo apt-get --purge remove nvidia-*

Step 2: Creating Symbolic Links

For some reason, after compiling the latest kernel, the symbolic links the Nvidia installer relies on do not exist.  We'll need to create them.  Run the following commands in a terminal:

sudo ln -s /usr/src/linux-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-$(uname -r)/include/linux/version.h
sudo ln -s /usr/src/linux-$(uname -r) /usr/src/linux

Step 3: Prerequisites

Install the following prerequisites by running these commands:

sudo apt-get install dkms

Step 4: Run the Nvidia Installer

Now, run the Nvidia installer and the DKMS module should build.

sudo sh NVIDIA-Linux-x86-310.32.run

Or whatever version you downloaded.

Problems Compiling the Ralink Wireless N Driver Make Error 2 Fix

Tuesday, January 22nd, 2013

Problems Compiling the Ralink Wireless N Driver

If you receive a make error 2 while compiling the ralink drivers, try this fix. This applies to newer kernel versions.

 

WinRar SFX Custom Start In and Target Paths on Desktop Shortcuts

Saturday, January 19th, 2013

WinRar SFX Custom Start In and Target Paths

When creating a self extracting installation wizard using WinRar, you may want to create a shortcut to your program on the user's desktop.  Typically, these parameters are specified in the "SFX options…" dialog.  In the "Advanced SFX options", click on the "Advanced" tab.  Here, you'll see a section called "Shortcuts".  If you create a shortcut using the "Add shortcut…" button, WinRAR will typically leave out an important undocumented feature.

If you create a desktop shortcut using the "Add shortcut…" button, make sure you set the "Destination folder" to just a slash "\" (no quotes) or the shortcut on the desktop will have the following properties:

Target: "D:\Install Directory\YourProgram.exe"
Start in:

Notice, there is no "Start in:" path.  To fix this, you need to add a "\" to the desktop shortcut parameters manually like so:

D, yourProgramsName.exe, \, "Shortcut Description", "Shortcut name",

Or, make sure you place a "\" (no quotes) for the "Destination folder" in the add shortcut helper.

This problem only affects desktop shortcuts and can be fixed by adding a "\" to the parameters for each desktop shortcut after the program's name.