NVIDIA GeForce 940MX in Lenovo TP E470 not detected

Hi guys.

I don't get the NVIDIA driver for my laptop up and running.
The box has a Intel HD 620 onboard chip and a dedicated NVIDIA GeForce 940MX.

With Intel driver installed and without any xorg config file, x runs just great, but only with the Intel chip. So now I try to get the NVIDIA stuff up and running (as I bought the box, the NVIDIA driver in FreeBSD didn't support the 940MX).

I tried to compile the x11/nvidia-driver, but I had some issues with finding the kernel source.... maybe now I know, where my problem was, but didn't test it so far. Finally I installed the x11/nvidia-driver as pkg. The version supports my graphic chip, although it is not the most current nvidia driver version. Oh, I am running FreeBSD 11.2, the system is updated using freebsd-update, so it should have the latest versions running (except for the nvidia driver, as it seems).

To get the nvidia-driver running I have in rc.conf
Code:
kld_list="linux linsysfs linprocfs nvidia-modeset" #nvidia
hald_enable="YES"
dbus_enable="YES"
slim_enable="YES"

devd_enable="YES"
devfs_system_ruleset="localrules"

linux64_enable="YES"
linux_enable="YES"

# ...

my /boot/loader.conf
Code:
linprocfs_load="YES"
linsysfs_load="YES"

fuse_load="YES"

nvidia-modeset_load="YES"
#nvram_load="YES"
nvidia_load="YES"

# ...

and finally the /usr/local/etc/X11/xorg.conf.d/driver-nvidia.conf
Code:
Section "Device"
    Identifier    "NVIDIA Card"
    VendorName    "NVIDIA Corporation"
    Driver        "nvidia"
    BusID        "PCI:1:0:0"
    Option        "DRI" "True"
EndSection

If I boot the system I get a message like
Code:
NVRM: RmInitAdapterfailed!
nvidia1: NVRM  rm_init_adapter() failed!

the /var/log/Xorg.0.log
Code:
[     9.593]
X.Org X Server 1.18.4
Release Date: 2016-07-19
[     9.593] X Protocol Version 11, Revision 0
[     9.593] Build Operating System: FreeBSD 11.1-RELEASE-p10 amd64
[     9.593] Current Operating System: FreeBSD freebsd.tp 11.2-RELEASE FreeBSD 11.2-RELEASE #0 r335510: Fri Jun 22 04:32:14 UTC 2018     root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
[     9.593] Build Date: 22 June 2018  08:40:10AM
[     9.593] 
[     9.593] Current version of pixman: 0.34.0
[     9.593]     Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
[     9.593] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[     9.593] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Jul 29 14:47:19 2018
[     9.597] (==) Using config directory: "/usr/local/etc/X11/xorg.conf.d"
[     9.597] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
[     9.597] (==) No Layout section.  Using the first Screen section.
[     9.597] (==) No screen section available. Using defaults.
[     9.597] (**) |-->Screen "Default Screen Section" (0)
[     9.597] (**) |   |-->Monitor "<default monitor>"
[     9.598] (==) No device specified for screen "Default Screen Section".
    Using the first device section listed.
[     9.598] (**) |   |-->Device "NVIDIA Card"
[     9.598] (==) No monitor specified for screen "Default Screen Section".
    Using a default monitor configuration.
[     9.598] (==) Automatically adding devices
[     9.598] (==) Automatically enabling devices
[     9.598] (==) Not automatically adding GPU devices
[     9.598] (==) Max clients allowed: 256, resource mask: 0x1fffff
[     9.603] (==) FontPath set to:
    /usr/local/share/fonts/misc/,
    /usr/local/share/fonts/TTF/,
    /usr/local/share/fonts/OTF/,
    /usr/local/share/fonts/Type1/,
    /usr/local/share/fonts/100dpi/,
    /usr/local/share/fonts/75dpi/
[     9.603] (==) ModulePath set to "/usr/local/lib/xorg/modules"
[     9.603] (II) The server relies on devd to provide the list of input devices.
    If no devices become available, reconfigure devd or disable AutoAddDevices.
[     9.603] (II) Loader magic: 0x80fc90
[     9.603] (II) Module ABI versions:
[     9.603]     X.Org ANSI C Emulation: 0.4
[     9.603]     X.Org Video Driver: 20.0
[     9.603]     X.Org XInput driver : 22.1
[     9.603]     X.Org Server Extension : 9.0
[     9.604] (--) PCI:*(0:0:2:0) 8086:5916:17aa:505c rev 2, Mem @ 0xf2000000/16777216, 0xd0000000/268435456, I/O @ 0x0000e000/64, BIOS @ 0x????????/65536
[     9.604] (--) PCI: (0:1:0:0) 10de:134d:17aa:505c rev 162, Mem @ 0xf3000000/16777216, 0xe0000000/268435456, 0xf0000000/33554432, I/O @ 0x0000d000/128
[     9.604] (II) LoadModule: "glx"
[     9.605] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[     9.675] (II) Module glx: vendor="NVIDIA Corporation"
[     9.675]     compiled for 4.0.2, module version = 1.0.0
[     9.675]     Module class: X.Org Server Extension
[     9.675] (II) NVIDIA GLX Module  390.67  Thu May 31 22:47:14 PDT 2018
[     9.675] (II) LoadModule: "nvidia"
[     9.675] (II) Loading /usr/local/lib/xorg/modules/drivers/nvidia_drv.so
[     9.681] (II) Module nvidia: vendor="NVIDIA Corporation"
[     9.681]     compiled for 4.0.2, module version = 1.0.0
[     9.681]     Module class: X.Org Video Driver
[     9.681] (II) NVIDIA dlloader X Driver  390.67  Thu May 31 22:22:58 PDT 2018
[     9.681] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[     9.682] (--) Using syscons driver with X support (version 2.0)
[     9.682] (++) using VT number 9

[     9.683] (II) Loading sub module "fb"
[     9.683] (II) LoadModule: "fb"
[     9.683] (II) Loading /usr/local/lib/xorg/modules/libfb.so
[     9.684] (II) Module fb: vendor="X.Org Foundation"
[     9.684]     compiled for 1.18.4, module version = 1.0.0
[     9.684]     ABI class: X.Org ANSI C Emulation, version 0.4
[     9.684] (II) Loading sub module "wfb"
[     9.684] (II) LoadModule: "wfb"
[     9.685] (II) Loading /usr/local/lib/xorg/modules/libwfb.so
[     9.686] (II) Module wfb: vendor="X.Org Foundation"
[     9.686]     compiled for 1.18.4, module version = 1.0.0
[     9.686]     ABI class: X.Org ANSI C Emulation, version 0.4
[     9.686] (II) Loading sub module "ramdac"
[     9.686] (II) LoadModule: "ramdac"
[     9.686] (II) Module "ramdac" already built-in
[     9.687] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[     9.687] (II) NVIDIA(0): Creating default Display subsection in Screen section
    "Default Screen Section" for depth/fbbpp 24/32
[     9.687] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[     9.687] (==) NVIDIA(0): RGB weight 888
[     9.687] (==) NVIDIA(0): Default visual is TrueColor
[     9.687] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[     9.688] (**) NVIDIA(0): Enabling 2D acceleration
[     9.849] (EE) NVIDIA(GPU-0): Failed to initialize the NVIDIA GPU at PCI:1:0:0.  Please
[     9.849] (EE) NVIDIA(GPU-0):     check your system's kernel log for additional error
[     9.849] (EE) NVIDIA(GPU-0):     messages and refer to Chapter 8: Common Problems in the
[     9.849] (EE) NVIDIA(GPU-0):     README for additional information.
[     9.849] (EE) NVIDIA(GPU-0): Failed to initialize the NVIDIA graphics device!
[     9.849] (EE) NVIDIA(0): Failing initialization of X screen 0
[     9.849] (II) UnloadModule: "nvidia"
[     9.849] (II) UnloadSubModule: "wfb"
[     9.849] (II) UnloadSubModule: "fb"
[     9.849] (EE) Screen(s) found, but none have a usable configuration.
[     9.849] (EE)
Fatal server error:
[     9.849] (EE) no screens found(EE)
[     9.849] (EE)
Please consult the The X.Org Foundation support
     at http://wiki.x.org
 for help.
[     9.849] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[     9.849] (EE)
[     9.850] (EE) Server terminated with error (1). Closing log file.

As you can see, it tries to load the NVIDIA driver, but still has the Intel Card (PCI:0:0:2:0) as active card -> thus the BusID line in the xorg config file.
Somewhere I read something about missing configuration in /etc/devd.conf, but with no further hint. And I read many posts about similar issues, such as x-doesnt-start-nvidia-940gx

Can anyone give me some advice how to get the NVIDIA stuff up and running?
 
You can't have both video cards "active" on FreeBSD, either use Intel or nVIDIA. Optimus it's problematic on FreeBSD, especially with the proprietary driver(blob), driver which replace some Xorg libraries, replacement which is not happening if you are using free driver (nouveau).

LE:
Some notebook computers add additional graphics processing units to those built into the chipset or processor. Optimus combines Intel® and NVIDIA hardware. Switchable Graphics or Hybrid Graphics are a combination of an Intel® or AMD® processor and an AMD® Radeon GPU.
Implementations of these hybrid graphics systems vary, and Xorg on FreeBSD is not able to drive all versions of them.
 
How do I deactivate the Intel driver? I deinstalled the Intel driver, but I cannot deactivate the graphic card in BIOS. So how can I set the NVIDIA card as the only active card?
 
Back
Top