Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
Electron applications may create no window when Omarchy globally forces Ozone to Wayland
Reported by infernoid · filed Aug 20, 2026 · open at source
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- AreaOutside the audited area· Decided by agents · verified
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Decided by agents and verified by a second, independent agent — see the decision.
Original report
System details
- Omarchy:
4.0.0-1 - Kernel:
Linux 7.1.8-arch1-3 x86_64 - Hyprland:
0.56.2-1 - Steam:
1.0.0.87-1 - CPU: AMD Ryzen 9 9950X3D 16-Core Processor
- GPU: AMD Radeon RX 9070/9070 XT/9070 GRE (
amdgpu) - Additional GPU: AMD Granite Ridge integrated graphics (
amdgpu) - Reproduction application: Sandustry's native Linux Electron build
What's wrong?
An Electron application may start and remain running but create no visible window or Hyprland client when it inherits Omarchy's globally forced Ozone/Wayland environment. This was reproduced with Sandustry's native Linux Electron build: the process starts, but no Sandustry client appears in hyprctl clients.
Omarchy's default Hyprland environment in /usr/share/omarchy/default/hypr/envs.lua globally exports:
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "wayland")
hl.env("OZONE_PLATFORM", "wayland")The application opens normally when both variables are removed only for that process:
env -u ELECTRON_OZONE_PLATFORM_HINT -u OZONE_PLATFORM %command%This isolates the failure to the globally forced Ozone/Wayland environment inherited by the application's Electron/Chromium runtime. It is not a Steam-specific issue, window-placement issue, or Hyprland window-rule problem: without the workaround, no window is created at all.
Steps to reproduce
- Use an unmodified Omarchy 4.0.0 Hyprland environment, where both
ELECTRON_OZONE_PLATFORM_HINTandOZONE_PLATFORMare set towayland. - Install Sandustry's native Linux Electron build as a reproducible affected application.
- Launch it without compatibility layers or environment overrides.
- Observe that the application process remains running, but no window appears.
- Run
hyprctl clientsand observe that no application window/client exists. - Launch it with both inherited variables removed:
steam application launcher
env -u ELECTRON_OZONE_PLATFORM_HINT -u OZONE_PLATFORM %command%
~/.config/hypr/envs.lua
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "")
hl.env("OZONE_PLATFORM", "")- Observe that the application now creates its window and opens normally.
Expected behavior
Electron/Chromium applications should be able to select a working Ozone backend and create a window under Omarchy. Omarchy's global defaults should not prevent applications with incompatible Electron versions from starting.
Actual behavior
Because Omarchy globally forces both Ozone variables to wayland, an affected Electron application can run without ever creating a window. Removing both variables for the process fixes the reproduced failure.
Suggested resolution
Please consider avoiding a global hard requirement for native Wayland for all Electron/Chromium applications. Possible approaches include using an automatic backend hint, leaving OZONE_PLATFORM unset globally
The confirmed workaround is:
env -u ELECTRON_OZONE_PLATFORM_HINT -u OZONE_PLATFORM %command%
~/.config/hypr/envs.lua
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "")
hl.env("OZONE_PLATFORM", "")Additional diagnostics
The standard reporting command documented by the installed Omarchy AI skill is unavailable on this release:
$ omarchy debug --no-sudo --print
Unknown Omarchy command: omarchy debug --no-sudo --print
Run 'omarchy commands --all' to discover available commands.Duplicate search
Existing reports cover other Chromium/Ozone Wayland failures, but the duplicate search did not find this specific global-environment failure mode and its two-variable workaround.
View raw text
## System details
- Omarchy: `4.0.0-1`
- Kernel: `Linux 7.1.8-arch1-3 x86_64`
- Hyprland: `0.56.2-1`
- Steam: `1.0.0.87-1`
- CPU: AMD Ryzen 9 9950X3D 16-Core Processor
- GPU: AMD Radeon RX 9070/9070 XT/9070 GRE (`amdgpu`)
- Additional GPU: AMD Granite Ridge integrated graphics (`amdgpu`)
- Reproduction application: Sandustry's native Linux Electron build
## What's wrong?
An Electron application may start and remain running but create no visible window or Hyprland client when it inherits Omarchy's globally forced Ozone/Wayland environment. This was reproduced with Sandustry's native Linux Electron build: the process starts, but no Sandustry client appears in `hyprctl clients`.
Omarchy's default Hyprland environment in `/usr/share/omarchy/default/hypr/envs.lua` globally exports:
```lua
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "wayland")
hl.env("OZONE_PLATFORM", "wayland")
```
The application opens normally when both variables are removed only for that process:
```bash
env -u ELECTRON_OZONE_PLATFORM_HINT -u OZONE_PLATFORM %command%
```
This isolates the failure to the globally forced Ozone/Wayland environment inherited by the application's Electron/Chromium runtime. It is not a Steam-specific issue, window-placement issue, or Hyprland window-rule problem: without the workaround, no window is created at all.
## Steps to reproduce
1. Use an unmodified Omarchy 4.0.0 Hyprland environment, where both `ELECTRON_OZONE_PLATFORM_HINT` and `OZONE_PLATFORM` are set to `wayland`.
2. Install Sandustry's native Linux Electron build as a reproducible affected application.
3. Launch it without compatibility layers or environment overrides.
4. Observe that the application process remains running, but no window appears.
5. Run `hyprctl clients` and observe that no application window/client exists.
6. Launch it with both inherited variables removed:
```bash
steam application launcher
env -u ELECTRON_OZONE_PLATFORM_HINT -u OZONE_PLATFORM %command%
~/.config/hypr/envs.lua
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "")
hl.env("OZONE_PLATFORM", "")
```
7. Observe that the application now creates its window and opens normally.
## Expected behavior
Electron/Chromium applications should be able to select a working Ozone backend and create a window under Omarchy. Omarchy's global defaults should not prevent applications with incompatible Electron versions from starting.
## Actual behavior
Because Omarchy globally forces both Ozone variables to `wayland`, an affected Electron application can run without ever creating a window. Removing both variables for the process fixes the reproduced failure.
## Suggested resolution
Please consider avoiding a global hard requirement for native Wayland for all Electron/Chromium applications. Possible approaches include using an automatic backend hint, leaving `OZONE_PLATFORM` unset globally
The confirmed workaround is:
```bash
env -u ELECTRON_OZONE_PLATFORM_HINT -u OZONE_PLATFORM %command%
~/.config/hypr/envs.lua
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "")
hl.env("OZONE_PLATFORM", "")
```
## Additional diagnostics
The standard reporting command documented by the installed Omarchy AI skill is unavailable on this release:
```text
$ omarchy debug --no-sudo --print
Unknown Omarchy command: omarchy debug --no-sudo --print
Run 'omarchy commands --all' to discover available commands.
```
## Duplicate search
Existing reports cover other Chromium/Ozone Wayland failures, but the duplicate search did not find this specific global-environment failure mode and its two-variable workaround.Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
- Out of scopeDecided by agents · verified · 2026-10-09 08:16 UTC