ENVY X360 2500U モデル Ubuntu 18.10 その2

BIOSがF.19にアップデートされたので記事を新規作成
これまではRyzen側だけを追っていきましたが、Vega側も見ないと安定動作しているかどうかわからんとなったので、amdgpu関連エラーをsyslogから見ていくつもり
フリーズはブラウザ上の動画閲覧でVega側に負荷がかかったときに起こりやすくなってるみたい
12/29追記 BIOSアップデート後は特にフリーズエラーもおこらず順調そのもの。5chのAMDスレッドに気になる投稿があったので参照
【AM4】AMD Ryzen 3 2200G/Ryzen5 2400G part18

719Socket774 (ワッチョイ ee67-+RxV)2018/12/29(土) 10:29:35.25id:ujS5GGG80>>722
>>708
とりあえず/var/log/messagesを見てフリーズする前後に何かないかログを確認

LinuxRaven Ridgeがブートしなかったり不安定になる原因は特定されていて、環境によって問題が
起きたり起きなかったりするのはBIOSが原因

対処方法は新しめのカーネルBIOSにアップデートした上で、BIOSの設定でIOMMUを有効にする
これでも不安定の場合はBIOSの設定で内蔵グラフィック関係の設定を変えてみたり、ブートオプションに
amdgpu.ignore_crat=1を加えてみる

原因は
ttps://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/issues/42

I think there are a few different problems with this system. KFD ignores the CRAT table because
it doesn't contain any information about the GPU. That's a problem in the system BIOS. As a result
it wants to treat the GPU like a discrete GPU rather than an APU. But then it detects the Raven
GPU and realizes it needs IOMMU anyway, and fails.

APUの場合BIOSがAPUのiGPUの情報をCRATに書き込み、カーネルがその情報を利用して初期化
等をするんだけど、おかしなBIOSがCRATに何も書かなかったり間違った情報を書いてしているので
CRATが変だとdGPUとして扱うことになり誤動作する

WindowsのドライバはCRATを無視しているらしいからたまたまうまく動いている

LinuxではAMD IOMMUv2の仕組みを利用して対応したため、IOMMUを有効にすれば問題ないはず
それでもおかしいならCRATを無視するカーネルモジュールオプションignore_cratを有効にしてみて

ttps://www.kernel.org/doc/html/latest/gpu/amdgpu.html
ttps://github.com/RadeonOpenCompute/ROCm/wiki

BIOS更新以来止まることはないですね。もう少し負荷をかけたりして様子を見ましょう。
その後約2ヶ月立ちますが全く問題でないですね。ブラウザ上で動画をみても固まることはありません。