ぴんく色のゴミ箱

pwnのことは一切書かないし大嫌いです / 書いてあることは全てフィクションで事実は一つもありません / このブログに筆者は存在しません

PC買った: AlderLake + Ubuntuのおはなし

師も惰眠を貪る2月。 卒論を提出して審査も終わり、大学4年間の課程は終了となっった。 このへんについては積もる話もあるような無いようなきがするため、また別途エントリを書こうと思う。

この4年間、特に最後の1年間を死なずに生き抜いたご褒美として、初めて自作PCというものを買ってあげた。 スペックは以下の通り:

CPU    : Core i9 12900 (Alder Lake)
M/B    : TUF GAMING B660-PLUS WIFI D4
case   : 4000D airflow TG
mem    : BL2K16G32C16U4B 16GB x 2
storage: CSSD-M2B1TPG3VNF 1TB
power  : G800 GOLD
cooler : AK620 R-AK620-BKNNMT-G

kernel等のビルドが簡単にできるように、少しオーバースペック気味に買った。

さて、これでUbuntu 20.04LTSをインストールしたところ、以下の不具合が出た。

- shutdown時に電源が切れない (kernelはshutdownまで行く)
- 上と関連して、rebootができない
- suspend(sleep)するとクラッシュする

Intel12世代(AlderLake)は2021年の11月に発売されたばかりで、まだドライバが対応していないのが主な原因と見られる。 ググっても、同様のポストが散見される (eg: https://www.reddit.com/r/linuxhardware/comments/rs26p3/alder_lake_experience_with_linux/)

workaroundとして、BIOSからEthernetをdisableすると良いよと書いてあったため試してみたところ、電源が切れないという問題は解決した。だが、依然としてsuspendするとクラッシュするのは変わらなかった。

とりあえずUbuntuをLTSではなくdevel版(JammyJellyfish)にしてみたが、これが採用しているkernelは5.15であり、まだAlderLakeへの対応は十分ではないらしく問題は解決しなかった。

というわけで、より新しいkernel v5.16を自分でビルドしてインストールしてみた。(5.17はrc版しか出ていなかったので、とりあえず5.16から):

mkdir nirugiri & cd ./nirugiri
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
cd ./linux
git checkout v5.16.9
cp /boot/config-`uname -r` .config
make olddefconfig
make menuconfig
scripts/config --disable SYSTEM_TRUSTED_KEYS
scripts/config --disable SYSTEM_REVOCATION_KEYS
rm ./vmlinux-gdb.py

time make -j 25 deb-pkg LOCALVERSION=-nirugiri
sudo dpkg -i ../linux-*.deb # header / image / image-deb / libc-dev

結果として、v5.16.9で上に挙げた3つの問題は全て解決した。 やったね。

ちなみに、devel版のUbuntuを使うのは初めてで、そこで使われてるGNOMEのworkspaceが、縦から横になっていてキレそうになった。 なんでもかんでもMacに寄せればいいってもんちゃうぞ。まぁ縦型にするuser-scriptがあったからキレずに済んだ。

ちなみに、coolerはAK620を買ったのだが、LGA1700に対応するためのリテンションキットが付属していなかったため使えず、現在のところ仕方なくIntel付属の光るやつを使っている。kernelをビルドすると簡単に16コア全部が100度になるため、早く良いクーラーに切り替えたい。

続かない。