> And it's nice to see software maintainers respecting their own time.
In a different context, I was talking to someone who volunteers with an org that I also volunteer with. I shared that I really respected her ability to set boundaries because a pattern I've seen over and over again is this:
if someone capable comes to a non-profit that is relatively immature, they are asked to do more and more and more until they either burn out and bail or set hard boundaries. The non-profits need so much and there are so few who contribute.
It's great to help out, but setting and respecting boundaries is critical for your long term health and enjoyment of the activities you are helping with.
I can’t tell if my thinking is dated but here it goes. The young are inclined to want to help and be useful and more work satisfies this need and exposes them to more facets of the jobs being done. Ideally boundaries are developed by the youth or the organization is self aware enough to not exploit the worker.
And I think it has to be both. I think the organization has to develop a culture where boundary-setting is normalized and encouraged. There are plenty of people who will burn themselves out without thinking twice about it. (I used to be one of them.) An organization that wants to be sustainable needs to a) keep them from doing that, and b) help them learn not to.
Exactly. Also depending on what kind of work you do organizations have to be aware of capacity - if there are operational times when I'm going to be handed emergency tasks but I'm already completely inundated with work because I was given the work for doing good work, then we lack the capacity to manage our heavy load times.
It's one thing if you don't work in any area with operational requirements that change over the course of a year but if you do then you need to have reserve capacity for new workloads even if the people involved are good at work.
I really wish that Apple would just pony up cash to developers to get their wares ported to the new Apple Silicon chips.
I can play Fallout 3 and New Vegas on my M2 Pro MBP. I know that makes me a stereotypical Millennial, that I'm playing that and not the Fortmonth or whatever the kids are playing, but to me, the ability to do that really does cement that machine as the do-it-all machine. I can set up my workstation portably by having my MBP and my second screen on my iPad 10", do Python backend development easily, then kick back with Fallout at the end of the day. All with great battery life and cool running temps.
I'm not sure that would work in the long run. Fallout 3 came out in 2008 and is no longer actively maintained. Even if Apple could convince developers to port to macOS/Apple Silicon the games will, at some point in the future, stop working because most games are not being maintained long after release and Apple is fine with breaking compatibility.
I feel like the best move for Apple would be to double down on GPTK and just make most Windows games work by default, à la Proton. It's going to be difficult to tempt developers to the platform otherwise: the audience is too limited.
I’ve been using whisky to play Elden ring on my M4 MBP and it’s been great! I love that the Game porting toolkit and wine all work so well.
I did have to do some pinning of steam to an older version to keep it working recently. I guess I’ll move over to crossover soon
Curious, what's the specs of your laptop and what frame rates were you getting? I've been considering getting rid of my gaming PC since I exclusively play Elden Ring
Partially unrelated, but codeweavers is owned by a trust and those who benefits from it are the employees of codeweavers. A guy working for them had a small conference in our university and it seems like a cool company to work at
That's unfortunate, I really preferred Whisky to crossover purely for the UX, I would happily pay for a crossover license if i got to keep the whisky app itself, crossover's ui is archaic and ugly in comparison.
Anyone who just wants to enjoy an AAA title like Cyberpunk 2077, accepting a small amount of input lag, check out Nvidia Geforce Now. Works really well.
I used Bottle in the past and I must say I was quite surprised of the software I managed to run on Linux... For instance, Cinema 4D (up to R24 I think?). The hardest was to install flatpak on Porteus to install bottle...
So it is bottle but for Mac? Never heard of it before. I used crossover once on a Macbook 2010 to Run Deus Ex,... anyway these are great projects. I guess booting linux from a USB stick should work on a modern mac too? rather than emulating it.
Probably not unless Apple provides a way to run 32-bit binaries or some really dedicated hacker figures out a way to make it work. Even Valve's own titles have 32-bit macOS versions (e.g. Portal 2) that won't work on modern macOS, so Proton on macOS today would only work with more modern 64-bit games. Not a problem for some people, but Valve really likes to support everything.
Wine's WoW64 build can run 32 bit Windows binaries. Apple's support for running 32 bit macOS binaries isn't relevant for running 32 bit Windows binaries, as long as Wine itself is 64 bit and calls 64 bit system libraries.
The more pressing concern is the eventual removal of Rosetta 2. It hasn't been announced so far, but it's unlikely that Apple will keep maintaining it forever.
One problem for that is that most 32bit games use x87. x87 optionally supports 80 bit floats so Rosetta runs software emulation for x87 math code. That's extremely slow to the point of making even some ancient games unplayable. For example the FMod audio library, which was extremely widespread, uses x87.
Linux x86 emulators work around this by offering an optional reduced precision mode that turns those into either 64 bit or even 32 bit floats. Some even do it by default.
Microsoft also does that with their Prism x86 emulator. They can be somewhat confident in doing that as Microsofts compiler stack has defaulted to configuring the x87 hardware to use 64 bit floats.
Apple should really add that as an option to Rosetta but I doubt that's gonna happen simply because it only impacts 32 bit code.
I believe Valve is still sour from Apple discontinuing 32 bits x86 support and killing a big part of the Steam game catalog with macOS Catalina.
It's not impossible to port Portal 2 to later macOS versions, there's a port for the Nintendo Switch so it runs fine on ARM.
Damn. I missed it. I wanted to play older CS 1.3 and it was not working on latest macOS. I tried Wine but I must have bungled up the setup.
Are there CS 1.3 folks out there who still play this game (and on an Apple silicon Mac)? (I am not really a gamer; that's the only game I ever played and still like to play it from time to time; didn't like CS:Source/GO at all).
Does something like Whisky work in the new macOS Apple Silicon world? I assume its quite a bit slower to simulate Windows while at the same time translating x86 to Apple Silicon. I ask because this would be a justified break from this project, it's kind of a nightmare setup, you're better off just buying a $300 Windows laptop at Walmart or something.
The thing is, "Apple Silicon" computers are very fast. They are, obviously, not the fastest computers you can possibly buy, but rather than monetize fast CPU cores Apple mainly monetizes SSD and RAM and does minimal segmentation on the CPU, so even the lowest end Mac devices are absurdly fast compared to low end PCs. Rosetta is also pretty fast, depending on the workload, since the hardware is specialized to support fast x86 emulation.
I reckon a lot of games on Apple Silicon would end up GPU bound before CPU bound.
CPU benchmarks such as PassMark does not indicate that Apple Silicon has a performance edge over Intel or AMD CPUs in any price range: https://www.cpubenchmark.net/cpu_list.php
The pricing issue is complicated because you can't consider the price of the Apple CPU on its own. However, you can get a Mac with 16 GiB of RAM, 256 GiB of SSD storage, and 10 cores of Apple M4 for $600. Even if you use the least charitable benchmarks for the M4, that is going to put it way above a similarly-priced PC. Of course, once you start upgrading the RAM and SSD, the prices will lift into the sky.
To my eye that looks essentially like a tie, which may seem like not that big of a deal.
When I run compilation and multithreaded integration tests on my chonky AMD Ryzen 9 5950X (16 cores, 32 threads) on Ubuntu 24.04, and on my 2020 M1 Mac mini (8 cores), *the mini keeps up*. It’s quite impressive.
That is where Apple's GPTK (Game Porting Toolkit) came into play, and why Whiskey was popular at all. It allows for somewhat seamless interop between Wine and D3DMetal, which is an Apple translation layer from DirectX 11/12 instructions directly to Metal (Apple's Graphics API). Given that the majority of the cycles for video games are consumed by these graphics APIs, having that direct translation layer allows for fairly performant gameplay on Apple Silicon macs.
It actually works really well. Rosetta is fast enough (together with the incredible single thread performance of Apple CPUs).
There are some pain points that Apple could easily fix:
- Add a barrier API that more closely resembles that of Vulkan, which is easier to use and more flexible than both Metal and D3D12. Microsoft also basically copied the Vulkan barrier API in a D3D12 update but no games use that yet. The regular D3D12 barrier API can be implemented very well on top of the Vulkan barrier model but maps poorly to Metal.
- Open source MetalD3D and/or the Metal shader converter.
- Document the Metal shader bytecode format. It has been reverse engineered and it's mostly just LLVM bitcode anyway. Right now some tools like MoltenVK compile to Metal Shading Language (modified C++) which then gets compiled to Apple Intermediate Representation which then gets compiled to something the GPU can work with.
- Add a bunch of other Metal features like strict robustness guarantees (return 0 for out of bounds reads).
- Support optionally making specific folders in the file system case insensitive. The Linux kernel got support for that for Wine.
- Support the weird Windows NT sync edge cases in the kernel. The Linux kernel also recently got support for that for Wine.
- Add an API to Metal to allow mapping Metal buffers at a specific address in memory to help running 32 bit games.
- Add an optional reduced precision mode for x87 in Rosetta. (Turn the software emulated 80 bit floats into proper 64 bit floats).
It runs incredibly well, I ran GTA5 on my old Macbook Pro M1 with it and got a respectable 60FPS on max settings. The apple GPTK is really very impressive.
It's not. It's very fast, especially for gaming. Playing POE 2 with GPT2 or a recent wine version at max setting on 60+ FPS on those days. On a M3 MAX.
Really need the fan to maintain clocks while stressing the CPU and GPU. Still depending on the game the Air can still be pretty impressive, especially for native games.
I played horizon zero dawn on my M2 Air. It ran in 1080p and better than on my old PC on 720p (i5 4570, gtx 960). I had to plug it in and follow the wiki though. There's a regedit change to do for some cpu frequency thing, otherwise the games runs in slow motion - not slowly as in low framerate, the framerate is good, it's just time passing slowly.
From personal experience/experimentation, on a Macbook with a top-of-the-line M3 Max chip, GTAV runs perfectly at 60fps, Elden Ring runs on fairly high settings at ~45fps, and CS2 pulls 30-40fps and may be optimizable to 60. God of War (2022) is also playable, though a bit laggy with the default settings. So the hardware is more than capable, even with the translation layer.
Whisky is/was amazing. I tried out CrossOver, too, but found Whisky much lighter and easier to use. I guess I'll give CrossOver another shot in the future, but am sad to see Whisky go.
minor, OT, pet peeve: the top/top-left logo at docs.example.net and support.example.net virtual hosts should link to www.example.net/index.html, not docs.example.net/wiki/Main_Page. Or at least the //wiki/Main_Page should have a text link in giant letters to http://www.example.net/ if for any reasons it's not trivial to hotlink the logo to the landing page.
I often stumble upon docs for interesting things from searches and social media, and then sometimes have to Google by product name from very document page. It's just a small thing. I can't be alone here in that regard.
How can you run old 32-bit, directx 9 games on apple silicon? Is there any solution that is flawless? One of the things that stops me from buying a modern Mac.
Unless you know something I don't, VirtualBox isn't qemu's CPU emulation - it's only virtualization for the current CPU. So, great if you want an alternative to Virtualization.framework but it's not going to run Windows 7 on Apple Silicon
DXVK does not run on Mac OS. There's a modified version based on an ancient release of DXVK that kinda works on MoltenVK but the D3D9 side never worked.
The D3D9 implementation in DXVK uses a Vulkan binding model trick to improve performance that MoltenVK can't handle.
Besides that, DXVK simply requires modern Vulkan features that MoltenVK doesn't support.
It's possible to run 32-bit Windows binaries with Rosetta 2 and WINE, but I don't know if there is any good DirectX 9 to Metal wrapper yet. Probably DXMT will implement it in the future: https://github.com/3Shain/dxmt
I have heard of Rosetta not implementing the entire instruction set, and games being one of the most affected kinds of software, most of them crashing due to illegal instructions.