Skip to content

MetalFX: vkd3d.conf and dxvk.conf for the VKD3D-Proton and DXVK lanes - #755

Merged
aaf2tbz merged 3 commits into
metalfx-1-5xfrom
metalfx-vkd3d-dxvk-conf
Nov 2, 2026
Merged

aaf2tbz merged 3 commits into
metalfx-1-5xfrom
metalfx-vkd3d-dxvk-conf

Conversation

@aaf2tbz

@aaf2tbz aaf2tbz commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator

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 same d3d11.metalSpatialUpscale / d3d11.metalSpatialUpscaleFactor lines into mullion.conf, vkd3d.conf and dxvk.conf, and ms_metalfx_sync_conf keeps 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 get VKD3D_CONFIG_FILE and DXVK_CONFIG_FILE, DXVK-lane games DXVK_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 test passes. 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.

Avery Felts 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.
@aaf2tbz
aaf2tbz merged commit 727595a into metalfx-1-5x Nov 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant