7 ms·
RTX 5090 and M4 MacBook Air: Can It Game?
- swiftcoder 4mo agoThis is proper mad science, love it
- frollogaston 4mo agoI'm guessing the x86 emu is cause Windows games are rarely built for ARM, right? Was kinda curious how an ARM VM would fare. Anyway awesome article.
- hparadiz 4mo agoYes. Valve has done a ton of work here because it's required to be able to run x86 games on a Steam Frame which has an ARM cpu.
- bigyabai 4mo agoThe Steam Deck is pure x86, it's not an ARM-based CPU. The Steam Frame might be what you're thinking of.
- hparadiz 4mo agoYou're right. I was thinking of what I was reading about the Steam Frame
- hypercube33 4mo agoSteam deck runs a full x86-64 AMD APU. The work valve has done for that was to get Windows games to run seamlessly on Linux. Hopefully in 2026 the Valve Index VR headset which is ARM (Qualcomm?) we get what you're talking about here - basically proton for Win32/64 to Linux ARM64. Side note that Windows on ARM isn't bad just that its priced out of its league and cooling is awful for gaming on current laptops. The only issue I had was OpenGL needing some obscure GL on DirectX thing for Maya3D to get games to work.
- delecti 4mo agoTo keep the chain of Cunningham's Law going, Valve's 2026 headset is called the Steam Frame, not the Index (which came out in 2019). But Valve's ARM efforts even mean that Android devices can play some (mostly less graphically intensive) Steam games. That makes me very excited about the prospects for the future of gaming handhelds.
- sva_ 4mo agoAs sibling pointed out, the Steamdeck basically runs a Ryzen 3 7335U which is x86.
- moralestapia 4mo agoWow, phenomenal project and write-up, thanks for sharing it. "no - not in any practical sense today, and "maybe" only in a very deep, borderline-impractical research sense." This is why humans will always rule over crappy LLMs.
- csours 4mo agoI believe that LLM (and ML in general) tools really shine when they are developed and used AS tools. Unfortunately, I also believe that market forces may push away from this direction, as LLM companies try to capture the value stream
- rvz 4mo agoExactly. AI psychosis is real. Never let an AI tell you that you cannot do something practical for your own self for research, discovery or for fun. The only thing that is close to impractical is expecting your non-technical friends or others to follow you without any incentive or benefit.
- falcor84 4mo agoWait, why? This is exactly what I as a human would have said in this situation. Or if you're referring to how the OP still decided to go ahead, I've seen AIs go ahead on impractical courses of action many times, and surprisingly succeed on some of them.
- moralestapia 4mo agoAnd I see that you succeeded in not doing it. Congrats! Each one got what they wanted :).
- scottjg 4mo agoin fairness to the LLM critics, every time i ran into a minor speed bump in this project, it told me it probably just wasn't possible to get it to work well. the LLM did pretty actively discourage me from trying to get the whole thing working. that said, since i was willing to ignore that aspect of it, it did accelerate getting the work done by a lot. it seems like it understands system programming really well, and did a good job navigating the qemu codebase. i have ~20 years of systems programming experience so i already knew what had to be done here. it didn't really guide the project much, but it did write a lot of the code.
- coder68 4mo agoThis seems pretty useful for AI inference if it can pass Apple approval. I've wanted to use my Nvidia GPUs with a Mac Mini, this would enable it to run CUDA directly. Very cool!
- deleted 4mo ago[deleted]
- delbronski 4mo agoNicely done! Glad to see real hacking is still alive in the age of AI.
- deleted 4mo ago[deleted]
- slickytail 4mo ago[dead]
- deleted 4mo ago[deleted]
- stock_toaster 4mo ago> running all performance-sensitive workloads in The Clown now I really hope "The Clown" isn't just a typod "The Cloud". If not, tell us more! I'm inspired/tempted by this to rename my external "higher grunt offload" machine to "clowntown".
- mywittyname 4mo ago> As much as I hate to admit it, step one in most of my projects now is to ask AI about it. Maybe it’ll tell me something I don’t know. Or, more likely, it will tell you something it doesn't know. Reminds me of yesterday, when I was arguing with ChatGPT that the 5070TI was an actual video card. It kept trying to correct me by saying I must have meant a 4070ti, since no such 5070ti card exists.
- perarneng 4mo agoThis is why i use grok expert mode. It agressivly goes out searching the web for info. Its so much better then relying on year old data.
- _blk 4mo agoYes, I really like that about Grok. It had a few good qualities but it was too verbose so now it's mostly Claude.
- JumpCrisscross 4mo agoSolid compromise is Kagi's research assistant. Aggressively cites, unlike Claude. Concise, unlike Grok.
- simonh 4mo agoIt’s training data only goes up to late 2024 or early 2025 so that might be why, though it does have access to the internet.
- weird-eye-issue 4mo agoDepending on your ChatGPT settings...
- mywittyname 4mo agoYeah, the solution was to link it to the nvidia page of the card, then it was like, 'oh, okay.' But at that point, I lost faith in it's ability to provide me with the information I was looking for. If it's information is so out of date that it doesn't know about the 5000 series, how could I be confident that it knew the details I was asking about (game engine related research)?
- matthewfcarlson 4mo agoI have been bothering the VM team for years for VM GPU pass through. I worked on the Apple Silicon Mac Pro and it would have made way more sense if you could run a linux VM and pass through the GPU that goes inside the case! Sadly, as you can tell, they have not taken me up on my requests. Awesome that other people got it working!
- crdrost 4mo agoIt feels like half the problem in this blog post is dealing with memory access issues induced by QEMU and the VM boundary... it's probably something dumb I'm missing, but if you boot up Ubuntu in Docker, wouldn't the NVIDIA drivers still load? And then you wouldn't have to fight Apple about the memory management because OSX would still own the memory?
- jmalicki 4mo agoThe driver wants to own the memory is the problem.
- swiftcoder 4mo ago> but if you boot up Ubuntu in Docker, wouldn't the NVIDIA drivers still load? Even if the drivers loaded, they can't talk to the GPU from within docker (unless one implements PCI passthrough). MacOS owns the PCI bus in this scenario.
- smw 4mo agodocker on macos runs in a linux vm
- brcmthrowaway 4mo agoI still believe the lack of NVIDIA GPU support in the Mac Pro will go down as one of the greatest missed opportunities in tech. Anyway, the Mac Pro is dead now. There's only so much sales audio and video professionals can provide.
- Aurornis 4mo ago
- nothinkjustai 4mo ago> As much as I hate to admit it, step one in most of my projects now is to ask AI about it. Maybe it’ll tell me something I don’t know. It’s these people, not the ones who refuse to use LLMs, who are as they say, “cooked”.
- linkregister 4mo agoThe author of the blog is not cooked; they're raw. Their inventive, multi-chain setup was tuff. Their PCI passthrough and qemu patches were straight fire. Unless you can point to something you've done this impressive, you're just an unc bro.
- nothinkjustai 4mo agoFuck you got me there. Unc out
- divbzero 4mo agoThis is pretty impressive. My impression was that eGPUs simply do not work with Apple Silicon. (EDIT: Apple agrees with my impression. “To use an eGPU, a Mac with an Intel processor is required.” And, on top of that, the officially supported eGPUs were all AMD not NVIDIA. https://support.apple.com/en-us/102363 https://support.apple.com/en-us/102363)
- steelbrain 4mo agoThis is not using an eGPU with macOS, ie you can't run your chrome on macOS with its GPU acceleration coming from this eGPU. This is tunneling that eGPU to a Linux VM.
- Aurornis 4mo agoExcellent article. The game benchmarks are fun but the LLM improvements are where this gets really interesting for practical use. I love Apple platforms as an approachable way to run local models with a lot of RAM, but their relatively slow prompt processing speed is often overlooked. > Here you can see the big issue with Macs: the prompt processing (aka “prefill”) speed. It just gets worse and worse, the longer the prompt gets. At a 4K-token prompt, which doesn’t seem very long, it takes 17 seconds for the M4 MacBook Air to parse before we even start generating a response. Meanwhile, if you strap the eGPU to it, it’ll only take 150ms. It’s 120x faster. The prefill problem goes unnoticed when you’re playing around with the LLM with small chats. When you start trying to use it for bigger work pieces the compute limit becomes a bottleneck. The time to first token (TTFT) charts don’t look bad until you notice that they had to be shown on a logarithmic scale because the Mac platforms were so much slower than full GPU compute.
- superlopuh 4mo agoI'm curious and not an expert here, do you know why the TTFT is so much worse on Mac? To elaborate, the article just says that this step is compute bound, but I'm wondering whether it is just that simple or if it might also be less optimised in MLX?
- Aurornis 4mo agoPrefill (prompt processing) is compute bound doing large matrix operations. Token generation (aka tokens/s) is memory bandwidth bound. The RTX 5090 has an incredible amount of compute performance for matrix operations and a lot of memory bandwidth. The Apple Silicon parts have unusually high memory bandwidth for general purpose compute chips, which is why they can generate tokens so fast. Their raw matrix compute performance is amazing for their power envelope but not nearly as fast as a dedicated GPU consuming 400-500W. Apple added tensor cores on the M5 generation which help with those matrix operations, which is why the M5 performs so much better than the M4 Max in that article. Dedicate GPUs like the RTX 5090 are in another league, though. You can see the divergence in the high resolution gaming benchmarks, too. Once he starts benchmarking at 4K or 6K where the CPU emulation stops being a bottleneck, the raw compute of the 5090 completely crushes any of the Apple Silicon GPUs.
- zer0zzz 4mo agoOnce egpus work on Apple Silicon there will be little reason to own a pc
- deleted 4mo ago[deleted]
- bel8 4mo agoMac GPU isn't the bottleneck for most games. Compatibility is.
- zer0zzz 4mo agoI’m not talking about games, I think a Mac mini on a rtx pro 4000 would be a nicer experience than a g10 is all.
- _blk 4mo agoI assume your reasons are different to mine so for your reasons it might very well be true. But for my reasons definitely not as long as Apple Silicon can't run Linux somewhat decently natively - and even then, it's still an Apple..
- zer0zzz 4mo agoDepends. I put it on an M1, and that soc is quite good at running linux.
- lowbloodsugar 4mo agoJust built a workstation with an older Threadripper Pro. It has 128 PCIE lanes, for 7 16-lane PCIE slots. An egpu has 4. I have one GPU, at x16, and I can add more. Most people don't need that, but most people don't need an eGPU either. The number of gamers who would switch to Macbook+eGPU is negligible. It's just not compelling. For LLMs, hanging a 5090 off the thunderbolt port makes prompt processing fast, but I will be surprised if the M6 doesn't come with silicon just for that, as its the current gap. M5 is quite adequate for token generation for the price, given the RAM quantity and bandwidth. An M6 that accelerates TTFT would make an eGPU irrelevant. For gaming, the threadripper gets at least +50FPS for windows vs linux, and some games just freeze for periods of time on linux with things like dynamic frame generation. I have an SSD for windows just for gaming.
- sharathdoes 4mo agodamn
- sharathdoes 4mo agolol, is there a list of games tho, which mac pro's can support
- djmips 4mo ago> Because OpenGL is not well-supported anymore on macOS, the game is completely unplayable there, even with CrossOver. Ironically, it plays totally fine on a Windows PC, but this is a game you literally can’t play on Mac without this eGPU setup. I understand that this is true it seems that Doom does support Vulkan but you would need to add VK_NV_glsl_shader to MoltenVK. Probably much less work than what went into hanging an RTX 5090 off of a M4. Still, kudos to the scott and the local AI Inference speeds are pretty cool. What a crazy project! <applause>
- deleted 4mo ago[deleted]
- scottjg 4mo agointeresting. that might be a fun intro project to MoltenVK. I hadn't dug into what was missing for Doom. I thought maybe the issue was that the intro/menu always ran in opengl mode or something. If it's just one missing op, that's way easier.
- SamiahAman 4mo agoVery nice effort. This has incredible technical depth, particularly in the DMA and QEMU sections. I also like that you didn't oversell it as the ideal Mac gaming solution. I found the AI inference results to be the most fascinating. Overall, it was a great read.
- arjie 4mo agoWait, this is incredible. I have a spare 5090 lying around and run a claw-like on my M4 Mini. Just plugging it into some sort of 3D print frame for stability and plugging it into the TB port might get me a pretty viable tool for local inference. Would need something neat to ensure the power etc. is well fed. The problem is `max-num-seqs` and `max-model-len` fight each other, and unless you're in the pure single-client mode you'll need multiple slots so to speak.
- pat_space 4mo agoIf you get too busy to take advantage, I'll take that spare 5090 off your hands, free of charge :)
- deleted 4mo ago[deleted]
- semiinfinitely 4mo agowhere did you get a 5090 I will buy it from you
- Forgeties79 4mo ago> step one in most of my projects now is to ask AI about it. Maybe it’ll tell me something I don’t know. Bingo. This is exactly how I use LLM. I like getting a gut check, seeing what the first recommendations are or if there is some deep flaw in what I think the approach is, and I almost never copy/paste whatever it spits back or just follow its instructions.
- null-phnix 4mo agoi mean porbly
- geerlingguy 4mo agoI came into the post thinking it would be running a VM through the slow tinygrad driver... but this is much, much better. It'd be amazing if Apple would provide better support, and allow more than that 1.5 GB window to make this easier. Arm overall has some quirks with PCIe devices, but at least in Linux, it's gotten so much easier since most modern drivers treat arm64 as a first class citizen.
- scottjg 4mo agoi don't know for sure, but i suspect what makes the tinygrad stuff slow isn't the macos host driver itself. i think they're doing something very similar to what i'm doing, which is just mapping the PCI BARs to userspace, then they have a bunch of python code that drives the GPU. this is only speculation, but i think the big thing that makes tinygrad slow is that the tinygrad inference engine has not really been optimized much for all these open LLM models. probably most of the work has gone towards optimizing the stack for george's self-driving hardware company. since you can't just run the existing CUDA kernels on their engine, that makes things a lot tougher, engineering-wise. i am actually curious if my project could share a macos host driver with them. i think it would need some changes, but it seems like there's a lot of overlap
- deleted 4mo ago[deleted]
- lenerdenator 4mo agoThe lack of native games on Apple Silicon is one of the greatest crimes ever committed against computing. I got Fallout 3 working on my M2 MBP as well as it did on Windows back in the day. Temps were cool, battery was decent. If they sold my college years gaming collection (15-ish years ago) in a way that ran natively through GoG or Steam, I'd buy every single title.
- bigyabai 4mo agoPorting games natively to macOS is a waste of developer time. Apple has already depreciated vast swathes of 32-bit games that were never updated to support 64-bit x86 or Apple Silicon. Developers that give macOS the same level of attention as Windows don't get the same level of support that Microsoft offers in return. Not to mention that Mac owners are a minority share of the PC gaming market. Linux has the right idea, if you don't translate the games then you'll never have true preservation.
- astrange 4mo ago> Apple has already depreciated vast swathes of 32-bit games that were never updated to support 64-bit x86 or Apple Silicon. They had literally 15 years of warning about this.
- bigyabai 4mo agoOkay, now literally count how many developers went back to update their vintage macOS games. I'm not going to blame the developers here because it's not their fault.
- nottorp 4mo agoSkyrim runs well [1] on my M2 mac mini through crossover and rosetta. So most older games will run even better. The real question is what happens when they drop Rosetta. They promised they'll keep the APIs related to running 32 bit games but can we trust them? [1] Not at 8k 240 fps of course.
- bilekas 4mo agoI love how its listed as "RTX 5090 Discrete' Sir that is anything but discrete!
- scottjg 4mo agoi admit, you got me chuckling with that one.
- hacker_mar 4mo ago[dead]
- AIMC 4mo ago[flagged]
- s09dfhks 4mo agowhat keyboard is that
- scottjg 4mo agocustom zoom75
- inforemix 4mo agoAwesome dude! Extra fan on the desk too :)
- dangus 4mo agoI'm impressed by the effort and the technical know-how. Another part of me is almost annoyed that Apple's complete apathy toward obvious computing use cases like this is rewarded by a project like this. I feel like Macs and macOS should not be rewarded for being so difficult to extend and use outside of Apple's narrow vision of the use case of their hardware. Apple used to support this use case wholeheartedly, but we can see that it's abandoned on their end: Intel-only, and the newest generation of AMD GPUs supported are the 6000 series: https://support.apple.com/en-us/102363 https://support.apple.com/en-us/102363 I got tired of rewarding Apple for refusing to make a computer that makes the most of the technology available. This stuff is all a lot worse than just moving over to Linux or even Windows. With hardware like the Framework 13 Pro coming out, along with a surprisingly good set of premium PC laptops, I really don't think the Mac hardware is worth it anymore. Others have legitimately caught up, especially with Apple's aging MacBook Pro chassis with the horrible notch.
- rballpug 4mo agoIt renders according to the Blackwell and Hopper 100.
- neuroelectron 4mo agoI just want to point out that anything you ask ChatGPT about that hasn't been discussed 1000 times on Reddit or Wikipedia is going to be wrong, and it will only be "right" in the sense that it aligns with the artificial consensus created on those platforms. Of course the author probably did that as a joke.
- MikeNotThePope 4mo agoPretty much! A precedent-fueled prediction engine can’t predict the unprecedented.
- neuroelectron 4mo agoIt (LLMs in general) actually can make some very prescient hallucinations by making similar inferences across dissimilar domains, but they have since removed that feature to prevent liability and libel. GPT3 was much more useful in this capacity, especially before they started stress testing it on 4chan (Jan 2023)
- Riany 4mo agoThe gaming part is fun, so does the local AI numbers. As fast prefill changes the whole experience, it makes local inference feel practical
- bcjdjsndon 4mo agoSay what you like about microslop but you wouldnt be asking this question over on windows
- dzink 4mo agoIf apple provides native support with enough bandwidth to run an external NVIDIA GPU for Inference and training, I will upgrade to the latest MBP instantly. Raise your hand if you would too.
- chrits01 4mo ago[dead]
- carterschonwald 4mo agoit seems like with some care and disabling sip, that some pretty good work arounds using llm assisted kext hackery would get pretty far