PDA

View Full Version : [Gentoo] DisplayManager userland crashing, no displays


mikopp
08-06-2015, 08:26 AM
Hi All,

I've been trying the display link driver on Gentoo:

Kernel: 3.18.14
Xorg: 1.16.4

Module works (usb, ethernet) but I get no new displays in xrandr and DisplayManager userland is crashing with segmentation fault after a minute or two. There is nothing useful in the log, which seems binary data.
Anything I can do to get it work?

Thanks
Mike

mlukaszek
08-06-2015, 08:53 AM
trying the display link driver on Gentoo
(...)
but I get no new displays in xrandr and DisplayManager userland is crashing with segmentation fault after a minute or two. There is nothing useful in the log, which seems binary data.


If you zip the logs from /var/log/displaylink and attach here we may be able figure things out.
If you have a core dump from the crashing app somewhere (exact location depends on a distribution), please compress it and send to us as well.

Thanks,
Michal

mikopp
08-06-2015, 10:31 AM
attached log directory, I will reproduce the crash later to get a core dump, where shall I send it, file going to be bigger I guess.

mlukaszek
08-06-2015, 11:29 AM
attached log directory, I will reproduce the crash later to get a core dump, where shall I send it, file going to be bigger I guess.

Make sure both libevdi.so and libusb-1.0.so.0.1.0 (and the two symlinks to it) are in /usr/lib/displaylink next to DisplayLinkManager application, and that they are all the same (and compatible) type of binaries (32 or 64 bit). Also, DisplayLinkManager must currently be run as root. Not much more I could tell from logs, so it'd be interesting to see the dump.

If you have a file to send that's too big for this forum, it's probably the easiest to use one of the file sharing sites and let us know what the link is.

Thanks,
Michal

mikopp
08-06-2015, 12:31 PM
I ran it as root in 64bit both inside xsession and in a separate terminal. 64bit crashes nearly immediately. core dump and new log attached as zip here.

mikopp
08-06-2015, 12:36 PM
more logs, this time with running it prior to kde-session start, no difference in seg fault, but logs where in install directory as I made it writable for coredump

mlukaszek
08-06-2015, 12:57 PM
Thanks for these. I raised it internally to have a deeper look.

mlukaszek
08-06-2015, 03:22 PM
Are you sure you are running DisplayLink Manager application as a root? It looks like it cannot communicate with evdi kernel driver through the libevdi library.

Thanks,
Michal

mikopp
08-10-2015, 01:23 PM
I did both, user and root, but I'll try again.

mikopp
08-10-2015, 01:33 PM
# loaded module and verified
evdi 23854 0
drm_kms_helper 61022 2 i915,evdi
drm 233198 8 i915,evdi,drm_kms_helper
# ran ran DisplayManager as root, but the xsession was of course already running when I did that.
# connected displaylink via USB, lsusb shows its there
# connected the screen via displayport on the dock, roughly 10-20 seconds later crash.

This time I also see an edid file which represents the screen that I plugged in. part of log.zip

mikopp
08-18-2015, 07:17 AM
any update on this?

mlukaszek
08-18-2015, 08:45 AM
The application is crashing as it would when evdi kernel module is not loaded. We have already fixed the crash for next release, but this does not explain why you experience this if the evdi is indeed loaded.

Can you check if you can access /sys/devices/evdi folder? The application will try to write to files which are exposed there. Any problems with sysfs would be fatal - maybe it is a read-only filesystem?

Also, could you attach your dmesg log - preferably with maximum logging level set for evdi following instructions in http://displaylink.org/forum/showpost.php?p=78130&postcount=5 .

Thanks,
Michal

mikopp
08-18-2015, 09:11 AM
directory is readable by users. Writable by root

