Giter VIP home page Giter VIP logo

brightnessctl's Introduction

brightnessctl

This program allows you read and control device brightness on Linux. Devices, by default, include backlight and LEDs (searched for in corresponding classes). If omitted, the first found device is selected.

It can also preserve current brightness before applying the operation (allowing for usecases like disabling backlight on lid close).

Installation

The program is available in:

One can build and install the program using ./configure && make install. Consult ./configure --help for relevant build-time options.

Permissions

Modifying brightness requires write permissions for device files or systemd support. brightnessctl accomplishes this (without using sudo/su/etc.) by either of the following means:

  1. installing relevant udev rules to add permissions to backlight class devices for users in video and leds for users in input. (done by default)

  2. installing brightnessctl as a suid binary.

  3. using the systemd-logind API.

FAQ

I'd like to configure the brightness of an external monitor

Use the ddcci-driver-linux kernel module to expose external monitor brightness controls to brightnessctl. Available in repositories of AUR, Debian, Nix, Ubuntu, Void.

Usage

Usage: brightnessctl [options] [operation] [value]

Options:
  -l, --list			list devices with available brightness controls.
  -q, --quiet			suppress output.
  -p, --pretend			do not perform write operations.
  -m, --machine-readable	produce machine-readable output.
  -n, --min-value		set minimum brightness, defaults to 1.
  -e, --exponent[=K]		changes percentage curve to exponential.
  -s, --save			save previous state in a temporary file.
  -r, --restore			restore previous saved state.
  -h, --help			print this help.
  -d, --device=DEVICE		specify device name (can be a wildcard).
  -c, --class=CLASS		specify device class.
  -V, --version			print version and exit.

Operations:
  i, info			get device info.
  g, get			get current brightness of the device.
  m, max			get maximum brightness of the device.
  s, set VALUE			set brightness of the device.

Valid values:
  specific value		Example: 500
  percentage value		Example: 50%
  specific delta		Example: 50- or +10
  percentage delta		Example: 50%- or +10%

brightnessctl's People

Contributors

06kellyjac avatar akobel avatar bbarenblat avatar christophgysin avatar cpixl avatar ericonr avatar fale avatar frankkkkk avatar frikiluser avatar gicmo avatar hcpl avatar hummer12007 avatar jelford avatar jubalh avatar jxir avatar loadedice avatar maringuu avatar maxice8 avatar miciah avatar nbraud avatar schnilz avatar taingra avatar xdbob avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

brightnessctl's Issues

Simple frontend for brightnessctl

Thank you for writing brightnessctl. It's fills a gap xbacklight left with issues that haven't been addressed in a while.

This isn't really an issue, but I didn't know where else to write. I wrote a simple frontend for brightnessctl in Python 3, called simplebrightness. It's very basic but it solves the need for those who want a simple frontend. I plan on adding the ability to switch across displays, and maybe switch between preferred intensities, in future updates. All while keeping it simple, as the name goes.

You can find the frontend at:
https://github.com/javiercordero/simple-brightness

Installing on gentoo

When trying to install brightnessctl on gentoo I get:
`chinh4thepro@pog ~/Downloads/brightnessctl-master $ sudo ./configure && make install
Build configuration:

PREFIX: /usr/local
MODE: 0755
UDEV_DIR: /lib/udev/rules.d

udev: enabled
logind: disabled [auto]
install -d /lib/udev/rules.d
install -m 0644 90-brightnessctl.rules /lib/udev/rules.d
install: cannot create regular file '/lib/udev/rules.d/90-brightnessctl.rules': Permission denied
make: *** [Makefile:25: install_udev_rules] Error 1`

How could I fix this?

`--min-value` not working?

Hi!

I'm using brightnessctl through the nix store, and for some reason I have no changes to keyboard lightning with the above command:

