How to Band-Aid Fix Unity Graphical Artifacts on Intel Macs

This piece is not a technical explanation on what is happening. I wanted to document what I found and hear from other people as well on the potential fix, and possibly Unity and game developers’ input to actually fix the problem. Apple Silicon does make an enticing platform, hence, more the reason why this will never be fixed properly, so every bit of info could be helpful to the actual users and players on Intel Macs.

Symptoms

I’ve filed bug reports on this abnormalities with Klei, when I first had the graphical glitch on Oxygen Not Included. The game is not the most demanding, but there were at least two different kinds of glitches appearing: checker boxes with the current game screen frozen, or red-out background with checker boxes with the game frozen as well. It made me suspect there might be a problem with my current setup, Mac Pro 2019 with RX 6900 XT (not an MPX card from Apple), but after extensive testing, I learned the GPU was in a-okay status. But the crash was still happening on the virtual machine (VMware Fusion) and on the Wine (Crossover).

Then I encountered a similar glitch, albeit somewhat different, on Do Not Feed The Monkeys 2099. I believe my bug report and a review written in dismay is still on Steam. The game is set up with multiple screens from different cameras, and on those screens, I could only see what I would describe as either electric or lightning-halo effect. Obviously nothing else was visible aside from subtitles on each screens. The game did not crash however, but if I recall correctly, the game also ran normally on the virtual machine and on the Wine.

Band-aid Fix

If I recall correctly, Mac Pros are shipped with MPX graphics card regardless of customizations. That is to say, if you have a Mac Pro that has been upgraded since the initial purchase, there is likely an unused MPX card lying around.

Using the original MPX card (in my case, 580x) did alleviate the problems I was having. Again, I can’t say for certain if this band-aid solution will work with other MPX modules. If you have an MPX card that was originally shipped with Mac Pro, try running a Unity engine based games on it that had similar graphical issues. Don’t forget the move the cable over to MPX output; MPX also powers USB-type displays, so using a USB-C type display adapter will also default to MPX output.

Afterthoughts

I did find the similarities between the two games —they are both Unity based games, not graphically intensive either. It is my suspicion that this is a compatibility issue between the mac driver and the unity engine.

My 2019 Mac Pro setup has Gigabyte RX 6900 XT, which was the only card I could find that will fit the chassis. Only MPX card I have is the 580x, so I couldn’t do much testing. Perhaps this is specific to none WX cards, or perhaps this is specific to 6000s line of cards, or perhaps this is specific to none MPX cards.

As I understand it, AMD releases same line of graphics card one for workstation (WX) and one for general purposes (RX). It is customary in the community to upgrade Mac Pro’s graphics card; W6900X MPX module is still priced at $6,000 from Apple, whereas RX 6900 XT is priced around $600 – $1,600 range. It is possible, and it is entirely plausible, that the mac driver expects a workstation card and the BYOD card, not being a WX card, doesn’t support the entire commands set.

The problem is also exacerbated by the fact that W6900X is only available for Mac Pro, and Intel Mac Pro is the currently the last desktop model that supports discrete graphics card. During one of my stress test of the card, I realized for a “pro” machine, neither Apple Silicon machines, Mac Studio or Mac Pro, would have enough juice for, say, LLM development. There is always going to be some demand for high performance GPUs, and I find it weird Apple, after the release of Apple Intelligence, wouldn’t talk about supporting dGPUs again on Apple Silicon machines.

Comments

Leave a comment