ASUS C302
Asus C302 (別名 Asus C302C または Asus C302CA) は Linux をインストールできる Chromebook です。以下は Arch Linux をスムーズに実行するための説明です。
目次
起動
/etc/default/grub
の設定:
GRUB_CMDLINE_LINUX_DEFAULT="acpi_osi=Linux intel_iommu=on,igfx_off"
intel_iommu=on,igfx_off により以下の dmesg エラーが消えます [1]:
[drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
CPU は Intel Core M3 なので intel-ucode をインストールしてください。
カーネルモジュール
/etc/modprobe.d/skylake.conf
の例:
# Needed, for the nau8825 kernel sound modules to initialize blacklist snd_hda_intel
options tpm_tis interrupts=0
ディスプレイ
ディスプレイは 12.5 インチで解像度は 1920x1080 となっており、HiDPI の 176 DPI です。
~/.xinitrc
にディスプレイの大きさを設定するには (ミリメートル):
xrandr --fbmm 277x156
垂直同期
垂直同期するには xf86-video-intel が必要です。
/etc/X11/xorg.conf.d/20-intel.conf
の設定例:
Section "Device" Identifier "Intel Graphics" Driver "intel" EndSection
ディスプレイ反転
ノートパソコンをテントモードで使用するには、以下のスクリプトでディスプレイとタッチ入力を反転します:
#!/bin/dash set_normal() { r="normal" ctm="1 0 0 0 1 0 0 0 1" } set_upside_down() { r="inverted" ctm="-1 0 1 0 -1 1 0 0 1" } line=$(xrandr | grep '^eDP.* connected ') screen=$(printf "%s" "$line" | cut -d" " -f1) if $(printf "%s" "$line" | grep -q ' inverted (normal') ; then set_normal else set_upside_down fi xrandr --output "$screen" --rotate "$r" xinput set-prop "Elan Touchscreen" "Coordinate Transformation Matrix" $ctm
キーボード
Chromebook の上部の列を使うには ~/.Xmodmap
を以下のように設定:
keycode 9 = Escape NoSymbol Escape keycode 22 = BackSpace BackSpace BackSpace BackSpace Delete NoSymbol Delete keycode 37 = Control_L NoSymbol Control_L keycode 50 = Shift_L NoSymbol Shift_L keycode 66 = Caps_Lock NoSymbol Caps_Lock keycode 67 = Home F1 Home F1 F1 F1 XF86Switch_VT_1 keycode 68 = End F2 End F2 F2 F2 XF86Switch_VT_2 keycode 69 = Prior F3 Prior F3 F3 F3 XF86Switch_VT_3 keycode 70 = Next F4 Next F4 F4 F4 XF86Switch_VT_4 keycode 71 = Delete F5 Delete F5 F5 F5 XF86Switch_VT_5 keycode 72 = XF86MonBrightnessDown F6 XF86MonBrightnessDown F6 F6 F6 XF86Switch_VT_6 keycode 73 = XF86MonBrightnessUp F7 XF86MonBrightnessUp F7 F7 F7 XF86Switch_VT_7 keycode 74 = XF86AudioMute F8 XF86AudioMute F8 F8 F8 XF86Switch_VT_8 keycode 75 = XF86AudioLowerVolume F9 XF86AudioLowerVolume F9 F9 F9 XF86Switch_VT_9 keycode 76 = XF86AudioRaiseVolume F10 XF86AudioRaiseVolume F10 F10 F10 XF86Switch_VT_10 keycode 111 = Up Up Up Up Prior Prior keycode 112 = Prior NoSymbol Prior keycode 113 = Left Left Left Left Home Home keycode 114 = Right Right Right Right End End keycode 115 = End NoSymbol End keycode 116 = Down Down Down Down Next Next keycode 117 = Next NoSymbol Next keycode 118 = Insert NoSymbol Insert keycode 119 = Delete NoSymbol Delete keycode 124 = XF86PowerOff NoSymbol XF86PowerOff keycode 167 = XF86Forward NoSymbol XF86Forward keycode 182 = XF86Close NoSymbol XF86Close keycode 191 = XF86ScreenSaver NoSymbol XF86ScreenSaver
~/.Xmodmap
は /etc/X11/xinit/xinitrc
によってロードされ、以下のコマンドが実行されます:
xmodmap ~/.Xmodmap
キーボードバックライト
通常ユーザーからキーボードのバックライトの明るさを変更できるようにするには、以下を root で実行:
b="/sys/devices/platform/GOOG0002:00/leds/chromeos::kbd_backlight/brightness" chgrp users "$b" && chmod 660 "$b" && echo 6 > "$b"
0 (オフ) から 100 (最大輝度) までの値で設定できます。ChromeOS のデフォルトは 25.6 です。
ChromeOS ではキーボードを使っていないときにキーボードのバックライトを無効にできますが、Linux カーネルではこの機能を使えません。ただし、xprintidle を利用して以下のようなシンプルなスクリプトで機能を模倣できます:
#!/bin/dash set_keyboard_backlight() { printf "%s" "$1" > "/sys/devices/platform/GOOG0002:00/leds/chromeos::kbd_backlight/brightness" b="$1" } b=0 while true ; do pgrep ^Xorg > /dev/null || exit 0 seconds_to_sleep=10 idle_millis=$(xprintidle) if [ "$idle_millis" -gt 10000 ] ; then nb=0 seconds_to_sleep=5 else nb=25 seconds_to_sleep=15 fi if [ "$nb" -ne "$b" ] ; then set_keyboard_backlight "$nb" fi echo "nb=$nb, sleeping for $seconds_to_sleep" sleep "$seconds_to_sleep" done
タッチパッド
libinput 1.12.0-2 現在、タッチパッドは問題なく動作します [2]:
- タップ:
- 1本指のタップ = "左"ボタン
- 2本指のタップ = "右"ボタン
- 3本指のタップ = "中"ボタン
- クリックパッド (タッチパッドの下部のクリック):
- 左側 = "左"ボタン
- 右側 = "右"ボタン
- 中央 = "中"ボタン
マウス
USB 端子が少ないため、Bluetooth マウスを推奨します。Logitech M590 マウスは問題なく動作します。
bluetoothctl power on &
を ~/.xinitrc
などで起動時に実行してください。
/etc/X11/xorg.conf.d/99-mouse.conf
の例:
Section "InputClass" Identifier "Logitech M590" MatchIsPointer "on" MatchDevicePath "/dev/input/event*" Driver "libinput" Option "AccelProfile" "flat" EndSection
それからマウスの速度を設定してください。マウスのアクセラレーションを参照。
サウンド
サウンドは 開発中 です。ヘッドフォンを使う場合は問題なく動作します。
オーディオファームウェアを /lib/firmware/9d70-CORE-COREBOOT-0-tplg.bin
として保存してください (ファイルサイズは 23120 バイト)。
音量を適当なレベルに設定するには ~/.xinitrc
で以下を実行:
amixer -q -c0 sset Headphone 70% &
Pulseaudio
クリック音を消すには /etc/pulse/default.pa
と /etc/pulse/system.pa
の load-module module-suspend-on-idle
をコメントアウトしてください。
コイル鳴き
コイル鳴き がときどき発生することがありますが、解決する方法はありません。