Releases: vinifmor/guapow
Releases · vinifmor/guapow
1.3.5
Improvements
- Only GPUs connected to a display device will be considered for optimizations by default
- this behavior is controlled by the new optimizer service configuration property
gpu.only_connected
- this behavior is only implemented for AMD GPUs at the moment
- this behavior is controlled by the new optimizer service configuration property
1.3.4
Improvements
- do not try to disable window compositors when
compositor.off
if requested from a wayland session - do not try to hide the mouse pointer when
mouse.hidden
is requested from a wayland session (unclutter
does not support wayland at the moment) - adding a new project definition/setup (
pyproject.toml
) file to comply with the latest standards
1.3.3
1.3.2
Improvements
- replaced some subprocess calls executed in behalf of non-root users by async calls (Python's asyncio native approach)
Fixes
- the optimizer service (as root) not able to execute some commands in behalf of non-root users (started with Python 3.10.9)
1.3.1
Improvements
- Optimizing the children of the target process
- New optimizer service properties:
optimize_children.timeout
: maximum period in seconds to keep looking for the target process children (default:30
).0
can be defined if children should be ignored.optimize_children.found_timeout
: maximum period in seconds to still keep looking for the target process children after a child in found (default:10
).0
can be defined if the search process should be interrupted immediately after a child is found.
- Ignoring some Ubisoft launcher sub-processes not required to be optimized (when launched from Steam)
Fixes
- Only checking for mapped processes when a process optimization is requested
1.3.0
Improvements
- Properly detecting all Steam games subprocesses that need to be optimized (no need to map launchers anymore)
- Launcher mapping now optimizes all matches instead of just the last born process
- New optimizer service property
launcher.mapping.found_timeout
: maximum time in seconds to still keep looking for a process mapped to a different process after a match. This property also affects the period to look for Steam subprocesses. (default:10
) - The optimizer service property
launcher.mapping.timeout
has now a default value of60
(seconds)
Fix
- wild card mapping to proper regex pattern
1.2.2
Improvements
- Minor code refactoring and log improvements regarding AMD GPU management
- Optimizer:
- configuration property
check.finished.interval
now accepts floats and the minimum value accepted is0.5
- new configuration property
gpu.id
: allows to define which GPU cards should be optimized (e.g:gpus.id = 0,1
). If not defined, all available GPUs are considered (default).
- configuration property
Fixes
- optimizer:
- when running as a system service, sometimes the GPU mapped directories are not available during the system startup and affects the correct behavior of the property
gpu.cache
when it is enabled (true
)- so now the available GPUs will be cached after a first request when the
optimizer
is running as a system service (otherwise they will be cached normally during the service startup process)
- so now the available GPUs will be cached after a first request when the
- when running as a system service, sometimes the GPU mapped directories are not available during the system startup and affects the correct behavior of the property
1.2.1
1.2.0
Features
- watcher service:
- allowing processes to be ignored through the mapping file: watch.ignore (must be located in
~/.config/guapow
or/etc/guapow
)- it follows the same patterns as the
watch.map
file, but the profile name is not required (as it makes no sense). e.g:
my_app_name my_app_name* /bin/my_proc r:/bin/.+/xpto
- this feature is useful if you have general mappings that cover a lot of processes in
watch.map
(e.g:/usr/bin/*
), but want to ignore specific ones - new config property
ignored.cache
to cache all mapped patterns to memory after the first read and skip next I/O calls (default:false
)
- it follows the same patterns as the
- allowing processes to be ignored through the mapping file: watch.ignore (must be located in