Repository navigation
WineGUI v4.5.0
✨ Per-bottle CPU core limits
WineGUI 4.5.0 adds a CPU core limit to each bottle's performance settings. Choose how many of the host's permitted logical CPUs a bottle may initially use. The setting applies to launches from WineGUI and to WineGUI-managed desktop shortcuts, with support for both regular Wine runners and GE-Proton/UMU. Existing bottles remain unlimited unless you enable the option.
An effective limit uses taskset and launches the application directly, avoiding a wine start intermediary that could leave games stalled. A value equal to or greater than the available CPU count behaves as unlimited, so it does not add an unnecessary wrapper. MSI installers retain their dedicated msiexec /i launch path.
🐛 Launch and shortcut fixes
- Fixed direct launches of executables with spaces in their names while preserving separately supplied arguments, including commands such as
notepad file.exe. - Managed shortcuts now follow changes to a bottle's prefix, runner, environment, launch command, and CPU setting. Legacy WineGUI shortcuts are migrated when possible; prefix-local application paths are updated when a bottle folder is renamed.
- Normal Wine launches no longer leave shell children attached to WineGUI. Wineserver waits are bounded and their helper processes are reaped.
⚙️ Smoother bottle edits
Configuration-only changes no longer wait for background Wine services. Changes that mutate the prefix are refused while a user application is active, helping avoid interrupted running applications.
📦 Install or upgrade
On supported 64-bit Debian, Ubuntu, and compatible derivatives, install through the signed WineGUI APT repository with:
curl -fsSL https://raw.githubusercontent.com/winegui/WineGUI/main/scripts/install.sh | sudo bashExisting APT installations receive 4.5.0 through the normal update process once it reaches the repository. The new CPU-limit feature requires util-linux (taskset), now declared as a package dependency.
CPU affinity is not a strict sandbox: applications can change their own thread affinity after launch. The setting controls the inherited launch mask, not an immutable per-process ceiling.