Development:Debugging Adreno Crash

From FEX-Emu Wiki
Revision as of 16:35, 9 March 2023 by Sonicadvance1 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Information from upstream

This is Adreno's documentation here. Has some good information about storing devcoredumps for GPU backtraces.

Timeout related

The default hangcheck timeout is only 250ms, this can be increased for testing purposes if suspected that for some reason it's just a long compute job.

 echo "20000" | sudo tee /sys/kernel/debug/dri/0/hangcheck_period_ms

Performance related

Sometimes the issue might be related to performance. You can set the GPU clocks to the maximum for testing

 cat /sys/devices/platform/soc@0/3d00000.gpu/devfreq/3d00000.gpu/max_freq | sudo tee /sys/devices/platform/soc@0/3d00000.gpu/devfreq/3d00000.gpu/min_freq

Sometimes the GPU might autosuspend and make counters contain bad data. Especially useful for long running compute stages

 echo 5000 | sudo tee /sys/devices/platform/soc@0/3d00000.gpu/power/autosuspend_delay_ms

Probably some easier way to reach that node.


Seeing GPU load

If you want to know how loaded the GPU is.

 sudo cat /sys/kernel/debug/dri/0/perf