Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

how i made displaylink detect my external monitor #469

Closed
kngharv opened this issue Oct 8, 2020 · 3 comments
Closed

how i made displaylink detect my external monitor #469

kngharv opened this issue Oct 8, 2020 · 3 comments

Comments

@kngharv
Copy link

kngharv commented Oct 8, 2020

I managed to make my displaylink hub detect my external monitor when X11 server is used.

I thought the problem lies upon my xorg setting, thus tried just about every xorg.conf file in the forum, none of them alone worked.

The key, lies upon TWO commands in the documentation.

First command is the following:
xrandr --listproviders

Once you successfully installed the displaylink device driver, you should see "multiple lines" indicate that there are "multiple source," each line represents some sort of "GPU."

Let say your computer have an Intel CPU and a Nvidia GPU card, you should expect to see TWO lines before you install the displaylink driver. Once you install the displaylink driver, you would THINK the two lines will become THREE, as one additional line represents the displaylink GPU.

In my case, I don't have Nvidia nor AMD GPU, thus, I only had one single line before displaylink driver installed.

When I plug in my displaylink hub, instead of two lines as I expected, I got these instead:

xrandr --listproviders
Providers: number : 5
Provider 0: id: 0xcf cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 5 associated providers: 4 name:modesetting
Provider 1: id: 0xa7 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting
Provider 2: id: 0x85 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting
Provider 3: id: 0x63 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting
Provider 4: id: 0x41 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting

The first line was originally labelled "intel." So, I know that thing is a real GPU. But ALL the rest are displaylink "gpus?"

The second line in question is the following:
xrandr --setprovideroutputsource 1 0

I didn't know what this meant until I ran into some article in Arch Linux's forum. This line somehow connect the real intel GPU to the displaylink "output."

My mistake is that I merely follow the document here, and I merely executed:


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

Since I actually have total of FOUR displaylink "sink" or "output," I really need to link ALL of them to the intel GPU.

xrandr --setprovideroutputsource 1 0
xrandr --setprovideroutputsource 2 0
xrandr --setprovideroutputsource 3 0
xrandr --setprovideroutputsource 4 0

it turned out that my external monitors were linked to the "3rd" and "4th" displaylink sink. As soon as I execute xrandr --setprovideroutputsource 3 0, xrandr --setprovideroutputsource 4 0 , my computer detected external monitors.

In short,

  1. execute xrandr --listproviders
  2. count number of providers in your hub
  3. execute xrandr --setprovideroutputsource n times
 xrandr --setprovideroutputsource 1 0
 xrandr --setprovideroutputsource 2 0
 xrandr --setprovideroutputsource 3 0
 .
 .
 .
 .
 xrandr --setprovideroutputsource n 0

where n is the number of additional lines appears when displaylink driver is installed. As an example, if you have total of 5 lines, n would be "4" if you don't have nvidia/amd gpus. If you do have a nvidia/amd gpu and it is not disabled, then, n is 3

Good luck.
ps. the following is my /etc/X11/xorg.conf.d/20-displaylink.conf file


Section "OutputClass"
	Identifier "DisplayLink"
	MatchDriver "evdi"
	Driver "modesetting"
	Option  "AccelMethod" "none"
EndSection

@jdybdahl
Copy link

jdybdahl commented Oct 9, 2020

Well done! This was the last step I needed to make it work!
Thank you so much!

Jorgen

@Barabazs
Copy link
Collaborator

Thank you for your contribution @kngharv !

Repository owner locked as resolved and limited conversation to collaborators Oct 13, 2020
Repository owner deleted a comment from robotard Oct 13, 2020
Repository owner deleted a comment from robotard Oct 13, 2020
Repository owner deleted a comment from jdybdahl Oct 13, 2020
Repository owner deleted a comment from robotard Oct 13, 2020
Repository owner deleted a comment from robotard Oct 13, 2020
@Barabazs
Copy link
Collaborator

Barabazs commented Oct 13, 2020

@robotard @jdybdahl
I'm moving this to a separate issue. Please continue there.
#473

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants