Skip to content

Releases: FedeDP/Clightd

v5.9

09 Mar 16:19
Compare
Choose a tag to compare

What's Changed

  • chore(pipewire): small pipewire sensor improvements. by @FedeDP in #103
  • fix(sensors): use USEC_INITIALIZED udev property instead of sysnum to find external webcams by @FedeDP in #104
  • new(sensors): implemented iio buffer support for als sensor. by @FedeDP in #102
  • chore(src): improved some strings. by @FedeDP in #112

Full Changelog: 5.8...5.9

v5.8

11 Jun 18:51
Compare
Choose a tag to compare

Hi everyone! Here is the latest Clightd release!
It is a bugfix-focused release with lots of small improvements here and there. Let's start!

Backlight

  • Backlight module was completely rewritten, in a similar way to other "static plugins" based modules (ie: dpms, gamma, ...), with better code modularity
  • At the same time, support for emulated Backlight was added; basically, if your monitor does not support DDC, Clightd will now fallback at using an xrandr-like approach, cutting backlight in software. Head to https://github.com/FedeDP/Clightd/wiki/Backlight for more info

Screen

  • Screen module has seen a big fix in the frame brightness computation algorithm
  • Moreover, wl screen implementation was improved and now supports multiple outputs
  • Finally, luma calculation was ported to use latest ITU standard

Dpms

  • Dpms module saw the implementation of the wlroots protocol aside the KWin one, that is now available under the KWin_wl object path

