LINUX.ORG.RU

Очень долго раскочегариваются Иксы на дровах radeon

 , , ,


0

1

Здравствуйте, уважаемые форумчане! Прошу помощи.

Проблема: долго запускается xorg (около трёх минут)
Железо: ноутбук Asus x53ta 2011-го года с видеокартами Radeon HD 6520G, Radeon HD 6650M (инфа из винды, ибо тут, в Линухе не разобрался)
Система: 5.10.0-10-amd64 #1 SMP Debian 5.10.84-1 (2021-12-08) x86_64 GNU/Linux
WM: i3wm
Симптомы: всё как будто работает нормально, но наблюдаются долгая загрузка и выключение с кучей диагностических сообщений.

Диагностика:

cat /proc/cmdline

BOOT_IMAGE=/boot/vmlinuz-5.10.0-10-amd64 root=UUID=бла-бла ro pcie_aspm=force

lspci -v (фрагмент)

00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Sumo [Radeon HD 6520G] (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. Sumo [Radeon HD 6520G]
        Flags: bus master, fast devsel, latency 0, IRQ 34
        Memory at b0000000 (32-bit, prefetchable) [size=256M]
        I/O ports at f000 [size=256]
        Memory at feb00000 (32-bit, non-prefetchable) [size=256K]
        Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: radeon
        Kernel modules: radeon

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (rev ff) (prog-if ff)
        !!! Unknown header type 7f
        Kernel driver in use: radeon
        Kernel modules: radeon

Надо заметить, что antiX-21 загружается без проблем (при выборе карты Sumo). Я посмотрел вывод его inxi и оказалось, что «kernel uses» драйверы radeon (не amdgpu) для обеих видеокарт:

00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] BeaverCreek [Radeon HD 6520G] [1002:9647] (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. Sumo [Radeon HD 6520G] [1043:107c]
        Flags: bus master, fast devsel, latency 0, IRQ 32
        Memory at b0000000 (32-bit, prefetchable) [size=256M]
        I/O ports at f000 [size=256]
        Memory at feb00000 (32-bit, non-prefetchable) [size=256K]
        [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: radeon
        Kernel modules: radeon

01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] [1002:6741] (prog-if 00 [VGA control>        Subsystem: ASUSTeK Computer Inc. Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] [1043:107c]
        Flags: bus master, fast devsel, latency 0, IRQ 33
        Memory at c0000000 (64-bit, prefetchable) [size=256M]
        Memory at fea20000 (64-bit, non-prefetchable) [size=128K]
        I/O ports at e000 [size=256]
        Expansion ROM at fea00000 [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: radeon
        Kernel modules: radeon

Тут видно, что вторая видяха определилась лучше, чем в Debian — можно ли как-то использовать эту инфу? куда-то прописать?

sudo cat /sys/kernel/debug/vgaswitcheroo/switch

0:IGD:+:Pwr:0000:00:01.0
1:DIS: :DynOff:0000:01:00.0

Некоторые установленные пакеты:

xserver-xorg-video-amdgpu/stable,now 19.1.0-2 amd64 [установлен, автоматически]
mesa-vdpau-drivers/stable,now 20.3.5-1 amd64 [установлен, автоматически]
firmware-amd-graphics/stable,stable,now 20210315-3 all [установлен]
libdrm-amdgpu1/stable,now 2.4.104-1 amd64 [установлен, автоматически]

Как пробовал решить:

  • пробовал разные опции загрузки ядра (в момент загрузки, без переконфигурации Grub). Вариант «nomodeset» давал полностью нормальную загрузку, но разрешение было 1024х768 (нативное 1366х768), что меня не устраивает; amdgpu si_support=1 amdgpu cik_support=1 radeon si_support=0 amdgpu cik_support=0 — не помогло
  • пытался поставить проприетарные дрова с помощью APT по дебиановской вики. Не нашёлся в репозитории пакет «fgrlx» (репы contrib, non-free подключены в sources.list);
  • пытался ставить закрытое полено с сайта amd. То, которое «sudo sh ./<...>.run». Последняя версия — аж за 2015 год. Блоб сообщил, что поддерживает только XServer до версии 1.10 (у меня стоит 1.20 и как его откатить, я даже не представляю, да это и не выход);
  • хотел поставить старый (2015-го года) открытый драйвер. В процессе оказалось, что требуется удалить ядро (и, видимо, заменить его таким же древним). Пришлось отказаться.
  • создавал файл /etc/X11/xorg.conf.d/50-radeon-only.conf по примеру господина Novell-ch — Иксы перестали долго думать, но я получил зацикленный логин:
    Section "Device"
    Identifier "Radeon"                                                                                                                                           
    BusID "PCI:00:01.0"
    Driver "radeon"
    #Option "SwapbuffersWait" "off"
    #Option "ColorTiling" "on"
    #Option "ColorTiling2D" "on"
    EndSection
    
    Section "Device"
    Identifier "Radeon"                                                                                                                                           
    BusID "PCI:01:00.0"
    Driver "radeon"
    #Option "SwapbuffersWait" "off"
    #Option "ColorTiling" "on"
    #Option "ColorTiling2D" "on"
    EndSection
    

    Вот другой конфиг из antiX: /etc/X11/xorg.conf. С ним так же, как и вообще без него:

    Section "Device"
        Identifier "Device0"
        BusID      "PCI:00@0:01:0"
    EndSection
    
  • ставил Arch — то же самое

Что любопытно, установка драйвера Catalyst с оф.сайта под виндой-7 приводит к синему экрану :-) Даже не знаю, как мой ноутбук работал у предыдущего владльца о_О.

Пожалуйста, подскажите направление поисков: подбирать подходящие дрова? ковырять xorg? пилить ядро? долбить Grub?

Update_0.1. Логи «dmesg | grep ERR» и Xorg.0.log приведены в комментарии в виде ссылки на Pastebin.

Update_1.0. Решено. Спасибо всем неравнодушным людям, протянувшим руку помощи. Особая благодарность анонимному господину, подсказавшему правильное решение.

Способ решения: добавить в Grub параметр загрузки ядра «radeon.runpm=0». Я сделал это так:

sudo nano /etc/default/grub
дописал "radeon.runpm=0" (без кавычек) к строке GRUB_CMDLINE_LINUX_DEFAULT. Примерно так:
GRUB_CMDLINE_LINUX_DEFAULT="quiet radeon.runpm=0"
sudo grub-update
перезагрузил

Лог dmesg не поместился ни в теме, ни в комментарии. И сворачивание под cut почему-то не работает. Подскажите, пожалуйста, я исправлю.

Access_Denied ()
Ответ на: комментарий от Access_Denied

Лог dmesg не поместился ни в теме, ни в комментарии

Pastebin

upd: нам ещё Xorg.0.log нужен

IIIypuk ★★★ ()
Последнее исправление: IIIypuk (всего исправлений: 1)
Ответ на: комментарий от Access_Denied

Да закинь на https://pastebin.com/ логи если они большие и ссылку сюда, вот и всё. Мне кажется ты наделал лишнего и дело вообще не в видеокарте и дровах (вангую). В дмезге будет понятнее (не мне), возможно фирмварь не добавил и дистр полностью в main ветке.

LINUX-ORG-RU ★★★★★ ()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от anonymous

Некоторые установленные пакеты:

xserver-xorg-video-amdgpu/stable,now 19.1.0-2 amd64 [установлен, автоматически] mesa-vdpau-drivers/stable,now 20.3.5-1 amd64 [установлен, автоматически] firmware-amd-graphics/stable,stable,now 20210315-3 all [установлен] libdrm-amdgpu1/stable,now 2.4.104-1 amd64 [установлен, автоматически]

Access_Denied ()
Ответ на: комментарий от LINUX-ORG-RU

...возможно фирмварь не добавил и дистр полностью в main ветке.

пытался поставить проприетарные дрова с помощью APT по дебиановской вики. Не нашёлся в репозитории пакет «fgrlx» (репы contrib, non-free подключены в sources.list);

Access_Denied ()
Ответ на: комментарий от Access_Denied

пытался поставить проприетарные дрова с помощью APT по дебиановской вики. Не нашёлся в репозитории пакет «fgrlx»

И не найдешь уже. Где xserver-xorg-video-radeon, libdrm-radeon?

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

sudo dmesg | grep Microcode

[    1.934735] microcode: Microcode Update Driver: v2.2.
[   14.679056] [drm] Loading SUMO Microcode
[   16.103063] [drm] Loading TURKS Microcode

Access_Denied ()
Ответ на: комментарий от LongLiveUbuntu

Где xserver-xorg-video-radeon, libdrm-radeon?

sudo apt search xserver-xorg-video-radeon
xserver-xorg-video-radeon/stable,now 1:19.1.0-2 amd64 [установлен, автоматически]
libdrm-radeon1/stable,now 2.4.104-1 amd64 [установлен, автоматически]
Access_Denied ()
Ответ на: комментарий от Access_Denied

У тебя в Xorg.0.log отсутствует информация о mesa-драйвере r600 для твоих карт, libgl1-mesa-dri установлен?

anonymous ()
Ответ на: комментарий от Access_Denied

Господа, я в Линуксе довольно поверхностно разбираюсь, мог допустить какую-нибудь глупую ошибку, вроде того, чтобы установить mesa-utils, но не поставить чего-то идущего с ней в комплекте. Так что спрашивайте, не стесняйтесь. Буду рад выложить всё, что интересует.

Access_Denied ()
Ответ на: комментарий от anonymous

libgl1-mesa-dri установлен?

sudo apt search libgl1-mesa-dri

libgl1-mesa-dri/stable,now 20.3.5-1 amd64 [установлен]

отсутствует информация о mesa-драйвере r600 для твоих карт

Кстати, где-то мелькала эта модель, но я не обратил внимания, ибо мне казалось, что у меня не такая модель. Много гуглил по своему вопросу, но упоминания о том, что это именно r600 не увидел (а, может, плохо смотрел).

Access_Denied ()
Ответ на: комментарий от Access_Denied

Это не модель карт, а драйвер Mesa, он общий для многих моделей. Попробуй параметр ядра radeon.runpm=0 .

anonymous ()
Ответ на: комментарий от anonymous

Спасибо, буду знать.

radeon.runpm=0 — уже пробовал. Появляются сильные искажения, напоминающие рябь на воде.

Также подставлял:

acpi=off apm=off
radeon.dpm=0
radeon.modeset=0

Всё безрезультатно.

Access_Denied ()
Ответ на: комментарий от anonymous

glxinfo|grep «OpenGL renderer» и DRI_PRIME=1 glxinfo|grep «OpenGL renderer» что выдают?

glxinfo|grep "OpenGL renderer"
OpenGL renderer string: AMD SUMO (DRM 2.50.0 / 5.10.0-10-amd64, LLVM 11.0.1)

DRI_PRIME=1 glxinfo|grep "OpenGL renderer"
radeon: The kernel rejected CS, see dmesg for more information (-16).
OpenGL renderer string: AMD TURKS (DRM 2.50.0 / 5.10.0-10-amd64, LLVM 11.0.1)
radeon: The kernel rejected CS, see dmesg for more information (-16).
radeon: The kernel rejected CS, see dmesg for more information (-16)
Access_Denied ()
Ответ на: комментарий от AEP

Похоже на побочные эффекты от pcie_aspm=force

Нет, это я потом добавил, по совету какого-то господина с этого форума. Он писал, что данный параметр экономит электричество.

Access_Denied ()

DRI_PRIME=1 glxinfo|grep «OpenGL renderer»

OpenGL renderer string: AMD TURKS (DRM 2.50.0 / 5.10.0-10-amd64, LLVM 11.0.1)

Access_Denied ()
Ответ на: комментарий от anonymous

Проблема решилась!

Бывает у меня так, что какие-то вещи необъяснимым образом перестают работать. И наоборот. Решил ещё раз попробовать параметр ядра «radeon.runpm=0» — ну а вдруг? И получилось! Иксы стартуют 13 секунд против трёх минут как раньше.

Вывод sudo dmesg | grep ERR:

[    0.527413] acpi PNP0A03:00: _OSC failed (AE_ERROR); disabling ASPM
[   17.149474] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   18.169556] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   19.188572] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   20.207398] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   21.226252] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   22.245387] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   23.264365] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   24.283337] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   25.302361] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   26.321246] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   26.343160] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, giving up!!!

Я хорошо помню, что пробовал разные параметры и совершенно не понимаю, почему тогда не заработало. Может быть, я что-то напутал из-за каши в голове...

Access_Denied ()
Ответ на: комментарий от Access_Denied

Чего-то сомневаюсь насчет фирмвари. У тебя карты TURKS и SUMO, а фирмварь для них не обновлялась с момента выхода. Попробуй ядро сменить ещё на более раннюю версию.

anonymous ()
Ответ на: комментарий от Access_Denied

Анонимусы фигни не посоветуют :)

anonymous ()
Ответ на: комментарий от Access_Denied

Убери. Он экономит электричество в случае если поддерживается железом, а это надо проверять. В случае если железом не поддерживается- получатся очень жесткие баги.

https://wiki.archlinux.org/title/Power_management#Active_State_Power_Management

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

…а это надо проверять.

Хорошо, я попробую разобраться. Как раз наблюдаются некоторые странности. Большое спасибо что предупредили!

Access_Denied ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.