libTAS icon indicating copy to clipboard operation
libTAS copied to clipboard

arm64 support

Open P-AS opened this issue 2 years ago • 9 comments

Hello, since my main computer is a Macbook Pro with M1, it would be very convenient to use libTAS on this computer without needing to carry around another laptop just to use libTAS. It would have less applications than x86, but you could still be able to TAS a lot with it.

P-AS avatar May 24 '22 15:05 P-AS

Have you tried compiling for ARM?

InfoTeddy avatar May 24 '22 15:05 InfoTeddy

Oh, also - macOS support for libTAS is incomplete. Unless you're running Asahi Linux or something? But I don't think libTAS can even launch any games on macOS.

Also, have you considered using a virtual machine?

InfoTeddy avatar May 24 '22 15:05 InfoTeddy

I am talking about linux, I should've clarified that.

P-AS avatar May 24 '22 15:05 P-AS

There are a few things that would need to be implemented for ARM, but not much. I don't have a machine so I cannot test it. Did you try compiling it?

clementgallet avatar May 25 '22 09:05 clementgallet

This is what happens when you try to compile it libtasarm.txt

P-AS avatar May 26 '22 05:05 P-AS

Yeah, that seems about right. Pull requests for ARM are accepted if you want to do the work, or you can wait for Kilaye or someone else to do it.

InfoTeddy avatar May 26 '22 05:05 InfoTeddy

There's an emulator called box64 you can try as well.

InfamousKnight avatar May 26 '22 13:05 InfamousKnight

Last time I tried it, box64 didn't work with libTAS. Fex-emu isn't an option on M1 macs but I'm pretty sure it doesn't work either (when I tried it in a vm).

P-AS avatar May 26 '22 20:05 P-AS

On macOS Ventura you can install rosetta on linux inside a vm (video), which does let you run libTAS on arm64. However, rosetta prevents you from loading savestates. rosettavm Testing with ruffle:

        not a dynamic executable
Attempt 1: Connected.
[libTAS f:69] Thread 17590 (main) Saved state 1 of size 74711566 in 0.368040 seconds
rosetta error: futex(FUTEX_LOCK_PI_PRIVATE) failure: 35
recv() returns 0 -> socket closed
Got wrong message after state loading
Trace/breakpoint trap
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 1648, resource id: 14706942, major code: 40 (TranslateCoords), minor code: 0```

P-AS avatar Jul 26 '22 08:07 P-AS