[2022-01-29 09:49:10] 0 x10an14@bits-laptop:~
-> $ brightnessctl --device='tpacpi::kbd_backlight' g
2
[2022-01-29 09:50:23] 0 x10an14@bits-laptop:~
-> $ brightnessctl --device='tpacpi::kbd_backlight' --min-value
Device 'tpacpi::kbd_backlight' of class 'leds':
	Current brightness: 2 (100%)
	Max brightness: 2

[2022-01-29 09:50:25] 0 x10an14@bits-laptop:~
-> $ brightnessctl --device='tpacpi::kbd_backlight' s 0
Updated device 'tpacpi::kbd_backlight':
Device 'tpacpi::kbd_backlight' of class 'leds':
	Current brightness: 0 (0%)
	Max brightness: 2

[2022-01-29 09:50:30] 0 x10an14@bits-laptop:~
-> $ brightnessctl --device='tpacpi::kbd_backlight' --min-value
Device 'tpacpi::kbd_backlight' of class 'leds':
	Current brightness: 0 (0%)
	Max brightness: 2

[2022-01-29 09:50:33] 0 x10an14@bits-laptop:~
-> $

Any suggestions/ideas how to debug this further? Potentially even fix it?

Please avoid underscore in version name

Usually versions of software are matched by the following regex:

^(\d+\.)?(\d+\.)?(\*|\d+)$

Some software/system can be depending on such regex, so different characters can create problems. Please avoid using them.

Prevent brightnessctl from auto saving brightness value?

It seems that unlike light, brightnessctl auto saves the brightness value (the man page does not suggest this). Where is this value saved for persistence and is it possible to prevent this? I would like to manage brightness levels myself based on conditions.

The problem is when I boot the machine, the laptop has some brightness level before I login, then when I login brightnessctl sets its brightness level, and then I have the brightness set myself via a systemd user unit script on login or whatever. I want to avoid brightnessctl implicitly restoring brightness levels which will get replaced anyway after (and to avoid potential race condition).

--min-value prevents all value changes

I'm trying to use --min-value in order to keep something like brightnessctl set 5%- from turning my screen off. However it seems that setting --min-value is preventing ANY change from happening, even if it is above the minimum specified.

~
❯ brightnessctl set 10000
Updated device 'intel_backlight':
Device 'intel_backlight' of class 'backlight':
	Current brightness: 10000 (10%)
	Max brightness: 96000


~
❯ brightnessctl --min-value 5000 set 7000
Device 'intel_backlight' of class 'backlight':
	Current brightness: 10000 (10%)
	Max brightness: 96000


~
❯ brightnessctl --min-value 5000 set 1%-
Device 'intel_backlight' of class 'backlight':
	Current brightness: 10000 (10%)
	Max brightness: 96000


~
❯ brightnessctl --min-value 5000 set 1%+
Device 'intel_backlight' of class 'backlight':
	Current brightness: 10000 (10%)
	Max brightness: 96000


~
❯ brightnessctl --min-value 5000 set 11000
Device 'intel_backlight' of class 'backlight':
	Current brightness: 10000 (10%)
	Max brightness: 96000

Percentages are rounded down

I noticed on my machine when setting a percentage, that there is an issue in rounding the absolute value. This is what happens when I try to set the brightness to 25%:

$ sudo ./brightnessctl set 25%
Updated device 'intel_backlight':
Device 'intel_backlight' of class 'backlight':
	Current brightness: 47 (24%)
	Max brightness: 189

This happens on current master (commit d0200a1).

When reviewing the source code, I found that this happens because in the apply_value function the value is calculated with val->val / 100.0 * d->max_brightness. This causes problems since setting to e.g. 25% means 0.25 * 189 = 47.25 gets rounded down to 47.
When the print_device function now calculates the percentage from that 47 again (which also gets always rounded down), the percentage will be 47/189 =0.24867725 which will be rounded down to 24%.

It's possible to change either the calculation in apply_value or print_device, but I would suggest changing the calculation in apply_value, because as a user when setting the brightness to 25%, I would want it to be at least 25%.

