{"id":15823428,"url":"https://github.com/3shain/dxmt","last_synced_at":"2025-05-15T14:06:33.251Z","repository":{"id":206320386,"uuid":"716343738","full_name":"3Shain/dxmt","owner":"3Shain","description":"Metal-based implementation of D3D11 for MacOS / Wine","archived":false,"fork":false,"pushed_at":"2025-05-13T07:04:54.000Z","size":9491,"stargazers_count":685,"open_issues_count":8,"forks_count":27,"subscribers_count":39,"default_branch":"main","last_synced_at":"2025-05-13T07:43:09.107Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3Shain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-11-09T00:00:08.000Z","updated_at":"2025-05-13T07:04:57.000Z","dependencies_parsed_at":"2024-03-20T01:28:28.272Z","dependency_job_id":"35effd57-d7bf-4812-9399-905584014439","html_url":"https://github.com/3Shain/dxmt","commit_stats":{"total_commits":281,"total_committers":2,"mean_commits":140.5,"dds":0.003558718861209953,"last_synced_commit":"cbc7a7a881cf3666ca5d262ca5cae617a34b5ba4"},"previous_names":["3shain/dxmt"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3Shain%2Fdxmt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3Shain%2Fdxmt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3Shain%2Fdxmt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3Shain%2Fdxmt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3Shain","download_url":"https://codeload.github.com/3Shain/dxmt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254355335,"owners_count":22057354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-05T08:10:17.491Z","updated_at":"2025-05-15T14:06:28.235Z","avatar_url":"https://github.com/3Shain.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DXMT\n\nA Metal-based translation layer for Direct3D 11 which allows running 3D applications on macOS using Wine.\n\nFor the current status of the project, please refer to the [project wiki](https://github.com/3Shain/dxmt/wiki).\n\nThe most recent development builds can be found [here](https://github.com/3Shain/dxmt/actions).\n\n## How to use\n\n**DXMT is not ready for end-users**, albeit there is a [guide](https://github.com/3Shain/dxmt/wiki/DXMT-Installation-Guide-for-Geeks) for knowledged users.\n\n### Logs\nWhen used with Wine, DXMT will print log messages to `stderr`. Additionally, standalone log files can optionally be generated by setting the `DXMT_LOG_PATH` variable, where log files in the given directory will be called `app_d3d11.log`, `app_dxgi.log` etc., where `app` is the name of the game executable.\n\n### Config file\n\n- `DXMT_CONFIG_FILE=/xxx/dxmt.conf` Sets path to the configuration file. Check `dxmt.conf` in the project directory for reference.\n- `DXMT_CONFIG=\"d3d11.preferredMaxFrameRate=30;\"` Can be used to set config variables through the environment instead of a configuration file using the same syntax. `;` is used as a seperator.\n\n### MetalFX Spatial Upscaling for Swapchain\n\nSet environment variable `DXMT_METALFX_SPATIAL_SWAPCHAIN=1` to enable MetalFX spatial upscaler on output swapchain. By default it will double the output resolution. Set `d3d11.metalSpatialUpscaleFactor` to a value between 1.0 and 2.0 to change the scale factor.\n\n### Metal Frame Pacing\n\n`d3d11.preferredMaxFrameRate` can be set to enforce the application's frame pacing being controled by Metal. The value must be a factor of your display's refresh rate. (e.g. 15/30/40/60/120 is valid for a 120hz display).\n\n### Debugging\nThe following environment variables can be used for **debugging** purposes.\n- `MTL_SHADER_VALIDATION=1` Enable Metal shader validation layer\n- `MTL_DEBUG_LAYER=1` Enable Metal API validation layer\n- `MTL_CAPTURE_ENABLED=1` Enable Metal frame capture\n- `DXMT_CAPTURE_EXECUTABLE=\"the executable name without extension\"` Must be set to enable Metal frame capture. Press F10 to generate a capture. The captured result will be stored in the same directory as the executable.\n- `DXMT_CAPTURE_FRAME=n` Automatically capture n-th frame. Useful for debugging a replay.\n- `DXMT_LOG_LEVEL=none|error|warn|info|debug` Controls message logging.\n- `DXMT_LOG_PATH=/some/directory` Changes path where log files are stored. Set to `none` to disable log file creation entirely, without disabling logging.\n\n## Build\n\n### Requirements:\n- Meson 1.4+ (for project build system)\n- CMake 3.27+ (for LLVM dependencies)\n- Xcode 15+\n\n### Instructions\n\nAfter cloning this repository, inside the DXMT directory, run\n```sh\n./configure.sh\nmeson setup --cross-file build-win64.txt --native-file build-osx.txt -Dnative_llvm_path=toolchains/llvm-darwin -Dwine_install_path=toolchains/wine build\n```\n`./configure.sh` will take some time (~1 hour) to configure the development environment, you only run it once.\n\nThen run the follow command to actually compile DXMT\n```sh\nmeson compile -C build\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3shain%2Fdxmt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3shain%2Fdxmt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3shain%2Fdxmt/lists"}