Skip to content

Add opt-in host session D-Bus forwarding - #251

Closed
MarkPronkin wants to merge 1 commit into
AsahiLinux:mainfrom
MarkPronkin:fix/session-bus-bridge
Closed

MarkPronkin wants to merge 1 commit into
AsahiLinux:mainfrom
MarkPronkin:fix/session-bus-bridge

Conversation

@MarkPronkin

@MarkPronkin MarkPronkin commented Nov 6, 2026 •

Copy link
Copy Markdown

Steam running through FEX/muvm cannot register its StatusNotifierItem with the host desktop: the guest has a private /run and no connection to the host session bus. On an M1 Pro, Steam logs "Unable to get the session bus" and the host tray watcher never receives its icon.

Add an opt-in --session-bus flag for newly started VMs. Forward the host user bus over a dedicated vsock port and create /run/user//bus in the guest. Reuse the existing AT-SPI D-Bus bridge, including EXTERNAL authentication normalization and rejection of Unix file descriptor negotiation. The default remains unchanged; access to host session services is explicitly requested. The system bus is not forwarded.

Support the normal unix:path session-bus address (including escaped paths), fall back to $XDG_RUNTIME_DIR/bus when unset, and fail clearly for unsupported or unreachable addresses. Existing VMs need a restart to enable forwarding.

Steam launcher integration: omacom/omarchy-pkgs#2234.

Related: #6. This supplies a concrete host-service use case: Steam's tray icon and menu.

Validation:

  • cargo test --release --workspace --locked passed (12 tests).
  • cargo clippy --release --all-targets --all-features --locked -- -D warnings passed.
  • cargo fmt -- --check and git diff --check passed.
  • Optimized aarch64 build passed against installed libkrun 1.19.6.
  • On the affected M1 Pro, busctl in the guest successfully calls GetId on the host session bus.
  • Hardware check: Steam registers an Active StatusNotifierItem with the host watcher; the host can read its tray menu using com.canonical.dbusmenu.GetLayout. The icon renders in the Omarchy bar.

Signed-off-by: MarkPronkin <109197080+MarkPronkin@users.noreply.github.com>
@teohhanhui

Copy link
Copy Markdown
Collaborator

Can you confirm that you're in compliance with this policy? https://asahilinux.org/llm-policy/

Also, personally, I'm not inclined to accept contributions from fashware (Omarchy) users, so I'll leave it to the others to decide.

@MarkPronkin

MarkPronkin commented Nov 6, 2026 •

Copy link
Copy Markdown
Author

Can you confirm that you're in compliance with this policy? https://asahilinux.org/llm-policy/

Also, personally, I'm not inclined to accept contributions from fashware (Omarchy) users, so I'll leave it to the others to decide.

I Read the policy just now, was not aware of it, don't necessarily think it's really in compliance since this was made with heavy llm assistance, but the code is also quite simple and easy to check. You can decide on your own whether it passes, if not just close the pull request

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.

2 participants