LINUX.ORG.RU

Иногда падает xorg при работе firefox amdgpu

 , ,


0

2
Oct 07 21:15:29 debian-home kernel: amdgpu 0000:16:00.0: amdgpu: [mmhub] page fault (src_id:0 ring:24 vmid:7 pasid:32776, for process mpv pid 194202 thread mpv:cs0 pid 194226)
Oct 07 21:15:29 debian-home kernel: amdgpu 0000:16:00.0: amdgpu:   in page starting at address 0x0000800106fe9000 from client 0x12 (VMC)
Oct 07 21:15:29 debian-home kernel: amdgpu 0000:16:00.0: amdgpu: MMVM_L2_PROTECTION_FAULT_STATUS:0x00703830
Oct 07 21:15:29 debian-home kernel: amdgpu 0000:16:00.0: amdgpu:          Faulty UTCL2 client ID: VCN (0x1c)
Oct 07 21:15:29 debian-home kernel: amdgpu 0000:16:00.0: amdgpu:          MORE_FAULTS: 0x0
Oct 07 21:15:29 debian-home kernel: amdgpu 0000:16:00.0: amdgpu:          WALKER_ERROR: 0x0
Oct 07 21:15:29 debian-home kernel: amdgpu 0000:16:00.0: amdgpu:          PERMISSION_FAULTS: 0x3
Oct 07 21:15:29 debian-home kernel: amdgpu 0000:16:00.0: amdgpu:          MAPPING_ERROR: 0x0
Oct 07 21:15:29 debian-home kernel: amdgpu 0000:16:00.0: amdgpu:          RW: 0x0
Oct 07 21:15:39 debian-home kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring vcn_dec_0 timeout, signaled seq=33090, emitted seq=33092
Oct 07 21:15:39 debian-home kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process mpv pid 194202 thread mpv:cs0 pid 194226
Oct 07 21:15:40 debian-home kernel: amdgpu 0000:16:00.0: [drm:amdgpu_ring_test_helper [amdgpu]] *ERROR* ring vcn_dec_0 test failed (-110)
Oct 07 21:15:40 debian-home kernel: [drm:amdgpu_device_ip_resume_phase2 [amdgpu]] *ERROR* resume of IP block <vcn_v3_0> failed -110
Oct 07 21:15:40 debian-home kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* GPU Recovery Failed: -110
Oct 07 21:15:50 debian-home kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring vcn_dec_0 timeout, signaled seq=33092, emitted seq=33092
Oct 07 21:15:50 debian-home kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process mpv pid 194202 thread mpv:cs0 pid 194226
Oct 17 02:23:05 debian-home kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx_0.0.0 timeout, signaled seq=651706, emitted seq=651708
Oct 17 02:23:05 debian-home kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process GPU Process pid 10667 thread firefox-bi:cs0 pid 10725
Oct 19 18:29:37 debian-home kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx_0.0.0 timeout, signaled seq=189306, emitted seq=189308
Oct 19 18:29:37 debian-home kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process GPU Process pid 10927 thread firefox-bi:cs0 pid 10985
Oct 20 20:02:13 debian-home kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx_0.0.0 timeout, signaled seq=78642, emitted seq=78643
Oct 20 20:02:13 debian-home kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process Xorg pid 1898 thread Xorg:cs0 pid 2072
Oct 20 20:02:13 debian-home kernel: [drm:amdgpu_cs_ioctl [amdgpu]] *ERROR* Failed to initialize parser -125!

Это как-то починить можно? Отключить аппаратное ускорение? Сменить ядро? Дебиан 12

★★★★

Последнее исправление: bryak (всего исправлений: 2)
  1. подтверждаю, что падение gpu с дальнейшей перезагрузкой является багой в биосе с SoC

  2. бага с firefox является отдельным падением gpu(падение xorg без перезагрузки) и является следствием ошибки при разработке динамического управления gpu, которое «прилетело» в 12 дебиане в последнем обновлении и присутствует в 13 дебиане во всех минорных обновлениях, включая последнюю стейбл версию

PS: Теперь понятно, почему амд имеет такую долю рынка видеокарт? Забивать десятилетиями на драйвера - это успех

bryak ★★★★
() автор топика
Последнее исправление: bryak (всего исправлений: 2)

Придётся перейти на chromium, к сожелению. Потому что если отключить dynamic power management, то из стенбай когда система выходит, то монитор не включается, а потом ядро вешает систему. Помогает только ресет

PS: в chromium такого бага, как в firefox нет

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

Отсос петрович. Хромиум тоже падает. Товарищи, у кого такая же проблема - не стесняемся, репортим баги и в firefox и в дебиан. Пусть фиксят

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

Что это даст?

Можно выключить динамическое управление питанием. Видяха будет в профиле performance постоянно работать. Но при этом ядро крашится при выходе из standby

echo 'options amdgpu dpm=0 aspm=0' | sudo tee /etc/modprobe.d/amdgpu-options.conf
update-initramfs -u -k all
bryak ★★★★
() автор топика
Ответ на: комментарий от bryak

Может просто попробуешь включить overdrive? Потом ставишь CoreCtrl, чуть двигаешь любой параметр и сохраняешь. Глюки с питанием тем же самым способом исправляются на маздайке.

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

Хорошо, а выставление через corectl чем-то отличается от

echo 'manual' | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level
echo 's 0 600' | sudo tee /sys/class/drm/card0/device/pp_od_clk_voltage
echo 's 1 2000' | sudo tee /sys/class/drm/card0/device/pp_od_clk_voltage
echo 'c' | sudo tee /sys/class/drm/card0/device/pp_od_clk_voltage

Вышеуказанное не помогло

bryak ★★★★
() автор топика
Последнее исправление: bryak (всего исправлений: 2)
Ответ на: комментарий от steemandlinux

PP_GFXOFF_MASK как правильно отключать?

1. amdgpu.gfxoff=0
2. amdgpu.ppfeaturemask=0xfffd7fff

И как проверить, что оно отключилось?

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

И как проверить, что оно отключилось?

Я первую опцию впервые вижу.

Частота GPU и его напряжение не должны падать до фантастически низких значений типа 0 Ghz и 6 mV.

sudo mount -t debugfs none /sys/kernel/debug
sudo xxd -l1 -p /sys/kernel/debug/dri/0/amdgpu_gfxoff

Должен быть 0 выкл или 1 вкл

echo 0 | sudo tee /sys/kernel/debug/dri/0/amdgpu_gfxoff >/dev/null

включает или вырубает.

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

Нет, всё-таки до mW опускается потребление(сделал вывод в лог циклом с шагом 0.1)

amdgpu-pci-1600
Adapter: PCI adapter
vddgfx:        1.39 V  
vddnb:         1.27 V  
edge:         +37.0°C  
PPT:          22.00 mW 
sclk:         600 MHz 

Но не падает пока что

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

Вот powerplay маски:

https://codebrowser.dev/linux/linux/drivers/gpu/drm/amd/include/amd_shared.h.html#PP_FEATURE_MASK

Считать вот так: print(f"0x{(0xffffffff & ~(0x8 | 0x8000)):08x}")

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

Копец, я чуть с ума не сошел от этого. В рандомные моменты падали иксы и трудиться не давали. Единственное помогало полностью выключить ускорение в ff. И то, не просто галочку снять в опциях, а через user.js штук 10 опций

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

К сожелению PP_GFXOFF_MASK + PP_STUTTER_MODE

2025-12-14T12:54:48,101178+03:00 [drm] DMUB hardware initialized: version=0x05002000
2025-12-14T12:54:48,136887+03:00 amdgpu 0000:16:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
2025-12-14T12:54:48,136889+03:00 amdgpu 0000:16:00.0: amdgpu: ring gfx_0.1.0 uses VM inv eng 1 on hub 0
2025-12-14T12:54:48,136890+03:00 amdgpu 0000:16:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 4 on hub 0
2025-12-14T12:54:48,136891+03:00 amdgpu 0000:16:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 5 on hub 0
2025-12-14T12:54:48,136892+03:00 amdgpu 0000:16:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
2025-12-14T12:54:48,136893+03:00 amdgpu 0000:16:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
2025-12-14T12:54:48,136894+03:00 amdgpu 0000:16:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
2025-12-14T12:54:48,136895+03:00 amdgpu 0000:16:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
2025-12-14T12:54:48,136896+03:00 amdgpu 0000:16:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
2025-12-14T12:54:48,136897+03:00 amdgpu 0000:16:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
2025-12-14T12:54:48,136898+03:00 amdgpu 0000:16:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 12 on hub 0
2025-12-14T12:54:48,136899+03:00 amdgpu 0000:16:00.0: amdgpu: ring sdma0 uses VM inv eng 13 on hub 0
2025-12-14T12:54:48,136900+03:00 amdgpu 0000:16:00.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 on hub 8
2025-12-14T12:54:48,136901+03:00 amdgpu 0000:16:00.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng 1 on hub 8
2025-12-14T12:54:48,136902+03:00 amdgpu 0000:16:00.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng 4 on hub 8
2025-12-14T12:54:48,136903+03:00 amdgpu 0000:16:00.0: amdgpu: ring jpeg_dec uses VM inv eng 5 on hub 8
2025-12-14T12:54:48,138858+03:00 amdgpu 0000:16:00.0: amdgpu: GPU reset(1) succeeded!
2025-12-14T12:54:48,140232+03:00 [drm:amdgpu_cs_ioctl [amdgpu]] *ERROR* Failed to initialize parser -125!

Сейчас попробую PP_GFXOFF_MASK + PP_STUTTER_MODE+PP_SCLK_DEEP_SLEEP_MASK

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

@steemandlinux что думаешь по этому поводу? Посмотри пожалуйста предыдущее сообщение

touch /home/user/sensors.txt
while true; do
    sensors >> /home/user/sensors.txt
    sleep 0.1
done
cat sensors.txt |grep mW
PPT:          17.00 mW
PPT:          41.00 mW
PPT:         134.00 mW

Сейчас понаблюдаю. Но, кажется мне, что вот именно это надо убирать как-то

UPD1: за пару минут

cat sensors.txt |grep mW |wc -l
26

Что еще пробовать?

@PP_ULV_MASK
@PP_ACG_MASK
@PP_AVFS_MASK
bryak ★★★★
() автор топика
Последнее исправление: bryak (всего исправлений: 4)

Попробовал такую комбинацию:

PP_ULV_MASK + PP_AVFS_MASK + PP_POWER_CONTAINMENT_MASK

Упало сразу. В логах:

cat sensors.txt |grep mW |wc -l
1

cat sensors.txt |grep mW
PPT:         172.00 mW

Что как бы намекает, что это то, о чём мы говорим. Вообще, можно так очень долго пытаться отключать опции. И реально может быть некоторая комбинация опций, которая убирает это. И можно долго отключать и не найти именно эту комбинацию

PS: пока что тестирую PP_GFXOFF_MASK + PP_STUTTER_MODE+PP_SCLK_DEEP_SLEEP_MASK + PP_ULV_MASK. На этой комбинации уходит в mW в логах

PPSS: это конечно позор amd

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

У амд очень большой зоопарк железок, причем с радикальными изменениями на смене поколений. Есть встройки и дискретки. И все это засунуто в один драйвер. Так что там периодически что-то ломается. Поэтому по первых стоит отрепортить это в amd. Там багрепорты реально смотрять и пытаются фиксить. Ну понятно у автора репорта попросят каки-то логи и проинстуктируют что и как активировать чтобы нужные логи получить.

Не исключено что это уже пофиксили в какой-то свежей версии драйвера. И да - с АМД утверждение что старое ядро - стабильное ядро - абсолютная чушь.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

У амд очень большой зоопарк железок, причем с радикальными изменениями на смене поколений

Это очень плохой аргумент. У нвидиа тоже в драйверах все железки разных поколений и всё работает

И да - с АМД утверждение что старое ядро - стабильное ядро - абсолютная чушь.

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

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

У нвидия ничего не работает. Потому как нвидия вообще выкинула такой «ненужный» функционал как энергосбережение, ибо она делает только дискретки. А основная масса глюков как раз идет оттуда.

Нвидия предложила свой гребанный оптимус - то есть у тебя есть первичная втройка интел или амд - которая должна обеспечивать все энергосберегающие функции, а у самой нвидии из всего энергосбережения тумблер вкл-выкл. Вкл - прощай батарея, выкл - прощай нвидия. За счет этой примитивизации нвидия и не глючит так как амд.

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

Нет у нее энергосбережения. Сброс частоты - это уже позапрошлый век. А всего остального у нее нет Эта срань просто во включенном виде без нагрузки на минимальных частотах ничего не делая - вообще ничего, даже не поддерживая статическую картинку на дисплее ибо этим занимается встройка - жрет больше чем весь ноутбук с процессором, матрицей, ссд, памятью и прочим. Проблеы начинаются не там где ты слегка сбрасываешь частоту что было еще во времена 286-х процессоров, да что там 286, на первом 86-88 это можно было сделать причем без реализации этого в процессоре даже - а там где нужно включать-выкоючать юниты целиком с перебросом задач с отключаемого юнита на работающий. А этого нвидия не делает. И не мудохается с навороченными функциями дисплейного модуля - всякими PSR, panel replay и прочего - тоже нет за ненадобностью.

Оптимус сделан потому что нвидии западло напрягаться и реализовывать сложный функционал в своих вычислительных печках. Это просто потребует разрабатывать совершено новый дизайн чипа для ноутбуков что сложно и дорого, куда как проще просто засунут в ноут задушенный по TDP десктопный чип и снабдить его оптимусом. У АМД не так - там дискретка для ноута это не задушенный десктопный чип а именно дискретка для ноута.

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

молись чтобы это оставалось так.

Ну во первых делают, по крайней мере делали. Другое дело что никто куртке лицензию на х86 не продаст - ибо интелу и амд и так хорошо вдвоем, третий им не нужен. А arm как ни пытались вылезти из своей телефонной норы - так и не сумели. После шума гама воплей вау икс-элит, интелокапец - все стихло и вернулось в исходный срач что лучше - интел или амд.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

Может ты создашь отдельную тему и там будешь обсуждать тему энергосбережения амд vs nvidia? Ты заходишь в топик с обсуждением проблемы и начинаешь оффтопить «на морозе»

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

Ну ты заявлял про позор амд и чудесную нвидия - я тебе ответил почему нвидия может родить драйвера а амд ловит глюки - собственно ровно потому что все твои лайфхаки с параметрами для стабилизации драйверов направлены именно на выключение этого самого энергосбережения. То есть того самого функционала который в драйверах нвидии отсутствует. Так что это вполне в топике твоего вопроса.

С самой проблемой в общем-то тоже все разжевано - ты либо откатываешь ядро взад где твоя карта скорее всего стоит в блэклисте какой-то энергосберегающей функции, либо наоборот идешь вперед и вместо «стабильного» ядра стаившь bleeding edge. Если оно помогает - а не исключено что кто-то уже отрепортил проблему и фикс уже там в экспериментальной ветке - то либо живешь на этом ядре счастливо до тех пор пока фикс не приземлится в стейбл, либо успокаиваешься и откатываешься на старье до того же самого счастливого момента.

А если глюк присутстсвует даже в самом свежаке - то идешь вот сюда

https://gitlab.freedesktop.org/drm/amd/-/issues/

И репортишь issue. Думаю в течении недели прилетит ответ от Марио , и начнете фиксить. Патч - тест, патч - тест. Патч - Марио, тест - твой. Штука в том что в распоряении практически всех линукс девелоперов есть определенный набор хардвера - да там есть каждой твари то есть каждого поколения что-то, но не факт что твоя конкртеная реализация железки-биоса есть у Марио в тестовом стенде, и далеко не факт что этому глюку подвержены все девайсы этого поколения. Если глюк будет повторятся на всем железе - то есть проблема не именно твоей реализации, а в том числе и тестового железа АМД - то тебе и тестировать не придется.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

потому что все твои лайфхаки с параметрами для стабилизации драйверов направлены именно на выключение этого самого энергосбережения

Да, но это надо делать в тестинге и выкатывать эти фичи тогда, когда они работают, а не приводят к тому, что xorg падает раз в 5 минут, делая невозможным работу за компьютером. При этом это выявляется буквально за пару часов работы. Думаю, что это всё можно покрыть тестами

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

Главный вопрос происходит это у всех или это специфика твоей кривожопой карты. У меня был ноут Yoga Air 14s. На 7840. Вот там стоял кривой биос. Такой же проц на асусах-асерах-других леновах работает, а на этой - хрена лысого. Вот нас там три несчастных собралось на гитлабе и под чутким руководством Марио сделали квирк для этого говнобука - включающий патченный DSDT и изменения в коде драйвера. На тестах нет всего возможного железа. АМД продает чипы - а каждый вендор конечного продукта уже на свое усмотрение отклоняется от рефереснного дизайна сехмы и биосов.

И да - ленову бомбили, указали им плюху в биосе. Ответ - в виндоуз все работает (решено драйверами от леново - свой квирк драйверов естественно в опенсорс не отдали) - а линукс мы на этом ноутбуке не поддержваем. В общем пшнх дебилы, купили наше поделие - вот теперь сношайтесь.

Еще раньше была плюха с dell xps13 9310 - на котором стояла вайфайка ath11. На ноуте она не просыпалась, не засыпала, крашилась. А на тестовой системе qualcomm стоял не ноут , а просто вайфайка такая же один в один но засунутая в intelNUC. Тот же проц таже карта - тесты проходит на ура у разрабов. А на xps13 - не работает. Dell уже давно отдан под виндоуз - но судя по отбивкам из того бага до сих пор баг не пофикшен. Делл как и положено вендору железа отморозился - мол для линукса мы продаем такой же, но с вайфайкой интел. (она там запаяна если что - причем просто перепаять не поможет интел там cnVi, а ath11 pcie - надо мало того что перепаять модуль, так еще и надыбать описания конфигурационных резисторов и их перепаять)

В общем смотри гитлаб - если это действительно глобальная штука то не все такие ленивые, кто-то да откроет баг, и при большом количестве пострадавших это быстро зафиксят. А вот есди проблема в твоей карточке - то тут помоги себе сам как говорится. АМД тестирует под линукс только свои референсные схемы и биосы, а вендоры железа как правило заявляют свои изделия как windows only и соответственнно тоже под линукс не тестируют, пачти и информацию о своих схемотехнических изменениях команде Марио не дают.

Qui-Gon ★★★★★
()
Ответ на: комментарий от bryak

Это AMD SMU передаёт привет со своей глубокой гло^W интеграцией. А ноутбуки AMD + AMD так вообще кроме SMU ещё обычно разные архитектуры GPU имеют и висят на одном ядерном модуле.

steemandlinux ★★★★★
()