Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XBox One Controller Mapping Messed Up #822

Open
Marcus101RR opened this issue Jul 14, 2022 · 8 comments
Open

XBox One Controller Mapping Messed Up #822

Marcus101RR opened this issue Jul 14, 2022 · 8 comments

Comments

@Marcus101RR
Copy link

READ ME FIRST!
If you're here because something basic is not working (like gamepad input, video, or similar), it's probably something specific to your setup, so make sure you've gone through the Troubleshooting Guide first: https://github.com/moonlight-stream/moonlight-docs/wiki/Troubleshooting

If you still have trouble with basic functionality after following the guide, join our Discord server where there are many other volunteers who can help (or direct you back here if it looks like a Moonlight bug after all). https://moonlight-stream.org/discord

Describe the bug
I updated to a new version of this Moonlight but it looks like now everyone is messed up, Using an Xbox One Controller Wired. The inputs on the client are coming up correctly, but remotely on the host machine they are wrong. LEft stick left and right is up and down, right stick left is Left trigger, and right stick right is STart button. No idea why this is standard, no fix for it, discord didn't have a solution either and people asked about it back in march.

Steps to reproduce
I would hope a basic xbox one controller would do it with the latest version of moonlight.

Screenshots
Not possible

Affected games
every game.

Other Moonlight clients
I only use windows

Moonlight settings (please complete the following information)

  • Have any settings been adjusted from defaults?
  • If so, which settings have been changed?
  • Does the problem still occur after reverting settings back to default?
    Yes, Yes yes

Gamepad-related issues (please complete if problem is gamepad-related)

@cgutman
Copy link
Member

cgutman commented Jul 15, 2022

I updated to a new version of this Moonlight but it looks like now everyone is messed up, Using an Xbox One Controller Wired. The inputs on the client are coming up correctly, but remotely on the host machine they are wrong. LEft stick left and right is up and down, right stick left is Left trigger, and right stick right is STart button.

This is definitely not normal. Moonlight v4.1.0 has been out since May without any widespread reports of mapping issues. That would be highly unexpected for a controller as common as the Xbox One controller. Not impossible, but evidence definitely points to something more specific to your setup. I just tried an Xbox One wired controller with Moonlight v4.1.0 on Windows here to double check and the mapping is correct for me.

You mentioned that it started happening after a Moonlight update. Which version of Moonlight were you using successfully before?

Which version of Windows are you running on the client PC?

Is the controller mapped correctly when navigating the Moonlight UI (not in game)?

No idea why this is standard, no fix for it, discord didn't have a solution either and people asked about it back in march.

Controller mapping issues can have a wide variety of causes (such as different OSes, different Xbox controller firmware, third party remapping software, etc), so it is not safe to assume someone else's controller mapping issue would necessarily be relevant to your case.

Please attach the Moonlight logs after streaming with the broken mapping, so I can take a look and see which mapping is being used. On Windows, the logs will be in the %TEMP% for the installed version, or the portable folder for the portable version. They will have the format Moonlight-########.log.

@Marcus101RR
Copy link
Author

Marcus101RR commented Jul 15, 2022 via email

@Marcus101RR
Copy link
Author

