Skip to content

[Bug] Touch/pen input disabled when native_pen_touch omitted from config (v2026.808 regression) #5520

Description

@AliceJump

THIS IS NOT THE PLACE TO ASK FOR SUPPORT!
Please use our Support Center for support issues.
Before creating an issue, please review our AI Community Rules.

Describe the Bug

After updating Sunshine from the old version to the new version, I found
that multi-touch input is always unusable. The client (Moonlight Android,
https://github.com/Axixi2233/moonlight-android) was unchanged — it only broke
after the Sunshine update. I noticed the old Sunshine version had this feature
working, so I ran an experiment:

  • Old version (touch works): 2025.924.154138
  • New version (touch broken): 2026.808.164219
  1. Used the Web UI to change the option to unchecked (disable) and saved.
    After saving, the config contained native_pen_touch = disabled. Restarted,
    touch was unusable.
  2. Re-enabled it via the Web UI. After saving, the key disappeared from the
    config file. Restarted, touch was still unusable.
  3. Directly edited the config file to force native_pen_touch = enabled.
    Touch became usable.

Corresponding logs: see scenarios 1/2/3 in "Additional Context".

Expected Behavior

Multi-touch input should work after updating to the new version, matching the
behavior of the old version. The native_pen_touch option should be enabled by
default so touch input works even when the key is absent from the config.

Additional Context

Scenario 1 - Web UI disable + save (config: 'native_pen_touch' = disabled) — touch unusable:

Startup:

[2026-08-18 08:07:17.574]: Info: Sunshine version: 2026.808.164219 commit: 25c06d79b54f3d092d3fedd5f5ba44989f394692
[2026-08-18 08:07:17.574]: Info: Package Publisher: LizardByte
[2026-08-18 08:07:17.574]: Info: Publisher Website: https://app.lizardbyte.dev
[2026-08-18 08:07:17.574]: Info: Get support: https://app.lizardbyte.dev/support
[2026-08-18 08:07:17.574]: Info: config: 'native_pen_touch' = disabled
[2026-08-18 08:07:17.574]: Info: Provided workaround settings for SettingsManager:

Session:

[2026-08-18 08:07:23.592]: Info: Found H.264 encoder: h264_nvenc [nvenc]
[2026-08-18 08:07:23.592]: Info: Found HEVC encoder: hevc_nvenc [nvenc]
[2026-08-18 08:07:23.592]: Info: Executing [Desktop]
[2026-08-18 08:07:23.672]: Info: New streaming session started [active sessions: 1]
[2026-08-18 08:07:23.858]: Info: nvprefs: No need to modify application profile settings
[2026-08-18 08:07:23.925]: Info: CLIENT CONNECTED
[2026-08-18 08:07:24.198]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
[2026-08-18 08:07:24.255]: Info: Using realtime GPU priority

Stop:

[2026-08-18 08:09:32.696]: Info: Interrupt handler called
[2026-08-18 08:09:32.706]: Info: Starting async encoder teardown
[2026-08-18 08:09:33.055]: Info: Unregistered Sunshine mDNS service

Note: no Creating virtual touch input device line appears during the whole session.

Scenario 2 - Web UI enable + save (key omitted from config, no load line) — touch unusable:

Startup:

[2026-08-18 08:09:36.101]: Info: Sunshine version: 2026.808.164219 commit: 25c06d79b54f3d092d3fedd5f5ba44989f394692
[2026-08-18 08:09:36.101]: Info: Package Publisher: LizardByte
[2026-08-18 08:09:36.101]: Info: Publisher Website: https://app.lizardbyte.dev
[2026-08-18 08:09:36.101]: Info: Get support: https://app.lizardbyte.dev/support

Note: there is no config: 'native_pen_touch' = ... line because the key is absent.
Session:

[2026-08-18 08:09:41.089]: Info: Found HEVC encoder: hevc_nvenc [nvenc]
[2026-08-18 08:09:41.089]: Info: Executing [Desktop]
[2026-08-18 08:09:41.181]: Info: New streaming session started [active sessions: 1]
[2026-08-18 08:09:41.367]: Info: nvprefs: No need to modify application profile settings
[2026-08-18 08:09:41.435]: Info: CLIENT CONNECTED
[2026-08-18 08:09:41.701]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY

Note: no Creating virtual touch input device line appears during the whole session.

Scenario 3 - manually set native_pen_touch = enabled + restart — touch works:

Startup:

[2026-08-18 08:11:11.907]: Info: Sunshine version: 2026.808.164219 commit: 25c06d79b54f3d092d3fedd5f5ba44989f394692
[2026-08-18 08:11:11.907]: Info: Package Publisher: LizardByte
[2026-08-18 08:11:11.907]: Info: Publisher Website: https://app.lizardbyte.dev
[2026-08-18 08:11:11.907]: Info: Get support: https://app.lizardbyte.dev/support
[2026-08-18 08:11:11.907]: Info: config: 'native_pen_touch' = enabled
[2026-08-18 08:11:11.908]: Info: Provided workaround settings for SettingsManager:

Session:

[2026-08-18 08:11:24.741]: Info: Found H.264 encoder: h264_nvenc [nvenc]
[2026-08-18 08:11:24.741]: Info: Found HEVC encoder: hevc_nvenc [nvenc]
[2026-08-18 08:11:24.741]: Info: Executing [Desktop]
[2026-08-18 08:11:24.816]: Info: New streaming session started [active sessions: 1]
[2026-08-18 08:11:25.007]: Info: nvprefs: No need to modify application profile settings
[2026-08-18 08:11:25.067]: Info: CLIENT CONNECTED
[2026-08-18 08:11:25.362]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
[2026-08-18 08:11:25.397]: Info: Using realtime GPU priority
[2026-08-18 08:11:26.066]: Info: Creating virtual touch input device

Note: Creating virtual touch input device appears once the client sends touch input.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions