January 23, 2019

1056 letters 3 mins read

古いMacBook Air (late 2010)をLinuxマシンにして復活させる(グラフィックの修正)

古いMacBook Air (late 2010)をLinuxマシンにして復活させる(グラフィックの修正)

MacBook Air late 2010 (MacBookAir3,1)がさすがに重いので軽量なLinuxマシンにして復活を試みる。 ディストリビューションはUbuntu Studio 18.10を選択。 インストール自体は普通に完了するが、いくつか修正すべきポイントがあるので触れておく。

グラフィックの問題

まずはグラフィックだが、デフォルトのままだと以下の問題が残る。

  1. 画面上に走査線のようなものが出る。
  2. スリープから復帰できなかったりする。(何回か蓋を開け締めすると直ることがある)

ドライバのインストール

上記問題を解決するにはドライバのインストールをする必要があるのだが、そのまま入れてもうまく動かない。

問題

インストール自体は、設定マネージャ→追加ドライバからできる。

third-party-driver
ただ、そのままインストールして再起動すると画面が真っ暗になってどうにもならなくなる。

インストール前の下準備

このページを参考に、ドライバをインストールする前に下準備する。 以下が手順。

下記コマンドを実行し、displayと表示されている行と、その一つ前の行のバス情報の値を記録する。

$ sudo lshw -businfo -class bridge -class display
バス情報      デバイス  クラス   詳細
==================================================
pci@0000:00:00.0                bridge      MCP89 HOST Bridge
pci@0000:00:03.0                bridge      MCP89 LPC Bridge
pci@0000:00:15.0                bridge      NVIDIA Corporation
pci@0000:00:17.0                bridge      MCP89 PCI Express Bridge
pci@0000:02:00.0                display     MCP89 [GeForce 320M]

上記の例では、02:00.000:17.0

次に以下ファイルに、

$ sudo vi /etc/grub.d/01_enable_vga.conf

下記の内容を書き込む。その際に02:00.000:17.0の部分に上記で記録した内容を書き換える。

cat << EOF
setpci -s "00:17.0" 3e.b=8
setpci -s "02:00.0" 04.b=7
EOF

最後に下記コマンドを実行。

$ sudo chmod 755 /etc/grub.d/01_enable_vga.conf
$ sudo update-grub

一度再起動し、下記コマンドで情報が反映されているかどうかを確認する。

$ sudo setpci -s "00:17.0" 3e.b
08
$ sudo setpci -s "02:00.0" 04.b
07

次に、キーボードで輝度調整をできるように、下記ファイルに記述を追加する。

$ sudo vi /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf
Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option         "RegistryDwords" "EnableBrightnessControl=1"
EndSection

ここまでできたらドライバをインストールし、再起動する。

画面乱れの解消

当方環境では、再起動後画面の乱れが発生した。 これは起動した直後にESCを連打してGRUBに入り、 そのままexitとタイプして起動することで解消した。 一度で解消しない場合は何度かやると直る。

輝度調整キーの設定

ネット上の情報ではこれで輝度調整キーを使って輝度調整ができたという情報が多いが、 当方環境ではこれだけではだめだった。

まず、xbacklightをインストールする。

$ sudo apt install xbacklight

次に、設定マネージャー→キーボード→アプリケーションショートカットキーで以下の設定を追加する。

xbacklight -dec 10         F1
xbacklight -inc 10         F2

本当は輝度調整キーを割り当てたいが、割り当てても動かなかった。 別のプログラムから制御されている感じなので、引き続き調査したい。