AMD GPU搭載Linuxでのスリープ・ウェイクハングを1年間デバッグした記録

2025-02-17

著者は、AMD RX 570 GPUを搭載したLinuxシステムで、スリープ状態からの復帰時にクラッシュまたはハングする問題に悩まされていました。復帰後、多くの場合、黒い画面が表示されました。1年以上にわたる集中的なデバッグの後、journalctlのログ分析、systemdの設定調整、デバッグシェル、さらにはGhidraによるリバースエンジニアリングなどを行い、原因は高メモリ使用時におけるamdgpuドライバのバグ、具体的にはVRAMのバックアップ処理にあると特定されました。最終的に実装された解決策は、電源管理通知APIを利用して、スリープに入る前にVRAMを予防的にバックアップすることで、メモリ不足エラーを防ぐものです。この修正は、安定版Linuxカーネル6.14でリリースされる予定です。