Bug 110199

Summary: [amdgpu] Screen flickering when using a 75Hz monitor paired with an RX 480 GPU
Product: DRI Reporter: Maxim Ivanov <m.ivanov2k>
Component: DRM/AMDgpuAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact:
Severity: critical    
Priority: high CC: guimarcalsilva, harry.wentland, jacobbrett+fd.o, johan.gardhage, kai.heng.feng, kevin, magist3r
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Maxim Ivanov 2019-03-19 19:13:37 UTC
My monitor is LG 24MP59G-P (75Hz, FreeSync) and my GPU is Sapphire Nitro+ RX 480 8GB.

Basically, whenever there is movement on my screen (oddly though, cursor movement doesn't cause it), it would flicker very badly. 

Here is a video of what I am talking about: https://streamable.com/5eu7p

Apart from trying different refresh rates, as seen in the video, I have also tried switching kernel versions, switching from DisplayPort to HDMI, changing compositor settings and turning off FreeSync from the monitor OSD, but nothing seems to resolve the bug.

What works for me as a workaround is changing /sys/class/drm/card0/device/power_dpm_force_performance_level from auto to either low or high. When I do watch -n 1 "/sys/class/drm/card0/device/pp_dpm_mclk" with the performance level on auto, it normally stays on the lowest (300MHz) and when I move a window around, it constantly switches from 300MHz to 2000MHz (the max on my GPU). Apparently, that's what's causing it to behave this way.

I should emphasize, that I observed the bug in Antergos, Debian 9 Buster (Stretch is good), Manjaro XFCE, Manjaro KDE, Ubuntu 18.10, KUbuntu 18.04 and KUbuntu 18.10. At first I thought it was only related to Arch Linux derivatives, since they all use bleeding-edge packages, but then I noticed, that after switching Debian 9 Stretch's (stable) sources to Buster (testing) and after updating KUbuntu 18.10, the bug appeared in both distros as well.

Here is a link to a thread I created in the Manjaro forums, where I asked for help: https://forum.manjaro.org/t/manjaro-kde-screen-flickering-cant-seem-to-find-a-solution/78349 - You can find all kinds of different things I tried there, as well as more in-depth system information.
Comment 1 fin4478 2019-03-24 06:54:51 UTC Comment hidden (spam)
Comment 2 bmilreu 2019-03-25 03:18:26 UTC
don't pay attention to what guy above said, he's a known troll.

this is present in any kernel, including stable, mainline and drm-wip.

this is a duplicate of https://bugs.freedesktop.org/show_bug.cgi?id=102646 although that title doesn't represent the problem well enough.
Comment 3 fin4478 2019-03-25 10:09:32 UTC Comment hidden (spam)
Comment 4 bmilreu 2019-03-26 16:14:34 UTC
(In reply to fin4478 from comment #3)
> You both have cheap low quality Sapphire cards with 2 year warranty here
> when Asus has 3 years. Custom bios in those cards are famous to cause
> problems with Linux.

Please don't post outside your own bug reports if you're not contributing with anything useful. This is not Phoronix or a discussion forum.
Comment 5 Daniel Stone 2019-03-26 16:41:11 UTC
> Please don't post outside your own bug reports if you're not contributing with anything useful. This is not Phoronix or a discussion forum.

Sigh. This person constantly spams every bug report with useless opinions on which drivers, distros, games, hardware vendors, etc, are 'good' and 'bad'. Most of the time they are wrong or misleading, in addition to being extremely unhelpful. They were warned a couple of months ago to stop doing this or they would have their posting access removed.

Since they are still posting useless garbage, I have removed their ability to post to Bugzilla now. Sorry about that.
Comment 6 Antonio 2019-03-30 00:47:32 UTC
I'm having this issue as well, almost the same setup. I'm using an MSI RX 480 with an LG-29UMP68P (48-75Hz FreeSync Range).
Comment 8 IvvanVG 2019-04-04 13:48:53 UTC
Also affects RX580. I think that the bug applies to 400, 500 series of graphics cards
Comment 9 Eduardo Saporski 2019-04-13 17:55:26 UTC
Can confirm. My GPU is MSI RX580 Armor 8G OC and my monitor Asus VP247QG (FreeSync, 48Hz to 75Hz).

I'm on Solus 4 using the open source drivers (POLARIS10 DRM 3.27.0 5.0.5-113.current LLVM 7.0.0, OpenGL version 4.5, Mesa 19.0.0) and the flickering is exactly like Maxim showed.

The workaround is setting DPM to high:
"echo 'high' > /sys/class/drm/card0/device/power_dpm_force_performance_level"
Comment 10 Bennet 2019-07-28 11:49:17 UTC
Can Confirm with my RX 580 and Asus VG245H
Comment 11 Bennet 2019-07-28 11:57:13 UTC
Only kernel 4.19 works for me with 75hz , so probably seem to be a problem related to Free Sync.
Comment 12 jacobbrett 2019-07-28 12:20:17 UTC
(In reply to Bennet from comment #11)
> Only kernel 4.19 works for me with 75hz , so probably seem to be a problem
> related to Free Sync.

I don't think it's Freesync-specific; I have Freesync turned off but suffer the same issue at 75 Hz; working fine at 60 Hz, though (RX 580).
Comment 13 192k 2019-08-04 21:33:44 UTC
I can confirm this issue exists on rx560

i have discovered a workaround, 

if you copy the stock powerplaytable to a file with
cat /sys/class/drm/card0/device/pp_table > pptable

then load the stock pptable with

sudo bash -c 'echo pptable > /sys/class/drm/card0/device/pp_table'

the flickering goes away without having to lock the mclk to the highest state

it may also be related to https://bugs.freedesktop.org/show_bug.cgi?id=110347
this bug.
by default at boot the voltage for the highest pstate is the maximum allowable voltage(1150mv) not the powerplay defined voltage of 1025mv, all other pstates are not effected

this is also corrected after reloading the pptable manually.
Comment 14 guimarcalsilva 2019-09-10 23:37:04 UTC
I'm also affected by this bug. I have an MSI Rx 570 and my monitor is an Acer SA230. I'm using the display through HDMI since it doesn't have DP.


In Linux Manjaro with kernel 4.19 the problem persists no matter what I try, Freesync enabled or disabled through the monitor, but now I'm typing on a Live USB of OpenMandriva Linux and after login, I went to KDE display settings and changed my framerate from 75 to 60 and back to 75 again, and the problem went away. The kernel is 5.1.9-desktop-1omv4000.
Comment 15 guimarcalsilva 2019-09-12 20:57:39 UTC
Tested today with Linux Manjaro 18.1 and kernel 5.2.11-1-MANJARO. The problem persists, but I can fix it by changing the refresh rate from 75 to 60 and back to 75 too after every boot.
Comment 16 Martin Peres 2019-11-19 09:17:51 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/729.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.