ASUS Zenbook Prime UX31A

提供: ArchWiki
ナビゲーションに移動 検索に移動

このページでは ASUS Zenbook UX31A や UX21A ノートパソコンに Arch Linux をインストール・設定する方法を説明します。UX32VD にも大抵のことがあてはまるはずです。

前世代機については ASUS Zenbook UX31E のページを見てください。UX31A にも一部当てはまる情報が載っています。

インストール

UX31A に Arch Linux をインストールする手順は公式のインストールガイドを見てください。UX31A は UEFI と GPT を使っているため UEFI, GPT, ブートローダーなどのページも見てください。UEFI の USB デバイスを準備する方法は UEFI#ISO から UEFI ブータブル USB を作成するを読んでください。

USB メディアから起動

Escape を押してブートメニューを開いてください。USB ブータブルデバイスがリストに存在しない場合、設定メニューを開いてから直接 F10 を押して保存してください。そして再起動して Escape をもう一度押してください。今度はメニューに USB ブータブルデバイスが表示されるはずです。

ブートローダーのインストールを簡単にするために EFI モードで USB を起動するようにしてください。

設定

ファンクションキー

ノート: キーを押したときや xev に何がしかの出力がされればキーマップは機能しています。ただし、キーマップが適切な機能に紐付けられているとは限りません。その場合、Xorg での特別なキーボードキーを読んでキーボードショートカットを追加するか、キーコードのショートカットのサポートが組み込まれているデスクトップシェルを使ってください。BIOS レベルで機能するキーについてはショートカットは不要です。

以下の表ではファンクションキーと関連付けられる機能、X によって認識されるキーコード、ショートカットが必要かどうかをまとめています。

キー 機能 X ショートカットの必要性
Fn+F1 スリープ XF86Sleep no
Fn+F2 WLAN と Bluetooth の無効化 XF86WLAN & XF86Bluetooth no
Fn+F3 キーボードバックライトを暗くする XF86KbdBrightnessDown yes
Fn+F4 キーボードバックライトを明るくする XF86KbdBrightnessUp yes
Fn+F5 LCD バックライトを暗くする XF86MonBrightnessDown no
Fn+F6 LCD バックライトを明るくする XF86MonBrightnessUp no
Fn+F7 LCD をオフにする No named key no
Fn+F8 ディスプレイの切り替え XF86Display yes
Fn+F9 タッチパッドの切り替え XF86TouchpadToggle yes
Fn+F10 ミュートの切り替え XF86AudioMute yes
Fn+F11 音声ボリュームを下げる XF86AudioLowerVolume yes
Fn+F12 音声ボリュームを上げる XF86AudioRaiseVolume yes
Fn+a アンビエントライトセンサー m:0x0 + c:248 yes
Fn+c ディスプレイのプロファイルの切り替え XF86Launch1 yes
Fn+v ウェブカメラ XF86WebCam yes
Fn+space 電源プロファイルの切り替え XF86Launch6 yes

ディスプレイのバックライト

新しいカーネル (3.7 以上) ではディスプレイのバックライトは問題なく動作します。輝度はハードウェアによって管理されるため全ての DE で機能するはずです。

キーボードのバックライト

新しいカーネルではキーボードバックライトは自動的に機能します。UPower を使用するデスクトップ環境 (GNOME や KDE など) の場合はキーボードの輝度を変えるのに特に設定をしたりツールを使う必要はありません。

輝度を手動で設定

キーボードの明るさを手動で変えたいときは UPower の D-Bus インターフェイスを使う方法が一番簡単です。root 権限も必要ありません。

現在の輝度を確認:

$ dbus-send --type=method_call --print-reply=literal --system --dest="org.freedesktop.UPower" /org/freedesktop/UPower/KbdBacklight org.freedesktop.UPower.KbdBacklight.GetBrightness

輝度を 2 に設定:

$ dbus-send --type=method_call --print-reply=literal --system --dest="org.freedesktop.UPower" /org/freedesktop/UPower/KbdBacklight org.freedesktop.UPower.KbdBacklight.SetBrightness int32:2

