/libvibrant

Fork of Sefa Eyeoglu's libvibrant from GitLab

Primary LanguageCGNU General Public License v3.0GPL-3.0

Logo libvibrant Legacy

NOTE: This library is in the process of being replaced.

A simple library to adjust color saturation of X11 outputs.

vibrant, with it's library libvibrant and it's command-line tool vibrant-cli, allows you to adjust the color saturation on X11 outputs, as long as the CTM property is supported.

Usage

$ vibrant-cli OUTPUT [SATURATION]

Get or set saturation of output.

OUTPUT is the name of the X11 output. You can find this by running xrandr. SATURATION is a floating point value between (including) 0.0 and (including) 4.0.

  • 0.0 or 0 means monochrome
  • 1.0 or 1 is normal color saturation (100%)
  • if empty the saturation will not be changed

Examples

150% on DisplayPort-0

$ vibrant-cli DisplayPort-0 1.5

Monochrome on DisplayPort-0

$ vibrant-cli DisplayPort-0 0

Reset DisplayPort-0

$ vibrant-cli DisplayPort-0 1

Only query current saturation on DisplayPort-0

$ vibrant-cli DisplayPort-0

Compatibility

vibrant supports most modern GPUs.

AMD GPUs

  • Your card needs to be supported by the AMD Display Code kernel driver

NVIDIA GPUs

  • Currently only the NVIDIA proprietary driver is supported
  • Support is handled by libXNVCtrl, which should be bundled with most installations of the driver

Confirmed working

  • NVIDIA GeForce GTX 660
  • Radeon RX 5700 XT
  • Radeon RX 5600 XT
  • Radeon VII
  • Radeon RX Vega 56
  • Radeon RX 580
  • Radeon RX 470
  • Radeon R9 270

Installation

Arch Linux

vibrant is available on the Arch Linux User Repository, maintained by me.

  • vibrantAUR - Latest release of the vibrant library and vibrant-cli
  • vibrant-gitAUR - Latest revision from Git master of the vibrant library and vibrant-cli

Other Distros

See Building

Building

This project uses CMake.

Dependencies

  • libX11
  • libXrandr (possibly bundled with libX11)
  • libXNVCtrl (possibly bundled with nvidia-settings)

For Fedora

dnf install cmake make libX11 libX11-devel libXrandr libXrandr-devel libXNVCtrl libXNVCtrl-devel

Basic building

$ cd <project directory>
$ mkdir build
$ cd build
$ cmake ..
$ make install   ## Please note that if you get an error, you might have to run this particular command as root.

Additional steps if it won't build

If you get the error ./vibrantLinux: error while loading shared libraries: libvibrant.so.1: cannot open shared object file: No such file or directory, you need to run echo "/usr/local/lib64" | sudo tee /etc/ld.so.conf.d/local-x86_64.conf and then sudo ldconfig.

The binary will be called vibrant-cli and will be linked to libvibrant.so.0

License

This project is licensed under the terms of the GNU General Public License 3.0. You can read the full license text in LICENSE.

Additionally this project is based on color-demo-app written by Leo (Sunpeng) Li sunpeng.li@amd.com, licensed under the terms of the MIT license. You can read it's full license text in NOTICE