00:00:00 - SDL Info (0): Compiled with SDL 2.23.0
00:00:00 - SDL Info (0): Running with SDL 2.23.0
00:00:00 - Qt Info: No translation available for "en_US"
00:00:11 - Qt Warning: qrc:/gui/main.qml:12:1: QML ApplicationWindow: ToolTip must be attached to an Item
00:00:12 - Qt Info: Found "gamecontrollerdb.txt" at "D:/Moonlight/cache/gamecontrollerdb.txt"
00:00:12 - SDL Info (0): Loaded 439 new gamepad mappings
00:00:12 - SDL Info (0): V-sync disabled
00:00:12 - SDL Info (0): Detected GPU 0: Intel(R) HD Graphics (8086:22b1)
00:00:12 - SDL Error (0): GPU doesn't support HEVC Main10 decoding
00:00:12 - SDL Error (0): Unable to load FFmpeg decoder
00:00:12 - SDL Info (0): V-sync disabled
00:00:12 - SDL Info (0): Windowed mode with DWM running
00:00:12 - SDL Info (0): Windowed: 1 | Present Interval: 80000000
00:00:12 - SDL Info (0): Avoiding IDirectXVideoProcessor API on Intel GPU
00:00:12 - SDL Info (0): Detected GPU: Intel(R) HD Graphics (8086:22b1)
00:00:12 - SDL Info (0): GPU driver: igdumdim64.dll 20.19.15.4703
00:00:12 - SDL Info (0): GPU decoding for format 100 is blocked due to hardware limitations
00:00:12 - SDL Info (0): Detected GPU 0: Intel(R) HD Graphics (8086:22b1)
00:00:12 - SDL Info (0): GPU decoding for format 100 is blocked due to hardware limitations
00:00:12 - SDL Error (0): Unable to load FFmpeg decoder
00:00:12 - SDL Info (0): V-sync disabled
00:00:12 - SDL Info (0): Windowed mode with DWM running
00:00:12 - SDL Info (0): Windowed: 1 | Present Interval: 80000000
00:00:12 - SDL Info (0): Avoiding IDirectXVideoProcessor API on Intel GPU
00:00:12 - SDL Info (0): Detected GPU: Intel(R) HD Graphics (8086:22b1)
00:00:12 - SDL Info (0): GPU driver: igdumdim64.dll 20.19.15.4703
00:00:12 - SDL Info (0): Detected buggy Intel GPU driver installed. Update your Intel GPU driver to enable HEVC!
00:00:12 - SDL Info (0): Using DXVA2 accelerated renderer
00:00:13 - FFmpeg: [h264 @ 0000018F1A48EE00] nal_unit_type: 7(SPS), nal_ref_idc: 3
00:00:13 - FFmpeg: [h264 @ 0000018F1A48EE00] nal_unit_type: 8(PPS), nal_ref_idc: 3
00:00:13 - FFmpeg: [h264 @ 0000018F1A48EE00] nal_unit_type: 5(IDR), nal_ref_idc: 3
00:00:13 - FFmpeg: [h264 @ 0000018F1A48EE00] nal_unit_type: 5(IDR), nal_ref_idc: 3
00:00:13 - FFmpeg: [h264 @ 0000018F1A48EE00] nal_unit_type: 5(IDR), nal_ref_idc: 3
00:00:13 - FFmpeg: [h264 @ 0000018F1A48EE00] nal_unit_type: 5(IDR), nal_ref_idc: 3
00:00:13 - FFmpeg: [h264 @ 0000018F1A48EE00] Format dxva2_vld chosen by get_format().
00:00:13 - FFmpeg: [h264 @ 0000018F1A48EE00] Format dxva2_vld requires hwaccel initialisation.
00:00:13 - FFmpeg: [h264 @ 0000018F1A48EE00] Reinit context to 1280x720, pix_fmt: dxva2_vld
00:00:13 - SDL Info (0): DXVA2 decoder surface high-water mark: 0
00:00:13 - SDL Info (0): FFmpeg-based video decoder chosen
00:00:18 - Qt Info: Found "gamecontrollerdb.txt" at "D:/Moonlight/cache/gamecontrollerdb.txt"
00:00:18 - SDL Info (0): Loaded 439 new gamepad mappings
00:00:21 - Qt Debug: Current Moonlight version: "4.1.0"
00:00:21 - Qt Info: Gamepad mappings are up to date
00:00:21 - Qt Info: Latest supported GFE server: "99.99.99.99"
00:00:21 - Qt Debug: Found update manifest match for current platform
00:00:21 - Qt Debug: Latest version of Moonlight for this platform is: "4.1.0"
00:00:21 - Qt Debug: Update manifest version equal to current version
00:00:23 - Qt Info: "DESKTOP-LM6KUMP" is now online at "35.139.40.190:47989"
00:01:52 - Qt Info: Executing request: "https://35.139.40.190:47984/appasset?uniqueid=0123456789ABCDEF&uuid=8cb990febc364c0fb4db1a51fdf8c439&appid=2035986993&AssetType=2&AssetIdx=0"
00:01:52 - Qt Info: Executing request: "https://35.139.40.190:47984/appasset?uniqueid=0123456789ABCDEF&uuid=3ea3854d8f984147a7604ef21f3fa377&appid=2035986993&AssetType=2&AssetIdx=0"
00:01:55 - Qt Info: Found "ModeSeven.ttf" at ":/data/ModeSeven.ttf"
00:01:56 - Qt Info: Server GPU: "NVIDIA GeForce RTX 2070 SUPER"
00:01:56 - Qt Info: Server GFE version: "3.20.3.63"
00:01:56 - SDL Info (0): Video bitrate: 9500 kbps
00:01:56 - SDL Info (0): Desired audio buffer: 240 samples (960 bytes)
00:01:56 - SDL Info (0): Obtained audio buffer: 240 samples (960 bytes)
00:01:56 - SDL Info (0): Audio channel count: 2
00:01:56 - SDL Info (0): Audio channel mask: 3
00:01:56 - SDL Info (0): V-sync disabled
00:01:56 - SDL Info (0): Windowed mode with DWM running
00:01:56 - SDL Info (0): Windowed: 1 | Present Interval: 80000000
00:01:56 - SDL Info (0): Avoiding IDirectXVideoProcessor API on Intel GPU
00:01:56 - SDL Info (0): Detected GPU: Intel(R) HD Graphics (8086:22b1)
00:01:56 - SDL Info (0): GPU driver: igdumdim64.dll 20.19.15.4703
00:01:56 - SDL Info (0): GPU decoding for format 100 is blocked due to hardware limitations
00:01:56 - SDL Info (0): Detected GPU 0: Intel(R) HD Graphics (8086:22b1)
00:01:56 - SDL Info (0): GPU decoding for format 100 is blocked due to hardware limitations
00:01:56 - SDL Info (0): Using SDL renderer
00:01:56 - FFmpeg: [hevc @ 0000018F1BD63D00] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0
00:01:56 - FFmpeg: [hevc @ 0000018F1BD63D00] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0
00:01:56 - FFmpeg: [hevc @ 0000018F1BD63D00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0
00:01:56 - FFmpeg: [hevc @ 0000018F1BD63D00] nal_unit_type: 21(CRA_NUT), nuh_layer_id: 0, temporal_id: 0
00:01:56 - FFmpeg: [hevc @ 0000018F1BD63D00] Decoding VPS
00:01:56 - FFmpeg: [hevc @ 0000018F1BD63D00] Main profile bitstream
00:01:56 - FFmpeg: [hevc @ 0000018F1BD63D00] Decoding SPS
00:01:56 - FFmpeg: [hevc @ 0000018F1BD63D00] Main profile bitstream
00:01:56 - FFmpeg: [hevc @ 0000018F1BD63D00] Decoding VUI
00:01:56 - FFmpeg: [hevc @ 0000018F1BD63D00] Decoding PPS
00:01:56 - FFmpeg: [hevc @ 0000018F1BD63D00] Format yuv420p chosen by get_format().
00:01:56 - FFmpeg: [hevc @ 0000018F1BD63D00] Output frame with POC 3.
00:01:56 - FFmpeg: [hevc @ 0000018F1BD63D00] Decoded frame with POC 3.
00:01:56 - SDL Info (0): FFmpeg-based video decoder chosen
00:01:56 - SDL Info (0): V-sync disabled
00:01:56 - SDL Info (0): Windowed mode with DWM running
00:01:56 - SDL Info (0): Windowed: 1 | Present Interval: 80000000
00:01:56 - SDL Info (0): Avoiding IDirectXVideoProcessor API on Intel GPU
00:01:56 - SDL Info (0): Detected GPU: Intel(R) HD Graphics (8086:22b1)
00:01:56 - SDL Info (0): GPU driver: igdumdim64.dll 20.19.15.4703
00:01:56 - SDL Info (0): Detected buggy Intel GPU driver installed. Update your Intel GPU driver to enable HEVC!
00:01:56 - SDL Info (0): Using DXVA2 accelerated renderer
00:01:56 - FFmpeg: [h264 @ 0000018F205219C0] nal_unit_type: 7(SPS), nal_ref_idc: 3
00:01:56 - FFmpeg: [h264 @ 0000018F205219C0] nal_unit_type: 8(PPS), nal_ref_idc: 3
00:01:56 - FFmpeg: [h264 @ 0000018F205219C0] nal_unit_type: 5(IDR), nal_ref_idc: 3
00:01:56 - FFmpeg: [h264 @ 0000018F205219C0] nal_unit_type: 5(IDR), nal_ref_idc: 3
00:01:56 - FFmpeg: [h264 @ 0000018F205219C0] nal_unit_type: 5(IDR), nal_ref_idc: 3
00:01:56 - FFmpeg: [h264 @ 0000018F205219C0] nal_unit_type: 5(IDR), nal_ref_idc: 3
00:01:56 - FFmpeg: [h264 @ 0000018F205219C0] Format dxva2_vld chosen by get_format().
00:01:56 - FFmpeg: [h264 @ 0000018F205219C0] Format dxva2_vld requires hwaccel initialisation.
00:01:56 - FFmpeg: [h264 @ 0000018F205219C0] Reinit context to 1280x720, pix_fmt: dxva2_vld
00:01:56 - SDL Info (0): DXVA2 decoder surface high-water mark: 0
00:01:56 - SDL Info (0): FFmpeg-based video decoder chosen
00:01:56 - SDL Info (0): Desired audio buffer: 240 samples (960 bytes)
00:01:56 - SDL Info (0): Obtained audio buffer: 240 samples (960 bytes)
00:01:56 - Qt Info: Found "gamecontrollerdb.txt" at "D:/Moonlight/cache/gamecontrollerdb.txt"
00:01:56 - SDL Info (0): Loaded 439 new gamepad mappings
00:01:56 - SDL Info (0): V-sync disabled
00:01:56 - SDL Info (0): Windowed mode with DWM running
00:01:56 - SDL Info (0): Windowed: 1 | Present Interval: 80000000
00:01:56 - SDL Info (0): Avoiding IDirectXVideoProcessor API on Intel GPU
00:01:56 - SDL Info (0): Detected GPU: Intel(R) HD Graphics (8086:22b1)
00:01:56 - SDL Info (0): GPU driver: igdumdim64.dll 20.19.15.4703
00:01:56 - SDL Info (0): Detected buggy Intel GPU driver installed. Update your Intel GPU driver to enable HEVC!
00:01:56 - SDL Info (0): Using DXVA2 accelerated renderer
00:01:56 - FFmpeg: [h264 @ 0000018F20521D80] nal_unit_type: 7(SPS), nal_ref_idc: 3
00:01:56 - FFmpeg: [h264 @ 0000018F20521D80] nal_unit_type: 8(PPS), nal_ref_idc: 3
00:01:56 - FFmpeg: [h264 @ 0000018F20521D80] nal_unit_type: 5(IDR), nal_ref_idc: 3
00:01:56 - FFmpeg: [h264 @ 0000018F20521D80] nal_unit_type: 5(IDR), nal_ref_idc: 3
00:01:56 - FFmpeg: [h264 @ 0000018F20521D80] nal_unit_type: 5(IDR), nal_ref_idc: 3
00:01:56 - FFmpeg: [h264 @ 0000018F20521D80] nal_unit_type: 5(IDR), nal_ref_idc: 3
00:01:56 - FFmpeg: [h264 @ 0000018F20521D80] Format dxva2_vld chosen by get_format().
00:01:56 - FFmpeg: [h264 @ 0000018F20521D80] Format dxva2_vld requires hwaccel initialisation.
00:01:56 - FFmpeg: [h264 @ 0000018F20521D80] Reinit context to 1280x720, pix_fmt: dxva2_vld
00:01:56 - SDL Info (0): DXVA2 decoder surface high-water mark: 0
00:01:56 - SDL Info (0): FFmpeg-based video decoder chosen
00:01:57 - Qt Info: Found "gamecontrollerdb.txt" at "D:/Moonlight/cache/gamecontrollerdb.txt"
00:01:57 - SDL Info (0): Loaded 439 new gamepad mappings
00:01:58 - SDL Info (0): Found host supported resolution: 1920x1080
00:01:58 - Qt Info: Executing request: "https://35.139.40.190:47984/launch?uniqueid=0123456789ABCDEF&uuid=5fdd983a298e4d97bcbc3c28c524b3c4&appid=2035986993&mode=1920x1080x60&additionalStates=1&sops=1&rikey=aae4e35c9b646fc6420ea0b99d4745af&rikeyid=369992988&localAudioPlayMode=1&surroundAudioInfo=196610&remoteControllersBitmap=1&gcmap=1"
00:02:13 - Qt Warning: "launch" request failed with error QNetworkReply::InternalServerError
00:02:13 - Qt Info: Found "gamecontrollerdb.txt" at "D:/Moonlight/cache/gamecontrollerdb.txt"
00:02:13 - SDL Info (0): Loaded 439 new gamepad mappings
00:02:35 - Qt Info: "DESKTOP-LM6KUMP" is now offline
00:02:39 - Qt Info: "DESKTOP-LM6KUMP" is now online at "35.139.40.190:47989"

@cgutman
Copy link
Member

cgutman commented Jul 16, 2022

What log do you need? The client or the host, because the mapping on the client is correct m. It’s the host that is getting the wrong inputs.

By "correct on the client", you mean it works properly within the Moonlight UI?

Moonlight itself is just a client, so the logs would be from the host. Nvidia's software is the host.

That log looks like a different issue. The stream didn't even start due to an error from GeForce Experience, so it doesn't have any relevant info on controller mappings. Once you get a log from a successful stream, I recommend attaching it to the GitHub issue rather than pasting it, because it's more readable.

@Marcus101RR
Copy link
Author

Marcus101RR commented Jul 16, 2022

Moonlight-1657976205.log

Not sure where you get the logs for the host...

If its suppose to be temp there is nothing there on the host machine.

found it
Moonlight_Game_Streaming_Client_20220716095348.log

@cgutman
Copy link
Member

cgutman commented Jul 17, 2022

I see that you're running a a very old version of Windows on the client, which may be a factor here.

SDL is recognizing the gamepad as a generic Xbox One gamepad using the RawInput driver which is what I'd expect for the scenario you've described. I suspect either controller firmware or older OS/driver versions might be causing the format of input reports to not match what SDL expects.

What version of Windows is running on your client PC? Have you updated the firmware on your controller recently?

Not sure where you get the logs for the host...

You don't need Moonlight on the host. Moonlight is just a client. Hosting is handled by NVIDIA GeForce Experience, which is part of your NVIDIA drivers and separate from Moonlight.

@ljo123
Copy link

ljo123 commented Aug 30, 2022

I'm having the same issue. Windows 10 host with GeForce Experience, Pop OS Linux client, Xbox One controller connected with bluetooth. The buttons and controls are transposed like in the top post (right stick maps to triggers etc). I tried using the gamepad config tool and saving a working mapping (on the client side) as environment variable. Strangely a xbox 360 controller works perfectly fine on both client and host sides.

Edit: google stadia controller also works fine.

@JMTK
Copy link

JMTK commented Mar 24, 2023

Just popping in to say I had the same issue, and I reverted my Xbox One controller's firmware through the Xbox Accessories app on Windows https://support.xbox.com/en-US/help/hardware-network/accessories/controller-firmware-reversion

That ended up fixing it for me.

It specifically affected Bluetooth controllers not the legacy Xbox one controller

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants