久しぶりに導入したので備忘録
Install
導入対象は、 ASUS社のASUS ROG Zephyrus G14 (2021) アランウォーカーモデルというもの。14インチで国内発売しているものでは珍しく「英語キーボード」でNvidiaのGPUを搭載していたため。交換はしてないけどメモリは1スロットは交換可能(初期は16G)HDDはバスが1つしかないので交換する場合には「取り替え」が必要。初期はWindows10が導入されているのでドライブの後半にパーティションを作成して導入しています。購入後Windows10側ですべてのドライバを導入して最新化して動作確認してから行いましょう(私はなぜかAnime Matixがデバイスがなんたらと言われて設定変更できませんがLinuxからは変更できています)
System:
Host: pop-os Kernel: 5.19.0-76051900-generic x86_64 bits: 64
Desktop: GNOME 42.3.1 Distro: Pop!_OS 22.04 LTS
Machine:
Type: Laptop System: ASUSTeK product: ROG Zephyrus G14 GA401QEC_GA401QEC
Mobo: ASUSTeK model: GA401QEC v: 1.0 serial: <superuser required> UEFI: American Megatrends LLC. v: GA401QEC.408 date: 12/13/2021
Battery:
ID-1: BAT0 charge: 10.0 Wh (12.6%) condition: 79.6/76.0 Wh (104.7%)
volts: 15.8 min: 15.8
CPU:
Info: 8-core model: AMD Ryzen 9 5900HS with Radeon Graphics bits: 64
type: MT MCP cache: L2: 4 MiB
Speed (MHz): avg: 747 min/max: 400/4680 cores: 1: 400 2: 400 3: 400
4: 400 5: 3114 6: 400 7: 400 8: 400 9: 400 10: 400 11: 400 12: 400 13: 400
14: 400 15: 400 16: 3239
Graphics:
Device-1: NVIDIA GA107M [GeForce RTX 3050 Ti Mobile] driver: nvidia
v: 515.65.01
Device-2: AMD Cezanne driver: amdgpu v: kernel
Display: x11 server: X.Org v: 1.21.1.3 driver: X:
loaded: amdgpu,ati,nvidia unloaded: fbdev,modesetting,nouveau,radeon,vesa
gpu: amdgpu resolution: 3424x1926~120Hz
OpenGL:
renderer: AMD RENOIR (LLVM 13.0.1 DRM 3.47 5.19.0-76051900-generic)
v: 4.6 Mesa 22.0.5
Audio:
Device-1: NVIDIA driver: snd_hda_intel
Device-2: AMD Renoir Radeon High Definition Audio driver: snd_hda_intel
Device-3: AMD Raven/Raven2/FireFlight/Renoir Audio Processor driver: N/A
Device-4: AMD Family 17h HD Audio driver: snd_hda_intel
Sound Server-1: ALSA v: k5.19.0-76051900-generic running: yes
Sound Server-2: PipeWire v: 0.3.58 running: yes
Network:
Device-1: MEDIATEK MT7921 802.11ax PCI Express Wireless Network Adapter
driver: mt7921e
IF: wlp2s0 state: up mac: 48:e7:da:c2:04:0d
Bluetooth:
Device-1: IMC Networks Wireless_Device type: USB driver: btusb
Report: hciconfig ID: hci0 state: up address: 48:E7:DA:C2:04:0C bt-v: 3.0
Drives:
Local Storage: total: 953.87 GiB used: 83.71 GiB (8.8%)
ID-1: /dev/nvme0n1 vendor: Samsung model: MZVLQ1T0HBLB-00B00
size: 953.87 GiB
Partition:
ID-1: / size: 518.86 GiB used: 83.59 GiB (16.1%) fs: ext4
dev: /dev/nvme0n1p8
ID-2: /boot/efi size: 511 MiB used: 124.5 MiB (24.4%) fs: vfat
dev: /dev/nvme0n1p7
Swap:
ID-1: swap-1 type: partition size: 2 GiB used: 0 KiB (0.0%) dev: /dev/dm-0
Sensors:
System Temperatures: cpu: 46.0 C mobo: N/A gpu: amdgpu temp: 44.0 C
Fan Speeds (RPM): cpu: 2400
Info:
Processes: 392 Uptime: 9m Memory: 15.04 GiB used: 3.12 GiB (20.8%)
Shell: Zsh inxi: 3.3.13
導入の手順
- BIOS ( 起動のスプラッシュが出ている際に
ESC
で入れる)の設定で、セキュアブートを無効(disable) へ変更 (BIOSのアップデートがあるとSecure BootがEnableになるようなのでその場合には都度変更をする) - (Windows上) サイト(https://pop.system76.com/) からNvidia用の導入メディアをダウンロード
- (Windows上) USB起動ディスクの作成(https://www.balena.io/etcher/)
- USBを指してBootすれば導入が開始できます(https://support.system76.com/articles/install-pop/)
ディスクのパーティション
導入時にカスタム導入を選択して既存データを残した状態で導入をする. 1ドライブ構成だとビビりながらになるが以下の設定で一応できている。
- nvme0n1p2のWindows基本データ領域(元は900G程度)を適当なサイズに縮小
- p7/p8/p9の領域を作成する(EFI領域として500M以上が必要とのことなので追加しています)
デバイス 開始位置 最後から セクタ サイズ タイプ
/dev/nvme0n1p1 2048 534527 532480 260M EFI システム
/dev/nvme0n1p2 534528 567295 32768 16M Microsoft 予約領域
/dev/nvme0n1p3 567296 839428095 838860800 400G Microsoft 基本データ
/dev/nvme0n1p4 1952428032 1953861631 1433600 700M Windows リカバリ環境
/dev/nvme0n1p5 1953861632 1999998975 46137344 22G Microsoft 基本データ
/dev/nvme0n1p6 1999998976 2000408575 409600 200M Windows リカバリ環境
/dev/nvme0n1p7 839428096 840476670 1048575 512M EFI システム
/dev/nvme0n1p8 840476672 1948233726 1107757055 528.2G Linux ファイルシステム
/dev/nvme0n1p9 1948233728 1952428030 4194303 2G Linux スワップ
起動後の状態
❯❯ df
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.6G 6.0M 1.5G 1% /run
/dev/nvme0n1p8 519G 84G 409G 17% /
tmpfs 7.6G 4.0K 7.6G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/nvme0n1p7 511M 125M 387M 25% /boot/efi
tmpfs 1.6G 2.0M 1.6G 1% /run/user/1000
ブートについて
POPは特にGrub2は入らないのだが、BIOSの起動スプラッシュの画面で ESC
を押すことでブートドライブを選択することができるので特に問題は起きていない。普通にWin/Linuxのデュアルブートができている。欲しい人はあとからGRUB2を通常の手順で導入すれば良いかと。
ハードウェア周り
利用可能なデバイス。今の所指紋以外は使えている(想定通り)
デバイス | 可否 |
---|---|
Keyboard | OK |
Bluetooth | OK(最初NGだったけどいつの間にか) |
キー(マイクミュート) | 要設定 |
キー(特殊キー) | 認識はしているので割当化 |
指紋 | NG(DualBootだとそもそも認識してもNG?) |
ディスプレイ | OK |
HDD | OK |
GPU(Nvidia3050Ti) | OK |
Battery | OK(ソフトで満充電防止可能。AC/USBからの充電可)) |
Sound | OK |
Asus ツールの導入
Asusから出ているツールを入れることで以下ができるとなっています
- システムデーモン
- GUI アプリ (rog_control_center コマンドで起動)
- ユーザー通知デーモン
- 内蔵 LED モードの設定/変更
- キーごとの LED 設定
- AniMatrix表示
- バッテリーの充電制限を設定する (カーネルがこれをサポートしている場合)
- サポートされているラップトップでのファン カーブ コントロール (G14/G15、FA507 のような一部の TUF)
- ブート/POST サウンドの BIOS 設定を切り替えます
サポートされていませんとありますが以下で入れます
apt install libclang-dev libudev-dev
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
make
sudo make install
設定が変更された際に、GNOME通知が来るようにするために以下の設定を入れておきます。
systemctl --user enable asus-notify.service
systemctl --user start asus-notify.service
Fn+F5を押すとCPUのモード変更とした場合に以下のような通知が来るようになります。
キーマップの変更
X側でするとかいろいろ試したけどこれが一番安定している
- 英語キーボードなのですが日本語変換を mac のようにスペースバーの左右のキーで実施したいためこれをキーマップの変更と、日本語入力ソフトのMozcの機能で実施します。
- 特殊キーの割当
キーコードを調べるためには以下のコマンドなど。この機種の場合には event11にキーボードが割当られていた。変更後の確認は xev
などのコマンドで可能。
sudo evtest /dev/input/event11
evdev:input:b0003v0B05p19B6*
KEYBOARD_KEY_ff31007c=f20 # x11 mic-mute
KEYBOARD_KEY_700e6=hiragana
KEYBOARD_KEY_700e2=katakana
KEYBOARD_KEY_700e0=capslock
KEYBOARD_KEY_70039=leftctrl
KEYBOARD_KEY_700e4=leftalt
evdev:input:b0003v0B05p1866*
KEYBOARD_KEY_c00b6=kbdillumdown # Fn+F2 (music prev)
KEYBOARD_KEY_c00b5=kbdillumup # Fn+F4 (music skip)
KEYBOARD_KEY_ff3100c5=pagedown # Fn+Down
KEYBOARD_KEY_ff3100c4=pageup # Fn+Up
KEYBOARD_KEY_ff3100b2=home # Fn+Left
KEYBOARD_KEY_ff3100b3=end # Fn+Right
systemd-hwdb update && udevadm trigger
省電力設定
最終的に以下の設定は入れてないのですが以下の内容で省電力動作になるとのこと。現在はPowerProfileの切り替えで使っているます。
options nvidia "NVreg_DynamicPowerManagement=0x02"
echo 0 > /sys/devices/system/cpu/cpufreq/boost
ソフトウェア周り
環境設定
デスクトップのアイコンの日本語を英語化
LANG=C xdg-user-dirs-gtk-update
デスクトップのスケーリング
任意倍率のスケーリングが選択ができるが、実際に各アプリが対応してないケースがありうまく動作しないことがある。200%、300%は概ね動く。Wineのゲームなどで、125%などにしておくとディスプレイの解像度が実際のサイズより大きいように判断されてものすごい小さい文字で表示されてしまったりする。問題がありそうであれば整数倍で設定しておく
Waylandへの変更
WaylandとNvidiaの相性の悪さがこれまでも言われていますが現時点ではPOPSOSでも動きます(設定を変更することで動かすことが出来ます)
以下に変更
WaylandEnable=true
以下の2行をコメントアウト
LABEL="gdm_prefer_xorg"
#RUN+="/usr/libexec/gdm-runtime-config set daemon PreferredDisplayServer xorg"
GOTO="gdm_end"
LABEL="gdm_disable_wayland"
#RUN+="/usr/libexec/gdm-runtime-config set daemon WaylandEnable false"
GOTO="gdm_end"
LABEL="gdm_end"
注意点としては、いつくかのアプリケーションはWaylandに対応しておらず動かない可能性もあります(私の使用しているマウスジェスチャーアプリなどは利用できませんでした)
メリットしては、概ね速度は早いです。Wine経由でのゲームなどはFPSが向上している気がします。
アプリケーション
Steam
steam は flakpak版とNative版が選択できますがローカルへの操作がほしかったので(多分これはうまく権限を変更すればFlakpakでもできるはず)Native版を入れています。HiDPIのこの環境ではメニューが恐ろしく小さく表示されるので環境変数を入れます。
Exec=env GDK_SCALE=2 /usr/games/steam
- HiDPIの弊害で、フルスクリーンにした際に画面の解像度が合わなくて表示がおかしくなるケースがある(設定から、HiDPIをやめて100%表示にすれば治る)
- HiDPIが無効?の場合の解像度が3xxxxになっているのが謎。
PAVUCONTROL
導入は、sudo apt install pavucontrol
でできる。このソフトを使うとどのデバイスでサウンドが再生されているかボリュームのレベル等を視覚的に調べることができる
あとは時間のあるときに書いておく
- 環境設定 GNOME/POPの設定
- 日本語変換の設定
- マウスジェスチャー
- 普段利用しているGNOME拡張機能
- Theme変更
トラブルシューティング
音割れがする
症状
音割れが発生。急に音割れがしたことに気がついた。原因は不明。
対処
["api.alsa.period-size"] = 2048
["api.alsa.headroom"] = 2048
もとの値はそれぞれ 256, 8192 である
参考文献
サウンドカードが見つからない
症状
突然音がでなくなりログには以下のようにデバイスとつながらない旨が出ている(デバイスは認識している(起動音やWindowsでは使えているのでHWの故障ではない)
Sep 25 22:52:52 pop-os pipewire-pulse[2776]: mod.protocol-pulse: 0x55775bcf6010: failed to connect client: ホストが落ちています
Sep 25 22:52:52 pop-os pipewire-pulse[2776]: mod.protocol-pulse: client 0x55775bd07910 [GNOME Volume Control Media Keys]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (ホストが落ちています
対処
原因は不明ですが pipewireの設定がおかしくなっている(ような)気がします。ググっても似たような症状はあれど特定は出来ませんでしたが以下のパッケージをReinstallすることで復帰しました。sudo apt install --reinstall XXXXX
以下のうち何が解決したのかはわからないですが。
- libpulse0
- libpulsedsp
- pulseaudio
- pulseaudio-module-bluetooth
- pulseaudio-utils
- libpipewire-0.3-0
- libpipewire-0.3-common
- libpipewire-0.3-modules
- pipewire
- pipewire-audio-client-libraries (これかな?)
- pipewire-bin pipewire-pulse
- alsa-base
- alsa-utils
- linux-sound-base
- libasound2
Changelog
- 2022/09/21 : init