メインマシンを AMD Ryzen 5 2400G に
しばらく AMD A10-5700 をメインマシンで使っていたが、 Debian Buster のリリースも間近となって kernel 4.19 になることから、久しぶりに話題の AMD Ryzen に入れ替えることにした。
最終的に入れ替えた部材は以下の通り。
- APU: AMD Ryzen 5 2400G (Radeon Vega 11 内蔵)
- MB: ASUS PRIME B450M-A
- Memory: CFD PANRAM W4U2666PS-16GC19 (PC4-21300 16Gx2)
- NVMe SSD: Sandisk Extreme Pro 500GB
- HDD: WD Red WD40EFRX (4TB)
ちなみに旧パーツはソフマップで 4,000円で売れました。
近頃 Linux 界では Ryzen が Hot らしいが、それなりにノウハウが必要なので備忘録として残しておく。
HDD
本当は HDD は旧 PC のものをそのまま使う予定だったのだが、移行前にデータを整理している最中にお亡くなりに… 😓
良い子はこまめにバックアップを取りましょう。
自作 PC 用パーツを扱っている量販店に行ってみると、今は店頭に並んでいるコンシューマ向け HDD は大半が SMR (瓦記録) になっているんですね。 仕事柄 HDD にはちょっとうるさいのと、 HDD 障害の後の買い替えなので SMR は避けたい。 SMR かどうかはベンダーは公表していないが、いろんな情報から現時点では SMR ではない Seagate の IronWolf か WD の Red の二択に。 今まで使っていたのが Seagate だったこともあり、今回は(個人的にはあまり印象が良くない) WD の Red を選択。
Windows のインストール
使用頻度は非常に低いが、動作確認等のために一応 Windows 10 はインストールしておく。
注意が必要なのは、インストールする NVMe SSD の容量が 500GB のため、そのままだと MBR でインストールされてしまうこと。 予め Linux (GParted Live CD 等) でパーティションを GPT にしておき、 UEFI でインストールされるようにする。
Windows をインストールした後には再度 GParted のお世話になり、 Linux をインストールする領域を空けておく。
Debian Buster のインストール
私がインストールした頃はまだ Debian Buster がリリースされていなかったので、 テスト版のインストーラ を利用。 もうじき Buster もリリースされるので、その際には正規の安定版インストーラでも大丈夫でしょう。
インストーラの指示通りやれば普通にインストールできるはず。 Buster からは UEFI Secure Boot 対応になっているため、 Secure Boot 有効のままでもインストール可能。
すんなりインストールできるが、実は再起動するとグラフィカルインタフェースは立ち上がらない。 GRUB でシングルユーザモードを選択し、コンソール画面でいろいろインストールする必要がある。
- まずは
/etc/apt/sources.list
を編集してnon-free
とcontrib
を追記するdeb http://deb.debian.org/debian buster main non-free contrib
apt-get update
apt-get install firmware-linux firmware-realtek
- reboot
他のやり方をしている人も多いと思うが、これでグラフィカルインタフェースも立ち上がるはず。
X の設定
Debian Buster の標準デスクトップ環境は Gnome Wayland になっている。 そのままでも使えないことはないが、 AMD-GPU の Wayland ドライバがないため、各種アクセラレーションが効かずに宝の持ち腐れになる。 このため、 Wayland ではなく Xorg で動作するように変更する。
/etc/gdm3/daemon.conf
を編集し Wayland を無効にする。
[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
これで次の起動からは Xorg の xserver-xorg-video-amdgpu
ドライバで動くようになる。
GDM 以外の Display Manager を使うという手もあるが、現時点ではユーザ権限で X が動作するようにするには GDM 以外に選択肢がないため、私はこのようにしている。
併せて glx-diversions
パッケージをインストールして OpenGL のアクセラレーションが効くようにした方がいいだろう。
VMware を使う場合には この設定 も忘れずに…
センサー
k10temp
は自動的にロードされ問題なく動作する。
昔と違って Tdie
と Tctl
という二種の温度が読める。
以前は相対値しかわからず補正が必要だったが、どうも補正無しで正しい値が読めるようだ。
amdgpu
は APU 内蔵ではない外付けも想定しているため、必要ない情報まで出てくる。
私は /etc/sensors.d/AMD_Ryzen5_2400G
に以下のように設定。
chip "amdgpu-pci-0900"
label temp1 "Tgpu"
ignore in0
ignore in1
ignore fan1
ignore power1
問題は、マザーボードのセンサー。
いろいろ調べると、このマザーボードで使用している it87
のモジュールは長らくアップデートされていない (kernel にマージされていない) らしい。
幸いモジュールのメンテをしている人がいたため、このアップデートされたモジュールを使う。
元々のメンテナは Guenter Roeck だったが、モジュール開発に必要な情報を得るために NDA が必要だったり…と限界を感じて 開発から撤退 し、今はこの方の開発していたモジュールをミラーしている以下のサイトが残っている。
- https://github.com/a1wong/it87
- https://github.com/Road-Drum/it87
- https://github.com/xdarklight/hwmon-it87
※ 参考: Driver for Asus B450 motherboard to enable LM Sensors / other boards
$ cd 適当な場所
$ git clone https://github.com/a1wong/it87.git
$ cd it87/
$ su
# make dkms
これでマザーボードのセンサーが使えるようになる。
センサーの設定は不明のところが多々あるが、とりあえず /etc/sensors.d/ASUS_B450M-A
に以下のように設定している。
## sensors.conf for ASUS PRIME B450M-A
chip "it8655-isa-0290"
# Fans
label fan1 "fan1/CPU"
label fan2 "fan2/CHA"
label fan3 "fan3/CHA"
# Temperatures
label temp1 "temp1/CPU"
set temp1_min 5
set temp1_max 70
set temp1_max_hyst 66
set temp1_crit 80
set temp1_crit_hyst 76
label temp2 "temp2/Mobo"
set temp2_min 5
set temp2_max 60
set temp2_max_hyst 56
label temp3 "temp3/Mobo"
set temp3_min 5
set temp3_max 60
set temp3_max_hyst 56
#ignore temp4
#ignore temp5
#ignore temp6
ignore intrusion0
chip "asus-isa-0000"
ignore fan1
なお、この it87 のモジュールをロードするためには、前述の UEFI Secure Boot を無効にするか、 it87 モジュールを署名 [1] しないといけない。
私は面倒なので、結局 UEFI Secure Boot を無効にした。
このままだと再起動時にロードされないため、 /etc/modules-load.d/asus-b450m.conf
に以下の設定を入れておく。
it87
ついでに /etc/modprobe.d/asus-b450m.conf
に以下の設定を入れておく。
# remove unnecessary asus-isa-0000 sensors module
blacklist eeepc-wmi
# use MMIO to access the chip
options it87 mmio=1
前半は不必要なモジュールをロードしないようにするもの。
後半はセンサーチップへ MMIO を使ってアクセスするためのもの。これは BIOS の設定次第では指定しないほうがいいかもしれない。
[1]: VMware 用モジュールも同様で モジュールへの署名のしかた が書かれたサイトはいくつか見つけている。ただ、モジュールやカーネルがアップデートされる度にこれをやるのはかなり面倒であり、 UEFI Secure Boot DKMS Module Utilities のようなツールを使うのが確実。 VMware も dkms 方式になっているとありがたいのだが…
« 会社のメール環境が Outlook 限定に… | トップページ | Kodi の設定 »
「パソコン・インターネット」カテゴリの記事
- FreeDOS で SATA 接続 CD/DVD が利用可能に(2023.03.22)
- Debian Linux を Secure Boot 環境で使う(2023.03.06)
- コンテナで GUI / GPU を使う(2022.10.19)
- 仮想環境のイメージ格納場所の移動(2022.09.10)
- PC ケースを変えてみたが…(2021.10.31)
「Linux」カテゴリの記事
- Debian Linux を Secure Boot 環境で使う(2023.03.06)
- コンテナで GUI / GPU を使う(2022.10.19)
- 仮想環境のイメージ格納場所の移動(2022.09.10)
- Kodi の設定(2019.12.02)
- メインマシンを AMD Ryzen 5 2400G に(2019.06.24)
コメント