LINUX.ORG.RU

FreeSync и чёрный экран

 , , ,


0

1

Приветствую. Имеется проблема с FreeSync на мониторе AOC в сеансе KDE Plasma Wayland (на иксах аналогично). При его включении монитор встречает чёрным экраном, если же начать двигать мышью — начинает моргать и можно с горем пополам выключить адаптивную синхронизацию.

Поддержка точно заявлена производителем для данной модели монитора, поле VariableRefresh в EDID тоже имеется. Видеокарта AMD Radeon RX 6750XT. Дистрибутив Arch Linux, патченное ядро 6.1 (тоже самое и на 5.15 LTS из репозитория), Mesa 23 из гита (проверял и на 22.3 из репозитория). Пробовал KwinFT — результат аналогичен.

Беглый гуглинг и поиск в багзилле ничего полезного не подсказал. Нашёл лишь похожий затык на реддите, но там у человека некорректно передавался EDID, что в моём случае крайне маловероятно (кабель HDMI без каких-либо переходников подключен в видеокарту). На всякий случай пробовал грузить модифицированный EDID с разными параметрами VariableRefresh через drm.edid_firmware, но безрезультативно.

Вопрос: в чём может быть проблема? Если поможет более точечно её диагностировать: в редких случаях, обычно после переключения в фреймбуфферный tty и обратно в Kwin (с включенным FreeSync), происходит отвал клавиатуры (индикаторы перестают реагировать на нажатие того же NumLock), вернуть контроль над которой невозможно даже через Alt+SysRq+R. Полагаю, проблема зарыта где-то на уровне ядерного radeonsi? В dmesg ничего по этому поводу не увидел.



Последнее исправление: rootree (всего исправлений: 1)

Очевидно какой то баг драйверов, на врят ли Вам тут подскажут)

У меня тоже есть FreeSync, но я не знал что его можно включать в Linux, теперь знаю что можно https://www.amd.com/en/support/kb/faq/gpu-754

А если не секрет зачем на такой видеокарте Вам FreeSync, RX6750XT не тянет что то?

sv_warvar
()

Могу только триггернуться по словам «AOC» и «черный экран».

Через два на третий раз - он просто ничего не показывает на перезагрузке. С год уже как. Я даже нервничать уже перестал.

Если изображения нет больше 3 секунд после загрузки -> выключаю кнопкой монитор -> включаю кнопкой обратно -> показывает.

Где-то ему плохо становится на переключении режимов.

По-моему это больше похоже на проблему в прошивке самого «AOC».

Toxo2 ★★★★
()
Ответ на: комментарий от sv_warvar

Очевидно какой то баг драйверов, на врят ли Вам тут подскажут)

Как знать. :)

А если не секрет зачем на такой видеокарте Вам FreeSync, RX6750XT не тянет что то?

Для понтов. Просто хотел потыкать что это из себя представляет. Говорят от него глаза становятся гладкими и шелковистыми.

rootree
() автор топика
Ответ на: комментарий от robus

Во-первых – в ядре нет никакого radeonsi. Только amdgpu. Соответственно грепать нужно amdgpu, а не radeon(si).

Конечно же, я имел в виду amdgpu и смотрел ошибки, связанные с ним. Перепутал с Мезой :)

Во-вторых – если поставить и запускать, например, sway, проблема остаётся?

Проверил и точно такая же проблема. Вот всё, что выдаёт dmesg|rg amdgpu после запуска sway в отдельном tty с output * adaptive_sync on. Ничего нового в логах не появляется, зато чёрный экран — вполне.

