marzent / XIV-on-Mac

Wine Wrapper, Setup tool and launcher for FFXIV on mac
GNU General Public License v3.0
338 stars 27 forks source link

Using DXMT + MetalFX with a scale factor > 2.0 instant-crashes wine #157

Open HealsCodes opened 1 month ago

HealsCodes commented 1 month ago

I've been testing the DXMT integration in the latest releases of XIVonMac and it's been running so much better than DXVK.

However, if I use a custom dxmt.conf to explicitly set the MetalFX upscale factor It seems that the wine process consistently crashes if anything higher than 2.0 is used.

My dxmt.conf has only that single line and is loaded via the DXMT_CONFIG_FILE environment variable:

# ~/.config/dxmt.conf
d3d11.metalSpatialUpscaleFactor = 3.0

I've been testing with anything between 1.1 and 4.0 and values up to 2.0 work, according to the example config anything > 1.0 should be working though.

On the system side I'm on an M2 MacBook Air (10 core GPU version, 16GB RAM) running Sonoma 14.5

3Shain commented 1 month ago

Confirmed it's working on my M2 Max. If it is taking effect for value between 1.0 and 2.0 but crashes for higher value, then it might be a per-device restriction that I'm not aware of (at least the document didn't state any restrictions)

HealsCodes commented 1 month ago

Entirely possible - sadly I can't provide more samples than an M1 and my M2

The Metal performance HUD with XIVonMac is also slightly confusing as even with "Enable macOS Scaling" on it shows my my pixel-perfect resolution (2560x1664) instead of the Retina one (1470x956) - which is why I even tried to set upscaling to 4.0.

3Shain commented 1 month ago

The Metal HUD shows the final resolution that Metal will output, but yeah it will still be composed by WindowServer, which might perform another scaling to the window.