Nvidia nightmare on Asus N75SL laptop

Hello

So here comes anotherone, who struggels with getting the Nvidia card to run on a laptop from a time, when the earth was still a flat surface.

The Asus N75SL has a Nvidia GT635 chip in it, which is supported by the nvidia-390xx-driver. I’ve tried countless “how-to"s”, among them:

Bumblebee for Nvidia Optimus
Install Nvidia hybride graphics with Optimus and Vulkan support
Nvidia Optimus
Installing proprietary NVIDIA drivers on Arch Linux
Nvidia-installer-dmks with 390xx

The driver installed (sometimes) but inxi -Ga always showed Driver: N/A. Looks like it coudn’t connect to the monitor, but I don’t know. Maybe this laptop simply don’t work with Nvidia, but I thought, before I burn it tonight in our Christmas fireplace I ask around here. Maybe there is a way to bring it to work.

I’ve bricked my installation 3 times of which I was able to bring it back twice, but now it’s dead. I’m typing this post from a Windows PC and will make a fresh install (without Nvidia-drivers) and will edit this post with the inxi -Ga and lspci.

Thank you

Sandy Bridge
intel® HD Graphics 3000
NVIDIA® GeForce® GT 635M

render offloading:
NVIDIA driver since version 435.17 supports this method.
By that means it should work, at least on using nvidia-installer-dkms and changing to build and install 390xx versions of the needed nvidia packages.
The only thing that is needed is to make sure to have DRM Modesetting enabled and working.
If so System should boot per default on Intel iGPU and you can use Nvidia by switching manually.
https://download.nvidia.com/XFree86/Linux-x86_64/390.147/README/randr14.html

Thanks for your input Herr Doktor. :smiley:

I took these steps, which resulted in a black screen at boot. I had to turn off xorg.conf before I could boot again.

  1. yay -S nvidia-390xx-dkms nvidia-390xx-settings nvidia-390xx-utils lib32-nvidia-390xx-utils
  2. sudo sudo pacman -S xorg-server-devel opencl-nvidia
  3. Reboot

nvidia-smi

Fri Dec 24 12:38:19 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.147                Driver Version: 390.147                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GT 635M     Off  | 00000000:01:00.0 N/A |                  N/A |
| N/A   48C    P0    N/A /  N/A |      0MiB /  1985MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0                    Not Supported                                       |
+-----------------------------------------------------------------------------+

inxi -Ga

