UDL device cannot get its own screen

Ilia Mirkin imirkin at alum.mit.edu
Tue Oct 22 20:57:02 UTC 2019


On Tue, Oct 22, 2019 at 11:50 AM Böszörményi Zoltán <zboszor at pr.hu> wrote:
>
> Hi,
>
> I have the below configuration for an Intel based POS system that,
> while advertises 3 outputs (DP1, VGA1 and HDMI1 with xf86-video-intel),
> only two are usable. DP1 for the built-in touchscreen and VGA1 for
> the external VGA connector.
>
> I wanted to use an USB DisplayLink device as the 3rd output, with all
> three output using its own Screen number, i.e. :0.0 :0.1 and :0.2.
>
> [...]
>
> How can I set up 3 different Screens correctly for 3 separate fullscreen
> applications?
>
> I am using Xorg 1.20.4 patched with the "autobind GPUs to the screen"
> patch from Dave Airlie that at least wakes up the UDL device and makes
> it visible without extra magic with providers/sinks.

If it's being treated as a GPU, that's your first problem for this
kind of setup. You should see modeset(2), in your logs, but I suspect
you're seeing modeset(G0) (the "G" indicates "GPU").

>
> # cat /etc/X11/xorg.conf.d/videocard.conf
> Section "Monitor"
>         Identifier      "Monitor-DP-1"
>         Option          "AutoServerLayout" "on"
>         Option          "Rotate" "normal"
> EndSection
>
> Section "Monitor"
>         Identifier      "Monitor-HDMI-1"
>         Option          "AutoServerLayout" "on"
>         Option          "Rotate" "normal"
> EndSection
>
> Section "Monitor"
>         Identifier      "Monitor-VGA-1"
>         Option          "AutoServerLayout" "on"
>         Option          "Rotate" "normal"
> EndSection
>
> Section "Monitor"
>         Identifier      "DVI-I-1-1"

The others are Monitor-*, this one isn't. You probably want this to be
DVI-I-1, as noted below. I guess you get the extra -1 from seeing it
as a slaved GPU's output in your current configuration.

>         Option          "AutoServerLayout" "on"
>         Option          "Rotate" "normal"
> EndSection
>
> Section "Device"
>         Identifier      "Intel0"
>         Driver          "modesetting"
>         Option          "kmsdev" "/dev/dri/card1"
>         Screen          0
>         Option          "Monitor-DP1" "DP-1"
>         Option          "ZaphodHeads" "DP-1"
> EndSection
>
> Section "Device"
>         Identifier      "Intel1"
>         Driver          "modesetting"
>         Option          "kmsdev" "/dev/dri/card1"
>         Screen          1
>         Option          "Monitor-VGA-1" "VGA-1"
>         Option          "ZaphodHeads" "VGA-1"
> EndSection
>
> # Intentionally not referenced in ServerLayout below
> Section "Device"
>         Identifier      "Intel2"
>         Driver          "modesetting"
>         Option          "kmsdev" "/dev/dri/card1"
>         Option          "Monitor-HDMI-1" "HDMI-1"
>         Option          "ZaphodHeads" "HDMI-1"
> EndSection
>
> Section "Device"
>         Identifier      "UDL"
>         Driver          "modesetting"
>         Option          "kmsdev" "/dev/dri/card0"
>         Screen          2
>         Option          "Monitor-DVI-I-1-1" "DVI-I-1-1"

I think you have an extra -1 in here (and the monitor name doesn't
exist as per above). And I think the "Screen" index is wrong -- it's
not what one tends to think it is, as I recall. I think you can just
drop these lines though.

> EndSection
>
> Section "Screen"
>         Identifier      "SCREEN"
>         Option          "AutoServerLayout" "on"
>         Device          "Intel0"
>         Monitor         "Monitor-DP-1"
>         SubSection      "Display"
>                 Modes   "1024x768"
>                 Depth   24
>         EndSubSection
> EndSection
>
> Section "Screen"
>         Identifier      "SCREEN1"
>         Option          "AutoServerLayout" "on"
>         Device          "Intel1"
>         Monitor         "Monitor-VGA-1"
>         SubSection      "Display"
>                 Modes   "1024x768"
>                 Depth   24
>         EndSubSection
> EndSection
>
> Section "Screen"
>         Identifier      "SCREEN2"
>         Option          "AutoServerLayout" "on"
>         Device          "UDL"
>         Monitor         "Monitor-DVI-I-1-1"
>         SubSection      "Display"
>                 Modes   "1024x768"
>                 Depth   24
>         EndSubSection
> EndSection
>
> Section "ServerLayout"
>         Identifier      "LAYOUT"
>         Option          "AutoServerLayout" "on"
>         Screen          0 "SCREEN"
>         Screen          1 "SCREEN1" RightOf "SCREEN"
>         Screen          2 "SCREEN2" RightOf "SCREEN1"
> EndSection
>
> Best regards,
> Zoltán Böszörményi
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the xorg mailing list