Nvidia driver installing error

I tried installing NVIDIA drivers with the command mhwd -a pci nonfree 0302 as 0300 is the inbuilt Intel graphics card and 0302 is my NVIDIA 940MX graphics card listed as 3D controller. But the output was:

> Using config 'video-hybrid-intel-nvidia-430xx-bumblebee' for device: 0000:01:00.0 (0302:10de:134d) Display controller nVidia Corporation GM108M [GeForce 940MX]
Error: config 'video-hybrid-intel-nvidia-430xx-bumblebee' conflicts with config(s): video-hybrid-intel-nvidia-418xx-bumblebee

I tried purging all my NVIDIA related packages as suggested here but got the output error: target not found

# inxi -G
Graphics:
  Device-1: Intel HD Graphics 620 driver: i915 v: kernel 
  Device-2: NVIDIA GM108M [GeForce 940MX] driver: N/A 
  Display: x11 server: X.org 1.20.5 driver: N/A resolution: <xdpyinfo missing> 
  OpenGL: renderer: Mesa DRI Intel HD Graphics 620 (Kaby Lake GT2) v: 4.5 Mesa 19.2.2
# mhwd -li
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-418xx-bumblebee            2019.10.25               false            PCI


Warning: No installed USB configs!

What is the solution for this?

You have already Nvidia drivers installed. Nividia-418xx is included in the bumblebee hybrid package.

this is normal with bumblebee. You have to use optirun or primusrun to use the nvidia card

If you want to switch to the 435xx drivers, you first have to remove the 418xx drivers, as they conflict:

sudo mhwd -r pci video-hybrid-intel-nvidia-418xx-bumblebee
sudo mhwd -i pci video-hybrid-intel-nvidia-435xx-bumblebee

If you are looking for alternatives to bumblebee, read here:

3 Likes

Okay so now I removed my old bumblebee and installed another driver from NVIDIA's site as instructed here now my X Server Settings is not opening.

$ inxi -G
 Graphics:
  Device-1: Intel HD Graphics 620 driver: i915 v: kernel 
  Device-2: NVIDIA GM108M [GeForce 940MX] driver: nvidia v: 430.50 
  Display: x11 server: X.org 1.20.5 driver: modesetting,nvidia 
  resolution: <xdpyinfo missing> 
  OpenGL: renderer: llvmpipe (LLVM 9.0 256 bits) v: 3.3 Mesa 19.2.2 
$ mhwd -li
Warning: No installed PCI configs!
Warning: No installed USB configs!
$ nvidia-smi
Thu Oct 31 01:27:57 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.50       Driver Version: 430.50       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| 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 940MX       Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   41C    P8    N/A /  N/A |      0MiB /  4046MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

Edit: I used this driver

Why do you use an external source, when I provided you one in the forum? Avoid installing from external binaries wherever possible.
Cleanup that mess of the external binaries before you do anything else. Luckily for you I happen to remember that the nvidia installer should have an --uninstall option:
http://download.nvidia.com/XFree86/Linux-x86_64/430.50/README/installdriver.html#OtherFeaturesOfd7638
Afterwards install your drivers via mhwd. Read the post in linked to (Options for Nvidia Optimus graphics) and decided which solutions you want to use. If you want to use your nvidia GPU as your primary GPU the best option would be the PRIME setup:

Btw. you can install e.g. the 430 nvidia driver with:

sudo mhwd -i pci video-nvidia-430xx

There is also a wiki page on configuring graphics cards:
https://wiki.manjaro.org/index.php?title=Configure_Graphics_Cards

So I decided to update and keep bumblebee as I'm comfortable for using optirun to enable dGPU. Now last question, if I run $ optirun steam and then start a game, will the game use my dGPU or iGPU?

AFAIK, it should use the dGPU. Have you read the section about primusrun and steam on the wiki page? I do not use steam so I can only repeat what I know from reading and what I know about optirun.

no, it will use the iGPU. dont launch steam with optirun, instead edit the properties of the game

except you would add this

optirun %command%
2 Likes

Once and for all (for now, lol!), I configured PRIME as instructed here, and now everything works fine. And although I removed bumblebee...

This was really helpful when setting it up. Thank you.

2 Likes

And one last thing, Do I have to specify some other Launch options for each game, now when I configured PRIME, as we did for bumblebee?

nope, prime just works, performs much better, and has none of the downsides that come with bumblebee. when you run something, it's using the nvidia to do the work and the intel just displays it to the laptop screen.

1 Like

So this would mean that the graphics card used for the display is Intel, right? But if that's the case why does $ inxi -G displays NVIDIA in the display section?

