USB2VGA SIS or Displaylink DL-165

Böszörményi Zoltán zboszor at pr.hu
Thu Jan 2 12:36:35 UTC 2020


Hi,

2020. 01. 01. 16:46 keltezéssel, KKing írta:
> I'm trying to get some USB to VGA adapters working with Mint LMDE2 or pure Debian 9 (LXDE) 
> units.
> 
> I have two that I believe are SIS based chips and one that is Displaylink DL-165 based.
> 
> When I plug one of the SIS into the unit I get a red border around a black screen, the 
> other SIS one the same although it has alternating black and white horizontal stripes.
> The displaylink one gets a green screen.
> 
> Most answers I can find say this is all fine and then make changes to the xorg.conf.d file 
> ....
> But I do not have such a file.
> It looks like I am supposed to be excerpts of the changes into discrete separate files 
> with a folder called xorg.conf.d though I'm not sure what content I should put in and 
> where as there appears to be two locations.
> /etc/X11/   or  /usr/share/X11
> I have made some attempts but nothing made a noticeable difference.
> 
> MrMazda over at LinuxQuestions got me to try various things and has suggested this forum.
> 
> Below is some further information from one unit using one of the SIS based units.
> 
> Any suggestions on what I should attempt next or if more information is required in order 
> to assist.
> 
> Or advise if there are reasons why these pieces of hardware may never work with newer 
> distros?

I had similar issues. I had to build a modified kernel to allow
large amount of data to be sent through via USB. Since Celerons
do not have built-in IOTLB hardware, SWIOTLB is used for them but
it limits the amount data that can be copied from high RAM addresses
to lower address that DMA can work from.

The change was:

==========================================================================
--- linux-5.3.9/include/linux/swiotlb.h~	2019-11-06 13:09:35.000000000 +0100
+++ linux-5.3.9/include/linux/swiotlb.h	2019-11-08 13:20:01.575338124 +0100
@@ -21,7 +21,7 @@
   * must be a power of 2.  What is the appropriate value ?
   * The complexity of {map,unmap}_single is linearly dependent on this value.
   */