ls -la /sys/devices/evdi
total 0
drwxr-xr-x 3 root root 0 18. Aug 10:07 .
drwxr-xr-x 13 root root 0 10. Aug 12:35 ..
--w------- 1 root root 4096 10. Aug 14:27 add
-r--r--r-- 1 root root 4096 18. Aug 10:07 count
-rw-r--r-- 1 root root 4096 18. Aug 10:07 loglevel
lrwxrwxrwx 1 root root 0 18. Aug 10:07 module -> ../../module/evdi
drwxr-xr-x 2 root root 0 11. Aug 12:21 power
--w------- 1 root root 4096 18. Aug 10:07 remove_all
-rw-r--r-- 1 root root 4096 11. Aug 12:21 uevent
-r--r--r-- 1 root root 4096 18. Aug 10:07 version


Sysfs mount: sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)

I'll do another try of evdi in a bit with increased log level and dmesg log

mikopp
08-18-2015, 09:51 AM
attached find the dmesg log, it does contain several errors

mikopp
08-25-2015, 09:03 AM
any update on this? did the last logs reveal anything?

mikopp
09-01-2015, 03:39 PM
I ran with the new version 138. Good news its no longer crashing, but no display in xrandr, no provider. dmesg seems to indicate that the display is not found although I get the correct edid logged again.

new logs and new dmesg

maggu2810
09-02-2015, 09:58 PM
So, I am own a D3100 and using Gentoo, too.

After building and loading evdi.ko and starting DisplayLinkManager I got a few lines in my system log (after a few seconds):

Loading evdi.ko

Sep 02 22:41:13 m3800 kernel: [ ] evdi_init Initialising logging on level 5


After starting DisplayLinkManager

Sep 02 22:41:23 m3800 kernel: [D] add_store increasing device count to 1
Sep 02 22:41:23 m3800 kernel: [D] evdi_crtc_init drm_crtc_init: 0
Sep 02 22:41:23 m3800 kernel: [D] evdi_encoder_init drm_encoder_init: 0
Sep 02 22:41:23 m3800 kernel: [D] evdi_detect Painter is disconnected
Sep 02 22:41:23 m3800 kernel: evdi evdi.0: No connectors reported connected with modes
Sep 02 22:41:23 m3800 kernel: [drm] Cannot find any crtc or sizes - going 1024x768
Sep 02 22:41:23 m3800 kernel: evdi evdi.0: fb1: evdidrmfb frame buffer device
Sep 02 22:41:23 m3800 kernel: [drm] evdi: evdi_stats_init
Sep 02 22:41:23 m3800 kernel: [drm] Initialized evdi 1.0.68 19700101 on minor 1


Then I started my DisplayManager / X and got this two lines in my log:

Sep 02 22:41:35 m3800 kernel: [W] evdi_painter_disconnect (dev=0) An unknown connection to ffff880461ca2e00 tries to close us - ignoring
Sep 02 22:41:36 m3800 kernel: [W] evdi_painter_disconnect (dev=0) An unknown connection to ffff88046d2cf800 tries to close us - ignoring


In the directory of the DisplayLinkManager new files have been added:

DisplayLinkManager.log
DLInstrumentationDirectoryLock
FirmwareTrace.log
FirmwareTrace.old.log
PmMessagesPort_in
PmMessagesPort_out


In the top-directory I also got a file that seems to be the EDID of my attached monitor:

x64Hanns.G HG281_HSD1CF3-922LB3QA01119.edid

But I do not know at which time this file is created.

So, no further success, the monitor is kept blank.
Could I provide you further log stuff (files, ...)?

maggu2810
09-02-2015, 10:09 PM
I would like to use strace to show what is going on.
So I stopped the running DisplayLinkManager while X is still running and started it again using "strace -f ...".
Now I see an additional provider and could use xrandr to activate the monitor output.

So at least it is working, but need to have a further look at the order of the commands.

Log:

Sep 02 23:05:00 m3800 kernel: [D] add_store increasing device count to 2
Sep 02 23:05:00 m3800 kernel: [D] evdi_crtc_init drm_crtc_init: 0
Sep 02 23:05:00 m3800 kernel: [D] evdi_encoder_init drm_encoder_init: 0
Sep 02 23:05:00 m3800 kernel: [D] evdi_detect Painter is disconnected
Sep 02 23:05:00 m3800 kernel: evdi evdi.1: No connectors reported connected with modes
Sep 02 23:05:00 m3800 kernel: [drm] Cannot find any crtc or sizes - going 1024x768
Sep 02 23:05:00 m3800 kernel: evdi evdi.1: fb2: evdidrmfb frame buffer device
Sep 02 23:05:00 m3800 kernel: [drm] evdi: evdi_stats_init
Sep 02 23:05:00 m3800 kernel: [drm] Initialized evdi 1.0.68 19700101 on minor 2
Sep 02 23:05:00 m3800 kernel: [W] evdi_painter_disconnect (dev=0) An unknown connection to ffff88042a424400 tries to close us - ignoring
Sep 02 23:05:00 m3800 kernel: [W] evdi_painter_disconnect (dev=0) An unknown connection to ffff88006731ee00 tries to close us - ignoring
Sep 02 23:05:00 m3800 kernel: [D] evdi_detect Painter is disconnected
Sep 02 23:05:00 m3800 kernel: [D] evdi_detect Painter is disconnected
Sep 02 23:05:00 m3800 kernel: [D] evdi_painter_crtc_state_notify (dev=0) Notifying crtc state: 0
Sep 02 23:05:00 m3800 kernel: [D] evdi_painter_crtc_state_notify (dev=0) Notifying crtc state: 0
Sep 02 23:05:10 m3800 kernel: [W] evdi_painter_disconnect (dev=0) An unknown connection to ffff880460654200 tries to close us - ignoring
Sep 02 23:05:10 m3800 kernel: [D] evdi_painter_connect (dev=2) Connected with ffff880415c1ae00
Sep 02 23:05:10 m3800 kernel: [D] evdi_painter_connect (dev=2) Edid (3 bytes): 00 ff ff
Sep 02 23:05:10 m3800 kernel: [D] evdi_detect (dev=2) Painter is connected
Sep 02 23:05:10 m3800 kernel: [D] evdi_detect (dev=2) Painter is connected
Sep 02 23:05:10 m3800 kernel: [D] evdi_painter_get_edid (dev=2) 00 ff ff
Sep 02 23:05:50 m3800 kernel: [D] evdi_detect (dev=2) Painter is connected
Sep 02 23:05:50 m3800 kernel: [D] evdi_painter_get_edid (dev=2) 00 ff ff
Sep 02 23:06:08 m3800 kernel: [D] evdi_detect (dev=2) Painter is connected
Sep 02 23:06:08 m3800 kernel: [D] evdi_painter_get_edid (dev=2) 00 ff ff
Sep 02 23:06:08 m3800 kernel: [D] evdi_painter_mode_changed_notify (dev=2) Notifying mode changed: 1920x1200@60; bpp 32; pixel format 875713112
Sep 02 23:06:08 m3800 kernel: [D] evdi_painter_crtc_state_notify (dev=2) Notifying crtc state: 1
Sep 02 23:06:08 m3800 kernel: [D] evdi_detect (dev=2) Painter is connected
Sep 02 23:06:08 m3800 kernel: [D] evdi_painter_get_edid (dev=2) 00 ff ff

maggu2810
09-02-2015, 10:20 PM
I rebooted my machine to find the simple steps:


loading evdi kernel module before X has been started
start X server (GNOME session at my current setup)
start "DisplayLinkManager" (currently using root privileges)


Now xrandr shows the provider (listproviders).


$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x49 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 6 associated providers: 0 name:Intel
Provider 1: id: 0x11c cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting


After that is used
xrandr --setprovideroutputsource 1 0

and activated the output "DVI-1-0" after all (in the run before it has been named "DVI-1-1").

All fine.

mikopp
09-03-2015, 10:07 AM
ok I can confirm that after loading module prior to X and of course installing the modesetting driver ;) it works now.

gaya
10-20-2015, 02:55 PM
Just elaborating in case anyone needs easier steps for systemd like me as I didn't know xrandr really well. This post got me on the right track however. I'm happy the displaylink made the effort and released a driver for the D3x because I can't work with Windows efficiently. I tried for 2 months...

If the driver is installed (in my case using a gentoo overlay from maggu2810) you can start the displaylink service with systemctl and add the "evdi" to /etc/modules-load/evdi.conf.

By guessing that you now loaded evdi and started the displaylink service automatically, you may not be able to guess what the display device is called using xrandr. The output and steps for my 3 monitor setup, both connected via HDMI on the D3100 is here:

% xrandr --listproviders
Providers: number : 3
Provider 0: id: 0x94 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 4 associated providers: 2 name:Intel
Provider 1: id: 0x6c cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting
Provider 2: id: 0x41 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting

% xrandr -q
Screen 0: minimum 8 x 8, current 5760 x 1080, maximum 32767 x 32767
eDP1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 409mm x 230mm
1920x1080 60.00*+
1400x1050 59.98
1280x1024 60.02
1280x960 60.00
1024x768 60.00
800x600 60.32 56.25
640x480 59.94
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)


Now after setting the provider source:

xrandr --setprovideroutputsource 1 0
xrandr --setprovideroutputsource 2 0

I can see new devices in xrandr (DVI-2-1 and DVI-1-0):
% xrandr -q
Screen 0: minimum 8 x 8, current 5760 x 1080, maximum 32767 x 32767
eDP1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 409mm x 230mm
1920x1080 60.00*+
1400x1050 59.98
1280x1024 60.02
1280x960 60.00
1024x768 60.00
800x600 60.32 56.25
640x480 59.94
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
DVI-2-1 connected 1920x1080+3840+0 (normal left inverted right x axis y axis) 575mm x 323mm
1920x1080 60.00*+
1024x768 75.08 70.07 60.00
800x600 75.00 60.32
640x480 75.00 60.00
720x400 70.08
DVI-1-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 575mm x 323mm
1920x1080 60.00*+
1024x768 75.08 70.07 60.00
800x600 75.00 60.32
640x480 75.00 60.00
720x400 70.08
1024x768 (0x45) 65.000MHz
h: width 1024 start 1048 end 1184 total 1344 skew 0 clock 48.36KHz
v: height 768 start 771 end 777 total 806 clock 60.00Hz
800x600 (0x47) 40.000MHz
h: width 800 start 840 end 968 total 1056 skew 0 clock 37.88KHz
v: height 600 start 601 end 605 total 628 clock 60.32Hz
1920x1080 (0x42) 148.500MHz
h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 67.50KHz
v: height 1080 start 1084 end 1089 total 1125 clock 60.00Hz
1024x768 (0x43) 78.800MHz
h: width 1024 start 1040 end 1136 total 1312 skew 0 clock 60.06KHz
v: height 768 start 769 end 772 total 800 clock 75.08Hz
1024x768 (0x44) 75.000MHz
h: width 1024 start 1048 end 1184 total 1328 skew 0 clock 56.48KHz
v: height 768 start 771 end 777 total 806 clock 70.07Hz
1024x768 (0x45) 65.000MHz
h: width 1024 start 1048 end 1184 total 1344 skew 0 clock 48.36KHz
v: height 768 start 771 end 777 total 806 clock 60.00Hz
800x600 (0x46) 49.500MHz
h: width 800 start 816 end 896 total 1056 skew 0 clock 46.88KHz
v: height 600 start 601 end 604 total 625 clock 75.00Hz
800x600 (0x47) 40.000MHz
h: width 800 start 840 end 968 total 1056 skew 0 clock 37.88KHz
v: height 600 start 601 end 605 total 628 clock 60.32Hz
640x480 (0x48) 31.500MHz
h: width 640 start 656 end 720 total 840 skew 0 clock 37.50KHz
v: height 480 start 481 end 484 total 500 clock 75.00Hz
640x480 (0x49) 25.200MHz
h: width 640 start 656 end 752 total 800 skew 0 clock 31.50KHz
v: height 480 start 490 end 492 total 525 clock 60.00Hz
720x400 (0x4a) 28.320MHz
h: width 720 start 738 end 846 total 900 skew 0 clock 31.47KHz
v: height 400 start 412 end 414 total 449 clock 70.08Hz


And finally use those monitors:

xrandr --output DVI-1-0 --auto --right-of eDP1
xrandr --output DVI-2-1 --auto --left-of eDP1