Graphics:  Device-1: Intel HD Graphics 620 driver: i915 v: kernel 
           Device-2: NVIDIA GM108M [GeForce 940MX] driver: nvidia v: 430.40 
           Display: x11 server: X.Org 1.20.5 driver: modesetting,nvidia resolution: 1920x1080~60Hz 
           OpenGL: renderer: GeForce 940MX/PCIe/SSE2 v: 4.6.0 NVIDIA 430.40

If you are refering to:

That's because the nvidia card renders the content.
If you mean this:

I guess it's because the nvidia card has also ports available (but which are not connected to an actual monitor). It could even be the case that the chip has the ports but they are not wired to any connector.

1 Like

Okay, that clears everything now. Thanks a lot! :smiley:

Another issue just came forth. When I tried playing games on steam it was even 'laggier' than it was on windows. $ nvidia-smi's output showed the game in its process so that means it was being rendered using my NVIDIA card but why could it be still so lagging?

I created a new thread, but I tried finding something on my own and found this guide. But when I followed the instructions and rebooted my laptop, it got blank and trying $ startx gave

(EE) no screen found

So I moved the xorg.conf file and it worked again. But how to implement that?

And just out of curiosity, when I ran

$ pacman -Qo /etc/X11/xorg.conf.d/*
error: No package owns /etc/X11/xorg.conf.d/optimus.conf

Is it fine?

because no package owns it, it's a file you created on your own. if you want me to double check your current setup, post these outputs

mhwd -li
ls -laR /etc/X11 ; cat /etc/X11/xorg.conf.d/*.conf
ls -la /etc/modprobe.d ; cat /etc/modprobe.d/*.conf
ls -la /etc/modules-load.d ; cat /etc/modules-load.d/*.conf
cat /etc/lightdm/lightdm.conf 

The outputs are:

mhwd -li
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
    video-nvidia-430xx            2019.10.25               false            PCI


Warning: No installed USB configs!
$ ls -laR /etc/X11 ; cat /etc/X11/xorg.conf.d/*.conf
/etc/X11:
total 36
drwxr-xr-x  5 root root 4096 Nov  5 00:10 .
drwxr-xr-x 94 root root 4096 Nov  5 01:30 ..
drwxr-xr-x  2 root root 4096 Nov  5 01:30 mhwd.d
drwxr-xr-x  3 root root 4096 Oct 28 17:21 xinit
drwxr-xr-x  2 root root 4096 Nov  1 08:11 xorg.conf.d
-rw-r--r--  1 root root  482 Nov  4 23:51 xorg.conf-sh3ll

/etc/X11/mhwd.d:
total 16
drwxr-xr-x 2 root root 4096 Nov  5 01:30 .
drwxr-xr-x 5 root root 4096 Nov  5 00:10 ..
-rw-r--r-- 1 root root 1493 Nov  5 01:30 nvidia.conf
-rw-r--r-- 1 root root    0 Nov  1 08:03 nvidia.conf.nvidia-xconfig-original

/etc/X11/xinit:
total 28
drwxr-xr-x 3 root root 4096 Oct 28 17:21 .
drwxr-xr-x 5 root root 4096 Nov  5 00:10 ..
-rw-r--r-- 1 root root  739 Mar  5  2019 xinitrc
drwxr-xr-x 2 root root 4096 Oct 28 17:20 xinitrc.d
-rw-r--r-- 1 root root   45 Mar  5  2019 xserverrc

/etc/X11/xinit/xinitrc.d:
total 20
drwxr-xr-x 2 root root 4096 Oct 28 17:20 .
drwxr-xr-x 3 root root 4096 Oct 28 17:21 ..
-rwxr-xr-x 1 root root  318 Nov 10  2018 40-libcanberra-gtk-module.sh
-rwxr-xr-x 1 root root  203 Oct 21 14:57 50-systemd-user.sh

/etc/X11/xorg.conf.d:
total 24
drwxr-xr-x 2 root root 4096 Nov  1 08:11 .
drwxr-xr-x 5 root root 4096 Nov  5 00:10 ..
-rw-r--r-- 1 root root  266 Oct 31 15:24 00-keyboard.conf
-rw-r--r-- 1 root root  866 Oct 31 22:44 70-synaptics.conf
lrwxrwxrwx 1 root root   27 Nov  1 08:03 90-mhwd-sh3ll.conf -> /etc/X11/mhwd.d/nvidia.conf
-rw-r--r-- 1 root root  191 Nov  1 08:11 optimus.conf
# Read and parsed by systemd-localed. It's probably wise not to edit this file
# manually too freely.
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "us"
        Option "XkbModel" "pc105"
EndSection
Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    MatchIsTouchpad "on"
    Option "TapButton1" "1"
    Option "TapButton2" "3"
    Option "TapButton3" "2"
    Option "VertEdgeScroll" "on"
    Option "VertTwoFingerScroll" "on"
    Option "HorizEdgeScroll" "on"
    Option "HorizTwoFingerScroll" "on"
    Option "CircularScrolling" "on"
    Option "CircScrollTrigger" "2"
    Option "EmulateTwoFingerMinZ" "40"
    Option "EmulateTwoFingerMinW" "8"
    Option "CoastingSpeed" "0"
    Option "FingerLow" "30"
    Option "FingerHigh" "50"
    Option "MaxTapTime" "125"
EndSection
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 430.40

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
	Option "NoLogo" "1"
EndSection

Section "Screen"
    Option         "Coolbits" "31"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
    Option         "COMPOSITE" "Enable"
EndSection

 
Section "InputClass"
    Identifier          "Keyboard Defaults"
    MatchIsKeyboard        "yes"
    Option              "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
 
Section "Module"
	    Load "modesetting"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"
    Option "AllowEmptyInitialConfiguration"
EndSection
$ ls -la /etc/modprobe.d ; cat /etc/modprobe.d/*.conf
total 20
drwxr-xr-x  2 root root 4096 Nov  1 08:18 .
drwxr-xr-x 94 root root 4096 Nov  5 01:30 ..
-rw-r--r--  1 root root   55 Nov  1 08:17 nvidia.conf
-rw-r--r--  1 root root   29 Nov  1 08:18 nvidia-drm.conf
blacklist nouveau
blacklist nvidiafb
blacklist rivafb

options nvidia_drm modeset=1
$ ls -la /etc/modules-load.d ; cat /etc/modules-load.d/*.conf
total 20
drwxr-xr-x  2 root root 4096 Nov  1 08:03 .
drwxr-xr-x 94 root root 4096 Nov  5 01:30 ..
-rw-r--r--  1 root root   76 Nov  1 08:03 mhwd-gpu.conf
-rw-r--r--  1 root root   34 Oct 22 02:38 modules.conf
##
## Generated by mhwd - Manjaro Hardware Detection
##
 
nvidia
nvidia-drm
# List of modules to load at boot
$ cat /etc/lightdm/lightdm.conf
[Seat:*]
display-setup-script=/usr/local/bin/optimus.sh
#
# General configuration
#
# start-default-seat = True to always start one seat if none are defined in the configuration
# greeter-user = User to run greeter as
# minimum-display-number = Minimum display number to use for X servers
# minimum-vt = First VT to run displays on
# lock-memory = True to prevent memory from being paged to disk
# user-authority-in-system-dir = True if session authority should be in the system location
# guest-account-script = Script to be run to setup guest account
# logind-check-graphical = True to on start seats that are marked as graphical by logind
# log-directory = Directory to log information to
# run-directory = Directory to put running state in
# cache-directory = Directory to cache to
# sessions-directory = Directory to find sessions
# remote-sessions-directory = Directory to find remote sessions
# greeters-directory = Directory to find greeters
# backup-logs = True to move add a .old suffix to old log files when opening new ones
# dbus-service = True if LightDM provides a D-Bus service to control it
#
[LightDM]
#start-default-seat=true
#greeter-user=lightdm
#minimum-display-number=0
#minimum-vt=7 # Setting this to a value < 7 implies security issues, see FS#46799
#lock-memory=true
#user-authority-in-system-dir=false
#guest-account-script=guest-account
#logind-check-graphical=false
#log-directory=/var/log/lightdm
run-directory=/run/lightdm
#cache-directory=/var/cache/lightdm
#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions
#remote-sessions-directory=/usr/share/lightdm/remote-sessions
#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters
#backup-logs=true
#dbus-service=true

#
# Seat configuration
#
# Seat configuration is matched against the seat name glob in the section, for example:
# [Seat:*] matches all seats and is applied first.
# [Seat:seat0] matches the seat named "seat0".
# [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client".
#
# type = Seat type (local, xremote)
# pam-service = PAM service to use for login
# pam-autologin-service = PAM service to use for autologin
# pam-greeter-service = PAM service to use for greeters
# xserver-command = X server command to run (can also contain arguments e.g. X -special-option)
# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option)
# xserver-config = Config file to pass to X server
# xserver-layout = Layout to pass to X server
# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server
# xserver-share = True if the X server is shared for both greeter and session
# xserver-hostname = Hostname of X server (only for type=xremote)
# xserver-display-number = Display number of X server (only for type=xremote)
# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true)
# xdmcp-port = XDMCP UDP/IP port to communicate on
# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf)
# greeter-session = Session to load for greeter
# greeter-hide-users = True to hide the user list
# greeter-allow-guest = True if the greeter should show a guest login option
# greeter-show-manual-login = True if the greeter should offer a manual login option
# greeter-show-remote-login = True if the greeter should offer a remote login option
# user-session = Session to load for users
# allow-user-switching = True if allowed to switch users
# allow-guest = True if guest login is allowed
# guest-session = Session to load for guests (overrides user-session)
# session-wrapper = Wrapper script to run session with
# greeter-wrapper = Wrapper script to run greeter with
# guest-wrapper = Wrapper script to run guest sessions with
# display-setup-script = Script to run when starting a greeter session (runs as root)
# display-stopped-script = Script to run after stopping the display server (runs as root)
# greeter-setup-script = Script to run when starting a greeter (runs as root)
# session-setup-script = Script to run when starting a user session (runs as root)
# session-cleanup-script = Script to run when quitting a user session (runs as root)
# autologin-guest = True to log in as guest by default
# autologin-user = User to log in with by default (overrides autologin-guest)
# autologin-user-timeout = Number of seconds to wait before loading default user
# autologin-session = Session to load for automatic login (overrides user-session)
# autologin-in-background = True if autologin session should not be immediately activated
# exit-on-failure = True if the daemon should exit if this seat fails
#
[Seat:*]
display-setup-script=/usr/local/bin/optimus.sh
#type=local
#pam-service=lightdm
#pam-autologin-service=lightdm-autologin
#pam-greeter-service=lightdm-greeter
#xserver-command=X
#xmir-command=Xmir
#xserver-config=
#xserver-layout=
#xserver-allow-tcp=false
#xserver-share=true
#xserver-hostname=
#xserver-display-number=
#xdmcp-manager=
#xdmcp-port=177
#xdmcp-key=
greeter-session=lightdm-gtk-greeter
#greeter-hide-users=false
#greeter-allow-guest=true
#greeter-show-manual-login=false
#greeter-show-remote-login=true
user-session=xfce
#allow-user-switching=true
#allow-guest=true
#guest-session=
session-wrapper=/etc/lightdm/Xsession
#greeter-wrapper=
#guest-wrapper=
#display-setup-script=
#display-stopped-script=
#greeter-setup-script=
#session-setup-script=
#session-cleanup-script=
#autologin-guest=false
#autologin-user=
#autologin-user-timeout=0
#autologin-in-background=false
#autologin-session=
#exit-on-failure=false

#
# XDMCP Server configuration
#
# enabled = True if XDMCP connections should be allowed
# port = UDP/IP port to listen for connections on
# listen-address = Host/address to listen for XDMCP connections (use all addresses if not present)
# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf)
# hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset)
#
# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn.  Alternatively
# it can be a word and the first 7 characters are used as the key.
#
[XDMCPServer]
#enabled=false
#port=177
#listen-address=
#key=
#hostname=

#
# VNC Server configuration
#
# enabled = True if VNC connections should be allowed
# command = Command to run Xvnc server with
# port = TCP/IP port to listen for connections on
# listen-address = Host/address to listen for VNC connections (use all addresses if not present)
# width = Width of display to use
# height = Height of display to use
# depth = Color depth of display to use
#
[VNCServer]
#enabled=false
#command=Xvnc
#port=5900
#listen-address=
#width=1024
#height=768
#depth=8

what is this and where did it come from?

you currently have 2 conflicting xorg configurations. get rid of the 90-mhwd-sh3ll.conf symlink

you added this to the top of lightdm.conf but it was not necessary if you already added it further down in the [Seat:*] section which you already have. get rid of the 2 lines i quoted, theres no need for 2 seat sections.

I was trying this solution and made xorg.conf file but it failed so in tty during boot I renamed it which made things okay again.

I initially just added it at the top but as I wasn't seeing any changes I re-read the thread and saw that my lightdm.conf had two [Seat:*] section, so I added it to both of them.

So I'll remove the 90-mhwd symlink and the first two lines appearing in the lightdm.conf file

I removed the symlink but I don't know why I'm seeing this...

$ locate "sh3ll"
/etc/X11/xorg.conf.d/90-mhwd-sh3ll.conf

but

$ ls /etc/X11/xorg.conf.d/
00-keyboard.conf  70-synaptics.conf  optimus.conf

because locate is working off an outdated db.

sudo updatedb

then that file will no longer show

1 Like

Forum kindly sponsored by