Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Sep 2014 20:12:10 +0200
From:      "O. Hartmann" <ohartman@zedat.fu-berlin.de>
To:        freebsd-x11@freebsd.org, FreeBSD CURRENT <freebsd-current@freebsd.org>
Subject:   x11/nvidia-driver (340.24/340.32/343.13): nvidia BLOB doesn't recognize any display socket on Lenovo E540/UEFI and FBSD CURRENT
Message-ID:  <20140919201210.72650231.ohartman@zedat.fu-berlin.de>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
nVidia's BLOB from port x11/nvidia-driver seems to have problems in FreeBSD 11.0-CURRENT
#2 r271869: Fri Sep 19 13:28:03 CEST 2014 amd64, on Lenovo ThinkPad Edge E540 laptop with
CPU i5-4200M (Haswell) with integrated HD4600 Intel iGPU and dedicated nVidia GT 740M
(Optimus) working correctly.

The systems boots FreeBSD off via UEFI.

First of all: I tried versions 340.24, 340.32 and Beta 343.13 all with the very same
results.

Symptoms:

a) Loading kernel module "nvidia" via /boot/load.conf freezes the system after the
UEFI/EFI loader message shows up. Loading the kernel module vi kld_load=
in /etc/rc.conf[.local] works so far regarding loading and booting the kernel.

b) No display socket is recognized by the nvidia driver resulting in a blank vt() screen
after X has been started. I tried many different configurations, but at the end I suspect
that nVidia's "Optimus" technology may be the culprit.

The documentation of nVidia's driver for FreeBSD states that after the Xserver has
started it logs in Xorg.0.log (or whatever display number is used) the available display
sockets like (taken from the documents):

(--) NVIDIA(0): Valid display device(s) on Quadro 6000 at PCI:10:0:0
(--) NVIDIA(0):     CRT-0
(--) NVIDIA(0):     CRT-1
(--) NVIDIA(0):     DELL U2410 (DFP-0) (connected)
(--) NVIDIA(0):     NEC LCD1980SXi (DFP-1) (connected)

Nothing that similar shows up in my environment, but this:

[...]
[    58.656] (--) PCI:*(0:0:2:0) 8086:0416:17aa:502a rev 6, Mem @ 0xf1000000/4194304,
0xe0000000/268435456, I/O @ 0x00006000/64, BIOS @ 0x????????/65536
[    58.659] (--) PCI: (0:1:0:0) 10de:1292:17aa:502a rev 161, Mem @ 0xf0000000/16777216,
0xc0000000/268435456, 0xd0000000/33554432, I/O @ 0x00005000/128
[    58.662] (II) "extmod" will be loaded. This was enabled by default and also specified
in the config file.
[    58.662] (II) "dbe" will be loaded. This was enabled by default and also specified in
the config file.
[...]
[    60.055] (**) NVIDIA(0): Enabling 2D acceleration
[    60.485] (II) NVIDIA(0): NVIDIA GPU GeForce GT 740M (GK208) at PCI:1:0:0 (GPU-0)
[    60.486] (--) NVIDIA(0): Memory: 2097152 kBytes
[    60.486] (--) NVIDIA(0): VideoBIOS: 80.28.25.00.27
[    60.486] (II) NVIDIA(0): Detected PCI Express Link width: 8X
[    60.486] (--) NVIDIA(0): Valid display device(s) on GeForce GT 740M at PCI:1:0:0
[    60.487] (--) NVIDIA(0):     none
[    60.487] (II) NVIDIA(0): Validated MetaModes:
[    60.487] (II) NVIDIA(0):     "NULL"
[    60.487] (II) NVIDIA(0): Virtual screen size determined to be 640 x 480
[    60.488] (WW) NVIDIA(0): Unable to get display device for DPI computation.
[    60.488] (==) NVIDIA(0): DPI set to (75, 75); computed from built-in default
[    60.488] (--) Depth 24 pixmap format is 32 bpp
[    60.489] (II) NVIDIA: Reserving 3072.00 MB of virtual memory for indirect memory
[    60.489] (II) NVIDIA:     access.
[    60.492] (II) NVIDIA(0): Setting mode "NULL"
[    60.493] (EE) NVIDIA(0): Failed to initiate mode change.
[    60.493] (EE) NVIDIA(0): Failed to complete mode change
[    60.553] (II) NVIDIA(0): Built-in logo is bigger than the screen.
[    60.573] (II) Loading extension NV-GLX
[...]

Confusing is that in the lines
[    58.656] (--) PCI:*(0:0:2:0) 8086:0416:17aa:502a rev 6, Mem @ 0xf1000000/4194304,
0xe0000000/268435456, I/O @ 0x00006000/64, BIOS @ 0x????????/65536
[    58.659] (--) PCI: (0:1:0:0) 10de:1292:17aa:502a rev 161, Mem @ 0xf0000000/16777216,
0xc0000000/268435456, 0xd0000000/33554432, I/O @ 0x00005000/128

both, the Intel iGPU HD4600 (PCI:*(0:0:2:0)) and the nVidia dedicated GPU GT 
740M (PCI: (0:1:0:0)) show up.

The more scaring part is then (--) NVIDIA(0): Valid display device(s):

No display device is shown although the notebook has a built-in display, a DisplayPort
port as well as a VGA port. On all nVidia dedicated graphics boards I use on diffrent
other machines with the very same driver EVERY possible connector/socket shows up.

The laptop has EFI/UEFI

EFI Version: 2.31
EFI Firmware: Lenovo (re. 05648)

The problem is present no matter whether the drm2 and i915kms kernel moules are loaded or
not.

What is wrong here? Any chance to get the nVidia GPU to work? I use at the moment
xf86-video-scfb which is a pain in the ass and absolutely not usable, even with a faster
CPU. Under average load the whole laptop screen is like a slide show.

Please CC me.

Thanks in advance,
O. Hartmann

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJUHHIAAAoJEOgBcD7A/5N868AIAKw638uX1D0x+Qyys3sR9ARI
gv+yShpQib6wTmn9b3xQpIvUu+f1DVjwEsiIIw5M/YMfwNXg2Dcnzvg6tprjjOVf
bTuE8ypdbRN57YrArdy116hxjhu8h9D424a2Tm3bVeOkF2z5FXTu0G1UhM1RbHJT
NKPfHJe2CXLq9QCIqjikMo1BoRS8piG0fKq1G6XaLv1gohPYXfnR8CyoayiZMQAw
x5aNpTfvwhh092tryCfkIqlkbLtHgG5op6cMiSkyeCUXst8VursedwniHoq70m8l
5L9aMUGop5zXDLpC2h1naia9jNGnwbMi2O8/dSvI9j9DTKyRkY4wj1C448UpWEY=
=NlDw
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140919201210.72650231.ohartman>