isXander / Controlify

Another controller mod - for fabric!
https://www.isxander.dev/mods/controlify
GNU Lesser General Public License v3.0
142 stars 31 forks source link

[Controller Request] Stadia Controller in Bluetooth Mode #224

Open Scoop2389 opened 8 months ago

Scoop2389 commented 8 months ago

Controller name

Stadia Controller in Bluetooth mode

Controller VID & PID

Stadia Controller'#0-gamepad (000018d1, 00009400: Stadia Controller

Additional Information: This controller does seem to be fully supported in wired mode (with rumble and correct button art). However, when connecting via Bluetooth, there are a few issues:

  1. Requires recalibration every time the game is relaunched
  2. Missing vibration support
  3. Missing button maps: Base Profile Screenshot 2024 01 06 - 09 55 07 96 Relevant Log Entries:
    [09:54:57] [Render thread/WARN]: Failed to load texture: controlify:textures/gui/gamepad/stadia/left_stick_up.png
    java.io.FileNotFoundException: controlify:textures/gui/gamepad/stadia/left_stick_up.png
    at net.minecraft.class_5912.method_43043(class_5912.java:21) ~[client-intermediary.jar:?]
    at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
    at net.minecraft.class_5912.getResourceOrThrow(class_5912.java:21) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049$class_4006.method_18156(class_1049.java:83) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_18153(class_1049.java:58) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_4625(class_1049.java:29) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_24303(class_1060.java:96) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4616(class_1060.java:68) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4619(class_1060.java:118) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem._setShaderTexture(RenderSystem.java:1233) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem.setShaderTexture(RenderSystem.java:1226) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25295(class_332.java:442) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25297(class_332.java:433) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25293(class_332.java:417) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25290(class_332.java:429) ~[client-intermediary.jar:?]
    at dev.isxander.controlify.bindings.GamepadBind.draw(GamepadBind.java:34) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.controlify.gui.controllers.AbstractBindController$AbstractBindControllerElement.drawValueText(AbstractBindController.java:67) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.controllers.ControllerWidget.method_25394(ControllerWidget.java:50) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.OptionListWidget$OptionEntry.method_25343(OptionListWidget.java:295) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_44397(class_350.java:411) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_25311(ElementListWidgetExt.java:138) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_48579(class_350.java:184) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_48579(ElementListWidgetExt.java:48) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.tab.ListHolderWidget.method_48579(ListHolderWidget.java:37) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at net.minecraft.class_437.method_25394(class_437.java:121) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.YACLScreen.method_25394(YACLScreen.java:90) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_437.method_47413(class_437.java:110) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.mixinextras$bridge$method_47413$247(class_757.java) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.wrapOperation$bdn000$fabric-screen-api-v1$onRenderScreen(class_757.java:4611) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.method_3192(class_757.java:931) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1523(class_310.java:1327) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1514(class_310.java:888) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:265) ~[minecraft-1.20.4-client.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.3.jar:?]
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:130) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) ~[NewLaunch.jar:?]
    [09:54:57] [Render thread/INFO]: OpenGL debug message: id=1282, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_OPERATION error generated. <texture> is not a valid texture name.'
    [09:54:57] [Render thread/WARN]: Failed to load texture: controlify:textures/gui/gamepad/stadia/left_stick_down.png
    java.io.FileNotFoundException: controlify:textures/gui/gamepad/stadia/left_stick_down.png
    at net.minecraft.class_5912.method_43043(class_5912.java:21) ~[client-intermediary.jar:?]
    at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
    at net.minecraft.class_5912.getResourceOrThrow(class_5912.java:21) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049$class_4006.method_18156(class_1049.java:83) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_18153(class_1049.java:58) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_4625(class_1049.java:29) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_24303(class_1060.java:96) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4616(class_1060.java:68) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4619(class_1060.java:118) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem._setShaderTexture(RenderSystem.java:1233) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem.setShaderTexture(RenderSystem.java:1226) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25295(class_332.java:442) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25297(class_332.java:433) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25293(class_332.java:417) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25290(class_332.java:429) ~[client-intermediary.jar:?]
    at dev.isxander.controlify.bindings.GamepadBind.draw(GamepadBind.java:34) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.controlify.gui.controllers.AbstractBindController$AbstractBindControllerElement.drawValueText(AbstractBindController.java:67) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.controllers.ControllerWidget.method_25394(ControllerWidget.java:50) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.OptionListWidget$OptionEntry.method_25343(OptionListWidget.java:295) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_44397(class_350.java:411) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_25311(ElementListWidgetExt.java:138) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_48579(class_350.java:184) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_48579(ElementListWidgetExt.java:48) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.tab.ListHolderWidget.method_48579(ListHolderWidget.java:37) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at net.minecraft.class_437.method_25394(class_437.java:121) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.YACLScreen.method_25394(YACLScreen.java:90) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_437.method_47413(class_437.java:110) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.mixinextras$bridge$method_47413$247(class_757.java) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.wrapOperation$bdn000$fabric-screen-api-v1$onRenderScreen(class_757.java:4611) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.method_3192(class_757.java:931) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1523(class_310.java:1327) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1514(class_310.java:888) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:265) ~[minecraft-1.20.4-client.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.3.jar:?]
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:130) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) ~[NewLaunch.jar:?]
    [09:54:57] [Render thread/INFO]: OpenGL debug message: id=1282, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_OPERATION error generated. <texture> is not a valid texture name.'
    [09:54:57] [Render thread/WARN]: Failed to load texture: controlify:textures/gui/gamepad/stadia/left_stick_left.png
    java.io.FileNotFoundException: controlify:textures/gui/gamepad/stadia/left_stick_left.png
    at net.minecraft.class_5912.method_43043(class_5912.java:21) ~[client-intermediary.jar:?]
    at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
    at net.minecraft.class_5912.getResourceOrThrow(class_5912.java:21) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049$class_4006.method_18156(class_1049.java:83) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_18153(class_1049.java:58) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_4625(class_1049.java:29) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_24303(class_1060.java:96) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4616(class_1060.java:68) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4619(class_1060.java:118) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem._setShaderTexture(RenderSystem.java:1233) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem.setShaderTexture(RenderSystem.java:1226) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25295(class_332.java:442) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25297(class_332.java:433) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25293(class_332.java:417) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25290(class_332.java:429) ~[client-intermediary.jar:?]
    at dev.isxander.controlify.bindings.GamepadBind.draw(GamepadBind.java:34) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.controlify.gui.controllers.AbstractBindController$AbstractBindControllerElement.drawValueText(AbstractBindController.java:67) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.controllers.ControllerWidget.method_25394(ControllerWidget.java:50) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.OptionListWidget$OptionEntry.method_25343(OptionListWidget.java:295) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_44397(class_350.java:411) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_25311(ElementListWidgetExt.java:138) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_48579(class_350.java:184) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_48579(ElementListWidgetExt.java:48) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.tab.ListHolderWidget.method_48579(ListHolderWidget.java:37) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at net.minecraft.class_437.method_25394(class_437.java:121) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.YACLScreen.method_25394(YACLScreen.java:90) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_437.method_47413(class_437.java:110) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.mixinextras$bridge$method_47413$247(class_757.java) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.wrapOperation$bdn000$fabric-screen-api-v1$onRenderScreen(class_757.java:4611) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.method_3192(class_757.java:931) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1523(class_310.java:1327) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1514(class_310.java:888) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:265) ~[minecraft-1.20.4-client.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.3.jar:?]
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:130) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) ~[NewLaunch.jar:?]
    [09:54:57] [Render thread/INFO]: OpenGL debug message: id=1282, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_OPERATION error generated. <texture> is not a valid texture name.'
    [09:54:57] [Render thread/WARN]: Failed to load texture: controlify:textures/gui/gamepad/stadia/left_stick_right.png
    java.io.FileNotFoundException: controlify:textures/gui/gamepad/stadia/left_stick_right.png
    at net.minecraft.class_5912.method_43043(class_5912.java:21) ~[client-intermediary.jar:?]
    at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
    at net.minecraft.class_5912.getResourceOrThrow(class_5912.java:21) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049$class_4006.method_18156(class_1049.java:83) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_18153(class_1049.java:58) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_4625(class_1049.java:29) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_24303(class_1060.java:96) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4616(class_1060.java:68) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4619(class_1060.java:118) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem._setShaderTexture(RenderSystem.java:1233) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem.setShaderTexture(RenderSystem.java:1226) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25295(class_332.java:442) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25297(class_332.java:433) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25293(class_332.java:417) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25290(class_332.java:429) ~[client-intermediary.jar:?]
    at dev.isxander.controlify.bindings.GamepadBind.draw(GamepadBind.java:34) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.controlify.gui.controllers.AbstractBindController$AbstractBindControllerElement.drawValueText(AbstractBindController.java:67) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.controllers.ControllerWidget.method_25394(ControllerWidget.java:50) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.OptionListWidget$OptionEntry.method_25343(OptionListWidget.java:295) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_44397(class_350.java:411) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_25311(ElementListWidgetExt.java:138) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_48579(class_350.java:184) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_48579(ElementListWidgetExt.java:48) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.tab.ListHolderWidget.method_48579(ListHolderWidget.java:37) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at net.minecraft.class_437.method_25394(class_437.java:121) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.YACLScreen.method_25394(YACLScreen.java:90) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_437.method_47413(class_437.java:110) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.mixinextras$bridge$method_47413$247(class_757.java) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.wrapOperation$bdn000$fabric-screen-api-v1$onRenderScreen(class_757.java:4611) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.method_3192(class_757.java:931) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1523(class_310.java:1327) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1514(class_310.java:888) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:265) ~[minecraft-1.20.4-client.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.3.jar:?]
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:130) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) ~[NewLaunch.jar:?]
    [09:54:57] [Render thread/INFO]: OpenGL debug message: id=1282, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_OPERATION error generated. <texture> is not a valid texture name.'
    [09:54:57] [Render thread/WARN]: Failed to load texture: controlify:textures/gui/gamepad/stadia/right_stick_up.png
    java.io.FileNotFoundException: controlify:textures/gui/gamepad/stadia/right_stick_up.png
    at net.minecraft.class_5912.method_43043(class_5912.java:21) ~[client-intermediary.jar:?]
    at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
    at net.minecraft.class_5912.getResourceOrThrow(class_5912.java:21) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049$class_4006.method_18156(class_1049.java:83) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_18153(class_1049.java:58) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_4625(class_1049.java:29) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_24303(class_1060.java:96) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4616(class_1060.java:68) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4619(class_1060.java:118) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem._setShaderTexture(RenderSystem.java:1233) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem.setShaderTexture(RenderSystem.java:1226) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25295(class_332.java:442) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25297(class_332.java:433) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25293(class_332.java:417) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25290(class_332.java:429) ~[client-intermediary.jar:?]
    at dev.isxander.controlify.bindings.GamepadBind.draw(GamepadBind.java:34) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.controlify.gui.controllers.AbstractBindController$AbstractBindControllerElement.drawValueText(AbstractBindController.java:67) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.controllers.ControllerWidget.method_25394(ControllerWidget.java:50) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.OptionListWidget$OptionEntry.method_25343(OptionListWidget.java:295) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_44397(class_350.java:411) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_25311(ElementListWidgetExt.java:138) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_48579(class_350.java:184) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_48579(ElementListWidgetExt.java:48) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.tab.ListHolderWidget.method_48579(ListHolderWidget.java:37) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at net.minecraft.class_437.method_25394(class_437.java:121) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.YACLScreen.method_25394(YACLScreen.java:90) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_437.method_47413(class_437.java:110) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.mixinextras$bridge$method_47413$247(class_757.java) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.wrapOperation$bdn000$fabric-screen-api-v1$onRenderScreen(class_757.java:4611) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.method_3192(class_757.java:931) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1523(class_310.java:1327) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1514(class_310.java:888) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:265) ~[minecraft-1.20.4-client.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.3.jar:?]
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:130) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) ~[NewLaunch.jar:?]
    [09:54:57] [Render thread/INFO]: OpenGL debug message: id=1282, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_OPERATION error generated. <texture> is not a valid texture name.'
    [09:54:57] [Render thread/WARN]: Failed to load texture: controlify:textures/gui/gamepad/stadia/right_stick_down.png
    java.io.FileNotFoundException: controlify:textures/gui/gamepad/stadia/right_stick_down.png
    at net.minecraft.class_5912.method_43043(class_5912.java:21) ~[client-intermediary.jar:?]
    at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
    at net.minecraft.class_5912.getResourceOrThrow(class_5912.java:21) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049$class_4006.method_18156(class_1049.java:83) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_18153(class_1049.java:58) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_4625(class_1049.java:29) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_24303(class_1060.java:96) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4616(class_1060.java:68) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4619(class_1060.java:118) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem._setShaderTexture(RenderSystem.java:1233) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem.setShaderTexture(RenderSystem.java:1226) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25295(class_332.java:442) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25297(class_332.java:433) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25293(class_332.java:417) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25290(class_332.java:429) ~[client-intermediary.jar:?]
    at dev.isxander.controlify.bindings.GamepadBind.draw(GamepadBind.java:34) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.controlify.gui.controllers.AbstractBindController$AbstractBindControllerElement.drawValueText(AbstractBindController.java:67) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.controllers.ControllerWidget.method_25394(ControllerWidget.java:50) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.OptionListWidget$OptionEntry.method_25343(OptionListWidget.java:295) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_44397(class_350.java:411) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_25311(ElementListWidgetExt.java:138) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_48579(class_350.java:184) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_48579(ElementListWidgetExt.java:48) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.tab.ListHolderWidget.method_48579(ListHolderWidget.java:37) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at net.minecraft.class_437.method_25394(class_437.java:121) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.YACLScreen.method_25394(YACLScreen.java:90) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_437.method_47413(class_437.java:110) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.mixinextras$bridge$method_47413$247(class_757.java) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.wrapOperation$bdn000$fabric-screen-api-v1$onRenderScreen(class_757.java:4611) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.method_3192(class_757.java:931) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1523(class_310.java:1327) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1514(class_310.java:888) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:265) ~[minecraft-1.20.4-client.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.3.jar:?]
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:130) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) ~[NewLaunch.jar:?]
    [09:54:57] [Render thread/INFO]: OpenGL debug message: id=1282, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_OPERATION error generated. <texture> is not a valid texture name.'
    [09:54:57] [Render thread/WARN]: Failed to load texture: controlify:textures/gui/gamepad/stadia/right_stick_left.png
    java.io.FileNotFoundException: controlify:textures/gui/gamepad/stadia/right_stick_left.png
    at net.minecraft.class_5912.method_43043(class_5912.java:21) ~[client-intermediary.jar:?]
    at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
    at net.minecraft.class_5912.getResourceOrThrow(class_5912.java:21) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049$class_4006.method_18156(class_1049.java:83) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_18153(class_1049.java:58) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_4625(class_1049.java:29) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_24303(class_1060.java:96) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4616(class_1060.java:68) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4619(class_1060.java:118) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem._setShaderTexture(RenderSystem.java:1233) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem.setShaderTexture(RenderSystem.java:1226) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25295(class_332.java:442) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25297(class_332.java:433) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25293(class_332.java:417) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25290(class_332.java:429) ~[client-intermediary.jar:?]
    at dev.isxander.controlify.bindings.GamepadBind.draw(GamepadBind.java:34) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.controlify.gui.controllers.AbstractBindController$AbstractBindControllerElement.drawValueText(AbstractBindController.java:67) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.controllers.ControllerWidget.method_25394(ControllerWidget.java:50) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.OptionListWidget$OptionEntry.method_25343(OptionListWidget.java:295) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_44397(class_350.java:411) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_25311(ElementListWidgetExt.java:138) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_48579(class_350.java:184) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_48579(ElementListWidgetExt.java:48) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.tab.ListHolderWidget.method_48579(ListHolderWidget.java:37) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at net.minecraft.class_437.method_25394(class_437.java:121) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.YACLScreen.method_25394(YACLScreen.java:90) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_437.method_47413(class_437.java:110) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.mixinextras$bridge$method_47413$247(class_757.java) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.wrapOperation$bdn000$fabric-screen-api-v1$onRenderScreen(class_757.java:4611) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.method_3192(class_757.java:931) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1523(class_310.java:1327) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1514(class_310.java:888) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:265) ~[minecraft-1.20.4-client.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.3.jar:?]
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:130) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) ~[NewLaunch.jar:?]
    [09:54:57] [Render thread/INFO]: OpenGL debug message: id=1282, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_OPERATION error generated. <texture> is not a valid texture name.'
    [09:54:57] [Render thread/WARN]: Failed to load texture: controlify:textures/gui/gamepad/stadia/right_stick_right.png
    java.io.FileNotFoundException: controlify:textures/gui/gamepad/stadia/right_stick_right.png
    at net.minecraft.class_5912.method_43043(class_5912.java:21) ~[client-intermediary.jar:?]
    at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
    at net.minecraft.class_5912.getResourceOrThrow(class_5912.java:21) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049$class_4006.method_18156(class_1049.java:83) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_18153(class_1049.java:58) ~[client-intermediary.jar:?]
    at net.minecraft.class_1049.method_4625(class_1049.java:29) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_24303(class_1060.java:96) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4616(class_1060.java:68) ~[client-intermediary.jar:?]
    at net.minecraft.class_1060.method_4619(class_1060.java:118) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem._setShaderTexture(RenderSystem.java:1233) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem.setShaderTexture(RenderSystem.java:1226) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25295(class_332.java:442) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25297(class_332.java:433) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25293(class_332.java:417) ~[client-intermediary.jar:?]
    at net.minecraft.class_332.method_25290(class_332.java:429) ~[client-intermediary.jar:?]
    at dev.isxander.controlify.bindings.GamepadBind.draw(GamepadBind.java:34) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.controlify.gui.controllers.AbstractBindController$AbstractBindControllerElement.drawValueText(AbstractBindController.java:67) ~[Controlify-1.7.0+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.controllers.ControllerWidget.method_25394(ControllerWidget.java:50) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at dev.isxander.yacl3.gui.OptionListWidget$OptionEntry.method_25343(OptionListWidget.java:295) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_44397(class_350.java:411) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_25311(ElementListWidgetExt.java:138) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_350.method_48579(class_350.java:184) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.ElementListWidgetExt.method_48579(ElementListWidgetExt.java:48) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.tab.ListHolderWidget.method_48579(ListHolderWidget.java:37) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_339.method_25394(class_339.java:66) ~[client-intermediary.jar:?]
    at net.minecraft.class_437.method_25394(class_437.java:121) ~[client-intermediary.jar:?]
    at dev.isxander.yacl3.gui.YACLScreen.method_25394(YACLScreen.java:90) ~[yet-another-config-lib-fabric-3.3.1+1.20.4.jar:?]
    at net.minecraft.class_437.method_47413(class_437.java:110) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.mixinextras$bridge$method_47413$247(class_757.java) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.wrapOperation$bdn000$fabric-screen-api-v1$onRenderScreen(class_757.java:4611) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.method_3192(class_757.java:931) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1523(class_310.java:1327) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1514(class_310.java:888) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:265) ~[minecraft-1.20.4-client.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.3.jar:?]
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:130) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) ~[NewLaunch.jar:?]
    [09:54:57] [Render thread/INFO]: OpenGL debug message: id=1282, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_OPERATION error generated. <texture> is not a valid texture name.'
andreas5232 commented 8 months ago

Which Minecraft Version and which Controlify version are you using? I'm running Minecraft on Linux here and the Stadia Controller seems to be working using Bluetooth except for the haptic feedback.

This is what I'm currently using:

Scoop2389 commented 8 months ago

Hello! I am currently using Minecraft version 1.20.4 and am installing mods through Prism Launcher. I originally found the issue when playing with the Fabulously Optimized modpack, but have recreated it in a controlled instance with only the following mods:

andreas5232 commented 7 months ago

For me there was only one recalibration needed at the first start with the new controller. The mappings seem to be fine and for me only the vibration support is missing. The controller definitely supports it and I can successfully test it using: https://hardwaretester.com/gamepad

Does anybody know how we can adjust the controller configs, such that vibration is enabled?

lmore377 commented 7 months ago

I got the controller fully working, including vibration. Turns out that the linux kernel only recently got full support for the controller and any version below 6.6 is using the generic HID module. I switched my Debian system to the testing repos which gave me kernel 6.6 but apparently debian doesn't include the stadia controller module by default. Here's how I built it, YMMV:

sudo apt install build-essential linux-source linux-headers-amd64 libncurses-dev
cd && mkdir kernel && cd kernel
tar xf /usr/src/linux-source-6.6.tar.xz
cd linux-source-6.6
cp /lib/modules/6.6.13-amd64/build/.config .
cp /lib/modules/6.6.13-amd64/build/Module.symvers .
make menuconfig # Select Stadia module in Device Drivers > HID bus support > Special HID drivers > Google Stadia force feedback
make scripts prepare modules_prepare
make M=drivers/hid
sudo cp drivers/hid/hid-google-stadiaff.ko /lib/modules/6.6.13-amd64/kernel/drivers/hid/
sudo depmod -a
sudo shutdown -r now # Not required but doesn't hurt

After all that the controller should just work. When you connect it, you should see lines like this in dmesg:

[   45.505846] stadia 0005:18D1:9400.0004: input,hidraw3: BLUETOOTH HID v1.00 Gamepad [Stadia9GZQ-56c4] on d4:3b:04:xx:xx:xx
[   45.505852] stadia 0005:18D1:9400.0004: Force Feedback for Google Stadia controller

Sidenote, before all this the controller was already working fine, albeit without haptics. Only needed calibration once and all the buttons were 1:1 with the UI.

isXander commented 7 months ago

Another thing you can try is joining my discord server (https://short.isxander.dev/discord) and trying out the latest test build (find it in the forum). It upgrades the native library used that may help with controller compatibility.