Bug 64661 - udl causes blank screen
Summary: udl causes blank screen
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - non Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_video-dri
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-10 03:46 UTC by Jason Schulz
Modified: 2015-12-30 01:19 UTC (History)
3 users (show)

See Also:
Kernel Version: 3.11.6+
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dmesg (72.95 KB, text/plain)
2013-11-10 03:47 UTC, Jason Schulz
Details
xrandr --verbose (23.59 KB, text/plain)
2013-11-10 03:47 UTC, Jason Schulz
Details

Description Jason Schulz 2013-11-10 03:46:07 UTC
Using the modesetting driver for X, udl no longer outputs a video signal.  This behavior is present in at least 3.11.6, and 3.12.0.  The last known version the behavior was what I would normally expect was 3.10.17.
Comment 1 Jason Schulz 2013-11-10 03:47:01 UTC
Created attachment 114021 [details]
dmesg
Comment 2 Jason Schulz 2013-11-10 03:47:44 UTC
Created attachment 114031 [details]
xrandr --verbose
Comment 3 Jason Schulz 2013-11-10 03:55:33 UTC
Comment on attachment 114031 [details]
xrandr --verbose

the udl driver maps to DVI-0
Comment 4 Alan 2013-11-12 15:34:31 UTC
   4.306110] nvidia: module license 'NVIDIA' taints kernel.
[    4.306112] Disabling lock debugging due to kernel taint
[    4.312028] nvidia 0000:01:00.0: enabling device (0006 -> 0007)
[    4.312079] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=none
[    4.312522] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:01:00.0 on minor 1
[    4.312529] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  331.20  Wed Oct 30 17:43:35 PDT 2013

Please reproduce the bug from a boot without ever loading the Nvidia driver. If you can still reoproduce it then can you update the bug and confirm the adapter in use and what it is connected to (eg is this a panel with USB connector or an adapter to a monitor ?)
Comment 5 Jason Schulz 2013-11-21 04:06:26 UTC
(In reply to Alan from comment #4)
>    4.306110] nvidia: module license 'NVIDIA' taints kernel.
> [    4.306112] Disabling lock debugging due to kernel taint
> [    4.312028] nvidia 0000:01:00.0: enabling device (0006 -> 0007)
> [    4.312079] vgaarb: device changed decodes:
> PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=none
> [    4.312522] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:01:00.0
> on minor 1
> [    4.312529] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  331.20  Wed
> Oct 30 17:43:35 PDT 2013
> 
> Please reproduce the bug from a boot without ever loading the Nvidia driver.
> If you can still reoproduce it then can you update the bug and confirm the
> adapter in use and what it is connected to (eg is this a panel with USB
> connector or an adapter to a monitor ?)

Can't recreate the identical symptom using either nouveau/intel/udl or even intel/udl, which would seem to suggest it isn't actually a bug in udl or even modesetting in general.

There are bugs with nouveau and intel, but the symptoms are obviously different and I'm guessing I should file seperate bug reports.
Comment 6 Jason Schulz 2015-12-05 18:04:58 UTC
Later versions of either the nvidia drivers or kernel have fixed this problem.
Comment 7 Austin Robertson 2015-12-23 05:57:38 UTC
(In reply to Jason Schulz from comment #6)
> Later versions of either the nvidia drivers or kernel have fixed this
> problem.

What versions of the nVidia driver and kernel do you have this working with? I've been trying to resolve the same problem. 

I get the same message in dmesg indicating from udl that the swiotlb buffer is full. Here's the relevant dmesg.debug from my machine:

[  133.947952] [drm:drm_mode_getconnector] [CONNECTOR:22:?]
[  133.947960] [drm:drm_helper_probe_single_connector_modes_merge_bits] [CONNECTOR:22:DVI-I-1]
[  134.107906] [drm:drm_helper_probe_single_connector_modes_merge_bits] [CONNECTOR:22:DVI-I-1] probed modes :
[  134.107916] [drm:drm_mode_debug_printmodeline] Modeline 24:"1920x1080" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x48 0x5
[  134.107920] [drm:drm_mode_debug_printmodeline] Modeline 31:"1280x1024" 75 135000 1280 1296 1440 1688 1024 1025 1028 1066 0x40 0x5
[  134.107925] [drm:drm_mode_debug_printmodeline] Modeline 26:"1280x1024" 60 108000 1280 1328 1440 1688 1024 1025 1028 1066 0x40 0x5
[  134.107929] [drm:drm_mode_debug_printmodeline] Modeline 25:"1152x864" 75 108000 1152 1216 1344 1600 864 865 868 900 0x40 0x5
[  134.107933] [drm:drm_mode_debug_printmodeline] Modeline 32:"1024x768" 75 78800 1024 1040 1136 1312 768 769 772 800 0x40 0x5
[  134.107937] [drm:drm_mode_debug_printmodeline] Modeline 33:"1024x768" 60 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[  134.107941] [drm:drm_mode_debug_printmodeline] Modeline 34:"800x600" 75 49500 800 816 896 1056 600 601 604 625 0x40 0x5
[  134.107945] [drm:drm_mode_debug_printmodeline] Modeline 27:"800x600" 60 40000 800 840 968 1056 600 601 605 628 0x40 0x5
[  134.107949] [drm:drm_mode_debug_printmodeline] Modeline 28:"640x480" 75 31500 640 656 720 840 480 481 484 500 0x40 0xa
[  134.107953] [drm:drm_mode_debug_printmodeline] Modeline 29:"640x480" 60 25200 640 656 752 800 480 490 492 525 0x40 0xa
[  134.107957] [drm:drm_mode_debug_printmodeline] Modeline 30:"720x400" 70 28320 720 738 846 900 400 412 414 449 0x40 0x6
[  134.107990] [drm:drm_mode_getconnector] [CONNECTOR:22:?]
[  134.131440] udl 1-1.4.3:1.0: swiotlb buffer is full (sz: 2097152 bytes)
[  134.131447] DMA: Out of SW-IOMMU space for 2097152 bytes at device 1-1.4.3:1.0
[  134.131825] [drm:drm_mode_addfb2] [FB:37]
[  134.131843] [drm:drm_mode_setcrtc] [CRTC:20]
[  134.131881] [drm:drm_crtc_check_viewport] Invalid fb size 1024x768 for CRTC viewport 1920x1080+0+0.


This is with Linux 4.2.5-1 and nVidia 358.16:

$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  358.16  Mon Nov 16 19:25:55 PST 2015
GCC version:  gcc version 5.2.0 (GCC) 
$ uname -a
Linux archie 4.2.5-1-ARCH #1 SMP PREEMPT Tue Oct 27 08:13:28 CET 2015 x86_64 GNU/Linux
Comment 8 Jason Schulz 2015-12-23 18:23:11 UTC
(In reply to Austin Robertson from comment #7)
> What versions of the nVidia driver and kernel do you have this working with?
> I've been trying to resolve the same problem.

I am currently using version 4.3.3 of the kernel and 358.16 for nvidia drivers.  However this started working correctly somewhere in 3.x.x and/or with a much earlier version of the nvidia drivers.
 
> I get the same message in dmesg indicating from udl that the swiotlb buffer
> is full. Here's the relevant dmesg.debug from my machine:

IIRC, an earlier kernel update resolved that specific issue.  The kernel sources I'm using are Gentoo/Funtoo.
Comment 9 Ben Klopfenstein 2015-12-29 17:45:58 UTC
FWIW, I'm currently experiencing this issue, using a 4.3.3 kernel and nvidia drivers 358.16. I am on Arch, just as the previous reporter, so this could possibly be due to either a patch that arch is using or fixed due to a patch that gentoo is.
Comment 10 Austin Robertson 2015-12-30 01:19:28 UTC
For now, I've been using the nouveau drivers. udl does not have this problem when using nouveau.

Note You need to log in before you can comment on or make changes to this bug.