Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

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

Inbox
ReportR-2191GitHub issuePublicReceived

audio panel: HDMI output hidden when analog profile active, can't switch without pactl

Reported by sbalbalosa · filed Oct 2, 2026Closed upstream on 2026-10-03 by its own reporter sbalbalosa, as a duplicate of #8789 (R-1302). GitHub close reason: completed.

Received and recorded verbatim. Nothing has been checked yet.

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?
Not yet mapped to any requirement or component.
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?
Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.

Original report

audio panel: HDMI output hidden when analog profile active, can't switch without pactlrevision 1 · captured 2026-10-02 20:35 UTC via poll

What happened

Plugging an HDMI/DP audio device (RayNeo Air 4 Pro AR glasses via DP alt-mode, seen as DP-2 SmartGlasses) shows video but no audio option in the top-right Audio panel. PipeWire only exposes one sink at a time, so the panel lists a single output.

Root cause is the interaction of two generic layers, not the glasses:
- Intel HDA ACP exposes output:analog-stereo OR output:hdmi-stereo exclusively (one sink at a time).
- WirePlumber upstream forces api.acp.auto-profile=false + auto-port=false (wireplumber/scripts/monitors/alsa.lua:33-34), so no auto-switch on plug/unplug.
- omarchy.audio Panel.qml candidateSinks lists PipeWire sinks only — there is no card-profile picker. omarchy audio output switch / set default / sink availability all operate on sinks, not profiles.

Workaround requires terminal:

pactl set-card-profile alsa_card.pci-0000_00_1f.3 output:hdmi-stereo+input:analog-stereo

After unplug the system stays stuck on the HDMI profile with no sound (speakers hidden) until manually switched back to output:analog-stereo+input:analog-stereo.

What was expected

  • Audio panel lists both local outputs (Speakers + HDMI/DP when its port is available), one click switches profile + default sink.
  • Unplug auto-reverts to speakers (or at least offers both), like GNOME/Windows.
  • omarchy audio output switch cycles profiles, not just active sinks.

Steps to reproduce

  1. On Intel HDA laptop (e.g. HDA Intel PCH + Realtek ALC3204), note panel shows Built-in Audio Analog Stereo only.
  2. Plug HDMI/DP audio device (monitor/TV/AR glasses). aplay -l shows HDMI 0 [SmartGlasses], pactl list cards shows hdmi-output-0: available [PCM 2ch], but pactl list sinks still shows only analog until profile is manually changed.
  3. Open top-right Audio panel — no HDMI entry.
  4. pactl set-card-profile ... output:hdmi-stereo+input:analog-stereo → HDMI sink appears, analog disappears.
  5. Unplug → stays on HDMI profile, no sound.

System details

  • Omarchy 4.0.4-1, PipeWire 1.6.8, WirePlumber (alsa.lua auto-profile=false)
  • Card: alsa_card.pci-0000_00_1f.3 [HDA Intel PCH, Realtek ALC3204, 8086:a0c8 500 Series]
  • Active Profile: output:hdmi-stereo+input:analog-stereo (after manual switch)
  • hdmi-output-0: available [SmartGlasses PCM 2ch] / analog-output-speaker: availability unknown (mutually exclusive profiles)
  • Monitor: DP-2 Technical Concepts Ltd SmartGlasses 1920x1080@60 + eDP-1 LG Display (disabled/internal)
  • Default Sink: alsa_output.pci-0000_00_1f.3.hdmi-stereo

Full pactl list cards / pactl info (username/host/cookie redacted) available on request. No MAC/IP/serial in logs (glasses serial is trivial 0x00000011).

Related

  • #12489 lists each plugged-in jack of a multi-port sink — same UX pattern needed here but for card profiles (e.g. new omarchy-audio-output-profiles polled alongside sink-availability, profile set taking card+profile).
  • #12231, #12886, #13388, #13758/#13775 — audio panel output/input listing gaps.
  • #1963 (Dell U3818DW HDMI via USB-C), #1868 — same HDA/HDMI class on other hardware. This is generic HDA, not RayNeo-specific.

