Edit /etc/X11/xorg.conf.d/10-monitor.conf and set dpms to false
Linux Questions
Linux questions Rules (in addition of the Lemmy.zip rules)
- stay on topic
- be nice (no name calling)
- do not post long blocks of text such as logs
- do not delete your posts
- only post questions (no information posts)
Tips for giving and receiving help
- be as clear and specific
- say thank you if a solution works
- verify your solutions before posting them as facts.
Any rule violations will result in disciplinary actions
Thanks, I will try this and let you know if it works. The file didn't exist so I created it with the following contents because I saw online the option is supposed to go in the monitor section:
Section "Monitor" # Identifier "????" Option "dpms" "false" EndSection
I don't know what the identifier should be so I haven't set it.
---- edit
That didn't work for me, I got this error and kodi won't start
[ 4.485] Parse error on line 6 of section Monitor in file /etc/X11/xorg.conf.d/10-monitor.conf This section must have an Identifier line. [ 4.485] (EE) Problem parsing the config file [ 4.485] (EE) Error parsing the config file [ 4.485] (EE) Fatal server error: [ 4.485] (EE) no screens found(EE) [ 4.485] (EE) Please consult the The X.Org Foundation support at http://wiki.x.org for help. [ 4.485] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information. [ 4.485] (EE) [ 4.485] (EE) Server terminated with error (1). Closing log file.
I can't work out what that display should be called though
kodi@kodi:~$ sudo xrandr Can't open display
kodi@kodi:~$ sudo xdpyinfo | grep -A4 '^screen' >xdpyinfo: unable to open display "".
Any ideas?
I spent a few years looking for this solution. I will be able to check the exact config on that system tomorrow. If I forget to reply just send me a message.
The system has an intel onboard gpu, some low powered cpu with hdmi out. It's running Arch with Mesa drivers, hooked directly to TV.
Thanks, I'm pretty sure I found a solution a few years ago but didn't write it down. Then the drive failed so I had to set everything up from scratch again!
Apparently you can put whatever you like in the identifier field and it's not verified by X. So I changed to
Section "Monitor" Identifier "TV" Option "dpms" "false" EndSection
That got rid of the error but it still wasn't working.
Trying another method with xset:
kodi@kodi:~$ xset -dpms xset: unable to open display ""
I figured out I need to specify a display since I'm connecting with ssh:
DISPLAY=:0 xset -q
This shows me that dpms was still on even after rebooting with the /etc/xorg.conf.d/10-monitor.conf file in place.
Anyway I ran the following commands:
DISPLAY=:0 xset -dpms DISPLAY=:0 xset s off DISPLAY=:0 xset s noblank DISPLAY=:0 xset s noexpose DISPLAY=:0 xset s 0 0
The commands are explained here: https://wiki.archlinux.org/title/Display_Power_Management_Signaling
Now an xset query returns:
kodi@kodi:~$ DISPLAY=:0 xset -q Keyboard Control: auto repeat: on key click percent: 0 LED mask: 00000000 XKB indicators: 00: Caps Lock: off 01: Num Lock: off 02: Scroll Lock: off 03: Compose: off 04: Kana: off 05: Sleep: off 06: Suspend: off 07: Mute: off 08: Misc: off 09: Mail: off 10: Charging: off 11: Shift Lock: off 12: Group 2: off 13: Mouse Keys: off auto repeat delay: 660 repeat rate: 25 auto repeating keys: 00ffffffdffffbbf fadfffefffedffff 9fffffffffffffff fff7ffffffffffff bell percent: 50 bell pitch: 400 bell duration: 100 Pointer Control: acceleration: 2/1 threshold: 4 Screen Saver: prefer blanking: no allow exposures: no timeout: 0 cycle: 0 Colors: default colormap: 0x20 BlackPixel: 0x0 WhitePixel: 0xffffff Font Path: /usr/share/fonts/X11/misc,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,built-ins DPMS (Energy Star): Standby: 600 Suspend: 600 Off: 600 DPMS is Disabled
I also added the commands above to ~/.xinitrc so hopefully they will be run automatically every time
-- edit:
So, although those xset commands work I have to run them every time, the commands in .xinitrc clearly aren't being run.
I have a feeling this is because kodi is being started using xinit run from a systemd unit file so it isn't reading /kodi/home/.xinitrc.
So the plan is to set the home environment variable in the unit file (like below) and see if that works. Will test when the box is free.
Environment="HOME=/home/kodi"
Finally found a solution that works to disable power management! I added the following line to the service section of my systemd unit file:
ExecStartPost = /usr/bin/sh -c 'DISPLAY=:0 xset s off -dpms'
If I check with the command below I can see DPMS is off
DISPLAY=:0 xset -q
What Linux distro and what desktop environment?
Debian 12 No desktop environment, I'm running kodi in standalone mode via xinit (my systemd unit file is like the one below):
https://github.com/graysky2/kodi-standalone-service/blob/master/x86/init/kodi-x11.service
You can also simply turn dpms off in a startup script run when your user session starts. The command is
xset -dpms
Thanks, in this case that wasn't suitable for me because it wasn't a full desktop environment, just Kodi in standalone mode. So there was no easy way to run the command like there would be on a desktop or laptop, I had to add it to my systemd unit file.
Sounds fine is there any benefit to running kodi in standalone mode vs fullscreen at startup in a simple wm?
I think standalone mode is just the normal binary with some preset options enabled to allow better control of system/screen settings, auto mounting USB drives etc.