Controlling individual monitors is not possible with xset ( and X11 actually)
As the title suggests, it is not possible for reasons of how
xset is built and due to the X11 functions it uses. If we look at the source code,
DPMSForceLevel(dpy,DPMSModeSuspend) (line 557), and the display variable
dpy comes from
XOpenDisplay() function ( line 203 ), and that is by definition:
A server, together with its screens and input devices, is called a display.
In other words,
xset applies settings globally to the whole display, not individual Screens. It'd be necessary to change
xset source code in order for that to work. DPMS extensions themselves mostly seem to only call whole display, not individual screens, so it is not possible to even write custom code with X11 library.
Manually controlling that setting via
/sys subsystem also doesn't appear to be working
$ sudo bash -c 'echo Off > /sys/class/drm/card0-VGA-1/dpms'
[sudo] password for admin:
bash: /sys/class/drm/card0-VGA-1/dpms: Permission denied
Screens also are taken out of DPMS mode when key or mouse events occur, so considering that you may want to move your mouse or use keyboard, either of those actions would cause the monitor to leave DPMS mode.
Best alternative (and actually physically working solution) is
xrandr - it could be used to control the individual "outputs". In particular,
xrandr --output VGA-1 -off
will set that output off. Yes, you've mentioned that you don't want to use this solution since it is not fast enough, however so far it is the best one available. It has couple of advantages:
- immune to key and mouse events
- independently controls outpus unlike
xrandr --output VGA-1 --brightness 0.1 will colorize the screen in such way that it appears off, even though
--brightness is a software solution, so the display is not actually dimmed at hardware level, nor it is off on hardware level. However, it does the job of blanking a screen and is also resistant to key/mouse events.
I've looked source code of Mate and Budgie screensavers, which are both forks of GNOME screensaver, however in either case they seem to be a software solution, since there's no mention of DPMS in the source code.