You are not logged in.

#1 2019-05-26 15:55:59

lquidfire
Member
From: South Africa
Registered: 2017-07-26
Posts: 53

[SOLVED]Flickering screen (black horizontal lines) RX 470 amdgpu

SOLUTION:

The real solution to my problem turns out to be the HDMI pixel format: everything works fine when the gpu outputs RGB; the problems arise only with YCbCr.

See post below for instructions.


=======================




Hi all,

I am having issues again with a flickering screen. The screen will go black for a second or so, and sometimes it remains black.

Arch is fully updated.

5.1.4-arch1-1-ARCH #1 SMP PREEMPT Wed May 22 08:06:56 UTC 2019 x86_64 GNU/Linux
xorg-server 1.20.4-1
mesa 19.0.5-1
linux-firmware 20190514.711d329-1
$ xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
DP-1 disconnected primary (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
   1920x1080     60.00*+  59.96    60.00    50.00    59.94    59.93
...

For example: the home page of OpenBSD:

  • goes completely black on my Arch box

  • also goes black when running an updated Ubuntu 18.04 (my wife's)

  • a screenshot, taken when the monitor is black, shows the website. If I make the screenshot Full Screen, the screen goes black as well

  • But here's the catch: The website shows perfectly fine when in Windows 10....

  • And here is another interesting thing I stumbled upon: it shows fine when Redshift changes the colour temperature in the evening!

I have an idea that I get black flickering when there is lots of white on the screen, and some lines / patterns - but that's just an idea of mine.

I looked through dmesg and the xorg-log, but didn't find anything that caught my eye. Maybe you see something that requires deeper digging in to?

Btw, I did reseat the RAM and GPU, just in case (referring to my previous post about this). I did have much less to no problems until some months ago (I didn't write down when this happened).

Some attachments:


Edit: formatting

Last edited by lquidfire (2020-05-31 11:20:00)

Offline

#2 2019-05-29 12:43:55

lquidfire
Member
From: South Africa
Registered: 2017-07-26
Posts: 53

Re: [SOLVED]Flickering screen (black horizontal lines) RX 470 amdgpu

The real solution to my problem turns out to be the HDMI pixel format: everything works fine when the gpu outputs RGB; the problems arise only with YCbCr.

The amdgpu driver does not allow for changing pixel modes, and so an EDID hack is the current workaround. See here and here.

Steps to get this working:

  1. Find the location of your edid file:

    sudo find /sys/devices/pci*/*/*/*/*/*HDMI* -name "*edid*"

    Mine was at:

    /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-HDMI-A-1/edid
  2. Copy that to your home directory and append .bin.

    cp <the path> edid.bin
  3. Instal wxEDID from the AUR.

  4. Start wxEDID, and open the copied edid.bin file in your home directory via the menu.

  5. Make the following changes:

    1. Find SPF: Supported features -> vsig_format -> replace 0b01 wih 0b00{/*]

    2. Find CHD: CEA-861 header -> change the value of YCbCr420 and YCbCr444 to 0

    3. Find VSD: Vendor Specific Data Block -> Change the value of DC_Y444 to 0

    4. Click "Option" on the panel-> Recalc Checksum

    5. Save it and exit.

  6. Move the edited file to /lib/firmware/edid/edid.bin (You will have to create the directory first)

  7. Re-generate your initramfs

  8. Edit your bootloader, adding the following argument to the kernel line: "drm_kms_helper.edid_firmware=edid/edid.bin" (without the quotation marks)

  9. Reboot


============================

Original post:

For the record: Flickering seems to have stopped with the following

amdgpu.dc=0

kernel parameter.

Last edited by lquidfire (2020-05-31 11:19:01)

Offline

Board footer

Powered by FluxBB