Backlight: Difference between revisions

imported>Con-f-use
example udev rule for /sys/class method
imported>Vater
m form (fixing Category:Pages with syntax highlighting errors) and add a first (content) category
Line 29: Line 29:
   programs.light.enable = true;
   programs.light.enable = true;
</syntaxhighlight>
</syntaxhighlight>


The following commands will allow you to test <code>light</code>:
The following commands will allow you to test <code>light</code>:
*<code>light -U 30</code> — the screen should become darker.
* <code>light -U 30</code> — the screen should become darker.
*<code>light -A 30</code> — the screen should become brighter.
* <code>light -A 30</code> — the screen should become brighter.


Be careful using <code>light -U</code>, as you might turn your backlight completely off! You will not be able to see what you're typing anymore.
Be careful using <code>light -U</code>, as you might turn your backlight completely off! You will not be able to see what you're typing anymore.


== <code>brightnessctl</code> ==
== <code>brightnessctl</code> ==
{{nixos:package|brightnessctl}} ([https://github.com/Hummer12007/brightnessctl homepage]) is another option, which, like <code>light</code>, would work even without X or on Wayland.
{{nixos:package|brightnessctl}} ([https://github.com/Hummer12007/brightnessctl homepage]) is another option, which, like <code>light</code>, would work even without X or on Wayland.


Line 44: Line 43:


== <code>/sys/class/backlight/...</code> ==
== <code>/sys/class/backlight/...</code> ==
The <code>/sys/class/backlight/*/brightness</code> files are a built-in way to set brightness. Use them e.g. with:
The <code>/sys/class/backlight/*/brightness</code> files are a built-in way to set brightness. Use them e.g. with:


Line 52: Line 52:
to set the brightness to <code>300</code>, where the maximum is stored in <code>brightness_max</code>. You can set file permissions e.g. with a udev rule, if you don't want to use sudo. Here is an example udev rule, where you will likely have to replace intel_backlight, with the name in your /sys/class/backlight/:
to set the brightness to <code>300</code>, where the maximum is stored in <code>brightness_max</code>. You can set file permissions e.g. with a udev rule, if you don't want to use sudo. Here is an example udev rule, where you will likely have to replace intel_backlight, with the name in your /sys/class/backlight/:


<syntaxhighlight lang=udev>
<syntaxhighlight lang=nix>
   services.udev.extraRules = ''
   services.udev.extraRules = ''
     ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", MODE="0666", RUN+="${pkgs.coreutils}/bin/chmod a+w /sys/class/backlight/%k/brightness"
     ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", MODE="0666", RUN+="${pkgs.coreutils}/bin/chmod a+w /sys/class/backlight/%k/brightness"
Line 68: Line 68:
Depending on the tools that work for controlling the backlight you will be able to choose one of those options.
Depending on the tools that work for controlling the backlight you will be able to choose one of those options.


{| class="wikitable" border="1"
{| class="wikitable"
|-
|-
!  
!  
Line 90: Line 90:
* NixOS 19.09pre173166.373488e6f4c on a Lenovo X240
* NixOS 19.09pre173166.373488e6f4c on a Lenovo X240


it may work on other models, but is unconfirmed. See [[actkbd]] for details on finding out the proper key bindings. Also check if the path to the light binary is correct. }}
it may work on other models, but is unconfirmed. See [[actkbd]] for details on finding out the proper key bindings. Also check if the path to the light binary is correct.}}
 
 


<syntaxhighlight lang="nix">
<syntaxhighlight lang=nix>
   programs.light.enable = true;
   programs.light.enable = true;
   services.actkbd = {
   services.actkbd = {
Line 106: Line 104:


== OLED Screens ==
== OLED Screens ==
OLED screens do not have a backlight, but their perceived brightness can be changed via xrandr:
OLED screens do not have a backlight, but their perceived brightness can be changed via xrandr:


Line 114: Line 113:


* [https://wiki.archlinux.org/index.php/backlight Arch Linux wiki page about the backlight]
* [https://wiki.archlinux.org/index.php/backlight Arch Linux wiki page about the backlight]
[[category:hardware]]