Announcement

Collapse
No announcement yet.

Recent, extremely annoying, multimonitor bug, don't know where to report

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Recent, extremely annoying, multimonitor bug, don't know where to report

    Hi, long time lurker, first time poster

    I know some opensource amd devs do read this forum, and I hope to find someone that has a clue on what can cause this bug:
    https://www.youtube.com/watch?v=Tfu_pxRVHag


    I can reproduce every time I open some applications, for example steam games, xonotic, cheese, mostly stuff that uses 3d/hardware acceleration, but I may be wrong, it doesn't have problems with glxgears for example


    First time I noticed this was not more than a month ago, I use ArchLinux, what you see in the video is a totally fresh install done today, so I haven't done any kind of tampering and everything is up to date.

    To fix the problem I sometime have to launch xrandr several time until it gets the screens correctly. It's extremely annoying.


    Linux desktop 4.10.10-1-ARCH #1 SMP PREEMPT Wed Apr 12 18:50:28 CEST 2017 x86_64 GNU/Linux


    glxgears -info
    GL_RENDERER = Gallium 0.4 on AMD POLARIS10 (DRM 3.9.0 / 4.10.10-1-ARCH, LLVM 3.9.1)
    GL_VERSION = 3.0 Mesa 17.0.4
    GL_VENDOR = X.Org


    udevadm monitor
    KERNEL[27984.752899] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [27984.754158] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[27986.477063] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [27986.478061] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[27996.634047] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [27996.635149] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[27996.697710] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [27996.698810] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[27996.701634] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [27996.702629] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[27997.362981] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [27997.363795] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[28007.727374] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [28007.728661] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[28007.789190] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [28007.790389] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[28017.967359] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [28017.968649] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[28018.034883] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [28018.035991] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[28028.420693] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [28028.422252] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[28028.485521] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [28028.486747] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[28030.217258] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [28030.218195] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[28040.367340] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [28040.368500] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[28040.428377] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [28040.429989] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    KERNEL[28067.770139] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)
    UDEV [28067.771151] change /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1 (drm)

    dmesg
    [27931.949295] i2c i2c-10: sendbytes: NAK bailout.
    [27932.103696] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [27932.899756] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [27940.735941] i2c i2c-10: sendbytes: NAK bailout.
    [27952.682685] i2c i2c-10: sendbytes: NAK bailout.
    [27952.837627] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [27953.533409] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [27953.968518] i2c i2c-10: sendbytes: NAK bailout.
    [27954.350033] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [27974.015600] i2c i2c-10: sendbytes: NAK bailout.
    [27974.058865] i2c i2c-12: sendbytes: NAK bailout.
    [27974.171174] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [27974.766208] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [27975.685796] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [27976.131369] i2c i2c-10: sendbytes: NAK bailout.
    [27976.285519] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [27996.713958] i2c i2c-10: sendbytes: NAK bailout.
    [27996.868623] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [27996.907945] i2c i2c-12: sendbytes: NAK bailout.
    [27997.455917] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [28007.625242] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [28007.625862] i2c i2c-12: sendbytes: NAK bailout.
    [28007.887233] i2c i2c-10: sendbytes: NAK bailout.
    [28008.286858] i2c i2c-10: sendbytes: NAK bailout.
    [28017.539749] i2c i2c-12: sendbytes: NAK bailout.
    [28017.689418] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [28018.125159] i2c i2c-12: sendbytes: NAK bailout.
    [28027.986822] i2c i2c-10: sendbytes: NAK bailout.
    [28028.386823] i2c i2c-10: sendbytes: NAK bailout.
    [28039.933182] i2c i2c-10: sendbytes: NAK bailout.
    [28040.088169] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID
    [28040.687587] [drm:amdgpu_connector_dvi_detect [amdgpu]] *ERROR* HDMI-A-4: probed a monitor but no|invalid EDID


    I tried once on budgie and it had problems there too, so I don't think it's related to kde.


    I have no clue where to look, is this an udev bug? linux? amdgpu? randr? xorg?

    Thanks in advance

  • #2
    GPU is a sapphire rx480

    xrandr --current
    Code:
    Screen 0: minimum 320 x 200, current 5760 x 1080, maximum 16384 x 16384
    DisplayPort-2 disconnected (normal left inverted right x axis y axis)
    DisplayPort-3 disconnected (normal left inverted right x axis y axis)
    HDMI-A-2 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 531mm x 299mm
       1920x1080     60.00*+  50.00    59.94  
       1920x1080i    60.00    50.00    59.94  
       1680x1050     59.88  
       1400x1050     59.95  
       1600x900      60.00  
       1280x1024     75.02    60.02  
       1440x900      59.90  
       1280x800      59.91  
       1152x864      75.00  
       1280x720      60.00    50.00    59.94  
       1024x768      75.03    60.00  
       832x624       74.55  
       800x600       75.00    60.32    56.25  
       720x576       50.00  
       720x480       60.00    59.94  
       640x480       75.00    60.00    59.94  
       720x400       70.08  
    HDMI-A-3 connected 1920x1080+3840+0 (normal left inverted right x axis y axis) 531mm x 299mm
       1920x1080     60.00*+  50.00    59.94  
       1920x1080i    60.00    50.00    59.94  
       1680x1050     59.88  
       1400x1050     59.95  
       1600x900      60.00  
       1280x1024     75.02    60.02  
       1440x900      59.90  
       1280x800      59.91  
       1152x864      75.00  
       1280x720      60.00    50.00    59.94  
       1024x768      75.03    60.00  
       832x624       74.55  
       800x600       75.00    60.32    56.25  
       720x576       50.00  
       720x480       60.00    59.94  
       640x480       75.00    60.00    59.94  
       720x400       70.08  
    DVI-D-0 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 521mm x 293mm
       1920x1080     60.00*+
       1680x1050     59.88  
       1280x1024     75.02    60.02  
       1440x900      59.90  
       1280x960      60.00  
       1280x720      60.00  
       1024x768      75.03    70.07    60.00  
       832x624       74.55  
       800x600       72.19    75.00    60.32    56.25  
       640x480       75.00    72.81    66.67    59.94  
       720x400       70.08

    Comment


    • #3
      Can you provide some clarity on what the problem is? It's not clear from your description. Note that some games which use older APIs like SDL for changing the mode are fundamentally not compatible with multi-monitor setups. They use legacy modesetting APIs that assume a single display which wreaks havoc the display topology when you have multiple displays active.

      Comment


      • #4
        Hi agd5f,

        I've linked in the first post a ~3m long youtube video that shows the problem, basically it acts like monitors are unplugged and plugged back in, and often the detected EDID is wrong, like dmesg suggests, wrong resolutions are found and I remain with one monitor right, one in 1024*768 and the other one off, not even detected.
        This happens only with HDMI monitors, the one DVI monitor that I have seems to always work reliably, and swapping them has no effect, the left one seems to have always the same problems (wrong resolution).

        In the video, the center monitor is DVI, the other two are identical, connected with hdmi and are affected by the problem.


        I'm 100% sure everything was working right until some weeks ago, never had any issues with xonotic or cheese in years, i've reproduced also with serious sam fusion beta, I don't think that it's using an old api. It's not related with the app being fullscreen, i'm familiar with the problem you described, with older games, but this is not the case.

        I've reproduced also with gnome in xorg, gnome on wayland is not affected.

        Thanks

        Comment

        Working...
        X