BRILLO(1)

๐Ÿ“ฆ version 1.4.13, in alpine 3.24, nixos 26.05, nixpkgs unstable

๐Ÿ’… brillo(1) โ€” okay bestie, let's talk brightness โœจ

So you found the brillo(1) page, welcome, you're gonna love it here ๐Ÿซถ. Real talk: this is the manual for brillo, written by Cameron Nemo back in OCTOBER 2018, and it's lowkey one of the most useful little tools on your Linux box.


๐ŸŒธ NAME ๐ŸŒธ

brillo โ€” control the brightness of backlight and keyboard LED devices. That's it. That's the whole vibe check. โœจ


๐ŸŽ€ SYNOPSIS ๐ŸŽ€

brillo [operation [value]] [-k] [-q|-r] [-m|-c] [-e|-s ctrl] [-u usecs]
[-v loglevel]

Like, that's the whole shape of it: an operation, maybe a value, then a pile of flags. No cap.


๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

brillo is a tool for controlling the brightness of backlight and LED devices on Linux. Not Windows, not macOS, Linux. Periodt.

Notable features include (and honestly? iconic list):

  • Automatic best controller detection
  • Smooth transitions and exponential (natural) adjustments
  • Ability to save and restore brightness across boots
  • Directly using sysfs to set brightness without relying on X
  • Unprivileged access with no new setuid binaries
  • Containment with AppArmor

No setuid binaries?? In this economy?? We love to see it ๐Ÿ’–.


โญ OPTIONS โญ

Okay this is the long part, but it's giving organized, so we're fine. Grab a snack ๐Ÿ“.

๐Ÿ”ฅ Operations

  • -G โ€” Get brightness value (this is the default, so if you're lazy, congrats, you're already doing it)
  • -S VALUE โ€” Set brightness to value
  • -A VALUE โ€” Increment brightness by the given value
  • -U VALUE โ€” Decrement brightness by the given value
  • -O โ€” Store the current brightness
  • -I โ€” Restore cached brightness
  • -L โ€” List available devices
  • -H โ€” Show a short help output
  • -V โ€” Report the version

๐Ÿ’œ Controllers

The default controller is automatically selected to maximize precision. That's the main character behaviour right there โ€” it just picks the best one for you โœจ. To select every controller available, use the -e option. To select a specific controller, use the -s option.

  • -a โ€” Automatic controller selection (default)
  • -e โ€” Operate on every controller available
  • -s CONTROLLER โ€” Manual controller selection

Oh and heads up: the list operation (-L) can be used to discover available controllers. iykyk ๐Ÿ‘‘

๐ŸŒˆ Targets

By default, brillo acts on the display devices, but the -k option can be used to adjust keyboard backlights instead. In either case, it may be necessary to specify an alternative controller. So like, sometimes you gotta be specific. We've all been there.

  • -l โ€” Act on display backlight (default)
  • -k โ€” Act on keyboard backlight and LEDs

๐Ÿงš Fields

By default, brillo acts on the brightness property. With these options, the maximum brightness of a controller can be retrieved. In addition, it is possible to set (or retrieve) a minimum cap, which is used to prevent lowering the brightness beyond a certain threshold. This is especially useful for devices that become pitch black when the brightness is set to 0 โ€” like, genuinely black, can't-see-your-hand black ๐Ÿ’€. So the cap saves you.

  • -b โ€” Current brightness (default)
  • -m โ€” Maximum brightness
  • -c โ€” Minimum brightness

๐Ÿฆ„ Value modes

Values may be given, or presented, in percent or raw mode.

The default value mode is linear percentages, however the -q option can be used for exponential percentages. Exponential mode offers a more natural and gradual brightness scale โ€” it just feels right, lowkey.

Raw mode will use the same format and range given by the device driver; this mode is most useful when a high degree of precision is required, such as for keyboard controllers. Precision girlies, this one's for you ๐Ÿ’….

  • -p โ€” Linear percentages (default)
  • -q โ€” Exponential percentages
  • -r โ€” Raw values

๐Ÿ“ Smooth adjustment

brillo is capable of gradually adjusting the brightness over a specified time period. Use the -u microseconds option to specify how long the operation should take. Fancy, right? โœจ

Fair warning bestie: this flag is silently ignored when not setting the brightness. Silently. It will not tell you. It will simply not do the thing ๐Ÿ™ˆ.
  • -u microseconds โ€” time used to space the operation out

๐ŸŽ€ Verbosity

By default, brillo outputs only warnings or more severe messages. To enable more verbose logs on stderr, use the verbosity argument: -v loglevel. The loglevel is a value between 0 and 8 (corresponding to syslog severities). Numbers, we love numbers ๐Ÿงฎ.


๐Ÿ‘‘ EXAMPLES ๐Ÿ‘‘

Get the current brightness in percent:

brillo [-G]

Increase brightness by 5 percent:

brillo -A 5

Specify the controller to use:

brillo -s intel_backlight -A 5

Set the brightness to 50% for every controller:

brillo -e -S 50

Retrieve or increase the brightness using an exponential scale:

brillo -q
brillo -q -A 5

Decrease the brightness and smooth the operation over 1500 microseconds:

brillo -u 150000 -U 5

Get the raw maximum brightness value:

brillo -rm

Set the minimum cap for the acpi_video0 controller to a raw value of 2:

brillo -rc -s acpi_video0 -S 2
Note: subsequent attempts to set the controller's brightness to a raw value less than 2 will then be raised to this minimum threshold. So the cap is doing its job, bestie ๐Ÿซถ.

List keyboard controllers:

brillo -Lk

Activate a specific controller LED:

brillo -k -s "input15::scrolllock" -S 100
Note: LEDs often only take 0 or 1 in raw value (i.e. for off/on). In these cases, you can use any non-zero value instead of 100. So don't stress about the exact number, it's binary-brained ๐Ÿ’€.

Copyright (C) 2018-2019 Cameron Nemo, 2014 Fredrik Haikarainen

This is free software, see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Read that again. NO warranty. Not even a little one ๐Ÿ˜ญ.


And that's the whole page, bestie! This was brillo(1) from the brillo(1)() source, dated OCTOBER 2018 โ€” go forth and dim your screen responsibly โœจ๐Ÿ’…๐ŸŒธ

๐Ÿ“ฆ where this page comes from