Skip to content

WineGUI v4.5.0

Choose a tag to compare

@melroy89 melroy89 released this 25 Sep 20:51
· 3 commits to main since this release

✨ 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 bash

Existing 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.