Input routes to hosts physical display, not headless GNOME Remote Login session, using portal capture

Đang mở
#6,072 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
cpp, linux
Lĩnh vực
desktop

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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của LizardByte/Sunshine

Tất cả issue của LizardByte/Sunshine

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.