web-dev-qa-db-ja.com

Ubuntu 16.04.1でLenovo ideapad輝度キーがイベントを生成しない

新しいLenovo Ideapad 500Sで、新しいUbuntu 16.04.1が実行されています。残念ながら、明るさアップ/ダウンキーは機能しません。 (Windowsで正常に動作します。)

acpi_listenを実行すると、音量アップ/ダウンキーの生成されたイベントが表示されますが、輝度アップ/ダウンのイベントは表示されません。 xevを実行しても、明るさアップ/ダウンキーの出力は得られませんでした。

GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grubacpi_backlight=vendorvideo.use_native_backlight=1などのオプションを使用してacpi_osi=Linuxacpi_osi=行を数回編集した後、この変更を確認できます/sys/class/backlight/のソフトリンクと私は現在intel_backlightしかありません。

echo <NUM> | Sudo tee /sys/class/backlight/intel_backlight/brightnessを実行すると正常に機能し、輝度が変更されます。また、Settings > Brightness and Lockからも変更できます。

Ubuntu内でこれらのキーを検出できるものはないようですので、grub構成に変更を加えることが重要になるかどうかはわかりません。

誰かがこれを修正する方法を知っているかどうか、またこの問題のデバッグに追加情報が役立つかどうかを教えてください。

更新:

acpi_osi=Linux acpi_backlight=intel_backlightをgrubの行に追加すると、明るさdownキーがxevに何かを生成するようです(acpi_listenまだ)。出力は次のとおりです。

KeyPress event, serial 37, synthetic NO, window 0x3c00001,
    root 0xd3, subw 0x0, time 391361, (728,884), root:(793,936),
    state 0x0, keycode 120 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x3c00001,
    root 0xd3, subw 0x0, time 391368, (728,884), root:(793,936),
    state 0x0, keycode 120 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

追加の出力:

$ lspci -nnk | grep -iA2 vga
00:02.0 VGA compatible controller [0300]: Intel Corporation Sky Lake Integrated Graphics [8086:1916] (rev 07)
    Subsystem: Lenovo Skylake Integrated Graphics [17aa:3828]
    Kernel driver in use: i915_bpo
3
Vivek Ghaisas

私は最終的に、いくつかの回避策を使用してこれを解決しました。

最初のステップは、キーを検出可能にすることでした。同様のモデル(Lenovo Z400)のラップトップがあり、そのためにどのキーコードが生成されるかを調べました。それに基づいて、これを/etc/rc.local/に入れました:

setkeycodes e054 225 # Brightness up -> brightness up
setkeycodes e04c 224 # Brightness down -> brightness down

2番目のステップは、キーで輝度を変更することでした。最初に気づいたのは、xdotool key 232およびxdotool key 233を実行すると、明るさが完全に増減することです(Unityでの変更通知を含む)。次に、明るさを機能させるために2つのことを試しました。

最初に、xevが2つのキーのイベントXF86MonBrightnessUpおよびXF86MonBrightnessDownを表示していることに気付きました。つまり、すべてがXレベルで正常に機能していました。そこで、私は単純にUbuntuのショートカットマネージャーを使用し、2つのキー(XF86の同等のものとして読み取られた)をxdotoolコマンドに登録しました。これはうまくいきました!

しかし、数週間後、いくつかのパッケージ/ドライバーを変更したため、xevはXF86イベントの報告を停止したため、上記の方法は機能しませんでした。ただし、acpi_listenvideo/brightnessdownおよびvideo/brightnessupイベントが生成されていることを示したため、いくつかのグーグルの後、以下を新しいファイル/etc/acpi/events/ideapad-monitor-brightness-upに追加しました。

# same event as reported by acpi_listen
event=video/brightnessup BRTUP 00000086 00000000 K
action=su vivek -c "export DISPLAY=:0.0; xdotool getactivewindow && xdotool key 233 2>&1 > /tmp/log"
# The redirection into /tmp/log probably doesn't make any difference

ideapad-monitor-brightness-downを含む同等のxdotool key 232ファイルも問題を解決しました。以来、問題はありません。 :)

1
Vivek Ghaisas

2012年以降、Ubuntu 14.04の古いラップトップ(Toshiba Satellite Core 2 Duo)で輝度キーに問題はありませんが、多くのユーザーが持っているようです。最も一般的な解決策は、ファイルを作成することです

Sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf

次に、ファイルを編集します

gksu gedit /usr/share/X11/xorg.conf.d/20-intel.conf

次に、ファイルに入力します

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"
EndSection

Saveおよびreboot.

BusIDは次の出力と一致する必要があります。

lspci -nnk | grep -iA2 vga

また、異なる場合は、intel_backlightlspciコマンドに表示されるものに置き換えます。

試すもう1つのオプションは、acpi_backlight=vendorでgrubコマンドラインを変更することです。

更新

輝度キーに関するこのUbuntu Webページを偶然見つけました: https://wiki.ubuntu.com/Kernel/Debugging/Backlight

Ubuntu 16.04にアップグレードすると、カーネル16.04が追加され、サスペンド/レジューム、薄いフォント、壁紙の代わりに黒い画面、通常のCPU使用率よりも高く、常温よりも高温の問題が発生しました。 buntu 15.10:フリーズのさまざまな「タイプ」と現在の予期しないシャットダウン これにより、Intel Ivy Bridgeプラットフォームでのほとんどの問題が解決され、非常に役立つ場合があります。 Sky Lakeプラットフォーム。

0