ThinkPad X1 Yoga 4th 2019にUbuntu19.04をインストール

Linux

ThinkPad X1 Yoga 4thにUbuntu19.04をインストールしました。

まず結論から。

動く動かないの話ですが、概ね快適に動いています。
ThinkPad X1 carbon 2018モデルにもUbuntuにインストールして使っていましたが、
これと同じ程度の動作は出来ていると感じています。

ThinkPad Pen Pro-3も使えますが筆圧検知は無理です。

インストール情報

いつもお世話になっているArchLinuxが最強だと思います。
ただ、第4世代のYogaの情報はないので、
同時期にリリースされたX1 Carbon 第7世代の情報をそのまま活かしました。

不具合は。

初期インストールから使えない、または使いづらい不具合はこちら。

  1. ハードキーによるサウンド調整ができない。(修正可)
  2. サスペンドモードがいまいち。(修正可)
  3. タッチパッドとトラックパッドの併用ができない。(修正できるけどいまいち。)
  4. 内蔵マイクが使えない?(これは試していないので詳しくは分かりません。)
  5. 指紋認証が使えない(絶望的)

これくらいかと思います。
ただ、何とかすれば対応できる問題なので、使用する上ではそれほど問題視していません。

ボリュームコントロールができない。

ファイルを編集するくらいでオッケー。
エディターで/usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.commonを編集します。
134行目あたりにある、[Element PCM]の上に赤字を追記します。

$ sudo gedit /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common

[Element Master]
switch = mute
volume = ignore

[Element PCM]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

保存して再起動すれば終わり。

サスペンド問題

UEFI/BIOS上で、Sleep StateをLinuxモードを選ぶくらいしかしていないけど、特に問題なし。

Thunder Bolt 3のBIOS Assist Modeは「ON」に。

必要かわからないけど、kernelのパラメーターを書き換える。
「acpi.ec_no_wakeup=1」を追記。

sudo gedit /etc/default/grub

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash acpi.ec_no_wakeup=1
GRUB_CMDLINE_LINUX=””

保存して終了する。

$ sudo update-grub

を実行。

確認する。

dmesg | grep -i “acpi: (supports”
ACPI: (supports S0 S3 S4 S5)

S3(Suspend to RAM)があればオッケー。

電源管理/サーマルスロットリング問題

去年、X1 Carbon 6thでやったことをまんま同じにやってみたけどオッケーでした。以下直訳。

この問題は、Linuxにおけるサーマルスロットリング(過熱防止のための機能制御)に関係します。以下の設定は、Windows上の設定値です。これは高負荷下においてより低速に動作させることになります。

これらの解決方法を試みる前に、まず問題が存在しているのかを確認してください。

確認のためにターミナルを開いて以下を実行します。

$ sudo apt-get install msr-tools
$ sudo modprobe msr
$ sudo rdmsr -f 29:24 -d 0x1a2

もし、「3」(またはバッテリー駆動中は「15」と表示された場合、何もすることはありません。

その他の場合は次のとおりです。

まず、BIOS/UEFIでセキュアブートを無効にします(そうしないと作動しないと思われます)
次にコマンドを実行します。

$ sudo apt install git virtualenv build-essential python3-dev libdbus-glib-1-dev libgirepository1.0-dev libcairo2-dev

続いてリポジトリからクローンします。

$ git clone https://github.com/erpalma/lenovo-throttling-fix.git
$ cd lenovo-throttling-fix/

パッチをインストールします。

$ sudo ./install.sh

もう一度、先程のrdmsrコマンドを実行し、「3」または「15」と出るかチェックしてみてください。

個人的には、バッテリー寿命を保護するためにより低い温度レベルで使います。パフォーマンスを有利にする?

もし、デフォルト設定を変更したければ、/etc/lenovo_fixファイルを開いてTrip_temp_Cを設定してください。

[BATTERY]
# Other options here…
PL2_Tdp_W: 40
Trip_Temp_C: 75

[AC]
# Other options here…
PL1_Tdp_W: 34
PL2_Tdp_W: 40
Trip_Temp_C: 90

タッチパッド、トラックポイント問題

これが一番、深刻なような気がします。

相変わらずのバグみたい。

$ sudo rmmod psmouse
$ sudo modprobe psmouse proto=bare

で動くようになる。とりあえず。

次の起動時にもこのオプションになるように、/etc/default/grubを書き換える。

$ sudo nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash acpi.ec_no_wakeup=1 psmouse.proto=bare

と追記して、

$ update-grub

これでオッケー。

サスペンドから復帰するとTrackPointが死ぬ

トラックポイントを再起動させる。

sudo -S echo -n “none” | sudo tee /sys/bus/serio/devices/serio1/drvctl
sudo -S echo -n “reconnect” | sudo tee /sys/bus/serio/devices/serio1/drvctl

これで動くようになる。

マウスカーソルの速度がリセット?されるので、好きなスピードにする。

まずはXinputでTrackpointを特定する。

$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Wacom Pen and multitouch sensor Finger id=11 [slave pointer (2)]
⎜ ↳ Wacom Pen and multitouch sensor Pen stylus id=12 [slave pointer (2)]
⎜ ↳ SYNA8004:00 06CB:CD8B Touchpad id=14 [slave pointer (2)]
⎜ ↳ Wacom Pen and multitouch sensor Pen eraser id=19 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver Consumer Control id=9 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=18 [slave pointer (2)]
⎜ ↳ PS/2 Generic Mouse id=16 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=15 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=17 [slave keyboard (3)]
↳ Logitech USB Receiver Consumer Control id=10 [slave keyboard (3)]

こんな感じで、コマンドで打てば速度を変えられる。

$ xinput –set-prop ‘PS/2 Generic Mouse’ ‘libinput Accel Speed’ -0.5

マウスがない環境において、トラックポイントとタッチパッドが動かないのは致命傷。

自分は、再起動をシェルクスクリプトとして書いていおいて、それをSymbolic Linkとして、/usr/local/binに置いています。

そして、キーボードのショートカットでターミナルをキーボードのみで起動できるようにしておけば、コマンドを叩けるので、トラックポイントの再起動が可能となります。

タッチパッドの設定

grubに「psmouse.synaptics_intertouch=1」を書き込む。

$ sudo nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash acpi.ec_no_wakeup=1 psmouse.proto=bare psmouse.synaptics_intertouch=1

設定を反映させる 

$ sudo update-grub

再起動すれば使えるようになった。

雑感

新しいハードウェアにLinuxをインストールする時は、動かないだろうなぁと絶望的になりながら、やっぱり絶望する、っていうのが今まででしたが、
去年のThinkPadとチップセット的に大きな変更がなかったようなので、
既存の情報を活かしつつ使用できることには、ありがたみを感じています。

 

booleeをフォローする
BOOLEE STREET.net

コメント