ipc-server: Force modeset if needed after executing commands

IPC clients generally expect executed commands to have taken effect when
the command completes, while delayed modeset means that it can take
several milliseconds more before e.g. an output is enabled.

However, modesetting on every output command in the IPC call could on
systems with already slow modesetting behavior lead to an unresponsive
system for a not insignificant period of time.

To strike a balance, force modeset once all the commands of this IPC
call have executed if a modeset is pending.
This commit is contained in:
Kenny Levinsen 2024-11-17 12:38:32 +01:00
parent a717560d9d
commit bb3ab57064
3 changed files with 11 additions and 0 deletions

View file

@ -706,6 +706,7 @@ void free_output_config(struct output_config *oc);
void request_modeset(void);
void force_modeset(void);
bool modeset_is_pending(void);
bool spawn_swaybg(void);