[Linux][Wayland][GNOME/Mutter] Workaround for Native Pen/Touch Support coordinates misaligned with multiple displays
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 42/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Stack tecnologico
- cpp, linux
- Ambito
- desktop, operating-systems
Direzione di ricerca
Inizia riproducendo l’input nativo touchscreen su Linux Wayland con GNOME/Mutter e più display, utilizzando la configurazione XDG Portal Grab descritta. Confronta il comportamento delle coordinate prima e dopo l’assegnazione del touchscreen di Sunshine a un output con il comando GSettings documentato. Il lavoro è completo quando le coordinate touch corrispondono al display trasmesso senza richiedere una soluzione manuale specifica del sistema.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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?
This issue is present in the latest pre-release
Describe the Bug
By default on GNOME/Mutter running Wayland, native touchscreen input from Moonlight can be spatially misaligned when multiple displays are connected.
The issue is not specific to Mutter virtual monitors. I encountered it while streaming to a Mutter virtual monitor and XDG Portal Grab, I had previously experienced the same touchscreen misalignment with a physical display created using a dummy HDMI/DP adapter and KMS capture.
Expected Behavior
Touch input should be mapped to the display being streamed, with the touch coordinates corresponding to the same physical/logical positions shown by Moonlight.
With multiple displays connected, touch input should not be offset or interpreted relative to another display.
Additional Context
here is a confirmed workaround on GNOME/Mutter that fixes the touchscreen alignment.
Mutter has a per-device touchscreen output setting that can explicitly associate a touchscreen with a specific display.
For example, on my system:
gsettings set \
'org.gnome.desktop.peripherals.touchscreen:/org/gnome/desktop/peripherals/touchscreens/1209:0004/' \
output "['MetaVendor', 'MetaVirtualMonitor', '0x00']"
After assigning the Sunshine touchscreen to the correct output, native touch coordinates from Moonlight are correctly aligned with that display.
The device ID and output tuple are system-specific. The values above correspond to my setup; physical displays will have their own output identity. For example, my Mutter virtual monitor exposes:
['MetaVendor', 'MetaVirtualMonitor', '0x00']
The important part is the explicit association between the Sunshine touchscreen and the output being streamed.
This also indicates that the issue is not inherently caused by virtual displays. I have reproduced the same touchscreen misalignment with a physical display created through a dummy HDMI/DP adapter and KMS capture. The common factor is having multiple outputs while using absolute/native touchscreen input.
The touchscreen itself appears to provide usable absolute coordinates; explicitly changing the Mutter output association changes the coordinate mapping and fixes the problem.
I am not suggesting that Sunshine necessarily needs to implement this exact GSettings mechanism. The purpose of this report is to document the confirmed GNOME/Mutter workaround and provide a concrete lead for determining where the appropriate long-term fix belongs.
There are also reports of similar multi-display touchscreen issues under other Wayland compositors, including KDE Plasma/KWin, but I have not independently verified an equivalent fix there, so I am not making a claim about the KDE implementation.
The main confirmed finding here is:
On GNOME/Mutter Wayland, explicitly mapping the Sunshine touchscreen device to the intended output fixes native touchscreen misalignment with multiple displays.
Host Operating System
Linux
Operating System Version
Arch Linux
Architecture
other, n/a
Package
Linux - flathub/flatpak
GPU Type
n/a
GPU Model
n/a
GPU Driver/Mesa Version
n/a
Capture Method
XDG Portal Grab (FreeBSD/Linux)
Apps
Log output
Online logs
No response
- Lingua principale
- C++
- Stelle
- 43k
- Fork
- 2.4k
- Merge medio
- 1g 15h
- PR unite (30g)
- 105
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di LizardByte/Sunshine
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
LizardByte/Sunshine#6051 ·
I maintainer di solito rispondono entro 1 giorno
-
PIN pairing fails with "Missing CSRF token" - web UI never fetches/attaches the tokenForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
LizardByte/Sunshine#5467 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 18/100
LizardByte/Sunshine#6072 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
LizardByte/Sunshine#6063 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
LizardByte/Sunshine#6048 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di LizardByte/Sunshine
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
charmplusplus/charm#4210 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
[BUG] VPN auth dialog spawned by the secret agent fails with "TLS support is not available" on NixOSApertabug nixos umbriel
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
noctalia-dev/noctalia#5310 ·
I maintainer di solito rispondono entro 1 giorno
-
area/docdb kind/bug priority/medium status/awaiting-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
yugabyte/yugabyte-db#37426 ·
I maintainer di solito rispondono entro 1 giorno