upvote
Answering a now-deleted answer regarding PS4 controllers working out of the box on Windows:

PS4 controller support on Windows used to be a huge hassle, because you had to install DS4Windows to make it work. Nowadays, Windows automatically downloads the proprietary drivers to make it work, but I'm not sure if that covers the PS4 controller-specific features such as the touchpad, gyroscope, lightbar or if it enables XInput support. I think the PS4 controller situation supports what OP above is claiming.

reply
Can Valve do the same with their controller? Release a Windows driver so that I can use it with my emulators?
reply
You may be able to use SC-Controller: https://github.com/C0rn3j/sc-controller

Note: the Windows support is a WIP and the devs don't have the new Steam Controller

reply
You would just need to add your emulators as non-steam games in Steam. Then you get controller support.
reply
But then I would have to install Steam, create an account, have it running in the background. And in case of macOS I would have to install Rosetta as well.

It would be better if they released drivers instead.

reply
I don’t think steam needs Rosetta anymore.
reply
Just checked. Still needs it. I don't have Rosetta installed and I don't want to install Rosetta just to be able to use a game controller with DuckStation or Aethersx2. When I can also connect a PS4 controller and not need any of that.
reply
You have an old Steam.app stub, download the latest one and rosetta will not be necessary.

If you had rosetta it would be able to self-update to the new universal binary, without it you have to do this one update manually.

reply
I downloaded from here and I instantly get a pop-up about requiring Rosetta.

https://store.steampowered.com/about/

reply
Odd if true. It's clearly a universal binary, not sure what's going wrong for you.

$ file steam_osx

steam_osx: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64]

steam_osx (for architecture x86_64): Mach-O 64-bit executable x86_64

steam_osx (for architecture arm64): Mach-O 64-bit executable arm64

reply
This appears to only be in the Steam beta - the version available for download still requires Rosetta. There doesn't seem to be a direct download for the beta - you have to opt into it after installing Steam.
reply
Not the OP, but I just downloaded the latest stub from an M2 MacBook Air using Safari and it appears to be an x86_64-only binary:

  % file /Volumes/Steam/Steam.app/Contents/MacOS/steam_osx 
  /Volumes/Steam/Steam.app/Contents/MacOS/steam_osx: Mach-O universal binary with 1 architecture: [x86_64:Mach-O 64-bit executable x86_64]
  /Volumes/Steam/Steam.app/Contents/MacOS/steam_osx (for architecture x86_64): Mach-O 64-bit executable x86_64
reply
CMD+I on Steam.app says: "Application (Intel)".

% file steam_osx

steam_osx: Mach-O universal binary with 1 architecture: [x86_64:Mach-O 64-bit executable x86_64]

steam_osx (for architecture x86_64): Mach-O 64-bit executable x86_64

reply
The Steam client is free and well-supported on all gaming OSes. It also provides Steam Input, which ensures customization parity with Steam Deck. In Valve's eyes, cross-platform support is already here.

A custom driver could always be made by the community. It feels a little absurd to expect Valve to write and support four different gamepad drivers, when they only need one.

reply
> A custom driver could always be made by the community. It feels a little absurd to expect Valve to write and support four different gamepad drivers, when they only need one.

That is what the entire industry does though. Imagine if you needed an application running in the background for every peripheral you have, for your monitor, for your GPU, for running a hotspot on your smartphone over USB. Imagine having to install a piece of software to access a thumb drive. And that all those applications also needed user accounts. That is the entire point of having drivers.

reply
For complex gamepads, the entire industry most certainly doesn't do that. It's not a class-compliant device, the preexisting OS-level mechanisms for Xinput and DirectInput do not accommodate anything but fight rudimentary fight sticks. The same goes for the original touchpad-based Steam Controller.
reply
Windows supports Generic HID game controllers with 8 axis and 128 buttons already. And a few hat switches. And if your devices needs more than that, you can enumerate as multiple devices if needed. Not sure if there is a HID type for rumble support though. So, there's no reason a Steam Controller couldn't operate without a special driver. Some functionality may require custom software to support though. I have several Virpil controls and the entire setup will function as a simple set of generic HID devices. The only special bit is some software you can optionally run to control advance per-application remapping. I don't have a Steam Controller, so I have no idea if it can show up as a generic HID controller or not.
reply
It's a bit more tricky, a Generic HID just gives you a DirectInput device, while reasonably modern games use Xinput. Microsoft never provided a way to map DirectInput devices to Xinput. For Xinput to work a Microsoft specific USB protocol is needed, not a Generic HID device. Many third party controllers have a switch or button combination to switch between XInput and DirectInput modes for this reason.

Microsoft has a new API with GameInput that addresses this situation and allows mapping Generic HID devices onto game controller via config file, but it doesn't work retroactively, it only works for games that use the new GameInput API.

Valve could of course provide a way to switch and emulate other protocols too, just like other third party vendors do, but there is no USB standard that makes things "just work" in Windows when it comes to gamepads, you always need extra drivers, USB modes or other hacks.

On consoles the situation is even worse, modern consoles deliberately lock out any unlicensed third party controller. Playstation3 was the first and last console that supported standard USB controller, while PS5 doesn't even support PS4 controller.

reply
2 thumbsticks is already 4 axes. Add 2 triggers and it's 6 axes. Add gyroscope and it's 9 axes. That's more than 8. And I haven't mentioned the touchpads.
reply
> Considering Steam is the launcher most people use for most games, that's a totally reasonable tack.

That's exactly how you create a walled garden. You build a garden. Get people in. Then wall it up.

reply
It's an ecosystem problem though.

If all the games respected HID and Valve did something proprietary, I would understand the skepticism. The truth is that most games are engineered with platform integration (e.g. for achievements, controller mapping, etc.), and fallback to the Xbox API. It's reasonable for Valve to sell a controller that takes full advantage of their platform.

Also, Valve's primary OS is Linux-based. There's surely either already a module upstream in the kernel or one is coming soon. That is: open source software to take full advantage of this controller. That's not the same thing as a walled garden.

reply
Seeing as the original Steam Controllers kernel drivers were community reverse engineered rather than Valve contributed, I don't know if I believe in them to make one for the new one either: https://www.phoronix.com/news/Steam-Controller-RE-Kernel
reply
That surprises me. I knew there was a hid-steam, but I didn't know its provenance.

FWIW, it appears Valve is sponsoring development now. Vicki, one of the maintainers of the SteamOS kernel, is the most recent contributor to https://github.com/torvalds/linux/blob/master/drivers/hid/hi...

It's too annoying to search more recent linux-input submissions to see if anything has been pushed upstream yet specific to the new controller.

reply
That spliced in USB hub looks messy. Does a new controller necessitate Xinput? I assume Windows still supports DirectInput, which was used in the past with more complex controllers. I'd recently brought up "JOY.CPL" in Windows 10. It would hinge on whether DirectInput can talk to games that expect Xinput.
reply
deleted
reply