Skip to content

Stop forcing Qt platform session-wide - #8811

Open
koljaSx wants to merge 2 commits into
omacom:quattrofrom
koljaSx:fix/steamvr-qt-platform
Open

koljaSx wants to merge 2 commits into
omacom:quattrofrom
koljaSx:fix/steamvr-qt-platform

Conversation

@koljaSx

@koljaSx koljaSx commented Aug 28, 2026 •

Copy link
Copy Markdown

Summary

  • stop exporting QT_QPA_PLATFORM=wayland;xcb to every application in the Hyprland session
  • keep Omarchy's Quickshell explicitly on its supported Wayland platform
  • clean the stale value from systemd, D-Bus, and the running Hyprland process during upgrade
  • tell users to fully restart Steam when it still holds the inherited value
  • cover the steady-state and migration boundaries with regression tests

Why

SteamVR bundles Qt 5.5 with only the XCB platform plugin. That Qt release treats the modern semicolon-separated fallback value as one literal plugin name, so vrmonitor aborts during QGuiApplication initialization instead of falling back to XWayland.

Scoping QT_QPA_PLATFORM=wayland to Quickshell preserves native Wayland for the Qt component Omarchy controls without imposing modern Qt fallback syntax on third-party bundled runtimes.

The migration also repairs existing graphical sessions. It unsets the systemd user-manager value, replaces the D-Bus activation value with an empty Qt override, and empties the running compositor's value so future keybind launches are clean. Partial cleanup failures keep the migration pending for retry.

Closes #8701

Testing

  • bash test/shell.d/launch-shell-test.sh
  • bash test/shell.d/qt-platform-env-migration-test.sh
  • bash -n bin/omarchy-launch-shell migrations/1787946762.sh test/shell.d/launch-shell-test.sh test/shell.d/qt-platform-env-migration-test.sh
  • git diff --check
  • ./test/all (CLI suite passed; shell suite reached the new regression successfully, with seven unrelated environment-dependent failures from the missing omarchy-pkgs checkout, sandboxed home writes, and unavailable network/visual conditions)

Copilot AI balanced review requested due to automatic review settings August 28, 2026 20:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Scopes Qt Wayland selection to Omarchy’s shell instead of the entire session, addressing compatibility with legacy bundled Qt runtimes.

Changes:

  • Removes the global Qt platform setting.
  • Sets Wayland when launching Quickshell.
  • Adds regression assertions for platform configuration.

Tip

If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.

File Description
bin/omarchy-launch-shell Sets Quickshell’s Qt platform environment.
default/hypr/envs.lua Removes session-wide Qt platform selection.
test/shell.d/launch-shell-test.sh Tests shell and global environment configuration.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread default/hypr/envs.lua
@omarchybot omarchybot added the enhancement New feature or request label Oct 3, 2026
@omarchybot

Copy link
Copy Markdown
Collaborator

Following DHH’s closure of #10573, The declined Chrome Qt5 dependency workaround does not settle this PR’s SteamVR/bundled Qt 5.5 platform-selection failure. Its session-wide environment proposal remains a separate maintainer decision.

Scope checked by GPT-6 in Codex and Codex Medium against the discussion and landed change; review independence is not guaranteed. No tests were rerun for this cleanup.

Omabot on behalf of DHH

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

QT_QPA_PLATFORM=wayland;xcb causes SteamVR vrmonitor to abort on startup

3 participants