PDA

View Full Version : NVIDIA Proprietary Driver supports KMS now - can the DisplayLink driver support it?


jepster
11-08-2016, 03:29 PM
Hi,

as you can read in the announcement at https://devtalk.nvidia.com/default/topic/925605/linux/nvidia-364-12-release-vulkan-glvnd-drm-kms-and-eglstreams/, the DisplayLink driver could work with the driver from Nvidia - the proprietary driver. As I was reading the KMS issue in the forum.

As the announcement said, I was executing

sudo modprobe -r nvidia-drm
sudo modprobe nvidia-drm modeset=1

on Ubuntu 16.10. But with no success after restart. Has anyone succeed? I was reading that some guys got the displays somehow working with the proprietary driver and the docking station.

Please share your findings. I would like to use the "official" driver from Nvidia and not the "tinkerer" version.

luiset83
11-17-2016, 08:36 PM
with no success after restart.

Have not tried myself yet, but presumably adding the commands to your kernel options would work. something like... nvidia-drm.modeset=1

For ubuntu, I believe edit /etc/default/grub and add the parameter there and then: sudo update-grub

jepster
11-21-2016, 08:43 AM
I have set the

nvidia-drm modeset=1

option in the

/etc/default/grub

file. This is the content of the grub-file:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.modset=1 log_buf_len=1M nvidia-drm.modeset=1"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"


The

sudo update-grub

command has been also executed.

However, the external screens are not found via the Dell USB Dock 3.0 D3100 after a restart of the system.

mlukaszek
11-21-2016, 10:12 AM
What's the output of xrandr --listproviders
What happens if you use xrandr --setprovideroutputsource 1 0
?

Cheers,
Michal

jepster
11-22-2016, 08:06 AM
peter@computer:~$ xrandr --listproviders
Providers: number : 3
Provider 0: id: 0x206 cap: 0x1, Source Output crtcs: 4 outputs: 2 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x46 cap: 0x2, Sink Output crtcs: 3 outputs: 4 associated providers: 1 name:modesetting
Provider 2: id: 0x46 cap: 0x2, Sink Output crtcs: 3 outputs: 4 associated providers: 1 name:modesetting
peter@computer:~$

peter@computer:~$ xrandr --setprovideroutputsource 1 0
peter@computer:~$

After I insert this command, there is no signal sent to the 2 screens. There is only the laptop screen recognized in the display settings.

mlukaszek
11-22-2016, 09:05 AM
Looks like there's yet another provider number 2. I guess 0 and 1 are for NVIDIA optimus setup, probably 2 will be evdi. So, try with 2 and 0.

Cheers,
Michal

jepster
11-22-2016, 12:15 PM
I have tried

xrandr --setprovideroutputsource 2 0

There is still none of the displays recognized.

mlukaszek
11-22-2016, 12:52 PM
What's the output of `xrandr` after doing the above? Do you see a DVI-*-* connector, if yes, does it look connected or not? Does `xrandr --auto` trigger any change?

Cheers,
Michal

jepster
11-22-2016, 05:15 PM
What's the output of `xrandr` after doing the above?

This is the output:


peter@computer:~$ xrandr --setprovideroutputsource 2 0
peter@computer:~$ xrandr
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected
eDP-1 connected primary 1920x1080+0+0 344mm x 194mm
1920x1080 60.02*+ 59.93 47.99
1680x1050 59.95 59.88
1600x1024 60.17
1400x1050 59.98
1280x1024 60.02
1440x900 59.89
1280x960 60.00
1360x768 59.80 59.96
1152x864 60.00
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
960x600 60.00
960x540 59.99
800x600 60.00 60.32 56.25
840x525 60.01 59.88
800x512 60.17
700x525 59.98
640x512 60.02
720x450 59.89
640x480 60.00 59.94
680x384 59.80 59.96
576x432 60.06
512x384 60.00
400x300 60.32 56.34
320x240 60.05
HDMI-1 disconnected
HDMI-2 disconnected
peter@computer:~$


