discord / discord-api-docs

Official Discord API Documentation
https://discord.com/developers/docs/intro
Other
6k stars 1.26k forks source link

ARM and ARM64 Game SDK #1285

Closed sylveon closed 3 years ago

sylveon commented 4 years ago

In my app, I want to use the Game SDK to provide various features to my users (my primary intent as of now is to use to it to launch the client with an invite to my server upon user action rather than opening a browser with an invite).

Microsoft is starting to launch ARM devices, and the Surface Pro X is already in the hands of some of my users, so I have started to see user demand for ARM versions of my application.

Due to some external and architectural constraints, I need a native version of my app for ARM64 and ARM, the x86 emulator Microsoft provides on ARM devices does not work with my app hence the aforementioned user demand.

Since all major C++ compilers support targeting ARM and ARM64, would it be possible to also distribute an ARM and ARM64 Game SDK build in the official .zip download?

As far as I understand the RPC architecture used, such a Game SDK would still be able to interact with a Discord client that uses the x86 emulator.

msciotti commented 4 years ago

Thanks for the request; much appreciated. I'll chat with the team when we get back from break and ask about feasibility. I have nothing explicitly on the roadmap right now for ARM/ARM64, and I imagine as far as desktop goes, it's a limited use case. It also depends on what sort of version of our app we distribute on those kinds of architectures, which I'm not sure of off the top of my head.

I think in general there's been valid asks for a way to get GameSDK functionality across more devices and architectures, which I think is a great idea, especially if we could do it in a way that wouldn't require us to hook up new build pipelines for new types of native SDKs.

sylveon commented 4 years ago

Note that only ARM64 is used by Microsoft going forward (last time 32-bits ARM was used is for the Surface RT line which is dead now) but I like to build my app against 32-bits ARM, even if only for validation. Distributing 32-bits ARM GameSDK is unneeded but appreciated.

sylveon commented 4 years ago

It also depends on what sort of version of our app we distribute on those kinds of architectures, which I'm not sure of off the top of my head.

Most probably is normal x86 version that is being emulated by the software x86 emulator on ARM64 Windows devices. This way, the Discord client mostly works as expected, with the exception of the overlay on ARM64 games (if those even exist).

smorey2 commented 3 years ago

I would like to add to this. My application is running on the oculus quest. Which is also an arm64 arch.

Myriachan commented 3 years ago

ARM64 is now a lot more important with Macs now going ARM64. There are already a few games that run on native ARM64 Mac. You might as well also support Windows ARM64 while you're at it, since it's probably not hard for the Discord SDK.

If the DLL were open-source, I'd do it myself.

Almighty-Alpaca commented 3 years ago

Can only agree with the people who commented before me. I know that the original issue is for ARM on Windows but now that Apple Silicon is in everyone's hands we really need an ARM Build for OSX. The number of users I can only tell "I can't help you because Discord doesn't support Apple Silicon at the moment" is increasing every day.

Is it possible to revisit this proposal in the light of M1?

fxcvd commented 3 years ago

Please create an assembly for arm64. I am using macbook air m1 and cannot compile the application due to lack of .dylib file for arm64

sorry for my english, i use google translate

chasemw1 commented 3 years ago

Support for this ought to be underway especially since apple has announced new computers running their M1 SoC - with ARM. Every day this is put aside only brings about more dissatisfied users.