ThinkPad L440 と Puppy Linux

  まず、Bionicpup64 を入れてみました。このマシンには UEFI モードの Windows が入っているので、 Puppy Linux Windows Installer (LICK) を使ってインストールしました。当サイトでは、UEFI 対応を謳っている LICK をお勧めしていますが、自分で UEFI モードのパソコンに適用するのは今回が初めてだったりします。インストールは問題なく終わり、再起動すると grub2 のブートメニューが表示されました。なお、念のため secure boot は無効にしてあります。Windows の「高速スタートアップ」と「休止状態」も無効にしてあります。

Bionicpup64 の場合

  初期状態では、ビデオドライバとして modesetting が設定されていましたが、これを intel に変更、さらに 2Dアクセラレーションの方法を uxa に設定しました。最近の intel HD graphics には modesetting ドライバが使われるようですが、ThinkPad L440 (HD4600) では intel のほうがパフォーマンスがよかったです。

intel graphics - archwiki

  OpenGL と vaapi は何もせずとも最初から有効になっています。mpv で動画を再生する時には h264/mp4 のハードウエアデコーディングも有効になります。

  最近の Puppy (他のディストリビューションでも同様?) では、起動する度にディスプレイの輝度が最大になってしまいます。それで、コマンドで輝度を調整するのですが、このマシンでは ThinkPad X121e の場合と設定ファイル及び値が異なります。mouse.sh を作成して ~/Startup に入れました。マウスの感度も設定しています。

mouse.sh (ファイル名は任意)
#!/bin/sh
echo 300 > /sys/class/backlight/intel_backlight/brightness

cd /sys/devices/platform/i8042/serio1/driver/serio2
echo 120 > speed
echo 240 > sensitivity



  輝度の初期値(最高輝度)は 4789 です。0 を指定すると真っ暗になって操作困難になりますのでご注意下さい。マウスの speed, sensitivity は 0 ~ 255 です。 不思議なことに、このマシンでは輝度を上げ下げするキー (F5/F6 キーと共用) が効きません。これを有効にする方法も今後探る必要があります。

  最近は intel CPU の省電力機能として intel_pstate が使われるようですが、どうやって制御すればいいのかよく分からないので、カーネルオプション intel_pstate=disable を指定しました。こうすれば、汎用の acpi 機能を使って制御できるようになります。(Puppy に付属する wcpufreq を利用)

  ThinkPad の "4" シリーズ (L440, T540 など) は、 trackpoint のクリックボタンを省略してタッチパッドの端を押し下げることで代用しています。私は trackpoint を使うのでタッチパッドはオフにしますが、flsynclient でタッチパッドをオフに設定しても、ボタン代替機能は有効でした。Bionicpup64 が、このマシン特有の変なデバイスにデフォルトで対応していることにちょっと驚きました。この後、XenialPup では苦労することになるのですが...

  とりあえず、ビデオ関連も CPU の省電力機能も手堅い (=古い) 方式で動かしていることになりますが、安定して動作します。しかし、問題が一つありました。手持ちのプリンタ canon iP2700 で印刷がうまくいきません。32bit 用のドライバは提供されていますが、64bit 用のドライバは提供されていません。ソースからコンパイルしようとしましたが、途中でエラーになってしまいます。ネットで調べてみると、私と同様に困っている人がいるようでした。
  それで、gutenprint というオープンソースのドライバを利用することにしました。これは、Bionicpup64 にも含まれています。しかし、CUPS でプリンタを追加して印刷してみると、色がおかしかったり画像、特に写真の印刷が不鮮明であったりで、使えそうにはありませんでした。canon iP2700 は gutenprint によってサポートされている (はずな) のですが...

  結果、印刷もしたい場合は 64bit OS はボツとなります。それで、bionicpup32 に iP2700 専用のドライバを入れた環境で試してみたのですが、プリンタがデータを受信している様子は見られます (インジケータが点滅します) が、印刷は始まりませんでした。このプリンタは今となってはやや旧式であり、ドライバも更新されていないので、新しい OS で動かすのは難しいかもしれません。そこで、一世代前の XenialPup に専用のドライバを入れたらうまくいきました。

XenialPup の場合

  ビデオの設定、輝度の調整と CPU の省電力設定は Bionicpup64 の場合と同じです。ただ、vaapi を有効にするにはパッケージマネージャで i965-va-driver を追加する必要がありました。

  問題はタッチパッドの設定です。flsynclient でタッチパッドをオフにしましたが、クリックボタン代替機能がうまく働きません。具体的には右クリックが効きません。タッチパッドの右端を押しても左クリックと同じ動作になってしまいます。
  XenialPup と Bionicpup64 では xorg.conf の記述がかなり異なります。Bionicpup64 では入力デバイスを制御するのに evdev という新しいインターフェイスが使われているようです。xorg.conf をいじってもうまくいかず、結局、ネットで見つけた synclient コマンドで設定する方法に落ち着きました。

github の記事

  この記事で説明されているのは、ThinkPad T440 のケースですが、L440 のタッチパッドもおそらく同じ部品です。上位機種の T シリーズまでコストダウンの対象になっているとは!
  タッチパッドがオフの状態で値を設定してもうまくいかないので、一旦オンにして設定値を書き込んだうえでオフにするスクリプトを書いて ~/Startup フォルダに入れました。中ボタン (実際はボタンじゃないけど) も機能するようになりました。

touchpad.sh
#!/bin/sh

synclient TouchpadOff=0

# configure trackpoint buttons
synclient RightButtonAreaLeft=3700
synclient RightButtonAreaRight=0
synclient RightButtonAreaTop=0
synclient RightButtonAreaBottom=2300
synclient MiddleButtonAreaLeft=2900
synclient MiddleButtonAreaRight=3500
synclient MiddleButtonAreaTop=0
synclient MiddleButtonAreaBottom=2300

synclient TouchpadOff=1



  ThinkPad L440 は家のこれまでのマシンと比べると CPU も GPU も強力なので、下の図が示すように、YouTube 再生時の CPU 使用率が低いです。特に X (Xorg) の CPU 使用率が 1 ~ 2% という光景は新鮮です。

L440 で YouTube 再生中

  余談ですが、図で再生中の Be with you という曲は最近国営放送の歌番組で見て初めて知りました。それまでは Glay の曲は However しか聴いたことがありませんでした。However は有名な曲ですが、ストリングスの音がフィーチャーされていてギターやベースは控え目な印象です。一方、Be with you はギターやベースがそれぞれ存在を主張していて、バンドの曲らしいと思います。However も Be with you もどういうわけか、曲のタイトルが歌詞の中に出てこないのですね。
2019年11月

[雑感目次へ] [ホームへ]