/sys/class/leds/asus::kbd_backlight//sys/devices/platform/asus-nb-wmi/leds/asus::kbd_backlight/ に存在する brightness ファイルに値を書き込むことでもキーボードのバックライトを制御できます。root 権限が必要です。

明るさの最大値を確認:

# cat /sys/class/leds/asus::kbd_backlight/max_brightness
3

特定の値を設定:

# echo 2 > /sys/class/leds/asus::kbd_backlight/brightness

asus-kbd-backlight を使う

UPower を使いたくない場合 asus-kbd-backlightAUR を使ってバックライトの輝度を管理できます。ユーザーから輝度を変更できるようにするには:

# asus-kbd-backlight allowusers

systemd を使っている場合、パッケージに含まれているユニットファイルが使えます:

# systemctl daemon-reload
# systemctl start asus-kbd-backlight.service
# systemctl enable asus-kbd-backlight.service

以下のコマンドでターミナルからキーボードバックライトを変更することが可能になります:

$ asus-kbd-backlight up
$ asus-kbd-backlight down
$ asus-kbd-backlight max
$ asus-kbd-backlight off
$ asus-kbd-backlight night
$ asus-kbd-backlight 2
$ asus-kbd-backlight show

XF86KbdBrightnessDown や XF86KbdBrightnessUp キーを上記のコマンドに割り当てることができます。詳しくは Xorg での特別なキーボードキーを参照。

Ambient Light Sensor (ALS)

Zenbook には環境光センサーが搭載されており、Zenbook がある場所の照度にあわせてキーボードや LCD のバックライトを調整することができます。使用するには、カーネルモジュールの als-dkmsAUR パッケージとユーザースペースプログラムの als-controllerAUR[リンク切れ: パッケージが存在しません] パッケージをインストールしてください。

ALS ドライバー

ALS ドライバーは als という名前のモジュールです。sysfs の /sys/bus/acpi/devices/ACPI0008:00 ディレクトリにデバイスが作成されます。enable ファイルに "1" を書き込むことで環境光センサーを有効にできます:

# echo "1" > /sys/bus/acpi/devices/ACPI0008:00/enable

ただし、以下で説明しているユーザースペースコントローラを使用した方が良いでしょう。モジュールはカーネルのアップデートがあるたびに再ビルドする必要があります

センサーが /sys/bus/acpi/devices/ACPI0008:00 で確認できない場合、acpi_osi='!Windows 2012' カーネルパラメータを設定してください。

ALS コントローラ

als-controllerAUR[リンク切れ: パッケージが存在しません] パッケージには als-controller プログラムとユーザースペーススクリプトが含まれています。何もパラメータを付けずにプログラムを root で起動した場合、als-controller デーモンが起動して /var/run に pid ファイルとソケットが作成されます:

# als-controller

適切なパラメータ (-e または -d) を付けることで非特権ユーザーでも als-controller を実行してセンサーを有効化・無効化できます。

有効にするには:

$ als-controller -e

無効にするには:

$ als-controller -d

また、パッケージには als-controller.service ユニットが含まれています。起動有効化して使うことができます。

サンプルスクリプト

ユーザースペーススクリプトは /usr/share/als-controller/example/switch.sh にインストールされます。スクリプトはキーに紐付けて実行するように作られています。libnotify のインストールが必要です。Windows と同じ [Fn]+[a] で有効化・無効化できるようにしたい場合、X におけるキーコードは 248 です。xbindkeys を使用する場合、以下を .xbindkeysrc ファイルに追加してください:

# Ambient Light Sensor (ALS) Toggle [Fn a]
"/usr/share/als-controller/example/switch.sh"
m:0x0 + c:248

詳しい情報はプロジェクトの README ファイルを見てください。

ソリッドステートドライブ

SSD を使用する場合、ソリッドステートドライブを読んでください。

グラフィック

Intel Graphics を見てください。動画のハードウェアアクセラレーションについてはハードウェアビデオアクセラレーションを見てください。

タッチパッド

右ボタンを有効にする方法は Synaptics タッチパッド#ボタンのないタッチパッド (別名クリックパッド) を見てください。

2本指・3本指のタップは特に設定をしなくても機能します。

ヒント: 2本指のタップで中クリック、3本指のタップで右クリックになります。

マルチタッチジェスチャー

Windows のようなマルチタッチジェスチャーを有効にしたい場合、toucheggAUR をインストールしてください。Touchegg を使うには Synaptics 入力ドライバーによる入力処理を一部無効化する必要があります。/etc/X11/xorg.conf.d/10-synaptics.conf を以下のように編集してください:

Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Option "TapButton1" "1"
        Option "TapButton2" "0"
        Option "TapButton3" "0"
        Option "ClickFinger2" "0"
        Option "ClickFinger3" "0"
        Option "HorizTwoFingerScroll" "0"
        Option "VertTwoFingerScroll" "0"
        Option "ClickPad" "true"
        Option "EmulateMidButtonTime" "0"
        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
EndSection

X.org の設定ファイルを記述するかわりに .xinitrc の中から synclient コマンドを使う方法もあります。デスクトップ環境によっては効果がないこともあります。

$ synclient TapButton2=0 TapButton3=0 ClickFinger2=0 ClickFinger3=0 HorizTwoFingerScroll=0 VertTwoFingerScroll=0

マルチタッチジェスチャーを有効にするには touchegg自動起動する必要があります。.xinitrc の中に touchegg & と記述したり、デスクトップ環境のスタートアップアプリケーション機能を使ってください。その後、必要に応じて ~/.config/touchegg/touchegg.conf を編集してください。

マルチタップや2本指のスクロールが機能しない

xinput list を確認して Elantech タッチパッドが Elantech クリックパッドとして認識されていないか確認してください。その場合、elantech-asustouchpad-dkmsAUR[リンク切れ: パッケージが存在しません] をインストールすることで問題が解決するかもしれません。

GNOME 3 のマルチタッチジェスチャー

GNOME 3 の gnome-shell は独自のマウス管理機能を持っており、適切なプラグインを無効化しないと Synaptics や Touchegg の設定と干渉することがあります:

$ gsettings set org.gnome.settings-daemon.plugins.mouse active false

上記のプラグインを無効化するとシステム設定のマウスとタッチパッドセクションの設定が無視されるようになります。

タイピング中にタッチパッドを無効化

タッチパッドの場所が邪魔なせいでタイピング中にタッチパッドに触れてしまうということがよくあります (Amazon のレビューを見てください)。適当な方法を使ってタッチパッドを無効化すると良いでしょう。詳しくは Synaptics タッチパッド#タイピング中はタッチパッドを無効にするを参照してください。

起動時に HDMI を接続

起動時に HDMI デバイスが接続されていた場合、画面が切り替わってしまってノートパソコンのディスプレイが表示されなくなる問題が存在します。以下の udev ルールとスクリプトを使うことで HDMI の切り替えを自動化することができます。

root で以下のスクリプトを追加してください:

/usr/local/share/hdmi-plugged-startup
#!/bin/bash

export XAUTHORITY=/home/$USER/.Xauthority
export DISPLAY=:0

/usr/bin/xrandr -display :0 --output eDP1 --auto --output HDMI1 --auto --above eDP1

追加したら実行可能属性を付与してください:

# chmod +x /usr/local/share/hdmi-plugged-startup

そして以下の udev ルールを追加してください:

# echo 'ACTION=="change", SUBSYSTEM=="drm", RUN+="/usr/local/share/hdmi-plugged-startup"' >> /etc/udev/rules.d/10-local.rules

サスペンドしてから HDMI ケーブルを切断して、復帰することで、ノートパソコンを再起動することなく Zenbook のディスプレイを有効にできます。

電源管理

省電力設定のオプションやツールについては省電力設定を見てください。