Do you see a DVI-*-* connector, if yes, does it look connected or not?

"xrandr" does not report any "DVI-" text.

Does `xrandr --auto` trigger any change?

Unfortunately not.

Any further ideas? It would be a real improvement, if the "official" driver from Nvidia would be supported.

mlukaszek
11-23-2016, 05:08 PM
I don't see any connector that would be related to evdi; so I'm curious what would it log from the machine boot, with verbose logging on. (try passing "initial_loglevel=6" via /etc/modprobe.d/evdi.conf)

Regards,
Michal

jepster
11-25-2016, 08:10 AM
/etc/modprobe.d/evdi.conf
There is no such file on my system.

I have tried to edit it via

sudo vim /etc/modprobe.d/evdi.conf

I am using Ubuntu 16.10. What shall I need to do then, to extend the logging information for you?

Which log-file will you need then? I suppose you want me to switch the log-setting, reboot and afterwards post you the log file in this forum-thread.

mlukaszek
11-25-2016, 08:39 AM
Yes, you need to create file and pass an option you'd like to use while loading evdi - see https://wiki.archlinux.org/index.php/kernel_modules#Using_files_in_.2Fetc.2Fmodprobe.d. 2F

The contents of the file should be: options evdi initial_loglevel=6

After rebooting, evdi should be much more chatty in your dmesg log. Providing dmesg log and X logs would hopefully show something interesting.

Regards,
Michal

jepster
11-25-2016, 08:50 AM
I have created the file and added the desired content. After the reboot, I have created an archive with log files by the "DisplayLink Linux Support Tool (1.2.17)" (http://www.displaylink.com/downloads/file?d=68). This zip-archive is attached to my post. Please be so kind and take a look, if my system provides any useful information.

mlukaszek
11-25-2016, 01:50 PM
I don't see evdi being loaded or even attempts to load it, also DisplayLink Manager is not running. Is the driver installed at all?

Cheers,
Michal

jepster
11-25-2016, 02:27 PM
It seems that the driver was somehow not installed. But it "was" definitely installed. May I have uninstalled it accidently. So I have re-installed it.

By typing

xrandr --auto
xrandr --setprovideroutputsource 2 0

I can manage to see 1 screen, which is plugged via the docking station, in the Ubuntu GUI display settings. I had also tried

xrandr --setprovideroutputsource 1 0

with no visible result for me.

But now I can see at least 1 screen from 2 screens plugged in the docking station there. If I plug the other screen directly on the laptop, I can manage to get my two screens getting a signal.

The screen, which is plugged on the docking station, is switched off by default Ubuntu's display settings (the GUI). I can switch it on in the display settings and then it "kind of" works.

What means "kind of"? The mouse-cursor on this screen is slow and sometimes it takes a few seconds until I get feedback. The mouse coursor "hangs" then. So the functionality is not working properly.

After I reboot the system, I need to execute the console commands again and switch on the screen in ubuntu's GUI display settings again.

Well, something works not properly. I have created the logs-archive again and attached it. What is this KMU? Is there a chance to get the screens working properly or must the driver be modified?

P.S: If I plug the screen off, which is plugged in on my laptop, the screen which is plugged in into the docking station reacts quicker. This hangs and slowness disappears then. It seems the system cannot handle one screen directly in the laptop's HDMI port and one screen plugged into the docking station in a "quick reacting" way.

I have also tried to plug in the 1 screen on the docking station into the other port of it. But only 1 specific HDMI port from the docking station works. I have tried all xrandr options which I have mentioned in this post.

jepster
11-29-2016, 08:48 AM
@mlukaszek: Could you please be so kind and reply?

mlukaszek
12-02-2016, 12:34 PM
Looking at the output from xrandr I am not optimistic this can work. On machines we tried so far internally even the NVIDIA driver alone doesn't work when set to modeset-compatible mode (without our driver installed at all).

Cheers,
Michal