EDIT:
I added a pull request (#13) that fixes the issue.

The new output when I try to set the brightness to 25%:

$ sudo ./brightnessctl set 25%
Updated device 'intel_backlight':
Device 'intel_backlight' of class 'backlight':
	Current brightness: 48 (25%)
	Max brightness: 189

Working vs not working(?!)

Greetings! brightnessctl has shown itself to be the instant solution to regaining control over my native monitor's brightness [via dimmer key (F1) and brighter key (F2)] on my 2019 iMac desktop. I access it easily through keybindings I added within my wmi3 config file.

PROBLEM: I cannot get my 2011 MacBookPro to respond at all ... nor can I get my Dell OptiPlex 7200 to respond ... yet all three are running identical setups, i.e., the same Zen kernel 6.1.6, EndeavourOS, i3, etc.

The difference I detect is that the device 'acpi_video0' is listed via brightnessctl -l on the iMac but there is nothing comparable on the other two platforms (other led devices but not a monitor). In short, I can't seem to find the monitor(s) in the device listings as shown by brightnessctl.

Any thoughts on why? ... and how I might get brightnessctl to recognize the monitor device equivalents on the others?

Bump version to 0.5 and release on github

Hi,

I've been using brightnessctl with systemd integration enabled for a little while, and everything seems to work okay.

I'd like to pick up packaging this for Fedora 31 (as mentioned on #31 ), but ideally would prefer for that package to make use of the new systemd integration, rather than setuid or udev rules. Since it seems that people prefer to have packages built against "released" versions of upstream, would it be okay to bump the version and cut a new release?

Ubuntu 20 udev rules not working

I did sudo apt install brightnessctl, but it seems for Ubuntu 20 LTS that although udev rules get copied to /lib/udev/rules.d/ as desired in the debian install routine, it is not possible to use brigthnessctl without sudo.

Allow only physically connected users to use brightnessctl

It would be great and doable. It would require a daemon, let's call it brightnessd running in root (or whatever user allowed to access the device) listening on DBus and allowing a commands only if the user have an active session connected to a seat.

I am not sure how we could somehow attach the backlight to a specific seat, so it would at first probably allow any user connected to any seat.

What do you think ?

I am open to try and create the needed changes.

Note: logind documentation
It would also probably require systemd

udev rules not working on Arch

OS: Arch Linux x86_64
Host: UX390UAK 1.0
Kernel: 4.18.5-arch1-1-ARCH

Udev rules

ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chgrp input /sys/class/leds/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chmod g+w /sys/class/leds/%k/brightness"

/bin/chgrp video /sys/class/backlight/%k/brightness returns
/bin/chgrp: cannot access '/sys/class/backlight/%k/brightness': No such file or directory

/sys/class/backlight is a file, not a directory, and it contains the following (viewed using nvim):

" ============================================================================
" Netrw Directory Listing                                        (netrw v156)
"   /sys/class/backlight
"   Sorted by      name
"   Sort sequence: [\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$
"   Quick Help: <F1>:help  -:go up dir  D:delete  R:rename  s:sort-by  x:special
" ==============================================================================
../                                                                                                                  
./
intel_backlight@                  --> /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight

The same thing is occurring with the leds "directory". The current workaround is adding <username> ALL=(ALL) NOPASSWD: /bin/brightnessctl to the sudoers file as hinted by the readme.

delta value for set

I am curious why negative delta values has the - sing after the number.

why, n- and n%- instead of -n and -n%

INSTALL_UDEV_RULES not consistent with README

In the README file you say that INSTALL_UDEV_RULES by default is 0 and 1 is to install the udev rules, but in the Makefile the default value is actually 1 and 0 is to install the udev rules. A small thing but bugged when I was changing it to 1 :) .

No AlpineLinuxPackages

The link in the README 404s and I can't find anything with apk search brightnessctl.

Where are the packages gone?

Support for getting device brightness as a percentage

Instead of just obtaining the absolute value, maybe it would be nice to extend this and make it possible to obtain a percentage value as well.

I've look around the code, and it seems the easiest way to support this would be to add another operation, say GET_PERCENTAGE in the form of g% which could look something like the following:

$ brightnessctl
Device 'mock_device' of class 'mock_class':
        Current brightness: 127 (50%)
        Max brightness: 255
$ brightnessctl -d mock_device g
127
$ brightnessctl -d mock_device g%
50

I can probably submit a PR and have this working exactly like this. Alternatively, it doesn't have to be g% as that would "mess up" operation matching with an extra if for g. Could be p (for "percentage"), for instance.

Otherwise, looking into extending g itself is also relatively messy and would require more moving parts. In fact, it would look more like s (SET) then, which I find relatively unnecessary.

I'd like to discuss this further. In the meantime, I can test something out using p as the operation, defining GET_PERCENTAGE or GET_PERCENT as another operation type, and submit a PR.

Brightness goes from 1 to 2 when asking for 10% dimmer.

    $ brightnessctl set 1
    Updated device 'intel_backlight':
    Device 'intel_backlight' of class 'backlight':
            Current brightness: 1 (0%)
            Max brightness: 512
    
    $ brightnessctl --exponent=2 set 10%-
    Updated device 'intel_backlight':
    Device 'intel_backlight' of class 'backlight':
            Current brightness: 2 (6%)
            Max brightness: 512

Feature request: set brightness of all monitors

Hi,

Thanks for your work on brightnessctl.

It would be practical to be able to set the brightness level of all connected monitors.
For example brightnessctl -c backlight s 10+ could set the brightness of all connected "backlight" devices.
I think it's not possible in the current state.

For example in my case I have:

$ ls /sys/class/backlight
amdgpu_bl0  ddcci9

What do you think?

Cheers,
Pierre

PS: I could also wrap brightnessctl with a shell script and run it several times, but ... :)

No AlpineLinux packages

The link in the README 404s and I can't find anything with apk search brightnessctl.

Where are the packages gone?

Warning unused result

cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -std=c99 -g -Wall -Wextra -DVERSION=\"0.2\" -D_GNU_SOURCE  -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld  brightnessctl.c   -o brightnessctl
brightnessctl.c: In function 'restore_device_data':
brightnessctl.c:452:2: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
  fread(buf, 15, 1, fp);
  ^~~~~~~~~~~~~~~~~~~~~

Udev rules are not creating

Udev rules are not creating when installing brightnessctl from dnf in Fedora 35. But when I compile manually or install it from apt(I tried in Kubuntu), it does.

It doesn't work for Ubuntu 23.04 now!

My laptop is under Software Rendering, and brightnessctl doesn't work for me after I upgraded Ubuntu to Lunar Lobster. Now my laptop shows with maximal brightness value.
The information is following:

$ sudo brightnessctl -l
Available devices:
Device 'input4::capslock' of class 'leds':
        Current brightness: 0 (0%)
        Max brightness: 1

Device 'input12::kana' of class 'leds':
        Current brightness: 0 (0%)
        Max brightness: 1

Device 'phy0-led' of class 'leds':
        Current brightness: 1 (100%)
        Max brightness: 1

Device 'input12::compose' of class 'leds':
        Current brightness: 0 (0%)
        Max brightness: 1

Device 'input4::scrolllock' of class 'leds':
        Current brightness: 0 (0%)
        Max brightness: 1

Device 'input12::scrolllock' of class 'leds':
        Current brightness: 0 (0%)
        Max brightness: 1

Device 'input4::numlock' of class 'leds':
        Current brightness: 0 (0%)
        Max brightness: 1

Device 'input12::numlock' of class 'leds':
        Current brightness: 0 (0%)
        Max brightness: 1

Device 'mmc0::' of class 'leds':
        Current brightness: 0 (0%)
        Max brightness: 255

Device 'input12::capslock' of class 'leds':
        Current brightness: 0 (0%)
        Max brightness: 1