Graphics:
  Device-1: Intel 2nd Generation Core Processor Family Integrated Graphics
    vendor: ASUSTeK driver: i915 v: kernel bus-ID: 00:02.0 chip-ID: 8086:0116
    class-ID: 0300
  Device-2: NVIDIA GF116M [GeForce GT 555M/635M] vendor: ASUSTeK
    driver: nvidia v: 390.147 alternate: nouveau,nvidia_drm bus-ID: 01:00.0
    chip-ID: 10de:1247 class-ID: 0300
  Device-3: Sunplus Innovation Asus Webcam type: USB driver: uvcvideo
    bus-ID: 1-1.2:4 chip-ID: 1bcf:2883 class-ID: 0e02
  Display: x11 server: X.Org 1.21.1.2 compositor: kwin_x11 driver:
    loaded: intel,modesetting failed: nvidia alternate: fbdev,nouveau,nv,vesa
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2")
    s-diag: 582mm (22.9")
  Monitor-1: LVDS1 res: 1920x1080 hz: 60 dpi: 128
    size: 380x210mm (15.0x8.3") diag: 434mm (17.1")
  OpenGL: renderer: N/A v: N/A direct render: N/A

xorg.conf

# nvidia-xconfig:  version 390.147  (dvs-builder@U64-E08-29-1)  Mon Dec 13 13:50:12 UTC 2021


Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
EndSection

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

The BusID in inxi -Ga shows 1:0.0, but xorg.conf has it as 1:0:0. Does that make a difference?
Does one need to blacklist the nouveau-driver?

Else I’m kind of stuck here.

Alright, I made some progress.

After doing the following steps, the driver is finally working (and looking great btw). :partying_face: But now, I don’t have a login screen anymore. After boot there is this “black hole” :smiley: where you to type in your password. Is it possible to get the login screen back? My uneducated guess is, that it’s a conflict issue between Intel and Nvidia at boot.

So this is what I’ve done (following the Optimus Arch wiki):

  • in /etc/modprobe.d create nvidia.conf and block nouveau from loading with blacklist nouveau
  • in /etc/X11/xorg.conf.d create 10-nvidia-drm-outputclass.conf and fill it according to the Optimus arch wiki
  • in /usr/share/sddm/scripts modify Xsetup by uncommenting the first line and fill it according to the Optimus arch wiki (my DE is KDE)
  • in /etc/modprobe.d create an anti-tearing conf nvidia-drm-nomodeset.conf and fill it with options nvidia-drm modeset=1
  • sudo mkinitcpio -P
  • reboot

For the black screen, I’ve tried to install the blacklist.conf as suggested in the Arch wiki Nvidia troubleshooting, but that gave me a total freeze at boot.

This is from Optimus-Manager

Important notes :

  • Custom Xorg config : optimus-manager works by auto-generating a Xorg configuration file and putting it into /etc/X11/xorg.conf.d/. If you already have custom Xorg configuration files at that location or at /etc/X11/xorg.conf , it is strongly advised that you remove anything GPU-related from them to make sure that they do not interfere with the GPU switching process.
  • Nvidia-generated Xorg config : Similarly, if you have ever used the nvidia-xonfig utility or the Save to X Configuration File button in the Nvidia control panel, a Xorg config file may have been generated at /etc/X11/xorg.conf . It is highly recommended to delete it before trying to switch GPUs.

The GT 635M is Fermi-based. Kepler-based so may work with 470xx. This will be worth trying as it means you don’t need to mess with Bumblebee because of:

Thank you @ricklinux but I do not want to switch between cards and only use Nvidia. Therefore I’ve followed Part 3 in the wiki “Use Nvidia graphics only”. I don’t have bumblebee installed.

I’ve tried the 470xx and it didn’t work. In fact, the 635M is not listed in the supported cards of the driver. Only the non-mobile one. Therefore it had to be the 390xx.

What is the point of Optimus then?

For Nvidia only i see this.

/etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf

Section "OutputClass"
    Identifier "intel"
    MatchDriver "i915"
    Driver "modesetting"
EndSection

Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "PrimaryGPU" "yes"
    ModulePath "/usr/lib/nvidia/xorg"
    ModulePath "/usr/lib/xorg/modules"
EndSection

Next, add the following two lines to the beginning of your ~/.xinitrc:

~/.xinitrc

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

For SDDM

/usr/share/sddm/scripts/Xsetup

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

470.94

GeForce 600 Series:

GeForce GTX 690, GeForce GTX 680, GeForce GTX 670, GeForce GTX 660 Ti, GeForce GTX 660, GeForce GTX 650 Ti BOOST, GeForce GTX 650 Ti, GeForce GTX 650, GeForce GTX 645, GeForce GT 640, GeForce GT 635, GeForce GT 630

GeForce 600M Series (Notebooks):

GeForce GT 640M LE

390.147:

GeForce 600 Series:

GeForce GTX 690, GeForce GTX 680, GeForce GTX 670, GeForce GTX 660 Ti, GeForce GTX 660, GeForce GTX 650 Ti BOOST, GeForce GTX 650 Ti, GeForce GTX 650, GeForce GTX 645, GeForce GT 645, GeForce GT 640, GeForce GT 635, GeForce GT 630, GeForce GT 620, GeForce GT 610, GeForce 605

GeForce 600M Series (Notebooks):

GeForce GTX 680MX, GeForce GTX 680M, GeForce GTX 675MX, GeForce GTX 675M, GeForce GTX 670MX, GeForce GTX 670M, GeForce GTX 660M, GeForce GT 650M, GeForce GT 645M, GeForce GT 640M, GeForce GT 640M LE, GeForce GT 635M, GeForce GT 630M, GeForce GT 625M, GeForce GT 620M, GeForce 610M

Is what nvidia offers on the driver search for linux 65bit.

Gforce GT 635M:

  • GPU Name: GF108

  • GPU Variant: N12E-GE-A1

  • Architecture: Fermi

where the GeForce GT 635 inside PCI-E Desktop cards is a:

  • GPU Name: GK208

  • Architecture: Kepler 2.0

1 Like

You could check the supported nvidia driver series info with command

nvidia-driver-supported-branches -a

Another thing: install opencl-nvidia-390xx instead of opencl-nvidia.

1 Like

Thanks, I change the opencl to match the 390xx series. The only thing left to do would be to solve the boot conflict (or for whatever reason it won’t show the login screen). Is there somewhere a boot log or something similar I could check?

There are several logs, but maybe /var/log/Xorg.0.log is interesting, in addition to the link returned by command

sudo journalctl -b -0 | eos-sendlog

right after a reboot.

1 Like

This topic can be closed, I’ve found the boot mistake and now everything is running as desired.

(in step3 in post4, I uncommented the first line in the Xsetup because I thought, that was needed to get everything underneath executed. Totally wrong assumption. Commenting that line as it was made everything working fine).

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.