UDL device cannot get its own screen

Böszörményi Zoltán zboszor at pr.hu
Wed Oct 23 06:41:05 UTC 2019


2019. 10. 22. 22:57 keltezéssel, Ilia Mirkin írta:
> 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").

modeset(2) is the unconnected HDMI-1 output advertised by the Intel chip.
modeset(G0) is UDL.

> 
>>
>> [...]
>> 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.

Indeed. Fixed.

> 
>>          Option          "AutoServerLayout" "on"
>>          Option          "Rotate" "normal"
>> 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.

Without "Screen N" lines, all the outputs are assigned to :0
so the screen layout setup in the ServerLayout section is not
applied properly.

I have read Dave Airlie's patch (that has been accepted into Xorg
1.21.0) more closely, and it indeed binds UDL to DISPLAY=:0
I think this patch needs a followup patch so it would use the
screen ID specified in the Device section.

> 
>> 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 dri-devel mailing list