Suggested fix

  1. New omarchy audio profile list --json (from pactl -f json list cards) + omarchy audio profile set <card> <profile> (set-card-profile + move streams + set-default + OSD).
  2. Panel OUTPUT section lists available profiles/ports even when inactive, click switches (pattern from #12489).
  3. Optional: user WirePlumber drop-in to re-enable api.acp.auto-profile=true for auto-revert, or handle in shell.
View raw text
## What happened
Plugging an HDMI/DP audio device (RayNeo Air 4 Pro AR glasses via DP alt-mode, seen as `DP-2 SmartGlasses`) shows video but no audio option in the top-right Audio panel. PipeWire only exposes one sink at a time, so the panel lists a single output.

Root cause is the interaction of two generic layers, not the glasses:
- Intel HDA ACP exposes `output:analog-stereo` OR `output:hdmi-stereo` exclusively (one sink at a time).
- WirePlumber upstream forces `api.acp.auto-profile=false` + `auto-port=false` (`wireplumber/scripts/monitors/alsa.lua:33-34`), so no auto-switch on plug/unplug.
- `omarchy.audio Panel.qml candidateSinks` lists PipeWire sinks only — there is no card-profile picker. `omarchy audio output switch / set default / sink availability` all operate on sinks, not profiles.

Workaround requires terminal:
```
pactl set-card-profile alsa_card.pci-0000_00_1f.3 output:hdmi-stereo+input:analog-stereo
```
After unplug the system stays stuck on the HDMI profile with no sound (speakers hidden) until manually switched back to `output:analog-stereo+input:analog-stereo`.

## What was expected
- Audio panel lists both local outputs (Speakers + HDMI/DP when its port is `available`), one click switches profile + default sink.
- Unplug auto-reverts to speakers (or at least offers both), like GNOME/Windows.
- `omarchy audio output switch` cycles profiles, not just active sinks.

## Steps to reproduce
1. On Intel HDA laptop (e.g. HDA Intel PCH + Realtek ALC3204), note panel shows `Built-in Audio Analog Stereo` only.
2. Plug HDMI/DP audio device (monitor/TV/AR glasses). `aplay -l` shows `HDMI 0 [SmartGlasses]`, `pactl list cards` shows `hdmi-output-0: available [PCM 2ch]`, but `pactl list sinks` still shows only analog until profile is manually changed.
3. Open top-right Audio panel — no HDMI entry.
4. `pactl set-card-profile ... output:hdmi-stereo+input:analog-stereo` → HDMI sink appears, analog disappears.
5. Unplug → stays on HDMI profile, no sound.

## System details
- Omarchy 4.0.4-1, PipeWire 1.6.8, WirePlumber (alsa.lua auto-profile=false)
- Card: `alsa_card.pci-0000_00_1f.3 [HDA Intel PCH, Realtek ALC3204, 8086:a0c8 500 Series]`
- `Active Profile: output:hdmi-stereo+input:analog-stereo` (after manual switch)
- `hdmi-output-0: available [SmartGlasses PCM 2ch]` / `analog-output-speaker: availability unknown` (mutually exclusive profiles)
- Monitor: `DP-2 Technical Concepts Ltd SmartGlasses 1920x1080@60` + `eDP-1 LG Display` (disabled/internal)
- `Default Sink: alsa_output.pci-0000_00_1f.3.hdmi-stereo`

Full `pactl list cards` / `pactl info` (username/host/cookie redacted) available on request. No MAC/IP/serial in logs (glasses serial is trivial `0x00000011`).

## Related
- #12489 lists each plugged-in jack of a multi-port sink — same UX pattern needed here but for card *profiles* (e.g. new `omarchy-audio-output-profiles` polled alongside sink-availability, `profile set` taking card+profile).
- #12231, #12886, #13388, #13758/#13775 — audio panel output/input listing gaps.
- #1963 (Dell U3818DW HDMI via USB-C), #1868 — same HDA/HDMI class on other hardware. This is generic HDA, not RayNeo-specific.

## Suggested fix
1. New `omarchy audio profile list --json` (from `pactl -f json list cards`) + `omarchy audio profile set <card> <profile>` (set-card-profile + move streams + set-default + OSD).
2. Panel `OUTPUT` section lists available profiles/ports even when inactive, click switches (pattern from #12489).
3. Optional: user WirePlumber drop-in to re-enable `api.acp.auto-profile=true` for auto-revert, or handle in shell.

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.

No decision has been recorded yet.