古の ASUS EeeBook X205TA に Ubuntu 22.04 LTS を導入

2015 年に 2万円台で購入した ASUS EeeBook X205TA を引張り出してきまして、プリインストールの Windows 10 を削除、Ubuntu 22.04 LTS の導入をしてみました。

CPU は Intel Atom の 1.33GHz、メモリー 2GB、 内蔵ストレージ eMMC 64GB といった当時としてもロースペックの格安機です。2014 年末発売とのこと。

10.1 インチ、重さ 980g 程度と持ち運びが容易で、バッテリーも 8 時間程度もち、またキーボードも癖がなかったため、かばんに忍ばせ比較的重宝していました。その後、ストレージの少なさから Windows 10 のアップデートができない状態となりお蔵入りとなった経緯です。

本日ふと存在を思い出し、OSC などの展示ブースでサイネイジ的に画面を表示してそっと置いておくのにまだ使えるかもとレストア。なお、しばらく電源を入れていなかったのでバッテリーは充電されずでした。

この機械の購入時は Linux のデバイスサポートが良くない状況だったため Windows で利用していたのですが、今回 Ubuntu 22.04 の導入を試行してみたところ、懸案だった無線 LAN はそのまま動作。Bluetooth は動作未確認ですが OS からは認識し問題なさそうです。

残念ながらサウンドデバイスは認識しているものの、発音から 1分程度で必ず同一周波数の謎のビープ音(矩形波)が鳴り響くという状況でした(この部分は解決できず)(修正できたので記事に対応方法を追加しました)。技術的になぜなのか気になりますが、音声が必要な場合は USB DAC や Bluetooth スピーカなどを接続して逃げるといいのかもしれません。

起動時の dmesg:

eeebook-dmesg-ubuntu-6.2.0-63-generic.log

そんなこんなで Ubuntu 導入をして復活できましたので、以下に手順をメモしておきます。

32bit EFI GRUB 起動

この機械は起動時の EFI が 64bit ではなく 32bit モードで起動されるとのことで、通常の Ubuntu 22.04 LTS の ISO イメージがブートできません。てなわけで、Ubuntu 22.04 の ISO イメージを USB メモリーに焼いた後、 boot/efi 配下に以下の 32bit 用の実行ファイルを配置します。

https://github.com/jfwells/linux-asus-t100ta/blob/master/boot/bootia32.efi

この操作で Ubuntu 22.04 インストレーション用の起動 USB メモリーができたら、おもむろに X205TA の USB ポートに差し込み、電源を入れ即座に ESC キーを連打して起動メニューを立ち上げます。

最初に「Enter Setup」で BIOS 設定を表示し Secure Boot を disable に設定保存後、もう一度同じ操作で ESC 連打で次は「UEFI: SanDisk」(USBの名前)を選択して Ubuntu 22.04 のインストーラを起動します。

あとは道なりに進めばインストールの最終段階まで進めるはずです。かなり遅いのでがんばります。ストレージが 64GB と小さいのでインストールオプションでは「最小インストール」を選択すると良いと思います。

ちなみに自分は初回 eMMC にパーティションテーブルを書き込むところ(Windows 10 を消すところ)でマウスカーソルごとフリーズしましたが、再起動後に最初からリトライしたところ通過しました。原因は不明です。

インストールはしばらくかかりますが、最終段階でおそらく「GRUB を /dev/mmcblk2 にインストールできません。 grub-install /dev/mmcblk2 の実行に失敗しました。これは致命的なエラーです」が表示されると思います。

対応するためいったん OK で無視して、USB メモリーを挿したまま X205TA の再起動をかけます。

eMMC 側にも 32bit EFI 向けのブートバイナリを配置

ESC 連打で USB メモリーから再びブートし、今度は GRUB の起動メニューで「c」を押下して GRUB のプロンプトを出し、次のようにコマンドを打って eMMC 側の Ubuntu 22.04 を起動してあげます。(いったん eMMC のブートローダを使わずに USB メモリー内のブートローダから eMMC 内の Ubuntu を起動する形になります)

入力する GRUB コマンド:

> set root=(hd1,gpt2)
> linux /boot/vmlinuz-6.2.0.26-generic root=/dev/mmcblk2p2
> initrd /boot/initrd.img-6.2.0-26-generic
> boot

コマンド内のファイル名中のバージョン識別は、Ubuntu 22.04 を導入時期によってバージョンが変わると思いますので、適宜コマンドを修正してください。ファイルシステムのファイル名はタブキーで補完(表示)できます。

boot コマンド投入後 eMMC に導入された Ubuntu 22.04 LTS が起動するはずです。

Ubuntu 22.04 GUI 起動後、言語などの初期設定を経てから、ターミナルエミュレータから次のようにして eMMC 内に 32bit EFI 向けの GRUB ブートを構成します。

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install grub-efi-ia32-bin
$ sudo grub-install --efi-directory=/boot/efi
$ update-grub

以下、実行ログです。

$ sudo apt install grub-efi-ia32-bin
$ sudo ls -laF /boot/efi/EFI/BOOT # BOOTIA32.EFI があることを確認
合計 1984
drwx------ 2 root root   4096 11月  3 20:27 ./
drwx------ 4 root root   4096 11月  2 23:09 ../
-rwx------ 1 root root 106496 11月  3 10:37 BOOTIA32.EFI*
-rwx------ 1 root root 960472 11月  4 10:19 BOOTX64.EFI*
-rwx------ 1 root root  88296 11月  4 10:19 fbx64.efi*
-rwx------ 1 root root 860824 11月  4 10:19 mmx64.efi*
$ sudo grub-install --efi-directory=/boot/efi/
Installing for i386-efi platform.
Installation finished. No error reported.
$ sudo update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.2.0-36-generic
Found initrd image: /boot/initrd.img-6.2.0-36-generic
Found linux image: /boot/vmlinuz-6.2.0-26-generic
Found initrd image: /boot/initrd.img-6.2.0-26-generic
Memtest86+ needs a 16-bit boot, that is not available on EFI, exiting
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done

実行できたら USB メモリーを抜いて eMMC から通常ブートしてみます。うまくいけば eMMC 上の Ubuntu 22.04 が起動すると思います。

SD カードスロット

Ubuntu デフォルト導入では SD カードスロットが認識しないため、次のように操作して認識させます。

$ echo "options sdhci debug_quirks=0x8000" | sudo tee /etc/modprobe.d/sdhci.conf
$ sudo update-initramfs -u -k all

update-initramfs コマンドは 10 分程度かかります。コマンドが戻ってきたら OS を再起動し、メディアを挿すと SD カードがオートマウントされるはずです。

参考 URL:

https://github.com/RobotGhost/ubuntu-x205ta/blob/master/debian-fixes-x205ta.md#microsd-card-reader

サスペンド後のトラックパッドの動作

サスペンド復帰後、トラックパッドが動作しなくなりマウスカーソルの移動やクリックができなくなります。

elan_i2c の dmesg エラーログ:

[ 1309.121342] elan_i2c i2c-ELAN0100:00: invalid report id data (1)

elan_i2c モジュールかバス初期化の不具合と思いますが、次のようにリロードしてあげると動作を再開します。

$ sudo modprobe -r elan_i2c && sudo modprobe elan_i2c

ターミナルにカーソルを移せない場合は、CTRL + ALT + F3 でコンソールを開くと良いかもです。(GUI に戻すのは CTRL + ALT + F2)また、上記のコマンドを systemd の suspend/resume 契機にうまいこと入れると自動復帰できるようになるかもしれません(未実施)。

サウンド設定

この記事の最初で書いた通りサウンドについてはアプリケーションから発音させると数十秒は正しく動作しますが、その後ビープ音(必ず同じ周波数の矩形波)が鳴り響きだすという謎の事象が発生します。

これを解消するために次のようにサウンドデバイスを構成します。

# 念の為必要のない HDMI サウンドデバイスを見えないように
$ echo "blacklist snd_hdmi_lpe_audio" | sudo tee /etc/modprobe.d/50-block-hdmi-audio.conf
# dsp_driver を SOF にすると不具合でビープ音となるようなので alsa で SST を使うように設定(dsp_driver:Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF)
$ echo "options snd-intel-dspcfg dsp_driver=2" | sudo tee -a /etc/modprobe.d/alsa-base.conf

OS 再起動後の aplay -l ログ:

$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: chtrt5645 [chtrt5645], デバイス 0: 1 []
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 0: chtrt5645 [chtrt5645], デバイス 1: Deep-Buffer Audio (*) []
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0

Ubuntu (PulseAudio) 的には次のように見え、ウェブブラウザーなどのアプリケーションから正しく音声が発音するようになっていると思います。

参考 URL:

[BUG] sof-audio-acpi-intel-byt stops and give a screaming high sound #4662

alsamixer から見たサウンドカードの認識:

動画再生支援

CPU の動画再生支援は設定無しでうまく動作するようです。フルHD 動画が CPU 4コア 25% 程度でフレームドロップなく再生できました。

$ sudo apt install mpv
$ mpv --hwdec=auto hegohego.mpv
 (+) Video --vid=1 (*) (h264 1920x1080 29.970fps)
 (+) Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
[vo/gpu/wayland] GNOME's wayland compositor lacks support for the idle inhibit protocol. This means the screen can bla
nk during playback.
[vaapi] libva: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
Cannot load libcuda.so.1
Using hardware decoding (vaapi).
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 1920x1080 vaapi[nv12]
AV: 00:02:17 / 00:02:50 (80%) A-V:  0.000 Dropped: 3
[input] No key binding found for key 'MBTN_MID'.
AV: 00:02:19 / 00:02:50 (82%) A-V:  0.000 Dropped: 3
Exiting... (Quit

intel_gpu_top で VA-API が使われている様子をみた図:

$ sudo apt install intel-gpu-tool vainfo
$ export LIBVA_DRIVER_NAME=i965 # .bashrc に入れても良いかもです。
$ vainfo
libva info: VA-API version 1.14.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.12.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Bay Trail - 2.4.1
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
$ sudo intel_gpu_top

ウェブブラウザの YouTube 再生は残念ながら標準 codec が H264 ではなくなっているため、動画再生支援は使われず。ウェブサイト自体が重たいためこの機械で YouTube を使うことはないだろうと今回はやっていませんが、ブラウザに YouTube H264 化系の拡張を入れると URL 変換でなんとかなるのかもしれません。

おわりに

最後に動作試験的に、Alacritty、gcc や Rust の開発系、Helix Editor や Zellij ターミナルマルチプレクサなどを入れ、CUI 環境でコードリーディングくらいできるところまで環境設定してみました。Rust 系のアプリケーションは cargo install でビルドして導入しています。ストレージは残り半分(32GB)といった感じになりました。

検証でまる一日程度使ってみた感じですが、この機械はストレージの遅さが使用感を損ねている場合が多いようですので、Ubuntu Frame などで GDM ログインや GNOME Shell を介さずに Kodi など特定用途のアプリケーションを kiosk 起動するように構成するのもいいかもしれません。(アプリがメモリーに載ってしまえば結構動きます)

というわけで、Ubuntu 22.04 LTS のサポート期間は 2027-04 で、Ubuntu Pro を enable にするとさらに 5年だと記憶していますので、ハードウェアが壊れるまでこのままいけそうです。w

関連

Windows のコマンドライン環境の整備

Windows 11 で PowerShell を中心としたコマンドライン環境を整えてみたので、忘れないうちに導入系のメモです。

昨今の Windows は winget コマンドでソフトウェアのインストールもアップグレードもできるので便利です。この記事でも導入に積極的に使っています。

https://learn.microsoft.com/ja-jp/windows/package-manager/winget/

winget コマンド ライン ツールを使用すると、Windows 10 および Windows 11 コンピューター上でアプリケーションを検出、インストール、アップグレード、削除、および構成することができます。 このツールは、Windows パッケージ マネージャー サービスに対するクライアント インターフェイスです。

winget で導入したパッケージの一括アップグレードコマンド:

# --accept-package-agreements はライセンス同意時に付与のこと
winget upgrade --all --accept-package-agreements

winget でパッケージを探す時のコマンド:

winget search Test #任意の文字列

ターミナル

ターミナルは (Windows) Terminal を使用。 導入:

winget install Microsoft.WindowsTerminal

PowerShell も WSL2 Linux も設定なしいけるので扱いやすいと思います。

設定フォント(PowerLine 含む)は HackGen NF を使わせていただいています。書体が綺麗でかつターミナルマルチプレクサなどを使ってもズレることもありません。

https://github.com/yuru7/HackGen/releases/tag/v2.9.0

白源 (はくげん/HackGen) は、プログラミング向け英文フォント Hack と、源ノ角ゴシックの派生フォント源柔ゴシックを合成したプログラミングフォントです。

外観設定:

Helix Editor の導入

ターミナル上で動作するスクリーンエディタである Helix Editor の導入。Rust でかかれています。なお、実行ファイル名は hx

https://helix-editor.com/

A post-modern text editor.

winget install Helix.Helix

モードがあるタイプの vim のようなテキストエディタで、標準で Language Server Protocol に対応しておりプログラミング向きです。

日本語入力についてはキャレットがずれてしまうなどがあり長文は厳しく、ソースコードコメント程度が入力できるかな、くらいで現在のところ考えた方が良さそうです。

使い方ですが、:tutor コマンドを入力するとチュートリアルファイルが開きますので、一通り下までやると覚えられると思います。また、操作に困った場合も、ESC, SPACE, ? するとファジーファインダー付きでアクションと操作一覧がでますので何とかなります。

vim から hx にくると手癖で苦戦するかもですが、、そうでなければ Helix のほうが操作系は統一されており、画面ヘルプも得やすいことから覚えやすいと感じました。(カーソルが単一幅の選択であり、x ではなく d なのだ、と念じて使うと分かりやすいす)

起動は hx . とカレントディレクトリを指定するとファイルピッカーが起動してくれます。(なお、ホームディレクトリなどファイル数が多いところで hx . をすると時間がかかるのでプロジェクトディレクトリまで cd した後に実行のこと)

複数ファイル編集時のバッファの移動は ESC, SPACE, b にて。プレビューもでて非常に便利です。

:config-open コマンドで Helix の主に見た目のコンフィグレーションをいくつかしています。設定ファイル保存後 :config-reload コマンドで即反映します。

theme = "dark_plus"

[editor]
cursorline = true
true-color = true
color-modes = true

[editor.soft-wrap]
enable = true

[editor.statusline]
right = ["diagnostics", "selections", "position", "total-line-numbers", "file-encoding", "file-type"]

[editor.file-picker]
max-depth = 6

[editor.indent-guides]
render = true
character = "│"

PowerShell 7 と Git と PowerLine と fzf とそれらの設定

PowerShell の 7 系を導入。 5 系と共存できます。

winget install Microsoft.PowerShell

PowerShell のコマンドプロンプトで PowerLine のような表示をする OhMyPosh と Git の導入。表示フォントは前述の HackGen NF を設定のこと。

# Git
winget install Git.Git
# OhMyPosh
winget install JanDeDobbeleer.OhMyPosh

ここで合わせて、コマンドラインでファイルのファジーファインドを行う fzf と PowerShell ラッパー PSFzf の導入。

PowerShell コマンドプロンプトから ctrl + t などの起動ショートカットにてインラインで画面が展開され、カレントディレクトリから再起でファイルを検索、補完入力できます。PowerShell でも便利。

# fzf
winget install junegunn.fzf
# fzf の PowerShell ラッパー
Install-Module -Name PSFzf -scope currentUser

PowerShell 環境のキーアサインや fzf の設定等々(fzf は Ctrl + t で起動するように):

# Helix で PowerSHell プロファイルを編集
hx $profile

# 以下内容 C:\Users\hiromasa\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
# oh-my-post のテーマは Get-PoshThemes で一覧できる
# oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\marcduiker.omp.json" | Invoke-Expression
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\paradox.omp.json" | Invoke-Expression

# Key アサインを Emacs 系に
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineKeyHandler -Key Tab -Function Complete
Set-PSReadLineOption -EditMode Emacs
Set-PSReadLineOption -BellStyle None
Set-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteChar

# PowerShell のエラー表示を簡素化
$ErrorView = "ConciseView"

# fzf
$Env:FZF_DEFAULT_OPTS = "--height=20 --border=sharp --layout=reverse"
Import-Module PSFzf
Enable-PsFzfAliases
# fzf を ctrl + t で起動
Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+t' -PSReadlineChordReverseHistory 'Ctrl+r'

# Helix をデフォルトエディタに
$Env:EDITOR = "hx"

プログラミング言語

プログラミング言語として Rust と clang を導入。また、それぞれの周辺ツールや Language Server を構成。

# windows sysroot and toolchaine
winget install Microsoft.VisualStudio.2022.BuildTools
# clang 系
winget install LLVM.LLVM
# clang LSP
winget install LLVM.clangd
# make and cmake
winget install Kitware.CMake
winget install GnuWin32.Make
# Rust
winget install Rustlang.Rustup
rustup update
# Rust LSP
rustup component add rust-analyzer

コマンド検索 PATH 環境変数ぶ LLVM(clang)、CMake、make を追加。

C:\Program Files\LLVM\bin
C:\Program Files\CMake\bin
C:\Program Files (x86)\GnuWin32\bin

ここまで設定を進めて、ターミナルを再起動して PATH を反映すると Helix Editor で Language Server が動作するようになります。

Helix 構成確認:

> hx --health rust
Configured language server: rust-analyzer
Binary for language server: C:\Users\hiromasa\.cargo\bin\rust-analyzer.exe
Configured debug adapter: lldb-vscode
Binary for debug adapter: C:\Program Files\LLVM\bin\lldb-vscode.exe
Highlight queries: ✓
Textobject queries: ✓
Indent queries: ✓
> hx --health c
Configured language server: clangd
Binary for language server: C:\Users\hiromasa\AppData\Local\Microsoft\WinGet\Links\clangd.exe
Configured debug adapter: lldb-vscode
Binary for debug adapter: C:\Program Files\LLVM\bin\lldb-vscode.exe
Highlight queries: ✓
Textobject queries: ✓
Indent queries: ✓

Rust プロジェクトを hx で開くと Language Server が走って、入力補完や m コマンドのAST、g, d のシンボルジャンプなどが動作するはずです。うまくいかない場合は、:log-open コマンドでログを開くと解決のヒントがあるかもしれません。

clangd は CMake を構成して compile_commands.json をつくってもらえば include path などが解決されます。(簡単な構造のプログラムなら .json なしでよしなにしてくれるようです)

# for clangd (LSP)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

ちなみに Helix は Rust や clang ともに lldb-vscode で実験的ながらデバッグブレイクもできますが、自分が試した限り現時点の Windows 版ではまだうまく動作しないようでした。(止まるようで止まらない)ちなみにLinux だとブレイクと簡単なウォッチは大丈夫なので、おそらく近いうちに動作すると思います。

Linux 版 Helix で clangd を使って補完やデバッグブレイクしている様子:

gitui

Git のターミナルクライアントである gitui の導入。

winget install StephanDilly.gitui

gitui はキーボードのエンターキーや ESC キーで高速にぱちぱち動かせるので、オープンソースウォッチにも適しているのではないかと思います。

終わりに

普段は Linux を使っているので、実は今回調べてみるまで Windows でも fzf や gitui、 Helix がうまく動作すると知りませんでした。。てなわけで、簡単なコマンドラインツールを作りながら作業を進められるところまでいけたかなと思います。

PowerShell が割と久しぶりなので、また覚えながら。ちなみに Windows Terminal の次の次くらいのバージョンから PS の補完がドロップダウンで出力されるようです。楽しみ。

MINISFORUM UM690 の Windows 11 がダウンするようになった

これまで 8か月ほど調子良く動作していた MINISFORUM UM690 ミニ PC ですが、2023-9-13 くらいから Windows 11 使用中に真っ黒画面や画面の乱れの完全フリーズが数時間に一度発生するようになったのでメモ。

原因は不明でログとして。いろいろアップデートして様子見中(電圧降下等の外的要因の可能性もあり)

UPDATE – DDR5 SODIMM メモリーのハンダクラックが原因だったと思われます。

事象

発生時の画面: ちなみに白四角がライフゲームのように動いて焦りました。w

イベントログ: 同時刻に AUEPMaster.exe (おそらく RADEON の収集エージェント)のエラーが計上されている。

障害が発生しているアプリケーション名: AUEPMaster.exe、バージョン: 2310.31.1.824、タイム スタンプ: 0x64e76fbc
障害が発生しているモジュール名: ucrtbase.dll、バージョン: 10.0.22621.608、タイム スタンプ: 0xf5fc15a3
例外コード: 0xc0000409
障害オフセット: 0x000000000007f61e
障害が発生しているプロセス ID: 0x0x1D28
障害が発生しているアプリケーションの開始時刻: 0x0x1D9E791F01EAF58
障害が発生しているアプリケーション パス: C:\Program Files\AMD\Performance Profile Client\AUEPMaster.exe
障害が発生しているモジュール パス: C:\WINDOWS\System32\ucrtbase.dll
レポート ID: 36c9e805-9918-43b6-8267-82034cf2edbe
障害が発生しているパッケージの完全な名前: 
障害が発生しているパッケージに関連するアプリケーション ID: 

Windows Update 状況: (ちょうど 2023-09-13 にアップデートが当たっているが関連が思い浮かばず)

❯ Get-HotFix | sort -Descending InstalledOn

Source        Description      HotFixID      InstalledBy          InstalledOn
------        -----------      --------      -----------          -----------
MINIS-UM690   Security Update  KB5030219     NT AUTHORITY\SYSTEM  2023/09/13 0:00:00
MINIS-UM690   Update           KB5029921     NT AUTHORITY\SYSTEM  2023/09/13 0:00:00
MINIS-UM690   Update           KB5028756     NT AUTHORITY\SYSTEM  2023/08/11 0:00:00
MINIS-UM690   Security Update  KB5012170     NT AUTHORITY\SYSTEM  2023/01/16 0:00:00

BIOS: 1.11 12/15/2022 11:41:44

なお、VRAM 割り当てメモリーは 2G 設定。

いろいろアップデートしてみる

RADEON ドライバ更新: 23.8.2 -> 23.9.1

卵が先な感じもしますが AUEPMaster.exe をいったん disable に。AMD ユーザーエクスペリエンスプログラムを「辞退」に。(UPDATE – おそらく卵が先。後述の通りメモリーがエラーを起こしてエージェントがダウンを検知した気がします)

RADEON チップセットドライバ更新:

UM690 BIOS 更新: 6月に新しいのがでていたようだ。なお、Windows から BIOS 更新するため、更新中に事象が起きてダウンすると詰むかもなので注意(?)…(どきどきしました

更新後 – 1.17 x64 05/31/2023

ダウンロードリンク

RADEON & チップセットドライバー

https://www.amd.com/en/support

Auto-Detect and Install Driver Updates for AMD Radeon™ Series Graphics and Ryzen™ Chipsets

MINISFORUM UM690 BIOS

https://www.minisforum.jp/support/55

UM690 ダウンロード先 BIOS F7BFC_1.17

対応結果

RADEON & チップセット & BIOS のアップデートを行い様子見中。果たして…

2023-09-15 追記(1)

アップデート後、ダウンしないものの描画がおかしくなっているのを発見(メモリー壊れてる?)

Windows 標準のメモリー診断を実行。GPU 共有メモリーが診断に含まれるか分からなかったのでいったん VRAM 512MB の最小構成で実行。問題なしで申告された。

2023-09-16 追記

Windows 起動中に GPU にメモリーを使わせるなどしていたら、画面がちらついた後 BSOD 発生。(ほぼほぼ確定で飛ぶっぽい)

BSOD せずに RADEON ドライバーが例外をキャッチするケースもあり。

同じ矩形の大きさで画面が崩れてクラッシュするケース。

memtest86 実行。美しい感じでフェイル。DDR5 メモリーが壊れたのが原因とあたりをつける。(16G * 2枚刺しなので 1枚ごとに後日やってみる)

ちなみにメモリーチェックフェイル申告後にリブートしてしまう。(フェイル画面を見るのが大変でした)

2023-09-16 追記 (2)

UM690 は開けやすくて good。なお本機は蓋についてる SATA 2.5 inch アタッチメントに SATA SSD を自分で追加して使っています。放熱やエアフローに影響しているかもしれません。

メモリーを片側、スロットを交互に計 4回で memtest86 を実行。スロット関わらず片方の SODIMM メモリーでのみメモリーチェックのフェイルが発生。ソケットやバスは問題なしと判断。

というわけで、UM690 のクラッシュの原因はメモリー故障と判断して良さそうです。このモジュールを交換すれば直ることでしょう(解決

memtest86 の温度設定

memtest86 実行中で Temp の最大温度が低くとられるケースがあったので <F6> Temperature disble を設定。(通常は 83度で取れるが 65度とかになることがあった)

おまけ

以下は特別な訓練によりメインボード等を壊す覚悟ができているひろましゃが自己責任を前提に行っています。

不良と判断した DDR5 SODIMM モジュールに対してヒートガンによるリフローを実施。フラックス塗布後、左右で 1分程度炙りました。このことにより、メモリーチェックがパスするように。また、記事中に記載した全ての不具合が再現しなくなりました。

memtest86 によると、メモリー高負荷時に温度が 80度前後まで上がるようなので、SODIMM にヒートシンクなどを付けたほうがいいのかもしれません。