[X10II] [X10III] Color banding in low light conditions

I figured it out! Turns out that user-session.target is not present on SFOS! All I had to do is to change it to any other target, and it now works!
So the fixed instruction is:

#!/bin/bash
dbus-monitor --system sender=com.nokia.mce,interface=com.nokia.mce.signal,member=display_status_ind |
while read -r line; do
    if [[ "$line" == *"\"on\""* ]]
        then echo 1 > /sys/devices/dsi_panel_driver/hbm_mode ; sleep 0.1 ; echo 0 > /sys/devices/dsi_panel_driver/hbm_mode;
    fi
done

I put it in my home directory, nano ~/bin/FixBrightness.sh , but you can choose any location you like.
Then create a systemd service to start it at boot. nano /usr/lib/systemd/system/FixBrightness.service

[Unit]
Description=Brightness fixer for Xperia 10III
Documentation=https://forum.sailfishos.org/t/11659/
After=ofono.service lipstick.service mce.service dbus.service
Wants=mce.service
AssertPathExists=/sys/devices/dsi_panel_driver/hbm_mode

[Service]
ExecStart=/usr/bin/X10IIIFixBrightness.sh
Restart=always
RestartSec=15s

[Install]
WantedBy=graphical.target

Then sudo systemctl start FixBrightness.service to test it, and sudo systemctl enable FixBrightness.service to start it at boot. And voila! Brigthness fixed with a hacky workaround!

7 Likes