Re: x11/nvidia-driver (340.24/340.32/343.13): nvidia BLOB doesn't recognize any display socket on Lenovo E540/UEFI and FBSD CURRENT

From: Henry Hu <henry.hu.sh_at_gmail.com>
Date: Fri, 19 Sep 2014 14:23:32 -0400
On Fri, Sep 19, 2014 at 2:12 PM, O. Hartmann <ohartman_at_zedat.fu-berlin.de>
wrote:

> 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 _at_
> 0xf1000000/4194304,
> 0xe0000000/268435456, I/O _at_ 0x00006000/64, BIOS _at_ 0x????????/65536
> [    58.659] (--) PCI: (0:1:0:0) 10de:1292:17aa:502a rev 161, Mem _at_
> 0xf0000000/16777216,
> 0xc0000000/268435456, 0xd0000000/33554432, I/O _at_ 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 _at_
> 0xf1000000/4194304,
> 0xe0000000/268435456, I/O _at_ 0x00006000/64, BIOS _at_ 0x????????/65536
> [    58.659] (--) PCI: (0:1:0:0) 10de:1292:17aa:502a rev 161, Mem _at_
> 0xf0000000/16777216,
> 0xc0000000/268435456, 0xd0000000/33554432, I/O _at_ 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.
>

My laptop has an integrated graphics (HD4000) and a nvidia GPU (GT650M). It
also has optimus.
 It has a VGA output, a HDMI output, and the internal LCD.

Using the intel driver, I can use the internal LCD and VGA. Using the
nvidia driver, I can use the HDMI.
To use the nvidia driver, I have to use acpi_call to turn on or initialize
the nvidia card first.

My guess is that my HDMI port is conencted to the nvidia card, and maybe
all the ports on your system are connected to the intel card. It's also
possible that your nvidia card also need some acpi function calls to start.

You may try some linux distro which has the driver for your intel graphics
and check Xorg's log.


> Thanks in advance,
> O. Hartmann
>



-- 
Cheers,
Henry
Received on Fri Sep 19 2014 - 16:24:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:52 UTC