A powerful, real-time configuration editor for DXVK, integrated as a GamePlug plugin. This tool allows users to modify DXVK settings directly within the game's overlay, with changes being persisted to dxvk.conf instantly.
- 📊 Real-time Editing: Modify DXVK variables on-the-fly without restarting the game.
- 🔍 Smart API Detection: Automatically scans the game directory for API-specific DLLs (
d3d8.dll,d3d9.dll,d3d11.dll,dxgi.dll) and filters available settings to show only what's relevant to the current game. - 📖 Dynamic Documentation: Extracts descriptions and metadata directly from DXVK source headers, providing helpful tooltips for every option.
- 🛠️ Zero Configuration: Comes with embedded DXVK options for various versions, working "out of the box" without needing external template files.
- 💾 Automatic Persistence: Saves all changes to the local
dxvk.conffile automatically when fields are modified.
The editor utilizes DxvkConfigManager to bridge the gap between static header files and a dynamic ImGui-based UI:
- Header Parsing: It reads C++ header files (like
d3d9_options.h) to identify configuration keys and their types (bool, int, float, enum). - Category Filtering: Based on detected DLLs in the executable directory, it groups settings into categories (e.g.,
D3D9,DXGI,DXVK). - ImGui Integration: Leverages the GamePlug
Plugininterface to render fields through the framework's shared overlay system.
src/dxvk_config_editor.cpp: Main plugin entry point and API detection logic.src/dxvk_config_manager.cpp: Core logic for parsing headers, managing setting states, and I/O operations fordxvk.conf.src/dxvk_embedded_resources.h: Contains embedded versions of DXVK configuration templates and headers for maximum portability.
To use this plugin with your game:
- Deploy GamePlug: Copy the GamePlug build files into your game's executable directory.
- Install Plugin: Drop the compiled
dxvk-editor.dll(or equivalent binary) into theGamePlug/pluginsfolder. - Run: Launch the game. The DXVK Config Editor will be loaded automatically by the GamePlug framework.
- Main Framework: GamePlug on GitHub
- Project Resources:
- Documentation: Plugin Development Guide
Part of the GamePlug ecosystem.