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