[   16.645758] [drm] amdgpu kernel modesetting enabled.
[   16.654244] amdgpu: Ignoring ACPI CRAT on non-APU system
[   16.654249] amdgpu: Virtual CRAT table created for CPU
[   16.654259] amdgpu: Topology: Add CPU node
[   16.654444] amdgpu 0000:07:00.0: vgaarb: deactivate vga console
[   16.654495] amdgpu 0000:07:00.0: enabling device (0006 -> 0007)
[   16.656306] amdgpu 0000:07:00.0: amdgpu: Fetched VBIOS from VFCT
[   16.656310] amdgpu: ATOM BIOS: 113-V399MECH-1OC
[   16.656333] amdgpu 0000:07:00.0: amdgpu: Trusted Memory Zone (TMZ) feature disabled as experimental (default)
[   16.656388] amdgpu 0000:07:00.0: amdgpu: VRAM: 12272M 0x0000008000000000 - 0x00000082FEFFFFFF (12272M used)
[   16.656390] amdgpu 0000:07:00.0: amdgpu: GART: 512M 0x0000000000000000 - 0x000000001FFFFFFF
[   16.656392] amdgpu 0000:07:00.0: amdgpu: AGP: 267894784M 0x0000008400000000 - 0x0000FFFFFFFFFFFF
[   16.656457] [drm] amdgpu: 12272M of VRAM memory ready
[   16.656460] [drm] amdgpu: 16026M of GTT memory ready.
[   16.666005] amdgpu 0000:07:00.0: amdgpu: PSP runtime database doesn't exist
[   16.666009] amdgpu 0000:07:00.0: amdgpu: PSP runtime database doesn't exist
[   18.709098] amdgpu 0000:07:00.0: amdgpu: STB initialized to 2048 entries
[   18.741123] amdgpu 0000:07:00.0: amdgpu: Will use PSP to load VCN firmware
[   18.904827] amdgpu 0000:07:00.0: amdgpu: RAS: optional ras ta ucode is not available
[   18.918735] amdgpu 0000:07:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[   18.918754] amdgpu 0000:07:00.0: amdgpu: smu driver if version = 0x0000000e, smu fw if version = 0x00000012, smu fw program = 0, version = 0x00413700 (65.55.0)
[   18.918756] amdgpu 0000:07:00.0: amdgpu: SMU driver if version not matched
[   18.918784] amdgpu 0000:07:00.0: amdgpu: use vbios provided pptable
[   18.975485] amdgpu 0000:07:00.0: amdgpu: SMU is initialized successfully!
[   18.979957] snd_hda_intel 0000:07:00.1: bound 0000:07:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[   19.015394] kfd kfd: amdgpu: Allocated 3969056 bytes on gart
[   19.015537] amdgpu: sdma_bitmap: ffff
[   19.052276] amdgpu: HMM registered 12272MB device memory
[   19.052466] amdgpu: Virtual CRAT table created for GPU
[   19.052590] amdgpu: Topology: Add dGPU node [0x73df:0x1002]
[   19.052592] kfd kfd: amdgpu: added device 1002:73df
[   19.052612] amdgpu 0000:07:00.0: amdgpu: SE 2, SH per SE 2, CU per SH 10, active_cu_number 40
[   19.052670] amdgpu 0000:07:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[   19.052671] amdgpu 0000:07:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[   19.052672] amdgpu 0000:07:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[   19.052672] amdgpu 0000:07:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
[   19.052673] amdgpu 0000:07:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
[   19.052673] amdgpu 0000:07:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
[   19.052674] amdgpu 0000:07:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
[   19.052674] amdgpu 0000:07:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
[   19.052675] amdgpu 0000:07:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
[   19.052676] amdgpu 0000:07:00.0: amdgpu: ring kiq_2.1.0 uses VM inv eng 11 on hub 0
[   19.052676] amdgpu 0000:07:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[   19.052677] amdgpu 0000:07:00.0: amdgpu: ring sdma1 uses VM inv eng 13 on hub 0
[   19.052677] amdgpu 0000:07:00.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 on hub 1
[   19.052678] amdgpu 0000:07:00.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng 1 on hub 1
[   19.052678] amdgpu 0000:07:00.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng 4 on hub 1
[   19.052679] amdgpu 0000:07:00.0: amdgpu: ring jpeg_dec uses VM inv eng 5 on hub 1
[   19.053484] amdgpu 0000:07:00.0: amdgpu: Using BACO for runtime pm
[   19.053751] [drm] Initialized amdgpu 3.49.0 20150101 for 0000:07:00.0 on minor 0
[   19.058526] fbcon: amdgpudrmfb (fb0) is primary device
[   19.175102] amdgpu 0000:07:00.0: [drm] fb0: amdgpudrmfb frame buffer device
rootree
() автор топика
Ответ на: комментарий от Toxo2

Описанных тобой проблем не наблюдаю. У меня загвоздка только с VRR. Но может действительно проблема в прошивке, раз dmesg пуст. Тут только винду накатывать и смотреть.

rootree
() автор топика
23 апреля 2023 г.
Ответ на: комментарий от rootree

Тут только винду накатывать и смотреть.

Всё-таки дошли у меня руки это сделать. Не знаю каким образом, но проблема решилась после установки винды и проприентарных драйверов AMD. Адаптивную синхронизацию проверял в GravityMark. Когда обнаружил, что она там работает и при этом экран не «засыпает», решил перезагрузиться в линукс и проверить. И, о чудо, магическим образом она заработала! Кроме этого я ничего не менял, и даже перед накатыванием винды проверял: не работало.

Кто-нибудь может объяснить это? Что там AMD Adrenalin мог такого нахимичить помимо установки драйверов, что монитор начал вести себя адекватно? Ну не перепрошить же его, в самом деле.

Может кому это решение окажется полезным.

rootree
() автор топика
Последнее исправление: rootree (всего исправлений: 1)