4 ms·
Despite the progress here, for me it raises a question: Most of the old games she mentions are x86 32bit games. What's the story for how these programs are actu
by skrrtww 4y ago
Despite the progress here, for me it raises a question: Most of the old games she mentions are x86 32bit games. What's the story for how these programs are actually going to run in Asahi? Box86 [1] doesn't sound like it's projected to run on M1. Rosetta 2 on macOS allows 32-bit code to be run by a 64-bit process, which is the workaround CrossOver et. al. use (from what I understand), but that obviously won't be available?
[1] https://box86.org https://box86.org
- mort96 4y agoSomeone would need to make an x86 -> ARM recompiler like Rosetta 2. That's not an easy task, but also not the task she's tackling with the GPU driver. It's not unprecedented in the open-source space though; the PCSX2 PlayStation 2 emulator for example contains a MIPS -> x86 recompiler, and the RPCS3 PlayStation 3 emulator contains a Cell -> x86 recompiler.
- deleted 4y ago[deleted]
- rowanG077 4y agoRosetta 2 runs on Linux. There's also FEX.
- amluto 4y agoDoes it? Or does Rosetta 2 run on Mac OS with a Linux shim to ask the host to kindly Rosetta-ify a given binary?
- wtallis 4y agoPretty much immediately after the first developer beta providing Rosetta for Linux shipped, people tried to get it to work on non-Apple hardware, and succeeded: https://news.ycombinator.com/item?id=31662978 https://news.ycombinator.com/item?id=31662978 There's no macOS host to interact with on AWS Graviton3 instances.
- amluto 4y agoHuh, I misunderstood the virtiofs mechanism.
- 58028641 4y agoDoes Rosetta on Linux support 32 bit code? I believe FEX does.
- saagarjha 4y agoRosetta supports emulating 32-bit code.
- skrrtww 4y agoI guess that's true, I forgot about Apple making Rosetta 2 installable in Linux VMs. Also though, since Rosetta 2 was released, it's had an incredibly slow implementation of x87 FPU operations, and anything that relies on x87 floating point math (including lots of games) is currently running about 100x slower than it ought to. Apple is aware of it but it's still not fixed in Ventura. I hadn't heard of FEX before, looks interesting.
- mort96 4y agoHuh, I thought everyone used SSE floats these days. I suppose there may be old games compiled with x87 floats, but I'd expect those to be made for CPUs so old that even slow x87 emulation wouldn't be a big issue. What software do people have x87-related issues with?
- skrrtww 4y agoThe software I personally have the most issues with is Star Wars Episode 1: Racer, a 3d title from 1999 that from what I understand uses x87 math extensively. In Parallels (i.e. no Rosetta) it runs at 120fps easily, while in CrossOver the frame rate barely ekes above 20. Old titles like Half-Life, all other Source games, Fallout 3, SWTOR etc. all run vastly worse than they should, and many cannot run at playable framerates through Rosetta. Honestly, the problem most likely extends to more of Rosetta's floating point math than just x87. The author of REAPER has also written about it some: https://user.cockos.com/~deadbeef/index.php?article=842 https://user.cockos.com/~deadbeef/index.php?article=842 There's been lots of discussion about the issue in the Codeweavers forums, and Codeweavers points the blame squarely at Apple, who have been, predictably, very quiet about it.
- 1ace 4y agoFEX decided to not support page sizes >4k, which is fair (it's a lot of work), but it means that it won't be usable on Apple silicon, so that's not an option.
- rowanG077 4y agoAfaik you can run kernels with 4k pagesize on apple Mx platform. It's just not optimal.
- TazeTSchnitzel 4y agoQEMU has a “user mode” feature where it can transparently emulate a Linux process and translates syscalls. You can probably run at least old 32-bit Linux games that way, assuming you have appropriate userland libraries available. Windows content might be trickier.