Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-65457

Improper handling of TILED displays (4K / 5K / 8K etc.) / support for RandR v1.5

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • 6.3
    • 5.15.0
    • QPA: X11/XCB
    • None
    • OS/Distribution: Arch Linux
      Driver: Nvidia 450.57
      DM: SDDM
      WM: KDE

      Monitor: Dell UP2715K (5K tiled)
    • 9a4c98e55659b32db984612e6247ac193812a502

    Description

      There are a number of 4K and 5K monitors on the market and also lately one 8K monitor which are presented to X11 clients as two separate outputs ("tiles") due to DisplayPort bandwidth restrictions. (they are required to be connected with two cables) To handle such monitors a "monitor" concept and "TILE" property have been added to RandR since v1.5. (see for details: https://keithp.com/blogs/MST-monitors/ )

      Currently QT ignores these concepts and just deals with each output as two separate side-by-side displays. This results in all kinds of problems: e.g. two side-by-side login screens in sddm on one physical monitor, plasma panel stretches over only half of the screen, windows maximize to only one half of the screen etc.

      Gnome Mutter works with such monitors properly and so should QT. It should make use of the "monitors" concept when defined (see an example below) and treat such displays as one whole monitor rather than two separate parts.

      Relevant information:

      1. https://devtalk.nvidia.com/default/topic/1024719/unix-graphics-announcements-and-news/linux-solaris-and-freebsd-driver-387-12-beta-/

      • Tiled monitors formerly resulted in a separate Xinerama screen being reported for each tile. They will now, by default, be combined into a single large Xinerama screen.
      • The individual panels in a tiled monitor will now be arranged based on the layout information provided in the monitor's EDID. This can be overridden by either manually specifying offsets or using the "MetaModeOrientation" option.

       

       

      2. xrandr output for Dell UP2715K (5K monitor, DP-0 and DP-2 are two tiles of the same physical monitor):

      $ xrandr --listmonitors

      Monitors: 1 
      0: +Auto-Monitor-4c454440b638353853 5120/600x2880/340+0+0  DP-0 DP-2
      

      $ xrandr 

      Screen 0: minimum 8 x 8, current 5120 x 2880, maximum 32767 x 32767 
      DVI-D-0 disconnected (normal left inverted right x axis y axis) 
      HDMI-0 disconnected (normal left inverted right x axis y axis) 
      HDMI-1 disconnected (normal left inverted right x axis y axis) 
      DP-0 connected primary 2560x2880+0+0 (normal left inverted right x axis y axis) 600mm x 340mm 
        848x480       59.74 + 
        2560x2880     59.98*   29.99   
      DP-1 disconnected (normal left inverted right x axis y axis) 
      DP-2 connected 2560x2880+2560+0 (normal left inverted right x axis y axis) 600mm x 340mm 
        2560x1440     59.95 + 
        3840x2160     60.00    60.00   
        2560x2880     59.98*   29.99   
        1920x1200     59.88   
        1920x1080     60.00   
        1680x1050     59.95   
        1600x1200     60.00   
        1280x1024     60.02   
        1280x800      59.81   
        1024x768      60.00   
        800x600       60.32   
        640x480       59.95    59.94   
      DP-3 disconnected (normal left inverted right x axis y axis)
      

      $ xrandr --prop

      Screen 0: minimum 8 x 8, current 5120 x 2880, maximum 32767 x 32767 
      DVI-D-0 disconnected (normal left inverted right x axis y axis) 
             CscMatrix: 65536 0 0 0 0 65536 0 0 0 0 65536 0  
             BorderDimensions: 4  
                     supported: 4 
             Border: 0 0 0 0  
                     range: (0, 65535) 
             SignalFormat: TMDS  
                     supported: TMDS 
             ConnectorType: DVI-D  
             ConnectorNumber: 0  
             _ConnectorLocation: 0  
      HDMI-0 disconnected (normal left inverted right x axis y axis) 
             CscMatrix: 65536 0 0 0 0 65536 0 0 0 0 65536 0  
             BorderDimensions: 4  
                     supported: 4 
             Border: 0 0 0 0  
                     range: (0, 65535) 
             SignalFormat: TMDS  
                     supported: TMDS 
             ConnectorType: HDMI  
             ConnectorNumber: 3  
             _ConnectorLocation: 3  
      HDMI-1 disconnected (normal left inverted right x axis y axis) 
             CscMatrix: 65536 0 0 0 0 65536 0 0 0 0 65536 0  
             BorderDimensions: 4  
                     supported: 4 
             Border: 0 0 0 0  
                     range: (0, 65535) 
             SignalFormat: TMDS  
                     supported: TMDS 
             ConnectorType: HDMI  
             ConnectorNumber: 4  
             _ConnectorLocation: 4  
      DP-0 connected primary 2560x2880+0+0 (normal left inverted right x axis y axis) 600mm x 340mm 
             CscMatrix: 65536 0 0 0 0 65536 0 0 0 0 65536 0  
             TILE: 453 1 2 1 0 0 2560 2880  
             EDID:  
                     00ffffffffffff0010acb64053383538 
                     1d1a0104b53c22783a7225ac5033b726 
                     0b505400000001010101010101010101 
                     0101010101019f0b50a030e00e103020 
                     350055502100001a000000ff00334438 
                     463836374a383538530a000000fc0044 
                     454c4c205550323731354b0a000000fd 
                     001d4b1fb436010a20202020202001a7 
                     701279000012001680100000ff093f0b 
                     000000000044454cb640533835380300 
                     28105d0004ff099f002f801f003f0b28 
                     0002000900c4bc0004ff099f002f801f 
                     003f0b51000200090000000000000000 
                     00000000000000000000000000000000 
                     00000000000000000000000000000000 
                     00000000000000000000000000007b90 
             BorderDimensions: 4  
                     supported: 4 
             Border: 0 0 0 0  
                     range: (0, 65535) 
             SignalFormat: DisplayPort  
                     supported: DisplayPort 
             ConnectorType: DisplayPort  
             ConnectorNumber: 2  
             _ConnectorLocation: 2  
        848x480       59.74 + 
        2560x2880     59.98*   29.99   
      DP-1 disconnected (normal left inverted right x axis y axis) 
             CscMatrix: 65536 0 0 0 0 65536 0 0 0 0 65536 0  
             BorderDimensions: 4  
                     supported: 4 
             Border: 0 0 0 0  
                     range: (0, 65535) 
             SignalFormat: TMDS  
                     supported: TMDS 
             ConnectorType: DisplayPort  
             ConnectorNumber: 2  
             _ConnectorLocation: 2  
      DP-2 connected 2560x2880+2560+0 (normal left inverted right x axis y axis) 600mm x 340mm 
             CscMatrix: 65536 0 0 0 0 65536 0 0 0 0 65536 0  
             TILE: 453 1 2 1 1 0 2560 2880  
             EDID:  
                     00ffffffffffff0010acb64053383538 
                     1d1a0104b53c22783a7225ac5033b726 
                     0b50542108008100b300d100a9408180 
                     d1c001010101565e00a0a0a029503020 
                     350055502100001a000000ff00334438 
                     463836374a383538530a000000fc0044 
                     454c4c205550323731354b0a000000fd 
                     001d4b1fb436010a20202020202002c4 
                     02030cf123090707830100004dd000a0 
                     f0703e805020650c555021000018565e 
                     00a0a0a029503020350055502100001a 
                     00000000000000000000000000000000 
                     00000000000000000000000000000000 
                     00000000000000000000000000000000 
                     00000000000000000000000000000000 
                     00000000000000000000000000000034 
                     701279000012001682101000ff093f0b 
                     000000000044454cb640533835380300 
                     3c4cd00084ff0e9f002f801f006f083d 
                     0002000400105d0004ff099f002f801f 
                     003f0b280002000900c4bc0004ff099f 
                     002f801f003f0b51000200090007000a 
                     08810008040004021000000000000000 
                     0000000000000000000000000000c590 
             BorderDimensions: 4  
                     supported: 4 
             Border: 0 0 0 0  
                     range: (0, 65535) 
             SignalFormat: DisplayPort  
                     supported: DisplayPort 
             ConnectorType: DisplayPort  
             ConnectorNumber: 1  
             _ConnectorLocation: 1  
        2560x1440     59.95 + 
        3840x2160     60.00    60.00   
        2560x2880     59.98*   29.99   
        1920x1200     59.88   
        1920x1080     60.00   
        1680x1050     59.95   
        1600x1200     60.00   
        1280x1024     60.02   
        1280x800      59.81   
        1024x768      60.00   
        800x600       60.32   
        640x480       59.95    59.94   
      DP-3 disconnected (normal left inverted right x axis y axis) 
             CscMatrix: 65536 0 0 0 0 65536 0 0 0 0 65536 0  
             BorderDimensions: 4  
                     supported: 4 
             Border: 0 0 0 0  
                     range: (0, 65535) 
             SignalFormat: TMDS  
                     supported: TMDS 
             ConnectorType: DisplayPort  
             ConnectorNumber: 1  
             _ConnectorLocation: 1
      

       

       

       

      Attachments

        1. xorg.conf.txt
          2 kB
        2. xrandr.txt
          0.9 kB
        3. xrandr--listmonitors.txt
          0.1 kB
        4. xrandr--prop.txt
          5 kB

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              liaqi Liang Qi
              michael9999x Michael K
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes