NEC VersaPro J TypeVT に Gentoo を入れるときのメモ

NEC VersaPro J TypeVT に Gentoo を入れるときのメモ

NEC VersaPro J TypeVT PC-VK16XTAAN は、Atom x7-Z8700 世代の 2-in-1 タブレット。 古い Atom タブレットらしい癖はあるが、64-bit UEFI、i915、eMMC、Broadcom Wi-Fi、Wacom touch/pen、UPower、backlight が Linux から見えるため、Gentoo amd64 の軽量デスクトップとしては十分に検証できる。

最初からカーネルを削り込まず、sys-kernel/gentoo-kernel-binsys-kernel/linux-firmware、NetworkManager、PipeWire/WirePlumber、ALSA UCM、軽量 Wayland compositor で立ち上げるのがよかった。

機種メモ

NEC の商品情報では PC-VK16XTAAN は Atom x7-Z8700 搭載機として扱われている。 Linux 事例を探すときは、NEC の型番だけでなく ThinkPad 10 系の情報も参考になる。 キーボードドックも Linux からは ThinkPad 10 系の USB HID keyboard / mouse として見える。

Boot menu は、キーボードドック接続時なら F12 で入れる。 Secure Boot や firmware 設定は個体や BIOS revision の影響を受けるため、インストール時はまず Secure Boot を無効化したシンプルな構成で確認する方が切り分けしやすい。

推奨する初期方針

項目推奨
Architectureamd64
UEFI64-bit UEFI
BootloaderGRUB x86_64-efi、removable path 併用
Kernelまず sys-kernel/gentoo-kernel-bin
FilesystemeMMC 上の ESP + ext4 root
Firmwaresys-kernel/linux-firmware
NetworkNetworkManager + brcmfmac
AudioPipeWire/WirePlumber + ALSA UCM
Desktoplabwc など軽量 Wayland 環境

重いビルドを TypeVT 本体で抱え込むと時間とストレージを消費しやすい。 Firefox、Rust、LLVM、QtWebEngine、Chromium などは binary package を使える構成に寄せる方が扱いやすい。

インストールメディアの注意

Gentoo LiveGUI / minimal install media は USB media 側の相性で dracut が途中で止まることがある。 hfsplus: unable to find HFS+ superblock のようなログは、Live image 内の partition を別 filesystem として解釈しようとした結果として出ることがあり、それだけで致命的とは限らない。

見るべきなのは、udev queue が進むか、Live root が mount されるか、別 USB media で再現するかである。 この機種では USB media を変えるだけで先に進めたケースがあった。

ハードウェア認識

デバイスLinux 側の見え方状態
GPUIntel Cherry Trail/Braswell 世代 iGPU、i915実用可
内蔵 eMMCmmcblk*実用可
Wi-FiBroadcom BCM4356、brcmfmac実用可
BluetoothBroadcom BCM4356A2patchram firmware が別途必要な場合あり
Audiocht-bsw-rt5672、HDMI LPE AudioUCM routing 依存
TouchWacom HID 5020 Finger実用可
PenWacom HID 5020 Pen実用可
Keyboard dockThinkPad 10 系 USB HID keyboard/mouse として認識実用可
BatteryUPower / BAT*実用可
Backlightintel_backlight実用可
SensorsIntel ISH / HID sensor hub / IIO自動回転は後回し

/dev/sda は LiveUSB 側になることがある。 インストール前は必ず lsblk で eMMC と USB を見分ける。 microSD を挿している場合は eMMC と SD card の mmcblk* 番号が入れ替わる可能性もあるため、fstab や mount helper は label / UUID を使う方がよい。

Wi-Fi と Bluetooth

Wi-Fi は BCM4356 を brcmfmac で扱える。 機種固有 firmware 名の探索に失敗するログが出ても、汎用 firmware と EFI NVRAM 由来の設定で動作する場合がある。 まず linux-firmwarebrcmfmac で動かし、Broadcom proprietary wl へ寄せない方が切り分けしやすい。

Bluetooth は BCM4356A2 として見えるが、patchram 用 .hcd がディストリビューション標準 firmware に含まれない場合がある。 その場合は vendor driver 由来の firmware を外部から取得し、checksum を固定して設置する。 firmware blob 自体は公開リポジトリに置かない方が扱いやすい。

Audio

内蔵 audio は Cherry Trail/Braswell + Realtek RT5672 系で、Linux では cht-bsw-rt5672 として見える。 カードが見えても、speaker / headphone の実 routing は ALSA UCM と mixer state に依存する。 ThinkPad 10 系の UCM や Bay Trail / Cherry Trail tablet の rt5672 事例は参考になるが、DMI 条件が NEC 側の文字列と一致するとは限らない。

