Skip to content

Preserve an Ubuntu/NVIDIA Affinity v3 launch path and expose it in the GUI - #210

Open
hnoerenberg wants to merge 1 commit into
ryzendew:mainfrom
hnoerenberg:ubuntu-nvidia-launcher
Open

Preserve an Ubuntu/NVIDIA Affinity v3 launch path and expose it in the GUI#210
hnoerenberg wants to merge 1 commit into
ryzendew:mainfrom
hnoerenberg:ubuntu-nvidia-launcher

Conversation

@hnoerenberg

Copy link
Copy Markdown

Summary

This change adds a small preserved launcher path for Ubuntu-family + KDE/Wayland + NVIDIA setups
and wires it into the Python GUI so the same runtime path can be reused from the menu, desktop
launcher, and an explicit launch action.

What changed

  • added AffinityScripts/AffinityUbuntuLauncher.sh
  • added a GUI action to launch Affinity v3 through the preserved Ubuntu snapshot path
  • added a GUI action to install desktop launchers that point at the preserved snapshot script
  • updated the unified Affinity.desktop creation path to prefer the snapshot launcher when present
  • reused the same Vulkan runtime environment when creating desktop launchers and when launching
    Affinity directly from the GUI
  • disabled VK_KHR_present_id and VK_KHR_present_wait on Wayland (via VKD3D_DISABLE_EXTENSIONS)
  • set VKD3D_CONFIG=swapchain_legacy on Wayland + NVIDIA
  • added documentation for the launcher snapshot in docs/LEGACY-SCRIPTS.md

Why

On Ubuntu-family / KDE Plasma (Wayland) / NVIDIA setups Affinity v3 was only stable once the
launch path consistently:

  • ran Affinity directly instead of going through wine start
  • kept the Wine/X11 driver active under Wayland (HKEY_CURRENT_USER\Software\Wine\Driversx11)
  • used the known-good NVIDIA Vulkan environment (__NV_PRIME_RENDER_OFFLOAD, MESA_VK_DEVICE_SELECT)
  • disabled VK_KHR_present_id and VK_KHR_present_wait on Wayland

Before this change, the GUI launch path and the generated desktop entry could diverge, which made
it easy to lose a working configuration after an update.

Tested on

  • TUXEDO OS 24.04.4 LTS (Ubuntu-family, ID_LIKE="ubuntu debian")
  • KDE Plasma 6.6.5 on Wayland
  • NVIDIA GPU (driver 580.178.04, open kernel module)
  • ElementalWarrior Wine 10.20 (Staging)
  • Affinity v3 unified application — starts reliably, main window detected

Validation

  • python3 -m py_compile AffinityScripts/AffinityLinuxInstaller.py — no errors
  • bash -n AffinityScripts/AffinityUbuntuLauncher.sh — no errors
  • bash AffinityScripts/AffinityUbuntuLauncher.sh status — correct Wine/GPU/Wayland detection
  • bash AffinityScripts/AffinityUbuntuLauncher.sh launch — Affinity v3 starts successfully
  • GUI installer opens with both "Launch Affinity v3" and "Launch Affinity v3 (Ubuntu Snapshot)"
    buttons visible and functional

Notes

  • This PR intentionally excludes local probe binaries, DLL experiments, and broader installer
    changes from the author's working tree.
  • If preferred, the snapshot script can be discussed as a separate PR from the GUI wiring.
  • The PR is rebased onto upstream main as of 9b3e84b ("Fix weird font issues", 18 Aug 2026).

- Add AffinityScripts/AffinityUbuntuLauncher.sh
- Add GUI action to launch Affinity v3 through Ubuntu snapshot path
- Add GUI action to install desktop launchers pointing at snapshot script
- Update unified Affinity.desktop creation to prefer snapshot launcher
- Reuse Vulkan environment for desktop launchers and direct GUI launch
- Disable VK_KHR_present_id / VK_KHR_present_wait on Wayland
- Document the launcher snapshot in docs/LEGACY-SCRIPTS.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant