ninstar / Rich-Presence-U

Display your Nintendo games on Discord.
GNU General Public License v3.0
132 stars 24 forks source link

macOS binary broken #16

Closed OfficialCRUGG closed 2 years ago

OfficialCRUGG commented 2 years ago

Hey there, so I just bought this software for 5$ just to find out the macOS binary simply doesn't work... I'm on macOS Monterey 12.3.1 with an M1 processor

image

OfficialCRUGG commented 2 years ago

Update: I was able to get it working by running xattr -cr Rich\ Presence\ U.app in the terminal. For the time being, you might want to mention this somewhere. Potentially in a readme inside the zip.

For the issue itself: I believe this is due to the file being zipped. This could be circumvented by creating a DMG Installer (view the image below for reference on what a DMG installer is) image


Update 2: Trying to connect to Discord causes a crash. I could provide the full problem details privately if these could be helpful. image

ninstar commented 2 years ago

I made it clear in the release note here and on itch.io that the macOS port was still considered experimental, I wasn't able to test it myself. The full report would be helpful, but I can't promise that I can patch it anytime soon, as I'm unable to use my computer at the moment.

ninstar commented 2 years ago

I was talking to a friend about this, and I believe the problem is that you are using an ARM64 processor, everything has been tested on x86-64 processors, as I am not familiar with Apple hardware I was not aware of them using that architecture for their Mac processors.

OfficialCRUGG commented 2 years ago

The application is indeed running through Rosetta, which is Apple's emulator for Non-ARM apps to run on their M1 and M2 processors. Usually, though, everything works just fine through Rosetta. Out of hundreds of apps, I've only seen one single app before this not working on my M1 processor. The first issue is just due to the app being zipped which breaks some attributes. This can be fixed through the command mentioned above by the user. Not perfect, but doable. But since the application crashes when trying to connect to Discord, it appears some part of the Discord Rich Presence is either not working on ARM processors in general, or just doesn't work through Rosetta. Potentially this would be fixed through a native ARM build? Not sure if Godot supports this, but if it does, this might already fix it? If not, there's probably something in the Rich Presence integration that breaks.

ninstar commented 2 years ago

It does support ARM64, but the RPC integration uses this gdnative module to work on unix systems, which is running with x86-64, I would recompile it for macOS but at the moment I'm unable to do that.

macbofh commented 2 years ago

It looks like the ARM code of one of the libraries has some bugs. You can run this application on ARM/Silicon Macs with the option "Open using Rosetta". You can find this option by right-clicking on the Application in the Finder and selection the option "Get Info"

Rosetta
OfficialCRUGG commented 2 years ago

That does indeed work. So the xattr command I posted above to fix the .app in combination with the "Open using Rosetta" check is a functional workaround to make Rich Presence U fully work on M1 processors.

ninstar commented 2 years ago

Just updated the itch.io download and added a .pdf to the macOS version with the necessary information.

ninstar commented 2 years ago

Upstream added support for ARM64 Macs, closing this for now.