Iris floss for Wayland

Open source. Awesome for Wayland. Awesome for Ubuntu Mir

Iris floss works on all Linux distributions with X11, but the latest news from the open source community are that X11 will be replaced by Wayland in the following years.

Both X11 and Wayland are ways for the graphics card and OS to communicate with the monitor and Wayland seems better.

The problem today is that Wayland doesn’t have Color Management API which is needed for Iris, F.lux, Redshift and any other program for blue light reduction.

There is no easy fix for this at the moment, but I made something which will work on all Linux distributions with Wayland, Mir and even X11.

First I tried with xrandr, but there is no xrandr in Wayland. I then tried with DRM, but the DRM is working bellow the graphics environment and there was no changes to the screen.

I tried to write some platform specific code, because the creators of Sway and Orbital compositors have some code for gamma changing, but this was not working good at all without million lines of instruction manual.

Basically I ended up with using DDC/CI which works perfectly on many monitors, but a little bit slow at the moment. What DDC/CI does is something like pressing the buttons of the monitors.

This thing has many limitation and can introduce PWM flicker which I remove with Iris on all machines, but at least works everywhere and can be automated.

If somebody reads this and want automated version of Iris floss for Wayland, I can make it, but this thing works fine at the moment for my Fedora and I’m really not sure if somebody will ever read this article.

Here is a video

And this is the code in my GitHub

Written on

Daniel 🙂

Privacy Preference Center

Strictly Necessary

Cookies that are necessary for the site to function properly.



These help us reward you with free usage of the application and to give you a discount if somebody invited you to the Iris website.

PHPSESSID, inviter, ap_id


These are used to track user interaction and detect potential problems. These help us improve our services by providing analytical data on how users use this site.

comment_author_, _hjIncludedInSample, _gid, _gat_gtag_UA_61527910_1, _ga, __unam, __stid