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!