6

Whenever I enable the Nvidia drives (Nvidia-331) on my laptop, after I reboot and log in the screen goes black. I then tried to run purge nvidia-* and revert back to Intel, but the screen remained black so I ended up reinstalling the OS.

I've tried enabling the nvidia drivers using the Mint Additional Drivers GUI and I've also tried installing them using ppa:xorg-edgers/ppa. I have also added nomodeset to my grub file. Everything leads to a black screen.

90% of the time I have my laptop plugged in to an outlet so I don't care about power efficiency and switching, all I want is Nvidia to work.

Some information that may be useful:

$ lspci -vnn | grep -i vga
00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06) (prog-if 00 [VGA controller])


$ lshw -C video
  *-display               
       description: 3D controller
       product: GK107M [GeForce GT 750M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: bus_master cap_list rom
       configuration: driver=nouveau latency=0
       resources: irq:45 memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:f7000000-f707ffff
  *-display
       description: VGA compatible controller
       product: 4th Gen Core Processor Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 06
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:46 memory:f7400000-f77fffff memory:d0000000-dfffffff ioport:f000(size=64)

$ grep -i chipset /var/log/Xorg.0.log 
[     6.085] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
[     6.086] (II) NOUVEAU driver for NVIDIA chipset families :
[     6.086] (II) VESA: driver for VESA chipsets: vesa
[     6.095] (--) intel(0): Integrated Graphics Chipset: Intel(R) HD Graphics 4600
[     6.095] (--) NOUVEAU(G0): Chipset: "NVIDIA NVE7"

$ dpkg -l | grep nvidia
$ uname -a
Linux gulch 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/X11/xorg.conf
cat: /etc/X11/xorg.conf: No such file or directory

There are no errors in the log file since this is a fresh installation. I will try again and post any errors I find from my phone.

Ok, some progress. I didn't realise I had to run sudo update-grub after adding nomodeset to the grub file. Now I can log in, but Cinnamon crashes immediately. I have run the following:

sudo apt-get update
sudo apt-get upgrade
sudo update-initramfs -u

and still Cinnamon crashes.

$ cat /var/log/Xorg.0.log | grep nvidia -i
[     4.664] (II) Module glx: vendor="NVIDIA Corporation"
[     4.664] (II) NVIDIA GLX Module  331.113  Mon Dec  1 20:24:35 PST 2014
[     4.665] (==) Matched nvidia as autoconfigured driver 0
[     4.665] (II) LoadModule: "nvidia"
[     4.665] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so
[     4.672] (II) Module nvidia: vendor="NVIDIA Corporation"
[     4.680] (II) NVIDIA dlloader X Driver  331.113  Mon Dec  1 20:01:51 PST 2014
[     4.680] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[     4.680] (II) NOUVEAU driver for NVIDIA chipset families :
[     4.746] (II) UnloadModule: "nvidia"
[     4.746] (II) Unloading nvidia
[     4.833] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)

Why is it mentioning nouveau? It should be blacklisted.

$ cat /etc/modprobe.d/nvidia-graphics-drivers.conf 
# This file was installed by nvidia-331
# Do not edit this file manually

blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current-updates
blacklist nvidia-173-updates
blacklist nvidia-96-updates
blacklist nvidia-331-updates
alias nvidia nvidia_331
alias nvidia-uvm nvidia_331-uvm
alias nouveau off
alias lbm-nouveau off

I think I'm narrowing the problem down.

$ cat /var/log/Xorg.0.log | grep EE
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[     4.579] Initializing built-in extension MIT-SCREEN-SAVER
[     4.684] (EE) [drm] KMS not enabled
[     4.684] (EE) [drm] KMS not enabled
[     4.686] (EE) open /dev/fb0: No such file or directory
[     4.686] (EE) open /dev/fb0: No such file or directory
[     4.686] (EE) Screen 0 deleted because of no matching config section.
[     4.686] (EE) Screen 0 deleted because of no matching config section.
[     4.833] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)


$ glxinfo 
name of display: :0
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Error: couldn't find RGB GLX visual or fbconfig
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Error: couldn't find RGB GLX visual or fbconfig

Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".


$ cat /etc/X11/xorg.conf.04052015 
Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "PCI:0@0:2:0"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1@0:0:0"
    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection

So Screen0 has no configuration, but is mentioned in xorg.conf? Am I on the right track here?

$ inxi -G
Graphics:  Card: Intel 4th Gen Core Processor Integrated Graphics Controller 
           X.Org: 1.15.1 drivers: fbdev,vesa,intel,nouveau (unloaded: nvidia) Resolution: 1920x1080@0.0hz 
           GLX Renderer: N/A GLX Version: N/A

Why is it saying that nouveau is in use when it should be blacklisted? I'm so confused, would really appreciate some guidance here.

So I copied the /etc/X11/xorg.conf.04052015 file created by nvidia-331 and into xorg.conf since there was no existing xorg.conf file. After rebooting, nothing came up, just a black screen.

I only have one monitor, but there has been an additional monitor plugged into this laptop in the past (via the VGA port).

$ dpkg -l | grep nvidia now gives

ii  nvidia-331                                  331.113-0ubuntu0.0.4                                amd64        NVIDIA binary driver - version 331.113
ii  nvidia-331-uvm                              331.113-0ubuntu0.0.4                                amd64        NVIDIA Unified Memory kernel module
ii  nvidia-libopencl1-331                       331.113-0ubuntu0.0.4                                amd64        NVIDIA OpenCL Driver and ICD Loader library
ii  nvidia-opencl-icd-331                       331.113-0ubuntu0.0.4                                amd64        NVIDIA OpenCL ICD
ii  nvidia-prime                                0.6.2linuxmint1                                     amd64        Tools to enable NVIDIA's Prime
ii  nvidia-settings                             331.20-0ubuntu8                                     amd64        Tool for configuring the NVIDIA graphics driver

Also, here is $ lsmod | grep nvidia

nvidia              10744943  0 
drm                   303102  3 i915,drm_kms_helper,nvidia

I am now searching for the required glx extenion.

$ dpkg -S nvidia.ko
dpkg-query: no path found matching pattern *nvidia.ko*

$ dpkg -S nvidia.
nvidia-331: /usr/lib32/nvidia-331/vdpau/libvdpau_nvidia.so.331.113
nvidia-331: /usr/lib/nvidia-331/vdpau/libvdpau_nvidia.so
nvidia-331: /usr/lib/nvidia-331/vdpau/libvdpau_nvidia.so.1
nvidia-opencl-icd-331: /etc/OpenCL/vendors/nvidia.icd
linux-headers-3.13.0-37-generic: /usr/src/linux-headers-3.13.0-37-generic/include/config/fb/nvidia.h
nvidia-331: /usr/lib32/nvidia-331/vdpau/libvdpau_nvidia.so
nvidia-331: /usr/lib/nvidia-331/vdpau/libvdpau_nvidia.so.331.113
nvidia-331: /usr/lib32/nvidia-331/vdpau/libvdpau_nvidia.so.1
nvidia-prime: /usr/share/lightdm/lightdm.conf.d/90-nvidia.conf
libdirectfb-1.2-9:amd64: /usr/lib/x86_64-linux-gnu/directfb-1.2-9/gfxdrivers/libdirectfb_nvidia.so
mintdrivers: /usr/share/linuxmint/mintDrivers/icons/nvidia.png
linux-headers-3.13.0-37-generic: /usr/src/linux-headers-3.13.0-37-generic/include/config/net/vendor/nvidia.h

I think I already have libglx?

 $ dpkg -S libglx
nvidia-331: /usr/lib/nvidia-331/xorg/libglx.so
xserver-xorg-core: /usr/lib/xorg/modules/extensions/libglx.so
vlc: /usr/lib/vlc/plugins/video_output/libglx_plugin.so
nvidia-331: /usr/lib/nvidia-331/xorg/libglx.so.331.113

Also, I still have no xorg.conf, should I use nvidia-xconfig for that or is there a better way?

$ dpkg -S nvidia 

Output: http://pastebin.com/XGt9BXmS

$ ls /lib/modules/3.13.0-37-generic/kernel/drivers/video/nvidia
nvidiafb.ko

Edit 7: I forgot to mention that each time I reinstalled Mint I kept the /home directory. Not sure if there's any files in there that might be messing things up?

  • Please post the entire X log. If it doesn't fit in the question, you can pastebin it and then add a link. I like paste.lisp.org. However, you have already posted useful info. You can see it is trying to load nouveau. This is because you have not instructed it otherwise. I don't know why your blacklist is not working. However, you are pasting /etc/X11/xorg.conf.04052015. That does not have the right name. And in any case doesn't look right. How many screens do you have? One or two? – Faheem Mitha Apr 05 '15 at 13:34
  • I just noticed that dpkg -l | grep nvidia returns blank. That's not right. Are you not using the Mint Nvidia binary drivers? Also paste lsmod | grep nvidia, please. – Faheem Mitha Apr 05 '15 at 13:36
  • Oh, I rhink the "NOUVEAU driver for NVIDIA chipset families" bit is Ok. It doesn't actually try to do anything with it. I think the main problem is that it is not finding your Nvidia drivers. "Failed to initialize GLX extension (Compatible NVIDIA X driver not found)" You should install them using the system binary packages. If you installed them locally, make sure to remove all remnants of that installation. – Faheem Mitha Apr 05 '15 at 13:42
  • When you say 'install them using the system binary packages' do you mean via apt-get? – user258458 Apr 05 '15 at 13:42
  • Yes, that is what I mean. Also dpkg -S nvidia.ko should locate your kernel module. Paste the result of that. – Faheem Mitha Apr 05 '15 at 13:43
  • Having a kernel module is critical. Try dpkg -S | grep nvidia | grep ko. And you definitely need a xorg.conf. How many screens do you want to configure for? It seems you have one at the moment, so I recommend one. If you get things working, you can refine your config later. If you have a xorg.conf to propose, paste it in. – Faheem Mitha Apr 05 '15 at 14:26
  • Sorry, that should have been dpkg -S nvidia | grep ko. – Faheem Mitha Apr 05 '15 at 14:31
  • Updated. I used nvidia-xconfigure to create an xorg.conf file but Cinnamon still crashed when I rebooted, and the resolution was stuck at 640x480 for some reason. – user258458 Apr 05 '15 at 14:31
  • dpkg -S and dpkg -l do different things, and you already posted dpkg -l. You also forgot to mention what card you have. Add that in. – Faheem Mitha Apr 05 '15 at 14:32
  • Your X is not going to work unless you have a kernel module, and the evidence suggests you don't. – Faheem Mitha Apr 05 '15 at 14:33
  • A kernel module for the Nvidia card? How do I get that? – user258458 Apr 05 '15 at 14:34
  • Get rid of Edit 6. That is just useless clutter. Well, except for the last part. You'll need to build a kernel module package. – Faheem Mitha Apr 05 '15 at 14:35
  • Ok, there are two issues here and depending of what you want to do the answer will vary: 1. You want to have both your Intel and Nvidia GPU's working as god says; 2. When you remove Nvidia's packages things go haywire. Which you want to fix? – Braiam Apr 05 '15 at 14:38
  • I just want the Nvidia card to work, I don't care about the Intel card or switching. @FaheemMitha I have both GK107M [GeForce GT 750M] and integrated Intel card (check the lshw -C video output at the top). – user258458 Apr 05 '15 at 14:39
  • Can you specify your laptop make/model, please? Is this an Optimus laptop? – Faheem Mitha Apr 05 '15 at 14:44
  • The laptop model is Clevo (sometimes called Horize) W65_W670SR. – user258458 Apr 05 '15 at 14:45
  • You seem to have inconsistent results for dpkg -S nvidia and dpkg -S nvidia | grep ko. Run dpkg -S nvidia and replace the results. You can remove dpkg -S nvidia | grep ko. Your specific laptop model doesn't much info about it on the net. – Faheem Mitha Apr 05 '15 at 15:02
  • What is in the lib/modules/3.13.0-37-generic/kernel/drivers/video/nvidia/ directory? Also, when did you install the linux-image-extra-3.13.0-37-generic package? – Faheem Mitha Apr 05 '15 at 15:13
  • Updated. Not sure when I installed that, I have tried a few different ways to get this card to work, that was probably a failed attempt. Sigh...I think I'm going to have to go back to Windows. – user258458 Apr 05 '15 at 16:30

1 Answers1

1

According to the nvidia website, your card, GK107M [GeForce GT 750M], requires version 352 of the proprietary drivers.

Currently, this driver is available only in Debian experimental. I built the package on jessie, but could not resolve the dependencies to install.

Best bet to get graphics is follow the directions on the official Debian Bumblebee page, and install the bumblebee package, not bumblebee-nvidia.

RobertL
  • 6,780