ハードウェアとモジュール

デバイス

説明 デバイス Id ドライバー/モジュール
Intel Corporation 3rd Gen Core processor DRAM Controller 8086:0154 ivb_uncore
Intel Corporation 3rd Gen Core processor Graphics Controller 8086:0166 i915
Intel Corporation Device 8086:0153 none
Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller 8086:1e31 xhci_hcd
Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 8086:1e3a mei_me
Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 8086:1e2d ehci_hcd
Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller 8086:1e20 snd_hda_intel
Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 8086:1e10 pcieport
Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 8086:1e12 pcieport
Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 8086:1e26 ehci_hcd
Intel Corporation HM76 Express Chipset LPC Controller 8086:1e59 lpc_ich
Intel Corporation 7 Series Chipset Family 6-port SATA Controller 8086:1e03 ahci
Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller 8086:1e22] i2c_i801
Intel Corporation 7 Series/C210 Series Chipset Family Thermal Management Controller 8086:1e24 none
Intel Corporation Centrino Advanced-N 6235 8086:088e iwlwifi
Chicony Electronics Co., Ltd Asus 720p CMOS webcam 04f2:b330 uvcvideo
Intel Corporation [Bluetooth Device] 8087:07da btusb
Realtek Semiconductor Corp. RTS5139 Card Reader Controller 0bda:0139 rtsx_usb

他のデバイスとドライバー

MEI

i7 MEI を使用したい場合、Intel Local Manageability Service が必要です。intel-lmsAUR パッケージをインストールしてください。

ウォッチドッグ

チップセットにはハードウェアウォッチドッグが搭載されています:

# wdctl
Device:        /dev/watchdog
Identity:      iTCO_wdt [version 0]
Timeout:       30 seconds
Timeleft:       2 seconds
FLAG           DESCRIPTION               STATUS BOOT-STATUS
KEEPALIVEPING  Keep alive ping reply          0           0
MAGICCLOSE     Supports magic close char      0           0
SETTIMEOUT     Set timeout (in seconds)       0           0

systemd の開発者である Lennart Poettering が ブログ記事 で説明しているように、systemd でウォッチドッグを有効にするのは簡単です。

/etc/systemd/system.conf を開いて RuntimeWatchdogSec=0 行をコメントアウトしてください。0 は一定時間 ping が受信できなかった場合に再起動する秒数に変えてください。例えば iTCO_wdt のデフォルト設定である30秒にする場合:

#RuntimeWatchdogSec=0
RuntimeWatchdogSec=30

再起動したら有効になっていることを確認してください:

# journalctl | grep -i watchdog
Oct 06 06:36:27 asarum kernel: iTCO_wdt: Intel TCO WatchDog Timer Driver v1.10
Oct 06 06:36:27 asarum systemd[1]: Hardware watchdog 'iTCO_wdt', version 0
Oct 06 06:36:27 asarum systemd[1]: Set hardware watchdog to 30s.

ACPI と gpio_ich の問題

gpio_ich モジュールによって以下のようなエラーが表示されることがあります:

ACPI Warning: 0x0000000000000428-0x000000000000042f SystemIO conflicts with Region \PMIO 2 (20120711/utaddress-251)
ACPI Warning: 0x0000000000000500-0x000000000000053f SystemIO conflicts with Region \GPIO 1 (20120711/utaddress-251)
ACPI Warning: 0x0000000000000500-0x000000000000053f SystemIO conflicts with Region \GP01 2 (20120711/utaddress-251)
lpc_ich: Resource conflict(s) found affecting gpio_ich
ACPI Warning: 0x000000000000f040-0x000000000000f05f SystemIO conflicts with Region \SMB0 1 (20120711/utaddress-251)
ACPI Warning: 0x000000000000f040-0x000000000000f05f SystemIO conflicts with Region \_SB_.PCI0.SBUS.SMBI 2 (20120711/utaddress-251)

上記は ACPI がメモリ領域を何か他のために予約したという警告です。心配する必要はありません。

参照