ohai, long time no see!
a small thread of gaming updates that I’m excited for you to try out in the iOS 18 beta and macOS Sequoia beta happening now...
Game Porting Toolkit 2 - https://developer.apple.com/games/game-porting-toolkit/ with improvements to instruction and graphics API emulation (hello, ray tracing!), more games run, and they run faster and with more accuracy. This year even more tools and dedicated sample code based on your feedback about what makes writing and porting high-end games easier.
Game Porting Toolkit - Games - Apple Developer

The Game Porting Toolkit makes it easier than ever to bring games to the unified gaming platform across Mac, iPad, and iPhone.

Apple Developer
Game Mode on iOS - maximizes gameplay performance by minimizing background activity, while dramatically reducing input and audio latency. https://www.macrumors.com/2024/06/13/ios-18-game-mode-faster-iphone/
iOS 18's New Game Mode Makes iPhones Faster and More Responsive

With iOS 18, Apple is adding Game Mode to iPhone. A similar Game Mode was added to macOS Sonoma last year, and the same performance-enhancing...

MacRumors
Wired Xbox Controllers - speaking of low-latency game input, one of the most-requested features for Xbox fans is here - use your Xbox controller on macOS, iOS, and iPadOS with a wire. (Hey, how was that any different from other wired controllers? Xbox uses a custom fast USB protocol called GIP instead of the USB-HID standard. But now you don’t have to care.)

@natbro Hi! I accidentally stumbled upon this post. I've been doing a pet project on C# for a while now. The task is simple. I want to send a packet to my Xbox Series controller to turn it off. I tried using libusbdotnet and writing a device handle but to no avail.

Is there a way to get a short consult from you?

Heya @magrega - when wired there is no shutdown packet that I’m remembering. Wirelessly (Bluetooth attached for mobile and Mac - on windows could be custom wireless) the GIP command is 0x08 0x02 0x00 (system command, power off, padding/reserved). The chromium sources and the Linux xbox-gip-driver sources are your best options for public documentation.

@natbro Thank you for finding the time to reply. I've been reading gip docs from microsoft extensively and the command I've managed to come up with looks like this:
0x05 Command ID
0x20 Flags
0x01 Sequence number
0x01 payload length
0x04 payload. Power Off command.

Seeing that your bytes are different I am assuming that Xbox Controllers don't fully adhere to gip docs, is that right?
Also what tools can I use to send commands?

I've read this:
https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-gipusb/8eaad00e-97e6-4ae0-86fa-471131649d70

[MS-GIPUSB]: Set Device State Command

Host to device message used to set the state of the device. The following table shows the downstream GIP Set Device State