Skip to content

Dualsense Gyro has high noise over Moonlight-qt #3977

Open
@DeNo64

Description

@DeNo64

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

Gyro is extremely noisy using Dualsense controller (haven't tested PS4 controller), Any slight movements, even extremely minor, results in very extreme jerking motions on screen. Moving extremely quick in one direction, and sometimes just as quickly snapping back just as quickly to about the original location. With being able to attach the videos here, the best way I can describe the behaviour is noisy.

Using the Steam Input gyro calibrator I can see the Translation (up, down, left, right) Noise Levels (second bar, on the Gyro Calibration Tolerance detection page) is also showing the jerky noise.
The only way to get it to show 0 noise, is if the controller is 100% still. So the issue only occurs when there is any gyro input.

Have videos of issue. But not sure the best place to send them.

When using the same controller connected wired or over bluetooth to the host, there are no issues. Gyro works as expected.

Expected Behavior

Gyro shouldn't have gyro noise, and should match the behaviour of controller connected directly to host.

Additional Context

Tested:

  • Latest Sunshine
  • Pre-release Sunshine
  • Latest Moonlight-qt
  • Built from source Moonlight-qt

Client Devices:

  • MacOS
  • Steam Deck

Executing: sudo setfacl -m g:input:rw /dev/uhid to fix known issue with recognising Dualsense controller correctly
#3758

Attached videos of behaviour in game, and gyro calibration within Steam Input

Host Operating System

Linux

Operating System Version

Arch Linux (Kernal 6.15.1-arch1-2)

Architecture

amd64/x86_64

Sunshine commit or version

v2025.609.163957

Package

Linux - LizardByte/pacman-repo

GPU Type

NVIDIA

GPU Model

RTX 2080 Super

GPU Driver/Mesa Version

575.57.08

Capture Method

wlroots (Linux)

Config

encoder = nvenc
global_prep_cmd = [{"do":"hyprctl output create headless HL-1","undo":"hyprctl output remove HL-1"},{"do":"sh -c \"hyprctl keyword monitor HL-1,${SUNSHINE_CLIENT_WIDTH}x${SUNSHINE_CLIENT_HEIGHT}@${SUNSHINE_CLIENT_FPS},auto-right,1\"","undo":"hyprctl keyword monitor HL-1,2560x$1440@60,auto-right,1"},{"do":"hyprctl dispatch workspace 10","undo":"hyprctl dispatch workspace 1"}]
nvenc_preset = 1
output_name = 2
stream_audio = true

Apps

Relevant log output

❯ sunshine
[2025-06-14 09:41:45.508517] [0x00007fa5bd62b000] [info]    config: 'stream_audio' = true
[2025-06-14 09:41:45.508541] [0x00007fa5bd62b000] [info]    config: 'output_name' = 2
[2025-06-14 09:41:45.508544] [0x00007fa5bd62b000] [info]    config: 'nvenc_preset' = 1
[2025-06-14 09:41:45.508547] [0x00007fa5bd62b000] [info]    config: 'global_prep_cmd' = [{"do":"hyprctl output create headless HL-1","undo":"hyprctl output remove HL-1"},{"do":"sh -c \"hyprctl keyword monitor HL-1,${SUNSHINE_CLIENT_WIDTH}x${SUNSHINE_CLIENT_HEIGHT}@${SUNSHINE_CLIENT_FPS},auto-right,1\"","undo":"hyprctl keyword monitor HL-1,2560x$1440@60,auto-right,1"},{"do":"hyprctl dispatch workspace 10","undo":"hyprctl dispatch workspace 1"}]
[2025-06-14 09:41:45.508550] [0x00007fa5bd62b000] [info]    config: 'encoder' = nvenc
[2025-06-14 09:41:45.508]: Info: Sunshine version: v2025.609.163957
[2025-06-14 09:41:45.508]: Info: Package Publisher: LizardByte
[2025-06-14 09:41:45.508]: Info: Publisher Website: https://app.lizardbyte.dev
[2025-06-14 09:41:45.508]: Info: Get support: https://app.lizardbyte.dev/support
[2025-06-14 09:41:45.508]: Info: config: 'encoder' = nvenc
[2025-06-14 09:41:45.508]: Info: config: 'global_prep_cmd' = [{"do":"hyprctl output create headless HL-1","undo":"hyprctl output remove HL-1"},{"do":"sh -c \"hyprctl keyword monitor HL-1,${SUNSHINE_CLIENT_WIDTH}x${SUNSHINE_CLIENT_HEIGHT}@${SUNSHINE_CLIENT_FPS},auto-right,1\"","undo":"hyprctl keyword monitor HL-1,2560x$1440@60,auto-right,1"},{"do":"hyprctl dispatch workspace 10","undo":"hyprctl dispatch workspace 1"}]
[2025-06-14 09:41:45.508]: Info: config: 'nvenc_preset' = 1
[2025-06-14 09:41:45.508]: Info: config: 'output_name' = 2
[2025-06-14 09:41:45.508]: Info: config: 'stream_audio' = true

(sunshine:11395): libayatana-appindicator-WARNING **: 09:41:45.543: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code.
[2025-06-14 09:41:45.545]: Info: System tray created
[2025-06-14 09:41:45.567]: Error: Failed to create session:
[2025-06-14 09:41:45.567]: Info: Found display [wayland-1]
[2025-06-14 09:41:45.567]: Info: Found interface: zxdg_output_manager_v1(9) version 3
[2025-06-14 09:41:45.567]: Info: Found interface: zwlr_screencopy_manager_v1(41) version 3
[2025-06-14 09:41:45.567]: Info: Found interface: zwp_linux_dmabuf_v1(59) version 5
[2025-06-14 09:41:45.567]: Info: Found interface: wl_output(60) version 4
[2025-06-14 09:41:45.567]: Info: Found interface: wl_output(61) version 4
[2025-06-14 09:41:45.567]: Info: Resolution: 3440x1440
[2025-06-14 09:41:45.567]: Info: Resolution: 1920x1080
[2025-06-14 09:41:45.567]: Info: Name: DP-1
[2025-06-14 09:41:45.567]: Info: Found monitor: Dell Inc. Dell AW3418DW #ASPcJHcY7MXd (DP-1)
[2025-06-14 09:41:45.567]: Info: Offset: 1080x0
[2025-06-14 09:41:45.567]: Info: Logical size: 3440x1440
[2025-06-14 09:41:45.567]: Info: Name: DP-2
[2025-06-14 09:41:45.567]: Info: Found monitor: BNQ BenQ XL2420TE X7D03025SL0 (DP-2)
[2025-06-14 09:41:45.567]: Info: Offset: 0x0
[2025-06-14 09:41:45.567]: Info: Logical size: 1080x1920
[2025-06-14 09:41:45.567]: Info: -------- Start of Wayland monitor list --------
[2025-06-14 09:41:45.567]: Info: Monitor 0 is DP-1: Dell Inc. Dell AW3418DW #ASPcJHcY7MXd (DP-1)
[2025-06-14 09:41:45.567]: Info: Monitor 1 is DP-2: BNQ BenQ XL2420TE X7D03025SL0 (DP-2)
[2025-06-14 09:41:45.567]: Info: --------- End of Wayland monitor list ---------
[2025-06-14 09:41:45.608]: Info: Trying encoder [nvenc]
[2025-06-14 09:41:45.608]: Info: Screencasting with Wayland's protocol
[2025-06-14 09:41:45.608]: Info: Found display [wayland-1]
[2025-06-14 09:41:45.608]: Info: Found interface: zxdg_output_manager_v1(9) version 3
[2025-06-14 09:41:45.608]: Info: Found interface: zwlr_screencopy_manager_v1(41) version 3
[2025-06-14 09:41:45.608]: Info: Found interface: zwp_linux_dmabuf_v1(59) version 5
[2025-06-14 09:41:45.608]: Info: Found interface: wl_output(60) version 4
[2025-06-14 09:41:45.608]: Info: Found interface: wl_output(61) version 4
[2025-06-14 09:41:45.608]: Info: Resolution: 3440x1440
[2025-06-14 09:41:45.608]: Info: Name: DP-1
[2025-06-14 09:41:45.608]: Info: Found monitor: Dell Inc. Dell AW3418DW #ASPcJHcY7MXd (DP-1)
[2025-06-14 09:41:45.608]: Info: Offset: 1080x0
[2025-06-14 09:41:45.608]: Info: Logical size: 3440x1440
[2025-06-14 09:41:45.608]: Info: Selected monitor [Dell Inc. Dell AW3418DW #ASPcJHcY7MXd (DP-1)] for streaming
[2025-06-14 09:41:45.608]: Info: Creating encoder [h264_nvenc]
[2025-06-14 09:41:45.608]: Info: Color coding: SDR (Rec. 601)
[2025-06-14 09:41:45.608]: Info: Color depth: 8-bit
[2025-06-14 09:41:45.608]: Info: Color range: JPEG
[2025-06-14 09:41:45.763]: Info: Streaming bitrate is 1000000
[2025-06-14 09:41:46.042]: Info: Creating encoder [hevc_nvenc]
[2025-06-14 09:41:46.042]: Info: Color coding: SDR (Rec. 601)
[2025-06-14 09:41:46.042]: Info: Color depth: 8-bit
[2025-06-14 09:41:46.042]: Info: Color range: JPEG
[2025-06-14 09:41:46.050]: Info: Streaming bitrate is 1000000
[2025-06-14 09:41:46.321]: Info: Creating encoder [av1_nvenc]
[2025-06-14 09:41:46.321]: Info: Color coding: SDR (Rec. 601)
[2025-06-14 09:41:46.321]: Info: Color depth: 8-bit
[2025-06-14 09:41:46.321]: Info: Color range: JPEG
[2025-06-14 09:41:46.325]: Info: Streaming bitrate is 1000000
[2025-06-14 09:41:46.335]: Warning: [av1_nvenc @ 0x55abbe6eddc0] Codec not supported
[2025-06-14 09:41:46.335]: Error: [av1_nvenc @ 0x55abbe6eddc0] Provided device doesn't support required NVENC features
[2025-06-14 09:41:46.587]: Error: Could not open codec [av1_nvenc]: Function not implemented
[2025-06-14 09:41:46.588]: Info: Screencasting with Wayland's protocol
[2025-06-14 09:41:46.588]: Info: Found display [wayland-1]
[2025-06-14 09:41:46.589]: Info: Found interface: zxdg_output_manager_v1(9) version 3
[2025-06-14 09:41:46.589]: Info: Found interface: zwlr_screencopy_manager_v1(41) version 3
[2025-06-14 09:41:46.589]: Info: Found interface: zwp_linux_dmabuf_v1(59) version 5
[2025-06-14 09:41:46.589]: Info: Found interface: wl_output(60) version 4
[2025-06-14 09:41:46.589]: Info: Found interface: wl_output(61) version 4
[2025-06-14 09:41:46.589]: Info: Resolution: 3440x1440
[2025-06-14 09:41:46.589]: Info: Name: DP-1
[2025-06-14 09:41:46.589]: Info: Found monitor: Dell Inc. Dell AW3418DW #ASPcJHcY7MXd (DP-1)
[2025-06-14 09:41:46.590]: Info: Offset: 1080x0
[2025-06-14 09:41:46.590]: Info: Logical size: 3440x1440
[2025-06-14 09:41:46.590]: Info: Selected monitor [Dell Inc. Dell AW3418DW #ASPcJHcY7MXd (DP-1)] for streaming
[2025-06-14 09:41:46.590]: Info: Creating encoder [hevc_nvenc]
[2025-06-14 09:41:46.590]: Info: Color coding: SDR (Rec. 709)
[2025-06-14 09:41:46.590]: Info: Color depth: 10-bit
[2025-06-14 09:41:46.590]: Info: Color range: JPEG
[2025-06-14 09:41:46.597]: Info: Streaming bitrate is 1000000
[2025-06-14 09:41:46.874]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2025-06-14 09:41:46.874]: Info:
[2025-06-14 09:41:46.874]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2025-06-14 09:41:46.874]: Info:
[2025-06-14 09:41:46.874]: Info: Found H.264 encoder: h264_nvenc [nvenc]
[2025-06-14 09:41:46.874]: Info: Found HEVC encoder: hevc_nvenc [nvenc]
[2025-06-14 09:41:46.884]: Error: Failed to create client: Daemon not running
[2025-06-14 09:41:46.885]: Info: Configuration UI available at [https://localhost:47990]
[2025-06-14 09:42:38.179]: Info: Trying encoder [nvenc]
[2025-06-14 09:42:38.180]: Info: Screencasting with Wayland's protocol
[2025-06-14 09:42:38.180]: Info: Found display [wayland-1]
[2025-06-14 09:42:38.180]: Info: Found interface: zxdg_output_manager_v1(9) version 3
[2025-06-14 09:42:38.180]: Info: Found interface: zwlr_screencopy_manager_v1(41) version 3
[2025-06-14 09:42:38.180]: Info: Found interface: zwp_linux_dmabuf_v1(59) version 5
[2025-06-14 09:42:38.180]: Info: Found interface: wl_output(60) version 4
[2025-06-14 09:42:38.180]: Info: Found interface: wl_output(61) version 4
[2025-06-14 09:42:38.181]: Info: Resolution: 3440x1440
[2025-06-14 09:42:38.181]: Info: Name: DP-1
[2025-06-14 09:42:38.181]: Info: Found monitor: Dell Inc. Dell AW3418DW #ASPcJHcY7MXd (DP-1)
[2025-06-14 09:42:38.181]: Info: Offset: 1080x0
[2025-06-14 09:42:38.181]: Info: Logical size: 3440x1440
[2025-06-14 09:42:38.181]: Info: Selected monitor [Dell Inc. Dell AW3418DW #ASPcJHcY7MXd (DP-1)] for streaming
[2025-06-14 09:42:38.181]: Info: Creating encoder [h264_nvenc]
[2025-06-14 09:42:38.181]: Info: Color coding: SDR (Rec. 601)
[2025-06-14 09:42:38.181]: Info: Color depth: 8-bit
[2025-06-14 09:42:38.181]: Info: Color range: JPEG
[2025-06-14 09:42:38.223]: Info: Streaming bitrate is 1000000
[2025-06-14 09:42:38.496]: Info: Creating encoder [hevc_nvenc]
[2025-06-14 09:42:38.496]: Info: Color coding: SDR (Rec. 601)
[2025-06-14 09:42:38.497]: Info: Color depth: 8-bit
[2025-06-14 09:42:38.497]: Info: Color range: JPEG
[2025-06-14 09:42:38.502]: Info: Streaming bitrate is 1000000
[2025-06-14 09:42:38.773]: Info: Creating encoder [av1_nvenc]
[2025-06-14 09:42:38.773]: Info: Color coding: SDR (Rec. 601)
[2025-06-14 09:42:38.773]: Info: Color depth: 8-bit
[2025-06-14 09:42:38.773]: Info: Color range: JPEG
[2025-06-14 09:42:38.780]: Info: Streaming bitrate is 1000000
[2025-06-14 09:42:38.793]: Warning: [av1_nvenc @ 0x7fa560402780] Codec not supported
[2025-06-14 09:42:38.793]: Error: [av1_nvenc @ 0x7fa560402780] Provided device doesn't support required NVENC features
[2025-06-14 09:42:39.046]: Error: Could not open codec [av1_nvenc]: Function not implemented
[2025-06-14 09:42:39.047]: Info: Screencasting with Wayland's protocol
[2025-06-14 09:42:39.047]: Info: Found display [wayland-1]
[2025-06-14 09:42:39.048]: Info: Found interface: zxdg_output_manager_v1(9) version 3
[2025-06-14 09:42:39.048]: Info: Found interface: zwlr_screencopy_manager_v1(41) version 3
[2025-06-14 09:42:39.048]: Info: Found interface: zwp_linux_dmabuf_v1(59) version 5
[2025-06-14 09:42:39.048]: Info: Found interface: wl_output(60) version 4
[2025-06-14 09:42:39.048]: Info: Found interface: wl_output(61) version 4
[2025-06-14 09:42:39.048]: Info: Resolution: 3440x1440
[2025-06-14 09:42:39.049]: Info: Name: DP-1
[2025-06-14 09:42:39.049]: Info: Found monitor: Dell Inc. Dell AW3418DW #ASPcJHcY7MXd (DP-1)
[2025-06-14 09:42:39.049]: Info: Offset: 1080x0
[2025-06-14 09:42:39.049]: Info: Logical size: 3440x1440
[2025-06-14 09:42:39.049]: Info: Selected monitor [Dell Inc. Dell AW3418DW #ASPcJHcY7MXd (DP-1)] for streaming
[2025-06-14 09:42:39.049]: Info: Creating encoder [hevc_nvenc]
[2025-06-14 09:42:39.049]: Info: Color coding: SDR (Rec. 709)
[2025-06-14 09:42:39.049]: Info: Color depth: 10-bit
[2025-06-14 09:42:39.049]: Info: Color range: JPEG
[2025-06-14 09:42:39.056]: Info: Streaming bitrate is 1000000
[2025-06-14 09:42:39.334]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2025-06-14 09:42:39.334]: Info:
[2025-06-14 09:42:39.334]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2025-06-14 09:42:39.334]: Info:
[2025-06-14 09:42:39.334]: Info: Found H.264 encoder: h264_nvenc [nvenc]
[2025-06-14 09:42:39.335]: Info: Found HEVC encoder: hevc_nvenc [nvenc]
[2025-06-14 09:42:39.335]: Info: Executing Do Cmd: [hyprctl output create headless HL-1]
[2025-06-14 09:42:39.399]: Info: Executing Do Cmd: [sh -c "hyprctl keyword monitor HL-1,${SUNSHINE_CLIENT_WIDTH}x${SUNSHINE_CLIENT_HEIGHT}@${SUNSHINE_CLIENT_FPS},auto-right,1"]
[2025-06-14 09:42:39.428]: Info: Executing Do Cmd: [hyprctl dispatch workspace 10]
[2025-06-14 09:42:39.449]: Info: Spawning [sh -c "gamemoderun gamescope -W ${SUNSHINE_CLIENT_WIDTH} -H ${SUNSHINE_CLIENT_HEIGHT} -r ${SUNSHINE_CLIENT_FPS} -f --adaptive-sync --force-grab-cursor --backend sdl -- steam steam://rungameid/553850"] in ["/usr/bin"]
[2025-06-14 09:42:39.457]: Info: Executing [Desktop]
[2025-06-14 09:42:39.464]: Info: New streaming session started [active sessions: 1]
[2025-06-14 09:42:39.646]: Info: CLIENT CONNECTED
[2025-06-14 09:42:39.646]: Info: Found display [wayland-1]
[2025-06-14 09:42:39.647]: Info: Found interface: zxdg_output_manager_v1(9) version 3
[2025-06-14 09:42:39.647]: Info: Found interface: zwlr_screencopy_manager_v1(41) version 3
[2025-06-14 09:42:39.647]: Info: Found interface: zwp_linux_dmabuf_v1(59) version 5
[2025-06-14 09:42:39.647]: Info: Found interface: wl_output(60) version 4
[2025-06-14 09:42:39.647]: Info: Found interface: wl_output(61) version 4
[2025-06-14 09:42:39.647]: Info: Found interface: wl_output(62) version 4
[2025-06-14 09:42:39.647]: Info: Resolution: 3440x1440
[2025-06-14 09:42:39.647]: Info: Resolution: 1920x1080
[2025-06-14 09:42:39.647]: Info: Resolution: 1920x1080
[2025-06-14 09:42:39.647]: Info: Name: DP-1
[2025-06-14 09:42:39.647]: Info: Found monitor: Dell Inc. Dell AW3418DW #ASPcJHcY7MXd (DP-1)
[2025-06-14 09:42:39.647]: Info: Offset: 1080x0
[2025-06-14 09:42:39.647]: Info: Logical size: 3440x1440
[2025-06-14 09:42:39.647]: Info: Name: DP-2
[2025-06-14 09:42:39.647]: Info: Found monitor: BNQ BenQ XL2420TE X7D03025SL0 (DP-2)
[2025-06-14 09:42:39.647]: Info: Offset: 0x0
[2025-06-14 09:42:39.647]: Info: Logical size: 1080x1920
[2025-06-14 09:42:39.647]: Info: Name: HL-1
[2025-06-14 09:42:39.647]: Info: Offset: 4520x0
[2025-06-14 09:42:39.647]: Info: Logical size: 1920x1080
[2025-06-14 09:42:39.647]: Info: -------- Start of Wayland monitor list --------
[2025-06-14 09:42:39.647]: Info: Monitor 0 is DP-1: Dell Inc. Dell AW3418DW #ASPcJHcY7MXd (DP-1)
[2025-06-14 09:42:39.647]: Info: Monitor 1 is DP-2: BNQ BenQ XL2420TE X7D03025SL0 (DP-2)
[2025-06-14 09:42:39.647]: Info: Monitor 2 is HL-1:
[2025-06-14 09:42:39.647]: Info: --------- End of Wayland monitor list ---------
[2025-06-14 09:42:39.647]: Info: Screencasting with Wayland's protocol
[2025-06-14 09:42:39.647]: Info: Found display [wayland-1]
[2025-06-14 09:42:39.648]: Info: Found interface: zxdg_output_manager_v1(9) version 3
[2025-06-14 09:42:39.648]: Info: Found interface: zwlr_screencopy_manager_v1(41) version 3
[2025-06-14 09:42:39.648]: Info: Found interface: zwp_linux_dmabuf_v1(59) version 5
[2025-06-14 09:42:39.648]: Info: Found interface: wl_output(60) version 4
[2025-06-14 09:42:39.648]: Info: Found interface: wl_output(61) version 4
[2025-06-14 09:42:39.648]: Info: Found interface: wl_output(62) version 4
[2025-06-14 09:42:39.648]: Info: Resolution: 1920x1080
[2025-06-14 09:42:39.648]: Info: Name: HL-1
[2025-06-14 09:42:39.648]: Info: Offset: 4520x0
[2025-06-14 09:42:39.648]: Info: Logical size: 1920x1080
[2025-06-14 09:42:39.648]: Info: Selected monitor [] for streaming
[2025-06-14 09:42:39.648]: Info: Creating encoder [hevc_nvenc]
[2025-06-14 09:42:39.648]: Info: Color coding: SDR (Rec. 601)
[2025-06-14 09:42:39.648]: Info: Color depth: 10-bit
[2025-06-14 09:42:39.648]: Info: Color range: MPEG
[2025-06-14 09:42:39.727]: Info: Streaming bitrate is 13452000
[2025-06-14 09:42:39.768]: Info: Gamepad 0 will be DualShock 5 controller (auto-selected by client-reported type)
[2025-06-14 09:42:40.017]: Info: Setting default sink to: [sink-sunshine-surround71]
[2025-06-14 09:42:40.018]: Info: Found default monitor by name: sink-sunshine-surround71.monitor
[2025-06-14 09:42:40.077]: Info: Opus initialized: 48 kHz, 8 channels, 2048 kbps (total), LOWDELAY

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