On Tue, 06 Jan 2015 12:40:44 -0600, Jean-Pierre wrote:
For the record, this approach below failed miserably, so I list
it and the results I got, so that others can improve upon it,
since it's the method recommended by Nvidia (but it failed).
I determined what Nvidia graphics card I have in my Lenovo W510 laptop:
$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GT216GLM [Quadro FX 880M] (rev a2)
I followed Nvidia driver directions here (which failed miserably):
http://www.nvidia.com/Download/index.aspx?lang=en-us
The selection I used was the following:
Product Type = Quadro
Product Series = Quadro FX Series (Notebooks) <=== Is a laptop a notebook or not?
Product = Quadro FX 880M
Operating System = Linux 64-bit
Download Type = Linux Long Lived Driver
Language = English (US)
That downloaded the driver:
Linux x64 (AMD64/EM64T) Display Driver
Version: 340.65
Release Date: 2014.12.8
Operating System: Linux 64-bit
Language: English (US)
File Size: 69.00 MB
The file downloaded was:
$ ls -l
-rw------- 69903305 Jan 8 16:25 NVIDIA-Linux-x86_64-340.65.run
I copied that downloaded file to /tmp and made it executable:
$ chmod +x /tmp/NVIDIA-Linux-*.run
I pressed Ctrl+Alt+F1, which bounced me out of the X display.
I logged into the screen-wide console as a user.
I killed the X server using the following command:
$ sudo service lightdm stop ## For the default LightDM
Here is the log file if you skip the killing the x server step above:
$ cat /var/log/nvidia-installer.log
nvidia-installer log file '/var/log/nvidia-installer.log'
nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Fri Jan 9 11:09:08 2015
installer version: 340.65
PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
nvidia-installer command line:
./nvidia-installer
Using: nvidia-installer ncurses user interface
-> The file '/tmp/.X0-lock' exists and appears to contain the process ID '1153' of a runnning X server.
ERROR: You appear to be running an X server; please exit X before installing.
For further details, please see the section INSTALLING THE NVIDIA DRIVER in the
README available on the Linux driver download page at
www.nvidia.com.
ERROR: Installation has failed. Please see the file '/var/log/nvidia-installer.log' for details.
You may find suggestions on fixing installation problems in the README available
on the Linux driver download page at
www.nvidia.com.
This is the process the log file above was complaining about:
$ ps -elfww|grep 1153
4 S root 1153 1142 3 80 0 - 50728 poll_s Jan08 tty7 00:25:02 /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
So, I stopped the X server as insructed at the Nvidia site:
$ sudo service lightdm stop
lightdm stop/waiting
I tested that the X server was stopped by issuing that command again:
$ sudo service lightdm stop
Stop: Unknown instance:
Then I tried executing the program and following the prompts:
$ sudo sh NVIDIA-Linux-x86_64-340.65.run
It failed.
I looked at the log file:
$ view /var/log/nvidia-installer.log
$ xdriinfo
Screen 0: nouveau
$ modprobe -R nvidia
modprobe: FATAL: Module nvidia not found.
$ inxi -F
System: Host: jp Kernel: 3.11.0-14-generic x86_64 (64 bit) Desktop: KDE 4.13.3 Distro: Ubuntu 14.04 trusty
Machine: System: LENOVO product: 4318CTO version: ThinkPad W510
Graphics: Card: NVIDIA GT216GLM [Quadro FX 880M]
X.Org: 1.15.1 drivers: nvidia,nouveau (unloaded: fbdev,vesa) Resolution: 1920...@60.0hz
GLX Renderer: N/A GLX Version: N/A
Apparently, the first driver loaded gets the hardware, and the other one
sits idle in kernelspace.
I ran some debugging commands:
$ xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
LVDS-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
1920x1080 60.0*+ 60.0 50.0
1680x1050 60.0
1400x1050 60.0
1280x1024 59.9
1280x960 59.9
1152x864 60.0
1024x768 59.9
800x600 59.9
640x480 59.4
720x400 59.6
640x400 60.0
640x350 59.8
VGA-1 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
> Presumably when the drivers are properly installed, something
> is done so only the correct one shows up there.
The problem is that nouveau is a GPL'd in-kernel driver which uses
kernel mode setting, and is therefore already loaded into the kernel by
the initramfs.
The nvidia driver is the proprietary driver, and while you can load it
in memory, it cannot access the hardware because the nouveau driver has
already claimed that.
Therefore, the correct method to proceed is to boot up with "nomodeset"
added to the kernel boot line as a parameter, then blacklist the nouveau
driver, and only *then* install the proprietary nVidia driver, and then
reboot, so that the kernel can load that proprietary driver and give it
access to the hardware.