LizardByte / LizardByte/Sunshine

Mouse/Stylus/Touch input is in wrong monitor when using multi-monitor on Linux

Open
#3,696 27 comments 8 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

input:mouse
Dominant language
C++
Stars
41.3k
Forks
2.1k
Avg merge
23h 47m
Merged PRs (30d)
124

Description

### Is there an existing issue for this?

- [x] I have searched the existing issues

### Is your issue described in the documentation?

- [x] 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

When hosting on my Linux machine with multi-monitor, the main monitor on Sunshine is set as the HDMI one, even if my main monitor is set as the DP one on the OS. After changing the motidor to be displayed in the setting "Display number", i can see the correct display when streaming, but the input continues to be sent to the HDMI monitor when using any kind of touch input (multi touch or absolute touch), forcing me to use trackpad mode to be able to use the mouse on the correct monitor.
This is fine when using an android phone/tablet as client or using a real mouse connected, but when using my LG TV as client, using the TV's remote as a mouse works kinda like absolute touch, making it impossible to use the mouse, since it's in the wrong monitor.

I've seen on another issue someone recommending a workaround, to disable the native pen/touch option on the Input tab, but it doesn't help.

### Expected Behavior

Absolute/Multi Touch to be working on the monitor selected on the "Display number" setting in Sunshine.

### Additional Context

I'm using KDE Plasma v6.3.1.
Sunshine comes pre-installed on Bazzite builds.

### Host Operating System

Linux

### Operating System Version

Bazzite 41

### Architecture

amd64/x86_64

### Sunshine commit or version

2025.221.143652

### Package

other (not listed)

### GPU Type

NVIDIA

### GPU Model

RTX 3060

### GPU Driver/Mesa Version

570.86.16

### Capture Method

None

### Config

```Shell

```

### Apps

```json

```

### Relevant log output

```shell
[2025-03-01 17:39:31.132]: Info: Sunshine version: v2025.221.143652
[2025-03-01 17:39:31.132]: Info: Package Publisher: LizardByte
[2025-03-01 17:39:31.132]: Info: Publisher Website: https://app.lizardbyte.dev
[2025-03-01 17:39:31.132]: Info: Get support: https://app.lizardbyte.dev/support
[2025-03-01 17:39:31.214]: Info: System tray created
[2025-03-01 17:39:31.280]: Error: Failed to create session:
[2025-03-01 17:39:31.280]: Info: Found display [wayland-0]
[2025-03-01 17:39:31.280]: Info: Found interface: zxdg_output_manager_v1(31) version 3
[2025-03-01 17:39:31.280]: Info: Found interface: wl_output(61) version 4
[2025-03-01 17:39:31.280]: Info: Found interface: wl_output(73) version 4
[2025-03-01 17:39:31.280]: Warning: Missing Wayland wire for wlr-export-dmabuf
[2025-03-01 17:39:31.280]: Info: /dev/dri/card0 -> nvidia-drm
[2025-03-01 17:39:31.281]: Info: Found display [wayland-0]
[2025-03-01 17:39:31.281]: Info: Found display [wayland-0]
[2025-03-01 17:39:31.281]: Info: Found interface: zxdg_output_manager_v1(31) version 3
[2025-03-01 17:39:31.281]: Info: Found interface: wl_output(61) version 4
[2025-03-01 17:39:31.281]: Info: Found interface: wl_output(73) version 4
[2025-03-01 17:39:31.281]: Info: Resolution: 1920x1080
[2025-03-01 17:39:31.281]: Info: Resolution: 1920x1080
[2025-03-01 17:39:31.281]: Info: Offset: 1920x0
[2025-03-01 17:39:31.281]: Info: Logical size: 1920x1080
[2025-03-01 17:39:31.281]: Info: Name: DP-1
[2025-03-01 17:39:31.281]: Info: Found monitor: HKM M238W1F2556/0000000000001
[2025-03-01 17:39:31.281]: Info: Offset: 0x0
[2025-03-01 17:39:31.281]: Info: Logical size: 1920x1080
[2025-03-01 17:39:31.281]: Info: Name: HDMI-A-1
[2025-03-01 17:39:31.281]: Info: Found monitor: Samsung Electric Company HDMI-A-1-T24C310
[2025-03-01 17:39:31.281]: Info: -------- Start of KMS monitor list --------
[2025-03-01 17:39:31.281]: Info: Monitor 1 is DP-1: HKM M238W1F2556/0000000000001
[2025-03-01 17:39:31.281]: Info: Monitor 0 is HDMI-A-1: Samsung Electric Company HDMI-A-1-T24C310
[2025-03-01 17:39:31.281]: Info: --------- End of KMS monitor list ---------
[2025-03-01 17:39:31.322]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2025-03-01 17:39:31.322]: Info: Trying encoder [nvenc]
[2025-03-01 17:39:31.322]: Info: Screencasting with KMS
[2025-03-01 17:39:31.322]: Info: /dev/dri/card0 -> nvidia-drm
[2025-03-01 17:39:31.322]: Info: Found monitor for DRM screencasting
[2025-03-01 17:39:31.322]: Info: Found connector ID [106]
[2025-03-01 17:39:31.323]: Info: Found cursor plane [66]
[2025-03-01 17:39:31.323]: Info: Creating encoder [h264_nvenc]
[2025-03-01 17:39:31.323]: Info: Color coding: SDR (Rec. 601)
[2025-03-01 17:39:31.323]: Info: Color depth: 8-bit
[2025-03-01 17:39:31.323]: Info: Color range: JPEG
[2025-03-01 17:39:31.582]: Info: Streaming bitrate is 1000000
[2025-03-01 17:39:31.862]: Info: Creating encoder [hevc_nvenc]
[2025-03-01 17:39:31.862]: Info: Color coding: SDR (Rec. 601)
[2025-03-01 17:39:31.862]: Info: Color depth: 8-bit
[2025-03-01 17:39:31.862]: Info: Color range: JPEG
[2025-03-01 17:39:31.865]: Info: Streaming bitrate is 1000000
[2025-03-01 17:39:32.140]: Info: Creating encoder [av1_nvenc]
[2025-03-01 17:39:32.140]: Info: Color coding: SDR (Rec. 601)
[2025-03-01 17:39:32.140]: Info: Color depth: 8-bit
[2025-03-01 17:39:32.140]: Info: Color range: JPEG
[2025-03-01 17:39:32.147]: Info: Streaming bitrate is 1000000
[2025-03-01 17:39:32.161]: Warning: [av1_nvenc @ 0x35507d00] Codec not supported
[2025-03-01 17:39:32.162]: Error: [av1_nvenc @ 0x35507d00] Provided device doesn't support required NVENC features
[2025-03-01 17:39:32.412]: Error: Could not open codec [av1_nvenc]: Função não implementada
[2025-03-01 17:39:32.413]: Info: Screencasting with KMS
[2025-03-01 17:39:32.413]: Info: /dev/dri/card0 -> nvidia-drm
[2025-03-01 17:39:32.413]: Info: Found monitor for DRM screencasting
[2025-03-01 17:39:32.413]: Info: Found connector ID [106]
[2025-03-01 17:39:32.414]: Info: Found cursor plane [66]
[2025-03-01 17:39:32.414]: Info: Creating encoder [hevc_nvenc]
[2025-03-01 17:39:32.414]: Info: Color coding: SDR (Rec. 709)
[2025-03-01 17:39:32.414]: Info: Color depth: 10-bit
[2025-03-01 17:39:32.414]: Info: Color range: JPEG
[2025-03-01 17:39:32.417]: Info: Streaming bitrate is 1000000
[2025-03-01 17:39:32.691]: Info:
[2025-03-01 17:39:32.691]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2025-03-01 17:39:32.691]: Info:
[2025-03-01 17:39:32.691]: Info: Found H.264 encoder: h264_nvenc [nvenc]
[2025-03-01 17:39:32.691]: Info: Found HEVC encoder: hevc_nvenc [nvenc]
[2025-03-01 17:39:32.693]: Info: Adding avahi service MiWiFi-RD18-srv
[2025-03-01 17:39:32.694]: Info: Configuration UI available at [https://localhost:47990]
[2025-03-01 17:39:33.627]: Info: Avahi service MiWiFi-RD18-srv successfully established.
[2025-03-01 17:48:25.125]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2025-03-01 17:48:25.125]: Info: Trying encoder [nvenc]
[2025-03-01 17:48:25.125]: Info: Screencasting with KMS
[2025-03-01 17:48:25.125]: Info: /dev/dri/card0 -> nvidia-drm
[2025-03-01 17:48:25.125]: Info: Found monitor for DRM screencasting
[2025-03-01 17:48:25.125]: Info: Found connector ID [106]
[2025-03-01 17:48:25.126]: Info: Found cursor plane [66]
[2025-03-01 17:48:25.126]: Info: Creating encoder [h264_nvenc]
[2025-03-01 17:48:25.126]: Info: Color coding: SDR (Rec. 601)
[2025-03-01 17:48:25.126]: Info: Color depth: 8-bit
[2025-03-01 17:48:25.126]: Info: Color range: JPEG
[2025-03-01 17:48:25.198]: Info: Streaming bitrate is 1000000
[2025-03-01 17:48:25.473]: Info: Creating encoder [hevc_nvenc]
[2025-03-01 17:48:25.473]: Info: Color coding: SDR (Rec. 601)
[2025-03-01 17:48:25.473]: Info: Color depth: 8-bit
[2025-03-01 17:48:25.473]: Info: Color range: JPEG
[2025-03-01 17:48:25.477]: Info: Streaming bitrate is 1000000
[2025-03-01 17:48:25.745]: Info: Creating encoder [av1_nvenc]
[2025-03-01 17:48:25.745]: Info: Color coding: SDR (Rec. 601)
[2025-03-01 17:48:25.745]: Info: Color depth: 8-bit
[2025-03-01 17:48:25.745]: Info: Color range: JPEG
[2025-03-01 17:48:25.750]: Info: Streaming bitrate is 1000000
[2025-03-01 17:48:25.758]: Warning: [av1_nvenc @ 0x7f867c3cf080] Codec not supported
[2025-03-01 17:48:25.758]: Error: [av1_nvenc @ 0x7f867c3cf080] Provided device doesn't support required NVENC features
[2025-03-01 17:48:26.009]: Error: Could not open codec [av1_nvenc]: Função não implementada
[2025-03-01 17:48:26.010]: Info: Screencasting with KMS
[2025-03-01 17:48:26.011]: Info: /dev/dri/card0 -> nvidia-drm
[2025-03-01 17:48:26.011]: Info: Found monitor for DRM screencasting
[2025-03-01 17:48:26.011]: Info: Found connector ID [106]
[2025-03-01 17:48:26.012]: Info: Found cursor plane [66]
[2025-03-01 17:48:26.012]: Info: Creating encoder [hevc_nvenc]
[2025-03-01 17:48:26.012]: Info: Color coding: SDR (Rec. 709)
[2025-03-01 17:48:26.012]: Info: Color depth: 10-bit
[2025-03-01 17:48:26.012]: Info: Color range: JPEG
[2025-03-01 17:48:26.018]: Info: Streaming bitrate is 1000000
[2025-03-01 17:48:26.286]: Info:
[2025-03-01 17:48:26.286]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2025-03-01 17:48:26.286]: Info:
[2025-03-01 17:48:26.286]: Info: Found H.264 encoder: h264_nvenc [nvenc]
[2025-03-01 17:48:26.286]: Info: Found HEVC encoder: hevc_nvenc [nvenc]
[2025-03-01 17:48:26.286]: Info: Executing [Desktop]
[2025-03-01 17:48:26.347]: Info: New streaming session started [active sessions: 1]
[2025-03-01 17:48:26.423]: Info: CLIENT CONNECTED
[2025-03-01 17:48:26.592]: Info: /dev/dri/card0 -> nvidia-drm
[2025-03-01 17:48:26.593]: Info: Found display [wayland-0]
[2025-03-01 17:48:26.593]: Info: Found interface: zxdg_output_manager_v1(31) version 3
[2025-03-01 17:48:26.593]: Info: Found interface: wl_output(61) version 4
[2025-03-01 17:48:26.593]: Info: Found interface: wl_output(73) version 4
[2025-03-01 17:48:26.595]: Info: Resolution: 1920x1080
[2025-03-01 17:48:26.595]: Info: Resolution: 1920x1080
[2025-03-01 17:48:26.595]: Info: Offset: 1920x0
[2025-03-01 17:48:26.595]: Info: Logical size: 1920x1080
[2025-03-01 17:48:26.595]: Info: Name: DP-1
[2025-03-01 17:48:26.595]: Info: Found monitor: HKM M238W1F2556/0000000000001
[2025-03-01 17:48:26.595]: Info: Offset: 0x0
[2025-03-01 17:48:26.595]: Info: Logical size: 1920x1080
[2025-03-01 17:48:26.595]: Info: Name: HDMI-A-1
[2025-03-01 17:48:26.595]: Info: Found monitor: Samsung Electric Company HDMI-A-1-T24C310
[2025-03-01 17:48:26.595]: Info: -------- Start of KMS monitor list --------
[2025-03-01 17:48:26.595]: Info: Monitor 1 is DP-1: HKM M238W1F2556/0000000000001
[2025-03-01 17:48:26.595]: Info: Monitor 0 is HDMI-A-1: Samsung Electric Company HDMI-A-1-T24C310
[2025-03-01 17:48:26.595]: Info: --------- End of KMS monitor list ---------
[2025-03-01 17:48:26.595]: Info: Screencasting with KMS
[2025-03-01 17:48:26.595]: Info: /dev/dri/card0 -> nvidia-drm
[2025-03-01 17:48:26.595]: Info: Found monitor for DRM screencasting
[2025-03-01 17:48:26.595]: Info: Found connector ID [106]
[2025-03-01 17:48:26.596]: Info: Found cursor plane [66]
[2025-03-01 17:48:26.596]: Info: Creating encoder [hevc_nvenc]
[2025-03-01 17:48:26.596]: Info: Color coding: SDR (Rec. 709)
[2025-03-01 17:48:26.596]: Info: Color depth: 8-bit
[2025-03-01 17:48:26.596]: Info: Color range: MPEG
[2025-03-01 17:48:26.653]: Info: Streaming bitrate is 27788000
[2025-03-01 17:48:26.844]: Info: Setting default sink to: [sink-sunshine-stereo]
[2025-03-01 17:48:26.845]: Info: Found default monitor by name: sink-sunshine-stereo.monitor
[2025-03-01 17:48:26.928]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
[2025-03-01 17:49:37.434]: Info: CLIENT DISCONNECTED
[2025-03-01 17:49:37.435]: Info: Setting default sink to: [alsa_output.pci-0000_00_1b.0.analog-stereo]
[2025-03-01 18:01:18.334]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2025-03-01 18:01:18.334]: Info: Trying encoder [nvenc]
[2025-03-01 18:01:18.334]: Info: Screencasting with KMS
[2025-03-01 18:01:18.335]: Info: /dev/dri/card0 -> nvidia-drm
[2025-03-01 18:01:18.335]: Info: Found monitor for DRM screencasting
[2025-03-01 18:01:18.336]: Info: Found connector ID [106]
[2025-03-01 18:01:18.336]: Info: Found cursor plane [66]
[2025-03-01 18:01:18.336]: Info: Creating encoder [h264_nvenc]
[2025-03-01 18:01:18.336]: Info: Color coding: SDR (Rec. 601)
[2025-03-01 18:01:18.337]: Info: Color depth: 8-bit
[2025-03-01 18:01:18.337]: Info: Color range: JPEG
[2025-03-01 18:01:18.345]: Info: Streaming bitrate is 1000000
[2025-03-01 18:01:18.639]: Info: Creating encoder [hevc_nvenc]
[2025-03-01 18:01:18.639]: Info: Color coding: SDR (Rec. 601)
[2025-03-01 18:01:18.639]: Info: Color depth: 8-bit
[2025-03-01 18:01:18.639]: Info: Color range: JPEG
[2025-03-01 18:01:18.644]: Info: Streaming bitrate is 1000000
[2025-03-01 18:01:18.915]: Info: Creating encoder [av1_nvenc]
[2025-03-01 18:01:18.915]: Info: Color coding: SDR (Rec. 601)
[2025-03-01 18:01:18.915]: Info: Color depth: 8-bit
[2025-03-01 18:01:18.915]: Info: Color range: JPEG
[2025-03-01 18:01:18.921]: Info: Streaming bitrate is 1000000
[2025-03-01 18:01:18.931]: Warning: [av1_nvenc @ 0x7f867c3cf080] Codec not supported
[2025-03-01 18:01:18.931]: Error: [av1_nvenc @ 0x7f867c3cf080] Provided device doesn't support required NVENC features
[2025-03-01 18:01:19.182]: Error: Could not open codec [av1_nvenc]: Função não implementada
[2025-03-01 18:01:19.184]: Info: Screencasting with KMS
[2025-03-01 18:01:19.184]: Info: /dev/dri/card0 -> nvidia-drm
[2025-03-01 18:01:19.184]: Info: Found monitor for DRM screencasting
[2025-03-01 18:01:19.184]: Info: Found connector ID [106]
[2025-03-01 18:01:19.185]: Info: Found cursor plane [66]
[2025-03-01 18:01:19.185]: Info: Creating encoder [hevc_nvenc]
[2025-03-01 18:01:19.185]: Info: Color coding: SDR (Rec. 709)
[2025-03-01 18:01:19.185]: Info: Color depth: 10-bit
[2025-03-01 18:01:19.185]: Info: Color range: JPEG
[2025-03-01 18:01:19.191]: Info: Streaming bitrate is 1000000
[2025-03-01 18:01:19.464]: Info:
[2025-03-01 18:01:19.464]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2025-03-01 18:01:19.464]: Info:
[2025-03-01 18:01:19.464]: Info: Found H.264 encoder: h264_nvenc [nvenc]
[2025-03-01 18:01:19.464]: Info: Found HEVC encoder: hevc_nvenc [nvenc]
[2025-03-01 18:01:19.464]: Info: Executing [Desktop]
[2025-03-01 18:01:19.510]: Info: New streaming session started [active sessions: 1]
[2025-03-01 18:01:19.582]: Info: CLIENT CONNECTED
[2025-03-01 18:01:19.666]: Info: /dev/dri/card0 -> nvidia-drm
[2025-03-01 18:01:19.666]: Info: Found display [wayland-0]
[2025-03-01 18:01:19.668]: Info: Found interface: zxdg_output_manager_v1(31) version 3
[2025-03-01 18:01:19.668]: Info: Found interface: wl_output(61) version 4
[2025-03-01 18:01:19.668]: Info: Found interface: wl_output(73) version 4
[2025-03-01 18:01:19.668]: Info: Resolution: 1920x1080
[2025-03-01 18:01:19.668]: Info: Resolution: 1920x1080
[2025-03-01 18:01:19.668]: Info: Offset: 1920x0
[2025-03-01 18:01:19.668]: Info: Logical size: 1920x1080
[2025-03-01 18:01:19.668]: Info: Name: DP-1
[2025-03-01 18:01:19.668]: Info: Found monitor: HKM M238W1F2556/0000000000001
[2025-03-01 18:01:19.668]: Info: Offset: 0x0
[2025-03-01 18:01:19.668]: Info: Logical size: 1920x1080
[2025-03-01 18:01:19.668]: Info: Name: HDMI-A-1
[2025-03-01 18:01:19.668]: Info: Found monitor: Samsung Electric Company HDMI-A-1-T24C310
[2025-03-01 18:01:19.668]: Info: -------- Start of KMS monitor list --------
[2025-03-01 18:01:19.668]: Info: Monitor 1 is DP-1: HKM M238W1F2556/0000000000001
[2025-03-01 18:01:19.668]: Info: Monitor 0 is HDMI-A-1: Samsung Electric Company HDMI-A-1-T24C310
[2025-03-01 18:01:19.668]: Info: --------- End of KMS monitor list ---------
[2025-03-01 18:01:19.668]: Info: Screencasting with KMS
[2025-03-01 18:01:19.668]: Info: /dev/dri/card0 -> nvidia-drm
[2025-03-01 18:01:19.668]: Info: Found monitor for DRM screencasting
[2025-03-01 18:01:19.668]: Info: Found connector ID [106]
[2025-03-01 18:01:19.669]: Info: Found cursor plane [66]
[2025-03-01 18:01:19.669]: Info: Creating encoder [hevc_nvenc]
[2025-03-01 18:01:19.669]: Info: Color coding: SDR (Rec. 709)
[2025-03-01 18:01:19.669]: Info: Color depth: 8-bit
[2025-03-01 18:01:19.669]: Info: Color range: MPEG
[2025-03-01 18:01:19.740]: Info: Streaming bitrate is 27788000
[2025-03-01 18:01:20.014]: Info: Setting default sink to: [sink-sunshine-stereo]
[2025-03-01 18:01:20.015]: Info: Found default monitor by name: sink-sunshine-stereo.monitor
[2025-03-01 18:01:20.071]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
[2025-03-01 18:01:55.776]: Info: CLIENT DISCONNECTED
[2025-03-01 18:01:55.777]: Info: Setting default sink to: [alsa_output.pci-0000_00_1b.0.analog-stereo]
```

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with two Linux monitors, the Display number setting, and absolute or multi-touch input, then trace the Wayland and KMS monitor information shown in the logs. Done means mouse, stylus, and touch coordinates target the monitor selected for streaming rather than the HDMI monitor.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop-dev, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.