まず次を確認する。

cat /proc/asound/cards
aplay -l
alsaucm listcards
wpctl status

この機種では、headphone analog route 自体は生きていても jack detect が期待通り出ない場合がある。 家庭内検証用途では、kernel quirk をすぐ書くより、UCM override と手動 output 切替で運用するのが実用的だった。 安定性優先なら USB audio や Bluetooth audio を fallback に残す。 UbuntuStudio 22.04 時代の検証でも、kernel 種別や Firefox package を変えるだけでは長時間再生中の音切れや hard hang は解消しなかった。 その後の Gentoo 側では、rt5672 routing そのものと、CPU idle / C-state 起因の hard hang を分けて扱う方が整理しやすかった。

Touch、pen、画面回転

Touch と pen は Wacom I2C HID として分離して見える。 Wayland compositor 側では libinput device として扱える。

libinput list-devices

Intel ISH sensor hub と IIO sensor も見えるため自動回転の余地はある。 ただし、画面を回すだけでは touch / pen 座標も追従させる必要がある。 初期構成では固定 landscape と scale 調整に留め、回転 UI と自動回転は後回しにした方が事故が少ない。

microSD slot

内蔵 microSD slot は ACPI 側の OSI 判定に影響されることがある。 Linux 既定の OSI では controller が hidden になり、SD card controller が見えないケースがあった。

対策として kernel command line に次を入れると controller が見える構成があった。

acpi_osi=! acpi_osi="Windows 2012"

ただし、SD card 個体や速度相性の問題は別に残る。 cache 置き場として使う場合は、消えてもよいデータだけを置き、mount は nofail と短い device timeout を付ける。

Hard hang と C-state

動画再生中にログを残さず固まる場合は、ユーザーランドだけでなく CPU idle / C-state、microcode、i915 power management、Wi-Fi、audio IRQ まわりを疑う。

この機種では Intel microcode を導入したうえで、深い C-state を避ける設定が安定性改善に効いた。

intel_idle.max_cstate=2

さらに再発する場合の切り分け候補は次になる。

i915.enable_psr=0 i915.enable_dc=0 i915.enable_fbc=0

nomodeset は切り分けには使えるが、Wayland、動画再生、輝度制御を壊しやすいので常用候補にはしない。

旧 UbuntuStudio 検証から得た教訓

UbuntuStudio 22.04 では、lowlatency kernel、generic kernel、Firefox deb / snap、DPMS、GPU acceleration、USB audio、SST / SOF 関連設定を順に疑った。 しかし、ログを残さない再起動や音声再生中の不安定さは、単一の desktop 設定だけでは説明しきれなかった。

このため Gentoo 化では、まず hardware visibility を確認し、次に gentoo-kernel-bin と microcode、最後に C-state / i915 / audio / Wi-Fi の順で切り分ける方針にした。 古い UbuntuStudio の試行錯誤は、現在は「何を疑ったが決定打ではなかったか」の参考情報として扱う。

インストール後の確認

最初の boot 後は、デバイスが Live 環境と同じように見えているかを確認する。

cat /sys/firmware/efi/fw_platform_size
uname -a
lsblk -o NAME,SIZE,TYPE,FSTYPE,LABEL,MODEL,MOUNTPOINTS
lspci -nnk
lsusb
ip link
rfkill list
cat /proc/asound/cards
aplay -l
libinput list-devices
upower -d
ls /sys/class/backlight
ls /sys/bus/iio/devices
dmesg | grep -Ei 'brcm|wacom|i915|rt5672|sst|sof|i2c|hid|sensor|ish|battery|acpi|firmware'

期待値は次のような状態である。

  • UEFI は 64-bit。
  • GPU は i915
  • Wi-Fi は brcmfmac
  • Audio card は cht-bsw-rt5672
  • Touch / pen は Wacom HID device として見える。
  • Battery、AC adapter、backlight が見える。
  • 画面回転用 sensor は見えるが、初期運用では自動回転しない。

まとめ

PC-VK16XTAAN は古い Atom タブレットとしては Gentoo 化しやすい。 一方で、rt5672 audio routing、Broadcom Bluetooth firmware、microSD controller の ACPI OSI、動画再生中の C-state hard hang など、タブレット世代特有の癖がある。

初期構成では「小さく動くもの」を優先し、gentoo-kernel-binlinux-firmwarebrcmfmac、PipeWire/WirePlumber、labwc、固定 landscape で安定性を見てから、音声 routing、自動回転、microSD cache、Bluetooth audio を順に足すのがよい。

参考リンク