Sensor

  • to avoid confusion when using external monitors with Clight (FedeDP/Clight#241), Camera sensor will now always prefer cameras with higher sysnum (ie: external ones). This means that attaching an external monitor and closing the laptop lid won't be an issue anymore (since Clightd switches to use external camera by default)
  • To speed up cameras enumeration, Clightd will now filter by correct ID_V4L_CAPABILITIES udev attribute being available (ie: :capture:)

Generic

  • CI was ported to github actions!

That's it!
Hope you enjoy the new release as much as I enjoyed bringing it alive!
See you soon!

As always, wiki pages have been updated to reflect the new changes!
Also, thanks to @tpeacock19 for its first contributions and great help (and patience!).

Follows the list of changes autogenerated from github.

What's Changed

  • new(ci): added github actions support. by @FedeDP in #93
  • fix(screen): fixed screen algorithm, by taking care of pixel size while moving horizontally by @FedeDP in #97
  • update luma calculation to latest ITU standard by @tpeacock19 in #98
  • modify wl screen implementation for multiple outputs by @tpeacock19 in #96
  • new: backlight backends by @FedeDP in #92
  • new(src,protocol): implement wlr dpms protocol under Wl obj path. by @FedeDP in #100
  • fix(sensors): always prefer greater sysnum cameras (ie: external ones) when present by @FedeDP in #101

New Contributors

Full Changelog: 5.7...5.8

v5.7

15 Nov 20:30
Compare
Choose a tag to compare

Really small bugfix release for Clightd:

  • avoid touching camera sensor priority (breaking camera sensor when some other apps was setting an higher prio)
  • support ATTR{name} for udev devices, so that for example, one can call:
busctl call org.clightd.clightd /org/clightd/clightd/Sensor/Camera org.clightd.clightd.Sensor Capture "sis" "HD User Facing:HD User Facing" 5 ""

Where "HD User Facing:HD User Facing" is ATTR{name} of my webcam, taken from udevadm info -a /dev/video0.
This should help in cases where you have unstable /dev nodes between reboots, but you want to capture using same device every time.

v5.6

06 Feb 11:26
Compare
Choose a tag to compare

Hi everyone!
This is just a small bugfix release for Clightd.

Fixes

  • Properly create valid Backlight2 and KbdBacklight dbus object paths

DBus object paths can only have "[A-Z][a-z]_" chars.
This fixes some issues with external monitor serial numbers that had invalid chars, therefore Clightd failed to create their object paths and external monitor backlight was not working.

Thanks to TheHardew that helped me found the issue by providing the right logs (#86)!

v5.5

22 Jan 15:46
33bc0ad
Compare
Choose a tag to compare

Hi everyone!
Here is quite a big Clightd release; it spots lots of improvements, bug fixes and some new features.
Let's dive deep in!

Features

Backlight2

First of all, a new Backlight2 API is available, that is smarter and better compared to old Backlight API.
Old Backlight API is now internally routed to new Backlight2.

Pipewire

Another big feature is that Clightd does now support a Pipewire Sensor, even if it is experimental at the moment, because libpipewire API is still under heavy development and not all the features are supported.
For more info, and a list of bugs, refer to https://github.com/FedeDP/Clightd/wiki/Pipewire.

Camera

Generic

  • Show commit hash in Clightd version
  • All APIs that require Xauthority or xdg rutime user, fallback at automatically fetching a default value given the caller
  • do not use strlen() just to check that string is not empty (improves performance a bit)

Fixes

Gamma

  • return 0 for Wl gamma Get (sway protocol) even if it is not implemented, to avoid breaking Clight gamma on sway
  • gamma on sway fix: keep connection alive and call dispatch. This will fix any gamma resetting issue!
  • fix segfault

KbdBacklight

  • call sd_bus_emit_object_added(), sd_bus_emit_object_removed() when object paths are created/deleted
  • udev_reference is a snapshot of an udev device at a current time. Fixed module behavior
  • Fixed memleak

ALS

  • avoid using cached udev_dev reference in loop (thus always returning same ambient brightness read during a Capture request)
  • Fixed EIO errors

Sensor

  • Only emit Sensor.Changed signal for added/removed devices

Generic

  • When built with ddcutil, clightd.service will be started after systemd-modules-load.service
  • Fix clightd not cleanly exiting when built with DDC or YOCTOLIGHT (libusb or libddcutil were creating another thread that was stealing the signal)

v5.4

15 Jul 16:15
Compare
Choose a tag to compare

Hi everyone!
Here is a small Clightd release; it has a couple of enhancements and a fixed memleak:

Features

Sensors

  • ALS sensors (and yoctolight too) have a logarithmic curve for lux values (#71, thanks jbredall!)
    Following this change, these sensors do not support min/Max settings anymore.

KbdBacklight

  • Added Get and GetTimeout method on main object to fetch all kbd backlight and timeouts alltoghether

Fixes

  • fixed memleak in camera sensor

v5.3

24 Mar 18:46
Compare
Choose a tag to compare

Hi everyone, here is a small bugfix release!

Fix

  • Fixed an issue with external monitor connected with 2 inputs (eg: DisplayPort and hdmi) (#69)

v5.2

26 Feb 21:27
Compare
Choose a tag to compare

Hi everyone, welcome to a new Clightd release!

This release spots a new feature, lots of fixes and some improvements;
Here's a list:

Backlight

  • Added support for DDCUtil 1.0.0
  • Changed signal is now emitted for external monitors too
  • Improved external monitors handling

Idle

  • GetClient now requires polkit auth

Keyboard

Generic

Moreover, thanks to @lgbaldoni, Clightd cmake file has seen some small fixes that allow easier packaging.
Finally, Clightd now builds on older glibc version.

I hope you'll enjoy it as much as I enjoyed developing it :)
Bye!

v5.1

29 Dec 18:37
0be950b
Compare
Choose a tag to compare

Hi everyone again!
This is a super small release that only contains a small fix:

  • Fix D-Bus service exec path (thanks ferki for the PR!)

This allows once again to autostart clightd through its dbus service file.

v5.0

22 Dec 20:53
Compare
Choose a tag to compare

Welcome to Clightd 5.0!
Lots of effort was put in this release; let's dig into the details!

First of all, the long awaited...

  • DPMS, GAMMA and SCREEN gained support for both tty and wayland!

Wayland support

For wayland support, specific wayland protocols need to be implemented by your compositor:
* For GAMMA, wlr-gamma-control-unstable-v1 is needed
* For SCREEN, wlr-screencopy-unstable-v1 is needed
* For DPMS, org_kde_kwin_dpms is needed
As naming suggests, GAMMA and SCREEN protocols are provided by wlroots based compositor, while DPMS protocol is provided by kwin.

  • Moreover, both DPMS, GAMMA and SCREEN dbus API was updated to reflect multiple plugins support: they all now expose
    multiple object paths, for each supported plugin; this means you will find, eg (for DPMS):

    • /org/clightd/clightd/Dpms/Xorg
    • /org/clightd/clightd/Dpms/Wl
    • /org/clightd/clightd/Dpms/Drm

Plus a common /org/clightd/clightd/Dpms that will use first available plugin.
For more information, head to {Dpms,Gamma,Screen} wiki pages.

Now move on with other new features!

Dpms

  • Added a Dpms.Changed signal
  • It does now return a boolean in Set method, following gamma and backlight Set methods

Gamma

  • Added a Gamma.Changed signal
  • Allow concurrent changes on different displays (ie: you can now change eg: ":0" and ":8" screen temperature at the same time independently)

Camera

  • Supports mjpeg input format through libjpeg
  • Restores previous camera settings at end of capture
  • Avoids setting camera fmt during validation, as device validation should not change device status

Yoctolight

Yoctolight is a small usb Ambient Light Sensor device; you can find more informations: http://www.yoctopuce.com/EN/products/usb-environmental-sensors/yocto-light-v3.
I am in no way affiliated to this project; i just bought one a year ago to experiment with it and then added support for it.

  • Yoctolight support is now enabled and built by default in eg: archlinux aur package
  • Lots of fixes
  • Avoids infinite loops

Generic

  • To enable easier packaging support, clightd moved to LIBEXECDIR intead of LIBDIR (thanks ferki for the PR!)

As always, wiki doc was updated to reflect all the changes.

I hope you will find this new release super useful!
As always, thank to everyone involved, be it opening issues or sending PRs!
Merry xmas everyone! And hopefully a happy new year!