Repository navigation
MetalFX: vkd3d.conf and dxvk.conf for the VKD3D-Proton and DXVK lanes - #755
Merged
Merged
Conversation
added 3 commits
November 1, 2026 16:42
The fex build's VKD3D-Proton lane reads MetalFX from its own files: runtime/wine/etc/vkd3d.conf (VKD3D_CONFIG_FILE, Direct3D 12) and dxvk.conf (DXVK_CONFIG_FILE, Direct3D 11 and earlier, and DXGI). MetalSharp writes the same d3d11.metalSpatialUpscale lines there as in mullion.conf and keeps them in sync, and points the lane's games at them. A factor line a file lacks goes at its top, where it applies to every program, not inside the last [program.exe] section.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #754 (1.5x MetalFX): this PR's base is that branch, so its diff is only these two commits.
MetalSharp Wine's VKD3D-Proton and DXVK lanes now run MetalFX (swap chain upscaling to the display, and DLSS through their own NGX core), configured by their own files rather than mullion.conf:
runtime/wine/etc/vkd3d.conf(VKD3D_CONFIG_FILE): VKD3D-Proton's Direct3D 12.runtime/wine/etc/dxvk.conf(DXVK_CONFIG_FILE): DXVK's Direct3D 11 and earlier, and DXGI, on both lanes.Changes:
metalfx.c: the MetalFX toggle writes the samed3d11.metalSpatialUpscale/d3d11.metalSpatialUpscaleFactorlines into mullion.conf, vkd3d.conf and dxvk.conf, andms_metalfx_sync_confkeeps all three in step. A factor line a file lacks is now written at the top: appended at the end, it landed inside the last[program.exe]section and applied to that program only.steam_actions.c: VKD3D-lane games getVKD3D_CONFIG_FILEandDXVK_CONFIG_FILE, DXVK-lane gamesDXVK_CONFIG_FILE. Both are route variables, so a game doesn't take them from the Steam client when its own route has none.wine_runtime.c:ms_wine_vkd3d_lane_conf_path.tests/wine_runtime_test.c(fex): the toggle writes all three files; a lane file that lost its lines gets them back at the top, before its program sections.Needs MetalSharp Wine main de2d44d (VKD3D-Proton-MacOS v4.9, DXVK-MacOS v3.1.1-macos.2, Wine patches 0108-0112), which reads these files.
Tested:
make VARIANT=fex testpasses. Installed locally: MetalFX upscales Sons of the Forest (DXVK lane, 1104x621 to 1920x1080) and ELDEN RING (VKD3D lane, 1280x720 to 1920x1080) at the launch size Wine picks from these files.