$ screenfetch 
                          ./+o+-       larry@zx0
                  yyyyy- -yyyyyy+      OS: Ubuntu 23.04 lunar
               ://+//////-yyyyyyo      Kernel: x86_64 Linux 6.1.0-16-generic
           .++ .:/++++++/-.+sss/`      Uptime: 1h 5m
         .:++o:  /++++++++/:--:/-      Packages: 10953
        o:+o+:++.`..```.-/oo+++++/     Shell: bash 5.2.15
       .:+o:+o/.          `+sssoo+/    Resolution: 1920x1080
  .++/+:+oo+o:`             /sssooo.   DE: GNOME 44.alpha
 /+++//+:`oo+o               /::--:.   WM: Mutter
 \+/+o+++`o++o               ++////.   WM Theme: 
  .++.o+++oo+:`             /dddhhh.   GTK Theme: Yaru-red-dark [GTK2/3]
       .+.o+oo:.          `oddhhhh+    Icon Theme: Yaru-red-dark
        \+.++o+o``-````.:ohdhhhhh+     Font: Ubuntu 11
         `:o+++ `ohhhhhhhhyo++os:      Disk: 109G / 234G (49%)
           .o:`.syhhhhhhh/.oo++o`      CPU: ZHAOXIN KaiXian [email protected]+GHz @ 4x 2.6GHz
               /osyyyyyyo++ooo+++/     GPU: llvmpipe (LLVM 15.0.6, 256 bits)
                   ````` +oo+++o\:     RAM: 3572MiB / 23520MiB
                          `oo++.      

$ sudo brightnessctl set 1% ↵
Updated device 'input4::capslock':
Device 'input4::capslock' of class 'leds':
        Current brightness: 0 (0%)
        Max brightness: 1

Hope I could get help.

Regards
larryw3i.

Graduated transition when setting brightness

Would it be possible to implement an option to transition the fade when setting, ie. brightnessctl set 5%-, so that it's more aesthetically pleasing and feels less clunky as it steps up or down?

Specify settings ( keyboard leds )

It works but i want to ask can i change colors of my keyboard ( now its wave mode ), only able to change brightness level ? , maybe i can change something else
leds

No effect on brightness with Ubuntu 17.10 (wayland)

$ brightnessctl -l | head -n 5
Available devices:
Device 'intel_backlight' of class 'backlight':
	Current brightness: 1049 (98%)
	Max brightness: 1060

When I try to change it, nothing at all happens to the display brightness on the laptop (Yoga X1 v2)

$ brightnessctl -d intel_backlight s 50%
Updated device 'intel_backlight':
Device 'intel_backlight' of class 'backlight':
	Current brightness: 530 (50%)
	Max brightness: 1060

Support fractional percentages

It would be great if I could pass fractional percentage values to brightnessctl – e.g., brightnessctl set 0.5%. It looks like all the percentage calculations occur on the FPU anyway, so this could probably be done simply by changing value.val to be a float and using strtof to parse it.

Doesn't detect external monitors

Ubuntu 18.04.
I have one laptop and two external monitors connected.

$ xrandr -q | grep " connected"  
eDP-1 connected (normal left inverted right x axis y axis)  
DP-1-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 527mm x 296mm  
DP-1-2 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 527mm x 296mm

However, brightnessctl doesn't detect them.

$ brightnessctl -l
Available devices:
Device 'intel_backlight' of class 'backlight':
	Current brightness: 24000 (20%)
	Max brightness: 120000

Device 'input4::capslock' of class 'leds':
	Current brightness: 0 (0%)
	Max brightness: 1

Device 'phy0-led' of class 'leds':
	Current brightness: 1 (100%)
	Max brightness: 1

Device 'input4::scrolllock' of class 'leds':
	Current brightness: 0 (0%)
	Max brightness: 1

Device 'input4::numlock' of class 'leds':
	Current brightness: 0 (0%)
	Max brightness: 1

Device 'dell::kbd_backlight' of class 'leds':
	Current brightness: 1 (50%)
	Max brightness: 2

"make install" doesn't update the binary

Output when trying to update:

# make install
echo installing
installing
mkdir -p /usr/local/lib/brightnessctl
cp -R ./*  /usr/local/lib/brightnessctl/
ln -s /usr/local/lib/brightnessctl/writebrightness.sh /usr/local/bin/brightness
ln: failed to create symbolic link '/usr/local/bin/brightness': File exists
makefile:4: recipe for target 'install' failed
make: *** [install] Error 1

Current brightness % reported is wrong when using exponant

If I set the value of intel_backlight to 1199, the % reported is correct:

sudo brightnessctl --device='intel_backlight' set 1199
Updated device 'intel_backlight':
Device 'intel_backlight' of class 'backlight':
    Current brightness: 1199 (100%)
    Max brightness: 1200

However, if I set this with exponant the reported brightness is 0% (I was trying to figure out how it worked at the time, so don't mind my nonsense settings)

sudo brightnessctl --device='intel_backlight' -e=4 set 5%-
Updated device 'intel_backlight':
Device 'intel_backlight' of class 'backlight':
    Current brightness: 1200 (100%)
    Max brightness: 1200
sudo brightnessctl --device='intel_backlight' -e=4 set 5%-
Updated device 'intel_backlight':
Device 'intel_backlight' of class 'backlight':
    Current brightness: 1199 (0%)
    Max brightness: 1200

Feature request: Configure brightness of external monitors

At this moment brightnessctl can't see and manipulate with external monitors. It's would be awesome if brightnessctl will have support of configuring external monitors using DDC/CI (Display Data Channel Command Interface). Now I can do it with the help of ddcutil utility.
Example of ddcutil usage

What do you think about it?
If you have nothing against it, I can tried to implement it.

Possible bug bright white flash before lowering brightness

When I use the XFMonBrightnessDown keybinding for brightnessctl set 10%- either in Ubuntu, XFCE, i3 WM or Qtile WM, the screen briefly flashes (very brightly) before setting the desired brightness level.

This doesn't happen with the XFMonBrightnessUp keybinding for brightnessctl set +10%, and it doesn't happen either when I run the brightnessctl set 10%- directly in the terminal.

Since this doesn't seem to be an issue with Ubuntu, XFCE, i3 or Qtile (they all behave the same though keybindings work in different ways for each), and since it doesn't happen when increasing brightness, I'm inclined to think it's a bug in brightnessctl.

Need Help: max brighness at 10%

I believe it's not a problem of brightnessctl, but maybe you can help.

➜  ~ brightnessctl s 1
Updated device 'nvidia_0':
Device 'nvidia_0' of class 'backlight':
	Current brightness: 1 (1%)
	Max brightness: 100

at 1% - real screen brightness is looks like 10%

➜  ~ brightnessctl s 10
Updated device 'nvidia_0':
Device 'nvidia_0' of class 'backlight':
	Current brightness: 10 (10%)
	Max brightness: 100

at 10% - real screen brightness is looks like 100%

➜  ~ brightnessctl s 100
Updated device 'nvidia_0':
Device 'nvidia_0' of class 'backlight':
	Current brightness: 100 (100%)
	Max brightness: 100

at 100%- real screen brightness is looks like 50%

for example "11" looks darker then "1".

Device is a Thinkpad with Nvidia graphics.

/sys/class/backlight/nvidia_0/actual_brightness is changing as expected

Any ideas?

Pressing CapsLock turns off ScrollLock backlight

Right now when i press ScrollLock (BorolLook) and turn the keyboard backlight LED's on and then press CapsLock the keyboard backlight LED goes off, i'm not sure what is the issue here, but i know that it works correctly on Windows 10/11.

Heres the output of the LED devices:

Available devices:
Device 'acpi_video1' of class 'backlight':
        Current brightness: 48 (98%)
        Max brightness: 49

Device 'acpi_video0' of class 'backlight':
        Current brightness: 5 (10%)
        Max brightness: 49

Device 'input4::capslock' of class 'leds':
        Current brightness: 0 (0%)
        Max brightness: 1

Device 'input4::scrolllock' of class 'leds':
        Current brightness: 1 (100%)
        Max brightness: 1

Device 'input4::numlock' of class 'leds':
        Current brightness: 1 (100%)
        Max brightness: 1

wildcard doesn't work

ddcci10 is used for "ddcci*", ddcci9 can be only accessed by it's name

% brightnessctl -c backlight -d "ddcci*" s 0
Updated device 'ddcci10':
Device 'ddcci10' of class 'backlight':
	Current brightness: 0 (0%)
	Max brightness: 100

% brightnessctl -l                           
Available devices:
Device 'ddcci10' of class 'backlight':
	Current brightness: 0 (0%)
	Max brightness: 100

Device 'ddcci9' of class 'backlight':
	Current brightness: 20 (20%)
	Max brightness: 100

Device 'input0::scrolllock' of class 'leds':
	Current brightness: 0 (0%)
	Max brightness: 1

Device 'input0::capslock' of class 'leds':
	Current brightness: 0 (0%)
	Max brightness: 1

Device 'input0::numlock' of class 'leds':
	Current brightness: 0 (0%)
	Max brightness: 1

v0.5.1-3 debian sid

Packages for Fedora 30

Could you build and upload Packages for Fedora 30, as it is now released ?
Up until now, the packages are only available on Fedora 28 and 29.

Best
Florian

[PATCH] Add elogind support

From e00637efaeb5c8b429b40fd45dd4598544df871a Mon Sep 17 00:00:00 2001
From: Andrew Tropin <[email protected]>
Date: Tue, 25 May 2021 11:08:10 +0300
Subject: [PATCH] Add elogind support

<systemd/sd-bus.h> can be provided not only by libsystemd, but also by
libelogind, so lookup for libelogind too.

---
Probably it's also a reasonable idea to rename ENABLE_SYSTEMD to
ENABLE_LOGIND

 Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Makefile b/Makefile
index 105f5d6..82b8595 100644
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,8 @@ MODE = ${MODE_${INSTALL_UDEV_RULES}}
 ifdef ENABLE_SYSTEMD
 	CFLAGS += ${shell pkg-config --cflags libsystemd}
 	LDLIBS += ${shell pkg-config --libs libsystemd}
+	CFLAGS += ${shell pkg-config --cflags libelogind}
+	LDLIBS += ${shell pkg-config --libs libelogind}
 	CPPFLAGS += -DENABLE_SYSTEMD
 	INSTALL_UDEV_RULES=0
 	MODE = 0755
-- 
2.31.1

Possible bug when decreasing brightness level

I am using Sway + Waybar and I have setup my brightness key bindings as follows:

bindsym XF86MonBrightnessDown exec "brightnessctl set 5%-"
bindsym XF86MonBrightnessUp exec "brightnessctl set +5%"

The issue is when starting at a brightness level of 0% and going up it increases by 5% as expected. However, when going from 100% down, it initially goes down to 94% which not is not right as that it a decreased of 6%. What is weird is that after the first decrease it goes returns to normal decreasing by 5%.

So 100%, 94%??, 89% and so on....

Fix memory "leaks"

A lot of the allocated memory isn't freed, I don't think it's an issue in itself since the program is short lived but it would make tools like valgrind or ASAN happy and thus make potential bugs easier to debug.

set brightness on AMD APU pip vs apt

I first installed brightnessctl via apt.
But then I could not set the brightness via brightnessctl s +10%. Although brightness-udev (0.5.1-2) is installed.
I than I uninstalled brightnessctl and installed via pip.
When calling brightnessctl now I get an error, that there is no path: /sys/class/backlight/intel_backlight/actual_brightness which is correct because the laptop uses a AMD APU with the path /sys/class/backlichtamdgpu_bl0

How do can I set the brightness, on the system?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.