UDL device cannot get its own screen
Böszörményi Zoltán
zboszor at pr.hu
Tue Nov 5 14:22:42 UTC 2019
Hi,
2019. 10. 23. 15:32 keltezéssel, Ilia Mirkin írta:
> On Wed, Oct 23, 2019 at 2:41 AM Böszörményi Zoltán <zboszor at pr.hu> wrote:
>>
>> 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:
>>>> 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.
>>
>
> As I remember it, the Screen here is for ZaphodHeads-type
> configurations, and it indicates which head you're supposed to use of
> the underlying device. My suggestion was to only remove it here, not
> everywhere.
Okay, but it still doesn't create a working setup.
In the meantime I switched to the GIT version of Xorg, but
it didn't make a difference (for now).
I decided to start from a mostly clean configuration, whatever default
settings or drivers are used. It's modesetting across the board.
The configuration file has just this:
=====================================
Section "ServerFlags"
Option "AutoBindGPU" "true/false"
EndSection
=====================================
Xorg.0.log has these lines (same as 1.20.4), regardless of the AutoBindGPU setting:
... all 3 monitors' EDID data is read and okay ...
[ 879.136] (II) modeset(G0): Damage tracking initialized
[ 879.140] (II) modeset(0): Damage tracking initialized
[ 879.140] (II) modeset(0): Setting screen physical size to 609 x 270
modeset(G0) is UDL and there is no "screen physical size" set for it.
xrandr shows 3 outputs for Intel and 1 for UDL. UDL doesn't have an active mode set:
# DISPLAY=:0 xrandr
Screen 0: minimum 320 x 200, current 2304 x 1024, maximum 8192 x 8192
VGA-1 connected primary 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
1280x1024 60.02*+
1152x864 75.00
1024x768 75.03 60.00
832x624 74.55
800x600 75.00 60.32
640x480 75.00 59.94
720x400 70.08
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1024x768+1280+0 (normal left inverted right x axis y axis) 304mm x 228mm
1024x768 60.00*+
DVI-I-1-1 connected (normal left inverted right x axis y axis)
1920x1080 60.00 +
1680x1050 59.88
1280x1024 75.02 60.02
1440x900 74.98 59.90
1280x720 60.00
1024x768 75.03 60.00
800x600 75.00 60.32
640x480 75.00 72.81 66.67 59.94
720x400 70.08
1280x1024 (0x44) 108.000MHz +HSync +VSync
h: width 1280 start 1328 end 1440 total 1688 skew 0 clock 63.98KHz
v: height 1024 start 1025 end 1028 total 1066 clock 60.02Hz
1024x768 (0x48) 78.750MHz +HSync +VSync
h: width 1024 start 1040 end 1136 total 1312 skew 0 clock 60.02KHz
v: height 768 start 769 end 772 total 800 clock 75.03Hz
1024x768 (0x49) 65.000MHz -HSync -VSync
h: width 1024 start 1048 end 1184 total 1344 skew 0 clock 48.36KHz
v: height 768 start 771 end 777 total 806 clock 60.00Hz
800x600 (0x4a) 49.500MHz +HSync +VSync
h: width 800 start 816 end 896 total 1056 skew 0 clock 46.88KHz
v: height 600 start 601 end 604 total 625 clock 75.00Hz
800x600 (0x4b) 40.000MHz +HSync +VSync
h: width 800 start 840 end 968 total 1056 skew 0 clock 37.88KHz
v: height 600 start 601 end 605 total 628 clock 60.32Hz
640x480 (0x4c) 31.500MHz -HSync -VSync
h: width 640 start 656 end 720 total 840 skew 0 clock 37.50KHz
v: height 480 start 481 end 484 total 500 clock 75.00Hz
640x480 (0x4f) 25.175MHz -HSync -VSync
h: width 640 start 656 end 752 total 800 skew 0 clock 31.47KHz
v: height 480 start 490 end 492 total 525 clock 59.94Hz
720x400 (0x50) 28.320MHz -HSync +VSync
h: width 720 start 738 end 846 total 900 skew 0 clock 31.47KHz
v: height 400 start 412 end 414 total 449 clock 70.08Hz
#
I can't actually set a mode for it manually:
# DISPLAY=:0 xrandr --output DVI-I-1-1 --mode 1280x1024
xrandr: Configure crtc 2 failed
So, for some reason, while the output is there, the monitor is detected
via EDID, there is no CRTC assigned to it.
With AutoBindGPU=false, the UDL device is not actually activated,
despite the lines present about modeset(G0) with EDID detected and so on.
# DISPLAY=:0 xrandr
Screen 0: minimum 320 x 200, current 2304 x 1024, maximum 8192 x 8192
VGA-1 connected primary 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
1280x1024 60.02*+
1152x864 75.00
1024x768 75.03 60.00
832x624 74.55
800x600 75.00 60.32
640x480 75.00 59.94
720x400 70.08
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1024x768+1280+0 (normal left inverted right x axis y axis) 304mm x 228mm
1024x768 60.00*+
#
The explicit mode setting fails with a different (but expected) error:
# DISPLAY=:0 xrandr --output DVI-I-1-1 --mode 1280x1024
warning: output DVI-I-1-1 not found; ignoring
Something is wrong somewhere in the server code.
Best regards,
Zoltán Böszörményi
More information about the dri-devel
mailing list