同様の質問がすでにたくさんあることを知っていますが、そこにリストされている解決策のどれも役に立ちませんでした。
ラップトップ:ASUS N551VW
VGA: Intel Skylake(00:02.0) + nVidia GTX 960M(01:00.0)
ディストリビューション:Linux Mint 18(Debian 8.6でも試み、同じ結果)カーネルが4.4.0-43-generic x86_64にアップデートされました。
コンテンツ/sys/class/backlight
:
intel_backlight
このフォルダから読み取った明るさ、実際の明るさ、最大明るさはすべて913の値を表します。そのようなものを書くことは効果がありません。
私が試したこと:
次のカーネルオプションを使用してください
/etc/default/grub
。acpi_osi= acpi_osi=Linux acpi_backlight=intel acpi_backlight=native acpi_backlight=vendor video.use_native_backlight=1
そしてそれらの様々な組み合わせ。
acpi_backlightをデフォルト/サプライヤーに設定する唯一の効果は、GUIがfnキーを押したことを認識せず、現在のレベルの明るさアイコンを表示しないことです(考えるように)。これらの設定がないと、アイコンとそのレベルが表示されますが、実際の明るさは最大に保たれます。
- xbacklightを実行すると効果はありません(エラーは表示されず、返される前にしばらく停止しますが)。
Intelアダプタに切り替えて-setを使用して実行しようとすると、ラップトップは完全に停止します(電源ボタンを介してのみ再起動できます)。
- 明るさの値を直接書き込むには setpci を使用します。完全に効果がありません。
最も興味深いのは、BIOSとBIOSのスタート画面で問題なくfn + f5とfn + f6を使用して明るさを変更できますが、Linuxの起動後は明るさが最大レベルに設定され、再度変更できないことです。
何をもっと試すべきかわかりません。
修正する:
ddccontrol -p -r 0x10 -w 50
出力:
ddccontrol version 0.4.2
Copyright 2004-2005 Oleg I. Vdovikin ([email protected])
Copyright 2004-2006 Nicolas Boichat ([email protected])
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.
Probing for available monitors....I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/LGD046F.xml"
Document not parsed successfully.
....
Detected monitors :
- Device: dev:/dev/i2c-3
DDC/CI supported: No
Monitor Name: VESA standard monitor
Input type: Digital
No monitor supporting DDC/CI available.
If your graphics card need it, please check all the required kernel modules are loaded (i2c-dev, and your framebuffer driver).
アップデート2:
カーネルを4.8.4にアップグレードしてカーネルオプション文字列を設定することでacpi_osi=
問題が解決しました。
答え1
まず、環境明るさと得るFnキーイベントは2つの異なるイベントです。
/dev/input/event*
1a)キーボードがどのデバイスに適しているかを調べます。 (/dev/input/by-id
またはシンボリックリンクを見てフォロー/dev/input/by-path
するか、demsg / syslogを見て、すべてをテストしてください)。このデバイスを起動し、evtest
Fn輝度キーを押します。重要なイベントを受け取りましたか?だとしたらいいですね。そうでない場合は、ACPIイベントを生成できます(特別なドライバなしでイベントを生成する場合)。
1b)実行してxev
ウィンドウ内でマウスを移動し、Fnキーを押します。主なイベントを入手できますか?すでにBRIGHTNESS
そのような名前がありますか?だとしたらいいですね。 Xイベントの変換が機能します。
2)ルートとして数字を作成しますbrightness
。
echo 500 > /sys/class/backlight/intel_backlight/brightness
(このパスが正しい場合)たとえば、使用したい場合sudo
にも必要ですtee
(出力リダイレクトはrootとして実行されません)。明るさが変わりますか?だとしたらいいですね。
これらすべての質問に「はい」と答えることができる場合は、主要なイベントに反応して明るさを変更するプログラム(ウィンドウマネージャまたは実行するデスクトップなど)が必要です。答えが「いいえ」なら、さらに難しくなります。
BIOSでこれらのキーが機能することはまったく楽しくありません。なぜなら、BIOSはすでにどのようなバリエーションがあるのかを知っていて、それを正しく解釈していますが、Linuxはまだその方法を知らないからです。
答え2
多くの解決策を試してみましたが、成功しなかったため、ハードウェアがカーネルに比べて新すぎるようです
。