Input routes to hosts physical display, not headless GNOME Remote Login session, using portal capture
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 18/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- C++
- Estrellas
- 43k
- Forks
- 2.4k
- Merge medio
- 1 d 15 h
- PR fusionados (30 d)
- 105
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de LizardByte/Sunshine
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
LizardByte/Sunshine#6051 ·
Los mantenedores suelen responder en 1 día
-
PIN pairing fails with "Missing CSRF token" - web UI never fetches/attaches the tokenQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
LizardByte/Sunshine#5467 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
LizardByte/Sunshine#6063 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
LizardByte/Sunshine#6048 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
LizardByte/Sunshine#6035 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de LizardByte/Sunshine
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
charmplusplus/charm#4210 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
[BUG] VPN auth dialog spawned by the secret agent fails with "TLS support is not available" on NixOSAbiertobug nixos umbriel
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
noctalia-dev/noctalia#5310 ·
Los mantenedores suelen responder en 1 día
-
area/docdb kind/bug priority/medium status/awaiting-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
yugabyte/yugabyte-db#37426 ·
Los mantenedores suelen responder en 1 día
-
[Engine] Two prompt block scorers enabled at once: WMMA silently wins and no log line is printedAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Niko1221/Strata#5693 · 2 comentarios ·
Los mantenedores suelen responder en 4 días