Input routes to hosts physical display, not headless GNOME Remote Login session, using portal capture
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 18/100
Hướng nghiên cứu
Start with the online log gist and the related capture-side thread in #5750 and PR #5701, which describe how the portal handshake already performs a SelectDevices step. Compare that path against Sunshine's uinput input backend to confirm the hypothesis that injected events land on the physical seat rather than the headless Remote Login session. The likely direction is delivering input via the RemoteDesktop portal / ConnectToEIS (libei) when capture is set to XDG Portal Grab on Linux; done means Moonlight mouse and keyboard reach the captured session. This is design work across subsystems with no patch sketched, so treat it as a discussion with maintainers before writing code.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Is there an existing issue for this?
- I have searched the existing issues
Is your issue described in the documentation?
- I have read the documentation
Is your issue present in the latest beta/pre-release?
None
Describe the Bug
Description
Using portal capture with Sunshine running inside a GDM Remote Login session (headless RDP), it streams video and audio correctly to moonlight; however mouse and keyboard inputs from Moonlight, never reach the streamed session. Instead the inputs are displayed on the host machines physical monitor, showing the GDM Login screen.
Steps to Reproduce:
Connect via GDM Remote Login (RDP) so a headless session starts. No local session is logged in.
Run sunshine inside that session (capture = portal, encoder = vulkan, adapter_name = /dev/dri/renderD128).
Connect from Moonlight and launch Steam Big Picture.
Move the mouse and type. The stream doesn’t react, but the hosts physical display does.
Expected Behavior
Moonlight input is delivered to the RDP Remote Login session which is being captured.
Additional Context
This report was put together with AI assistance (Claude, Anthropic), which helped troubleshoot this and draft the report. The cause below is a hypothesis from the log and from how uinput works, not something I’ve confirmed in Sunshine’s source.
My hypothesis is that Sunshine injects input through uinput devices, which belong to the physical seat. A headless Remote Login session has no seat and doesn’t read evdev devices, so the events reach the physical console session instead. If I’m reading the debug logs in #5750’s related PR #5701 correctly, Sunshine’s portal handshake already includes a SelectDevices step. Would it be possible to deliver input through the RemoteDesktop portal (or ConnectToEIS/libei) when using portal capture? Third-party bridges for headless KWin and cage exist for the same reason.
Related: #5750 (the capture side, now working).
Host Operating System
Linux
Operating System Version
Linux 7.2.11-arch1-1
Architecture
amd64/x86_64
Package
Linux - LizardByte/pacman-repo
GPU Type
AMD
GPU Model
AMD RX 7900 XTX (AMD iGPU also present)
GPU Driver/Mesa Version
mesa 1:26.2.5-1
Capture Method
XDG Portal Grab (FreeBSD/Linux)
Apps
All Apps - Steam Big Picture Was My Test
Log output
Online logs
https://gist.github.com/NovaStorm775/e242895c353da180122c5e07fdcac28e
- Ngôn ngữ chính
- C++
- Star
- 43k
- Fork
- 2.4k
- Merge trung bình
- 1 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 105
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của LizardByte/Sunshine
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
LizardByte/Sunshine#6051 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
PIN pairing fails with "Missing CSRF token" - web UI never fetches/attaches the tokenCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
LizardByte/Sunshine#5467 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
LizardByte/Sunshine#6063 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
LizardByte/Sunshine#6048 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
LizardByte/Sunshine#6035 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của LizardByte/Sunshine
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
charmplusplus/charm#4210 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[BUG] VPN auth dialog spawned by the secret agent fails with "TLS support is not available" on NixOSĐang mởbug nixos umbriel
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
noctalia-dev/noctalia#5310 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area/docdb kind/bug priority/medium status/awaiting-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
yugabyte/yugabyte-db#37426 ·
Maintainer thường phản hồi trong vòng 1 ngày