I have an AMD Radeon RX 460 Graphics (AMD POLARIS11 / DRM 3.23.0 / 4.15.0-72-generic, LLVM 5.0.1) which is connected to two 4k dell monitors with the latest amdgpu driver. When I wake the computer up from suspend, my display setting is often lost and one of my monitors render in half like below.

enter image description here

If I log out and log back in, 80% of the time this is fixed but not always.

Here is what the setting looks like

enter image description here

  1. What could be the cause of this?

  2. How can I fix this?


From time to time the Window Manager will reset my displays as well. So as to not have to go manually reset them (or reboot) I've created a function in ~/.bashrc to do this for me:

xreset () {

    # Reset xrandr to normal, first use: xrandr | grep " connected "
    # HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 1107mm x 623mm
    # eDP-1-1 connected primary 1920x1080+3840+2160 (normal left inverted right x axis y axis) 382mm x 215mm
    # DP-1-1 connected 3840x2160+1920+0 (normal left inverted right x axis y axis) 1600mm x 900mm
    xrandr --output HDMI-0  --mode 1920x1080 --pos 0x0       --rotate normal \
           --output eDP-1-1 --mode 1920x1080 --pos 3840x2160 --rotate normal \
           --primary \
           --output DP-1-1  --mode 3840x2160 --pos 1920x0    --rotate normal

} # xreset

Whenever the screens are "wacky" I open a terminal and type xreset.

The first step for you is to create a similar function. The next step is to have it automatically called when suspending from resume. To do that create a script in /lib/systemd/system-sleep and mark it executable.

Of course the desirable solution is to fix the Window Manager (Unity, GDM, etc) but if that isn't possible this band-aid approach can be taken.

| improve this answer | |
  • Thank you for the answer however this did not work as it was reporting that my resolution could not be found. I noticed that when this happens one of the monitors is categorized as unknown in the display settings. – iCode Jan 8 at 19:41
  • Did you make sure you turned the monitors on and waiting until they displayed "No signal" before resuming? – WinEunuuchs2Unix Jan 8 at 20:40
  • oh, for sure. my monitors are on all the time. and I ran the command after I see the distorted display. This happens maybe %30 of the time – iCode Jan 17 at 17:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.