-#define IO_TLB_SEGSIZE	128
+#define IO_TLB_SEGSIZE	4096

  /*
   * log of the size of each IO TLB slab.  The number of slabs is command line
==========================================================================

Without this patch, 8MB framebuffer data is refused by the SWIOTLB driver
to be sent.

Then I had these changes for Xorg:
https://gitlab.freedesktop.org/xorg/xserver/merge_requests/335
https://gitlab.freedesktop.org/xorg/xserver/merge_requests/336
https://gitlab.freedesktop.org/xorg/xserver/merge_requests/337

Merge request #335 elevates the Option "kmsdev" setting for
the modesetting driver to be considered by the X server core code
when setting up screens for individual drivers. Without this,
the UDL device cannot be set up as a standalone framebuffer screen,
either as part of a larger Xinerama screen or on its own. The current
code only considers the BusID settings but DisplayLink is not a
PCI device and its BusID is not stable when plugged into a different
socket.

Merge request #336 adds "USB:" prefix handling to BusID, but I still
prefer Option "kmsdev".

Merge request #337 removes hardcoding Screen 0 when setting up screens,
so the kind of setup as below works. Screens :0, :0.1 and :0.2 are
usable with different fullscreen apps on each in a kiosk-ish setup.

Section "Screen"
	Identifier	"SCREEN"
	Option		"AutoServerLayout" "on"
	Device		"Intel1"
	...
EndSection

Section "Screen"
	Identifier	"SCREEN1"
	Option		"AutoServerLayout" "on"
	Device		"Intel2"
	...
EndSection

Section "Screen"
	Identifier	"SCREEN2"
	Option		"AutoServerLayout" "on"
	Device		"UDL"
	...
EndSection

Section "ServerLayout"
	Identifier	"LAYOUT"
	Option		"AutoServerLayout" "on"
	Screen		0 "SCREEN"
	Screen		1 "SCREEN1" RightOf "SCREEN"
	Screen		2 "SCREEN2" RightOf "SCREEN1"
EndSection

#335 and #337 are applicable to 1.20.x, too.

Best regards,
Zoltán Böszörményi

> 
> K.
>   - - - - - -
> 
> $ uname -a
> Linux unit03 3.16.0-10-586 #1 Debian 3.16.76-1 (2019-11-12) i686 GNU/Linux
> 
> $ xrandr --listproviders
> Providers: number : 1
> Provider 0: id: 0x43 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 
> 2 associated providers: 0 name:Intel
> 
> $ xrandr --listmonitors
> Monitors: 2
>   0: +*LVDS1 1366/340x768/190+0+0  LVDS1
>   1: +HDMI1 1920/620x1080/340+0+0  HDMI1
> 
> $ lsusb
> Bus 002 Device 007: ID 0711:0900 Magic Control Technology Corp. SVGA Adapter
> 
> $ sudo dmesg
> [ 4057.600073] usb 2-1: new high-speed USB device number 7 using ehci-pci
> [ 4057.732459] usb 2-1: New USB device found, idVendor=0711, idProduct=0900
> [ 4057.732474] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
> [ 4059.166546] usb 2-1: USB2VGA dongle found at address 7
> [ 4059.167412] usb 2-1: Allocated 8 output buffers
> [ 4059.284084] usb 2-1: 8MB 1 ch/1 r SDR SDRAM, bus width 32
> [ 4059.935648] usbcore: registered new interface driver sisusb
> 
> $ inxi -V
> inxi 3.0.37-00 (2019-11-19)
> 
> $ inxi -Gxx
> Graphics: Device-1: Intel 2nd Generation Core Processor Family Integrated Graphics vendor: 
> Holco Enterprise Co /Shuttle
> driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:0106
> Display: server: X.Org 1.19.2 driver: 
> amdgpu,ati,fbdev,intel,modesetting,nouveau,radeon,sisusb,vesa,vmware
> resolution: 1366x768~60Hz, 1920x1080~60Hz
> OpenGL: renderer: Mesa DRI Intel Sandybridge Mobile v: 3.3 Mesa 13.0.6 compat-v: 3.0 
> direct render: Yes
> 
> 
> $ sudo lspci -nnk | grep -i -A4 VGA
> 00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor 
> Family Integrated Graphics Controller [8086:0106] (rev 09)
> Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer 2nd Generation Core Processor Family 
> Integrated Graphics Controller [1297:2027]
> Kernel driver in use: i915
> Kernel modules: i915
> 00:16.0 Communication controller [0780]: Intel Corporation 7 Series/C216 Chipset Family 
> MEI Controller #1 [8086:1e3a] (rev 04)
> 
> 
> $ sudo lspci -nnk | grep -i -A4 graphics
> 00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor 
> Family Integrated Graphics Controller [8086:0106] (rev 09)
> Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer 2nd Generation Core Processor Family 
> Integrated Graphics Controller [1297:2027]
> Kernel driver in use: i915
> Kernel modules: i915
> 00:16.0 Communication controller [0780]: Intel Corporation 7 Series/C216 Chipset Family 
> MEI Controller #1 [8086:1e3a] (rev 04)
> Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer 7 Series/C216 Chipset Family MEI 
> Controller [1297:2027]
> 
> $ xrandr
> Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
> LVDS1 connected primary (normal left inverted right x axis y axis)
> 1366x768 60.01 +
> 1360x768 59.96
> 1024x768 60.00
> 1024x576 60.00
> 960x540 60.00
> 800x600 60.32 56.25
> 864x486 60.00
> 640x480 59.94
> 720x405 60.00
> 680x384 60.00
> 640x360 60.00
> DP1 disconnected (normal left inverted right x axis y axis)
> HDMI1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 620mm x 340mm
> 1920x1080 60.00* 50.00 50.00 59.94
> 1920x1080i 60.00 50.00 59.94
> 1680x1050 59.88
> 1280x1024 75.02 60.02
> 1440x900 74.98 59.90
> 1280x960 60.00
> 1280x720 60.00 50.00 59.94
> 1024x768 75.03 60.00
> 800x600 75.00 60.32
> 720x576 50.00
> 720x576i 50.00
> 720x480 60.00 59.94
> 720x480i 60.00 59.94
> 640x480 75.00 72.81 66.67 60.00 59.94
> 720x400 70.08
> VGA1 disconnected (normal left inverted right x axis y axis)
> VIRTUAL1 disconnected (normal left inverted right x axis y axis)
> 
> 
> re log, there was one in ~/.local/share/xorg/
> 
> X.Org X Server 1.19.2
> Release Date: 2017-03-02
> [ 19.959] X Protocol Version 11, Revision 0
> [ 19.959] Build Operating System: Linux 4.9.0-8-amd64 x86_64 Debian
> [ 19.959] Current Operating System: Linux unit190427A 4.9.0-11-amd64 #1 SMP Debian 
> 4.9.189-3+deb9u2 (2019-11-11) x86_64
> [ 19.959] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.9.0-11-amd64 
> root=UUID=02d1f8ff-bc83-4c09-86a5-ca154f5330d9 ro quiet
> [ 19.959] Build Date: 03 November 2018 03:09:11AM
> [ 19.959] xorg-server 2:1.19.2-1+deb9u5 (https://www.debian.org/support)
> [ 19.959] Current version of pixman: 0.34.0
> 
> [ 19.980] (==) Using config file: "/etc/X11/xorg.conf"
> [ 19.980] (==) Using config directory: "/etc/X11/xorg.conf.d"
> [ 19.981] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
> [ 19.987] (==) ServerLayout "X.org Configured"
> [ 19.987] (**) |-->Screen "Screen0" (0)
> [ 19.987] (**) | |-->Monitor "Monitor0"
> [ 19.987] (**) | |-->Device "Card0"
> [ 19.987] (**) |-->Screen "Screen1" (1)
> [ 19.987] (**) | |-->Monitor "Monitor1"
> [ 19.987] (**) | |-->Device "Device1"
> [ 19.987] (**) |-->Input Device "Mouse0"
> [ 19.987] (**) |-->Input Device "Keyboard0"
> 
> [ 20.047] (II) LoadModule: "sisusb"
> [ 20.047] (II) Loading /usr/lib/xorg/modules/drivers/sisusb_drv.so
> [ 20.048] (II) Module sisusb: vendor="X.Org Foundation"
> [ 20.048] compiled for 1.19.1, module version = 0.9.7
> [ 20.048] Module class: X.Org Video Driver
> [ 20.048] ABI class: X.Org Video Driver, version 23.0
> [ 20.048] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
> i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G,
> 915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,
> Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33,
> GM45, 4 Series, G45/G43, Q45/Q43, G41, B43
> [ 20.048] (II) intel: Driver for Intel(R) HD Graphics
> [ 20.048] (II) intel: Driver for Intel(R) Iris(TM) Graphics
> [ 20.048] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics
> [ 20.048] (II) SISUSB: driver for SiSUSB chipsets: SIS315E/PRO USB
> [ 20.049] xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
> 
> [ 20.051] (WW) Falling back to old probe method for sisusb
> [ 20.051] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
> [ 20.052] (--) intel(0): Integrated Graphics Chipset: Intel(R) HD Graphics 2000
> [ 20.052] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3, sse4.1, sse4.2; using a maximum 
> of 2 threads
> [ 20.052] (==) intel(0): Depth 24, (--) framebuffer bpp 32
> [ 20.052] (==) intel(0): RGB weight 888
> [ 20.052] (==) intel(0): Default visual is TrueColor
> [ 20.053] (II) intel(0): Output LVDS1 using monitor section Monitor0
> [ 20.064] (**) intel(0): Found backlight control interface intel_backlight (type 'raw') 
> for output LVDS1
> [ 20.064] (II) intel(0): Enabled output LVDS1
> [ 20.064] (II) intel(0): Output VGA1 has no monitor section
> [ 20.065] (II) intel(0): Enabled output VGA1
> [ 20.065] (II) intel(0): Output HDMI1 has no monitor section
> [ 20.065] (II) intel(0): Enabled output HDMI1
> [ 20.065] (II) intel(0): Output DP1 has no monitor section
> [ 20.065] (II) intel(0): Enabled output DP1
> [ 20.065] (--) intel(0): Using a maximum size of 256x256 for hardware cursors
> [ 20.065] (II) intel(0): Output VIRTUAL1 has no monitor section
> [ 20.065] (II) intel(0): Enabled output VIRTUAL1
> [ 20.065] (--) intel(0): Output LVDS1 using initial mode 1366x768 on pipe 0
> [ 20.065] (--) intel(0): Output HDMI1 using initial mode 1920x1080 on pipe 1
> [ 20.066] (==) intel(0): TearFree disabled
> [ 20.066] (==) intel(0): Using gamma correction (1.0, 1.0, 1.0)
> [ 20.066] (==) intel(0): DPI set to (96, 96)
> 
> [ 20.100] (II) UnloadModule: "sisusb"
> [ 20.100] (II) Unloading sisusb
> 
> 
> _______________________________________________
> xorg at lists.x.org: X.Org support
> Archives: http://lists.freedesktop.org/archives/xorg
> Info: https://lists.x.org/mailman/listinfo/xorg
> Your subscription address: %(user_address)s



More information about the xorg mailing list