Closed17

Ubuntu 20.10とRadeon RX 6000 シリーズGPUの組み合わせの不遇

κeenκeen

Ubuntu 20.10とRadeon RX 6000 シリーズ(RX 6800, RX6800XT, RX6900XT)は数日違いでリリースされた(10/22と10/28)。

AMDはオープンソースへのコントリビュートを旨としており、Linuxカーネルの上流にはRX 6000シリーズのサポートが入っているっぽい(Linux 5.10以降)

さらにAMDは現行のOSに対応するためにUbuntu 20.04へのDKMSも提供している
https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-20-45

Linux 5.8のUbuntu 20.10「俺は?」

κeenκeen

一応DKMSとそれに依存する部分以外のドライバは動くので画面描画は可能。多分だけど描画系とGPGPU系のインタフェースが別で描画系はさすがに動かないと困るからそこは動くように作ってるのかな。

ただしGPGPU系の機能は全然だめで、 /dev/kfdとか/dev/driとか/dev/drmがそもそも存在しないしそういったやつに依存するOpenCLとかVulkanとかも入らない

κeenκeen

個人的にはUbuntu 21.04が最低でもLinux 5.10、多分5.11になるらしいので21.04のpreviewを使ってもいいんじゃないかと思ってる。21.04の開発スケジュールは以下。

  • 機能確定: 2021-02-25
  • UI確定: 2021-03-18
  • Ubuntu 21.04 Beta: 2021-04-01
  • カーネル確定: 2021-04-08
  • リリース候補: 2021-04-15

https://www.omgubuntu.co.uk/2021/01/ubuntu-21-04-release-features

現時点でbeta未満とはいえ、そんなに不安定ってことはないんじゃないかな。試したことないけど。

注意点はwaylandに移行してるのでX Window System依存のやつがたまに動かないこと。

κeenκeen

ドライバがちゃんと機能してない現在は音が出ない、スリープから復帰するときに画面が点かない、画面のリフレッシュレートがなんか30Hzになってる、などの現象に直面している。リフレッシュレート以外はAMD GPUに換装する前はちゃんと動いていたので多分ドライバの問題。リフレッシュレートは以前どうだったか覚えてないので不明。

κeenκeen

有識者の知見/動いたよ報告お待ちしております(誰でも投稿できます)

κeenκeen

リフレッシュレートは60Hzになった、音も出るようになった。/dev/kfd、/dev/dri、/dev/drm_*は生えた。

スリープからの復帰は画面はつくけど表示が正しくない上にキーボードマウスが正常に動かなくてカーソルの移動だけできる。クリックとキータイプは不能で、事実上スリープから復帰不可。

openclとかvulkanとかはどうやって最小限の確認しましょうね。

κeenκeen

まあ、ファームウェアインストールする前に起きてた諸現象が直ったのでよしということで。

  • alacrittyの描画が1イベント分遅れることがある問題が解消
  • firefoxの描画が荒れることがある問題が解消
  • blenderが高速化
  • (最新版を自前ビルドした)radeontopにそれっぽい表示がされるように

引き続き21.04試してみた報告やスリープから復帰しない問題の解決報告などはお待ちしております。

κeenκeen

いままで動かなかったwgpuのサンプルコードが動いたのでヨシ

$ cargo run --example cube
    Finished dev [unoptimized + debuginfo] target(s) in 0.06s
     Running `target/debug/examples/cube`
WARNING: radv is not a conformant vulkan implementation, testing use only.
Using AMD RADV SIENNA_CICHLID (ACO) (Vulkan)

https://github.com/gfx-rs/wgpu-rs

κeenκeen

blenderのcyclesでレンダリングするときに上手くOpenCLでレンダリングできない問題があった。これは権限の問題でBlenderがGPUにアクセスできてなかったっぽい。Blenderをsudoで起動するか(あまりおすすめしない)、 ユーザを render グループに入れてrebootすれば解決した。

$ ls -l /dev/kfd
crw-rw---- 1 root render 508, 0  2月 27 16:38 /dev/kfd
$ ls -l /dev/dri
合計 0
drwxr-xr-x  2 root root         80  2月 27 16:38 by-path
crw-rw----+ 1 root video  226,   0  2月 27 16:38 card0
crw-rw----+ 1 root render 226, 128  2月 27 16:38 renderD128
$ sudo usermod -aG render $USER

あんまりよく分かってないけど同様の問題がvideoグループでも発生しそうだしついでにvideoグループにも入れとくといいかも?

κeenκeen

videoグループについて。

video: This group can be used locally to give a set of users access to a video device (like the framebuffer, the videocard or a webcam).

https://wiki.debian.org/SystemGroups

基本はWebCamとかだけどGPUでエンコードする場合はGPUも関係しますよ程度かな。まあ、あるに越したことはなさそう。

κeenκeen

Linux 5.11.5が出ていたのでアップグレードしたらスリープからの復帰の問題も直った。5.11.3で色々パッチが入ってるっぽいからそこで直ったのかな

このスクラップは2021/03/10にクローズされました