Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
バックライトのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
バックライト
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:ディスプレイ制御]] [[Category:ノートパソコン]] [[en:Backlight]] [[ru:Backlight]] 画面の輝度を操作するのは難易度が高いことがしばしばです。多くのマシンでは、物理的なハードウェアスイッチが付いておらず、ソフトウェアによる方法は動いたり動かなかったりとまちまちです。ハードウェアにあった方法を使うようにしてください。画面が明るすぎると眼精疲労を起こす可能性があります。 ソフトウェアを使ってモニターやノートパソコン、統合パネル (iMac など) の画面のバックライトを調整する方法は多数存在します。[https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/397617 これらの] [https://lore.kernel.org/patchwork/patch/528936/#708706 議論]とこの [https://wiki.ubuntu.com/Kernel/Debugging/Backlight wiki ページ]によると、制御方法は次のカテゴリに分類できます。 * 明るさはベンダー指定のホットキーによって制御され、OS が明るさを調整するためのインターフェイスはありません。 * 明るさは、[[#ACPI|ACPI]]、グラフィック、またはプラットフォーム ドライバーのいずれかによって制御されます。この場合、バックライト制御は、ユーザー空間の [[#バックライト ユーティリティ|バックライト ユーティリティ]]で使用できる {{ic|/sys/class/backlight}} を通じてユーザーに公開されます。 * 明るさは、[[#setpci|setpci]] を介してグラフィック カード レジスタに書き込むことによって制御されます。 {{Note|OLED 画面にはバックライトがないため、OLED 画面を搭載したラップトップのバックライト電力を変更して明るさを制御することはできません。この場合、知覚される画面の明るさは、PWMコントロール(Linux カーネルには実装されていません)または、[[#色補正|ソフトウェアの色補正]]を使用して調整できます。}} == ハードウェアインターフェイス == === ACPI === スクリーンバックライトの明るさはバックライト LED やカソードの電力レベルの設定によって調整されます。電力レベルは大抵の場合ビデオ用の ACPI カーネルモジュールを使用することで操作することが可能です。このモジュールのインターフェイスは sysfs のフォルダ {{ic|/sys/class/backlight}} によって提供されます。 フォルダの名前はグラフィックカードのモデルによります。 {{hc|# ls /sys/class/backlight/| intel_backlight }} この例ではバックライトは Intel のグラフィックカードによって管理されています。ATI のカードでは {{ic|acpi_video0}} と呼ばれます。下の例では {{ic|acpi_video0}} を使っています。 ディレクトリには以下のファイルとフォルダが含まれています: actual_brightness brightness max_brightness subsystem/ uevent bl_power device/ power/ type 最大輝度は {{ic|max_brightness}} を見ることでわかります、多くの場合15です。 {{hc|# cat /sys/class/backlight/acpi_video0/max_brightness| 15 }} 数値を {{ic|brightness}} に書き込むことで明るさを設定できます。最大輝度よりも高い数値を設定することはできません。 # tee /sys/class/backlight/acpi_video0/brightness <<< 5 ==== カーネルコマンドラインオプション ==== たまに、マザーボードの実装が ACPI と異なっているために ACPI が上手く動作しないことがあります。これにはデュアルグラフィックのノートパソコンなども含まれます (例: Nvidia/Radeon のディスクリート GPU と Intel/AMD の内蔵 GPU) - この問題が発生するノートパソコンの例として Dell Studio, Dell XPS 14/15/17 や Lenovo のノートパソコンなどが挙げられます。カーネル開発者の Kamal Mostafa がこの問題を解決する[https://launchpad.net/~kamalmostafa/+archive/linux-kamal-mjgbacklight パッチ]を作成しました - パッチは Linux 3.1 から含まれています。さらに、Nvidia-optimus ノートパソコンでは、nomodeset カーネルパラメータがバックライトの調整機能に干渉することがあります。以下のカーネルパラメータをブートローダー (grub, syslinux...) に追加してみてください: video.use_native_backlight=1 {{Note|このカーネル設定は '''Linux 3.13''' で追加されました。}} または acpi_osi=Linux acpi_backlight=vendor または acpi_osi=Linux acpi_backlight=legacy ''acpi_backlight=vendor は ACPI video.ko ドライバーの代わりにベンダー固有のドライバー (例: thinkpad_acpi, sony_acpi など) を優先して使用します。'' Lenovo IdeaPad ノートパソコンの場合、{{ic|blacklist ideapad_laptop}} を {{ic|/etc/modprobe.d/blacklist.conf}} に追加して {{ic|ideapad_laptop}} モジュールをブラックリスト化する必要があるかもしれません (必要に応じてファイルを作成してください)。[https://askubuntu.com/a/304762 ソース]。 {{Tip|1=Asus のノートパソコンでは次を実行する必要があるかもしれません: {{ic|# modprobe asus-nb-wmi}}。}} {{Note|Disabling legacy boot on Dell XPS13 breaks backlight support.}} ==== Udev ルール ==== ACPI インターフェイスが利用できる場合、udev ルールを使って起動時にバックライトのレベルを設定することができます。 {{hc|/etc/udev/rules.d/81-backlight.rules|<nowiki> # Set backlight level to 8 SUBSYSTEM=="backlight", ACTION=="add", KERNEL=="acpi_video0", ATTR{brightness}="8"</nowiki>}} このルールで値を固定しても、systemd-backlight サービスによって起動時に以前の輝度レベルに戻されます。このルールを使いたいときは、[[#systemd-backlight サービス|systemd-backlight サービス]]で説明されているように system-backlight サービスをマスクする必要があります。 === setpci === In some cases (e.g. Intel Mobile 945GME [https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/397617]), it is possible to set the register of the graphic card to adjust the backlight. It means you adjust the backlight by manipulating the hardware directly, which can be risky and generally is not a good idea. Not all of the graphic cards support this method. When using this method, you need to use {{ic|lspci}} first to find out where your graphic card is. # setpci -s 00:02.0 F4.B=0 === External monitors === [[Wikipedia:Display_Data_Channel#DDC.2FCI|DDC/CI]] (Display Data Channel Command Interface) can be used to communicate with external monitors implementing MCCS (Monitor Control Command Set) over I2C. DDC can control brightness, contrast, inputs, etc on supported monitors. Settings available via the OSD (On-Screen Display) panel can usually also be managed via DDC. The [[kernel module]] {{ic|i2c-dev}} may need to be loaded if the {{ic|/dev/i2c-*}} devices do not exist. {{Pkg|ddcutil}} can be used to query and set brightness settings: {{hc|# ddcutil capabilities {{!}} grep "Feature: 10"| Feature: 10 (Brightness) }} {{hc|1=# ddcutil getvcp 10|2= VCP code 0x10 (Brightness ): current value = 60, max value = 100 }} # ddcutil setvcp 10 70 Alternatively, one may use {{AUR|ddcci-driver-linux-dkms}} to expose external monitors in sysfs. Then, after loading the {{ic|ddcci}} [[kernel module]], one can use any [[#Backlight utilities|backlight utility]]. {{Note| * Using {{ic|ddcci}} and {{ic|i2c-dev}} simultaneously may result in resource conflicts such as a {{ic|Device or resource busy}} error. * Users of NVIDIA's proprietary drivers may need to add {{ic|1=Option "RegistryDwords" "RMUseSwI2c=0x01; RMI2cSpeed=100"}} to the {{ic|Device}} section in {{ic|/etc/X11/xorg.conf.d/20-nvidia.conf}} (generated by ''nvidia-xconfig'') or {{ic|1=options nvidia NVreg_RegistryDwords=RMUseSwI2c=0x01;RMI2cSpeed=100}} to {{ic|/etc/modprobe/conf.d/nvidia.conf}}. Confirm that the settings are correctly applied with {{ic|grep RegistryDwords /proc/driver/nvidia/params}} and check that the values are not empty. See [https://forums.developer.nvidia.com/t/gddccontrol-issues-with-nvidia-drivers-i2c-monitor-display-ddc-dp-hdmi-failing/30427/33] and [https://forums.developer.nvidia.com/t/gddccontrol-issues-with-nvidia-drivers-i2c-monitor-display-ddc-dp-hdmi-failing/30427/61] * {{ic|ddcutil}} will fail to set some VCP features if there is a feature enabled on the monitor which already automatically adjusts them (e.g. [[Wikipedia:Contrast ratio#Dynamic contrast (DC)|Dynamic Contrast Ratio]] or BenQ's ''Eye Care'' technology). * To facilitate binding screen brightness control to a keyboard shortcut, it may be convenient to enable non-superuser access to the relevant I2C devices. This can be achieved by adding a group {{ic|i2c}} and configuring [[udev]] to set this group as the owner of the I2C devices. See [https://raspberrypi.stackexchange.com/a/4472]. * If {{Pkg|ddcutil}} is installed, it provides the {{ic|/usr/share/ddcutil/data/90-nvidia-i2c.conf}} file, which can be copied to {{ic|/etc/X11/xorg.conf.d/}} instead of manually editing [[Xorg]] configuration files. It also provides {{ic|/usr/share/ddcutil/data/45-ddcutil-i2c.rules}} and {{ic|/usr/share/ddcutil/data/45-ddcutil-usb.rules}} for [[udev]] rules. }} == バックライトをオフにする == (ノートブックをロックした時などに) バックライトを切ることはバッテリーの節電に役に立ちます。グラフィカルセッションから次のコマンドを実行すればオフにできます: sleep 1 && xset dpms force off マウスを動かしたりキーボードで入力したりするとバックライトはまたオンになります。上のコマンドが使えない場合でも、{{ic|vbetool}} が使える可能性があります。ただし、この場合バックライトを戻すには手動で有効にする必要があるので注意してください。コマンドは以下の通りです: vbetool dpms off バックライトをもう一度有効にするには: vbetool dpms on 例えば、[[Acpid#ノートパソコンのモニターの電源オフ|Acipd]] のエントリで書かれているように、ノートパソコンのフタを閉じた時にこのコマンドを使用することが可能です。 == systemd-backlight サービス == [[systemd]] パッケージにはサービス systemd-backlight@.service が含まれており、デフォルトで有効になっていて"固定"されています。シャットダウン時にバックライトの明るさのレベルを保存して、起動時にそれを復元します。このサービスは [[#ACPI]] で説明されている ACPI による方法を使っていて、{{ic|/sys/class/backlight/}} にあるフォルダごとにサービスを生成します。例えば、{{ic|acpi_video0}} という名前のフォルダがあった場合、{{ic|systemd-backlight@backlight:acpi_video0.service}} という名前のサービスを生成します。起動時に他の方法を使ってバックライトを設定するときは、systemd-backlight@.service サービスをマスクすることが推奨されます。 == バックライトユーティリティ == === xbacklight === xorg-server のコマンド {{ic|xbacklight}} を使ってバックライトを調整することが可能です。このユーティリティは [extra] の {{Pkg|xorg-xbacklight}} パッケージに入っています。 [https://www.youtube.com/watch?v=_pi3iKMAJcY YouTube の gotbletu] によってデモンストレーションが投稿されています。彼は以下のコマンドを使ってバックライトを調整することを提案しています: * 明るくする: xbacklight -inc 40 * 弱くする: xbacklight -dec 40 {{Tip|[[Xorg での特別なキーボードキー]]で説明されているようにしてこれらのコマンドをキーボードのキーに結びつけることが可能です。}} === brightnessctl === {{Pkg|brightnessctl}}をインストール後、そのまま使用することができます。 バックライトの輝度を 5% 上げる: $ brightnessctl set 5%+ バックライトの輝度を 5% 下げる。 $ brightnessctl set 5%- {{Tip|{{Pkg|xf86-video-intel}}をインストールしたくない場合は、代わりにこちらを使うことができます。}} === light === {{Tip|[https://github.com/perkele1989/light light]は2023/12現在アーカイブ状態になっており、利用が非推奨になっています。}} {{Pkg|light}} をインストールし、{{ic|video}} グループにユーザーを追加してください。 バックライトの輝度を 5% 上げる: $ light -A 5 バックライトの輝度を 5% 下げる。 $ light -U 5 バックライトの輝度を 100% に設定する。 $ light -S 100 === relight === [https://xyne.archlinux.ca/projects/relight relight] は [https://xyne.archlinux.ca/repos Xyne のリポジトリ] から利用でき、また、[[AUR]] からはパッケージ {{AUR|relight}} として取得可能です。このパッケージは上記の ACPI による方法を使って、再起動時に以前のバックライト設定を自動的に復元させるサービスを提供します。また、スクリーンごとにバックライトを選択・設定できるダイアログベースのメニューも入っています。 === setpci (細心の注意を払って使用してください) === グラフィックカードのレジスタをセットして、バックライトの調整をすることが可能です。ハードウェアを直接操作してバックライトを調整するので、危険性が存在し、あまり勧められる方法ではありません。また、グラフィックカードによってはこの方法をサポートしていません。 この方法を使う際には、まず {{ic|lspci}} を使ってあなたの使っているグラフィックカードの場所を確認する必要があります。 # setpci -s 00:02.0 F4.B=0 === Calise === ソフトウェア [http://calise.sourceforge.net/wordpress/ calise] は AUR にあります。 * 安定版: {{AUR|calise}}{{Broken package link|パッケージが存在しません}} * 開発版: {{AUR|calise-git}}{{Broken package link|パッケージが存在しません}} 光センサーを搭載していないノートパソコンのために、ウェブカメラからキャプチャして周りの明るさを計算し、画面のバックライトを設定します。 詳細は calise の wiki を見て下さい: [http://calise.sourceforge.net/mediawiki/index.php/Main_Page Calise wiki]。 このプログラムの主な特徴としては、計算が非常に正確で、リソースの使用量がかなり少なく、デーモンバージョンが存在し (systemd ユーザーのための .service ファイルもあります)、バッテリー持ちにほとんど影響がないことが挙げられます。 === brightd === Macbook にインスパイアされた {{AUR|brightd}} はユーザーの操作がしばらくないと自動的に画面を薄暗くします (スタンバイ状態にはしません)。さっくり画面をオフにする [[Display Power Management Signaling]] と上手く併用することができます。 === KDE === [[KDE]] のユーザーは ''System Settings > Power Management > Energy Saving'' からバックライトを調整できます。 kdm よりも前にバックライトを設定したい場合は {{ic|/usr/share/config/kdm/Xsetup}} に次を記述してください: xbacklight -inc 10 == 色補正 == === Wayland === [[Redshift]] は Wayland (パッチなし) をサポートしていません。ただし、コンポジタを開始する前に、 [[tty]] で目的の温度を適用することは可能です。例: $redshift-m drm-PO 3000 そうしないと、一部のコンポジタがランタイム中にカラー補正を適用する可能性があります。 * [[GNOME]] では、組み込みの [[GNOME#夜間モード|夜間モード]] を使用できます。 * [[KDE Plasma]] では、内蔵の [[KDE#Night Color]] を使用できます。 * Sway 1.0 やその他の wlroot ベースのコンポジタは、Orbital や Redshift fork {{Pkg|gammastep}}、{{AUR|clight}}、{{AUR|wlsunset-git}} などと同様に使用できます。 === xcalib === [[AUR]] にあるパッケージ {{Pkg|xcalib}} ([http://xcalib.sourceforge.net/ 上流のサイト]) を使って画面を調光することができます。これも同じく、ユーザーの gotbletu が [https://www.youtube.com/watch?v=A9xsvntT6i4 Youtube] にデモンストレーションを投稿しています。このプログラムはガンマ補正と色の反転、コントラストの低減をすることが可能で、ここでは後者を使用します: * 暗くする: xcalib -co 40 -a このプログラムは ICC を使って X11 と通信するので、画面が暗くなっても、マウスカーソルの明るさは変わりません。 === Xflux === Xflux は X-Windows system 向けの [http://justgetflux.com f.lux] ポートです。日中は青に夜は黄色・橙色に画面を変化させることで、一日の流れに画面の輝度を合わせて夜ふかしを止めるのに役立ちます。 AUR には ''f.lux'' を使用するためのパッケージがいくつか存在します [https://aur.archlinux.org/packages/?O=0&K=xflux]。「メイン」のパッケージは {{AUR|xflux}} で、''f.lux'' のコマンドライン機能を扱います。xflux パッケージの自動起動を行うためのデーモンも様々あります。 === redshift === 公式リポジトリに入っているプログラム [[redshift]] は、時刻と地理情報にあわせて {{ic|randr}} を使って画面の明るさを調整します。RGB ガンマ補正をしたり色温度の設定も可能です。{{ic|xcalib}} と同じように、ソフトウェアによる方法なのでマウスカーソルの見た目は変わりません。明るさのクイック調整を実行するために、次のようなコマンドを使ってみて下さい: redshift -o -l 0:0 -b 0.8 -t 6500:6500 {{Tip|西経や南緯の場合は、負の値で入力してください。例えばカリフォルニア州バークレーならば: redshift-gtk -l 37.8717:-122.2728 }} === NVIDIA の設定 === [[NVIDIA]] のプロプライエタリドライバーを使っている場合、nvidia-settings ユーティリティの "X Server Color Correction" からディスプレイの輝度を変更することができます。ただし、バックライト (の強さ) には全く変更がされないので注意してください、あくまでカラー出力の調整だけが行われます (この方法で明るさを下げても電力効率は良くならないので他の方法が全て使えない時の最後の手段といったところです。明るさを上げると、露出オーバーの写真と同じように、色味が完全に落ちます)。 == トラブルシューティング == === バックライト PWM 変調周波数 (Intel i915 のみ) === LED バックライトを搭載したノートパソコンではときどき画面にちらつきが発生することが知られています。これは LED の点灯と消灯をヒトの目には識別できない時間で高速に切り替えることで明るさを制御しているためですが、(PWM 変調周期と呼ばれる) 切り替えの周波数が高くないために、はっきり判別できるほどのちらつきが生じたり、人によっては頭痛や眼精疲労の原因になることがあります。 Intel i915 GPU を使っている場合、PWM 変調周期を調整することでちらつきを取り除くことが可能です。 公式リポジトリから {{Pkg|intel-gpu-tools}} をインストールしてください。PWM 変調周期を決めているレジスタの値を取得します: {{hc|# intel_reg_read 0xC8254| 0xC8254 : 0x12281228 }} 戻り値が PWM 変調の周期を表しています。PWM 変調周期を増加させるには、レジスタの値を減らす必要があります。例えば、上の例から周期を2倍にするには、次を実行します: # intel_reg_write 0xC8254 0x09140914 オンラインの計算器を使って設定すべき値を計算できます http://devbraindom.blogspot.com/2013/03/eliminate-led-screen-flicker-with-intel.html 詳しくは次のトピックを参照してください https://bbs.archlinux.org/viewtopic.php?pid=1245913 Intel GM45 チップセットを使用している場合は 0xC8254 の代わりにアドレス 0x61254 を使用してください。 === カーネル 3.13 で Intel チップセットでバックライトが調整できない === 以下のファイルを追加すると直ります。 {{hc|/etc/X11/xorg.conf.d/20-intel.conf| Section "Device" Identifier "Backlight fix" Driver "intel" Option "Backlight" "intel_backlight" EndSection}} === sysfs を変更しても明るさが変更されない === {{Note|この問題と解決方法は Dell M6700 と Nvidia K5000m (A10 より前の BIOS バージョン), Clevo P750ZM (Eurocom P5 Pro Extreme) と Nvidia 980m で確認済みです。}} 環境によっては、キーボードの輝度ホットキーで {{ic|/sys/class/backlight/acpi_video0/actual_brightness}} の acpi インターフェイスの値は変更されるのに、画面の輝度が変更されないことがあります。また、[[デスクトップ環境]]の輝度アプレットが使えないこともあります。 カーネルパラメータの変更をテストしてみて {{ic|xbacklight}} だけが動作する場合、BIOS とカーネルドライバーの互換性がない可能性があります。 その場合、BIOS や GPU ドライバーのメーカーから修正がリリースされるのを待つしかありません。 応急手段として inotify カーネル api を使って {{ic|/sys/class/backlight/acpi_video0/actual_brightness}} の値が変更されるたびに {{ic|xbacklight}} を実行することができます。 まず {{Pkg|inotify-tools}} を[[インストール]]してください。そして inotify を使用するスクリプトを作成して、[[自動起動]]するように設定します。 {{hc|/usr/local/bin/xbacklightmon|<nowiki> #!/bin/bash max=/sys/class/backlight/acpi_video0/max_brightness level=/sys/class/backlight/acpi_video0/actual_brightness factor=$(awk '{print $1/100}' <<< $(<$max)) xblevel() { awk '{print int($1/$2)}' <<< "$(<$level) $factor"; } xbacklight -set $(xblevel) inotifywait -m -qe modify $level | while read -r file event; do xbacklight -set $(xblevel) done </nowiki>}}
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Broken package link
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Tip
(
ソースを閲覧
)
バックライト
に戻る。
検索
検索
バックライトのソースを表示
話題を追加