MoltenVK
metal-rs
Our great sponsors
MoltenVK | metal-rs | |
---|---|---|
103 | 5 | |
4,489 | 511 | |
1.6% | 6.3% | |
9.0 | 6.1 | |
2 days ago | 14 days ago | |
Objective-C++ | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
MoltenVK
-
Valve Says Counter-Strike 2 for macOS Not Happening, There Aren't Enough Players
https://github.com/KhronosGroup/MoltenVK
Translating between rendering APIs is not really the problem. The GPU design is more different than the API is.
-
Meta Releases Intermediate Graphics Library
Khronos maintains MoltenVk though, which is "official" as it gets: https://github.com/KhronosGroup/MoltenVK
...technically, Vulkan on Windows is also only supported via 3rd-parties (the GPU vendors), Microsoft doesn't support Vulkan either ;)
- Apple releases a Game Porting Tool, based on open-source platform Wine, which can translate DirectX 12 into Metal 3, a potentially massive step for Mac gaming
- Apple’s Game Porting Toolkit is Wine
-
Overwatch 2 works on mac m1 FINALLY!
Recent MoltenVK from Release for Vulkan SDK 1.3.243, I have built this library, you can download it here
-
KSP 2 on Mac OS and performance optimizations
For the brave ones who are willing to get their hands a little dirty, I discovered some ways to both improve performance and get rid of the graphical issue with the ocean on Kerbin. To do so, you need to build the latest MoltenVK and grab the latest DXVK release and update the proper files in your Crossover installation. In addition, you need to copy the dxvk.conf file and place it in the same directory as KSP2_x64.exe. Set enableRefactoring, ignoreGraphicsBarriers, and enableAsync to True in this config file. My experience from these tweaks was a 20-25% increase in FPS.
-
On Replacing My MacBook Air M1 with a ThinkPad T480
It's not made by Apple, but MoltenVK is free, open source and works great on M1/M2 hardware. It's used by many commercial game ports to Mac/iOS devices.
-
Apple holds press event showing off its ‘latest advances in gaming’
Yeah that's true. I think there is a MoltenVK thread on potentially using this as well (https://github.com/KhronosGroup/MoltenVK/discussions/1616). I think it's possible to emulate geometry shaders with mesh shaders (which are more flexible anyway), but it's not trivial as the two pipelines aren't completely the same so it would require a bit of work.
-
Presenting CrossOver 22.1 — The hallmark of this holiday | CodeWeavers Blog
Don't think there's a proper fix just yet judging from this issue, which links to an open issue for needing geometry shaders (described as not-a-priority).
metal-rs
-
What's the best way to learn Metal?
I found working in rust with these bindings much easier https://github.com/gfx-rs/metal-rs
-
Low overhead C++ interface for Apple's Metal API
Thanks, this is helpful. The specific method that's causing me trouble right at the moment is "computeCommandEncoder"[1], which is a method off MTLCommandBuffer, and I think not in the "new" class. In the Rust bindings[2], this is just a msg_send! and from what I can tell is getting an autoreleased reference, not a retained one.
It looks like objc_retainAutoreleasedReturnValue might be exactly what I'm looking for, even if it isn't 100% guaranteed; if I'm understanding, it would be safe, and wouldn't actually leak as long as you had an autorelease pool somewhere in the chain. However, I'm not seeing a binding to it in the objc crate[3]. Sounds like maybe I should file an issue?
[1]: https://developer.apple.com/documentation/metal/mtlcommandbu...
[2]: https://github.com/gfx-rs/metal-rs/blob/master/src/commandbu...
Thanks very much for this detailed information, it's very helpful. I've filed https://github.com/gfx-rs/metal-rs/issues/222 to track it in the Rust ecosystem side.
- Conditionally run some parts of build.rs
What are some alternatives?
metal-cpp - Metal-cpp is a low-overhead C++ interface for Metal that helps developers add Metal functionality to graphics apps, games, and game engines that are written in C++.
DXVK-macOS - Vulkan-based implementation of D3D10 and D3D11 for macOS / Wine
MoltenGL
FF14-MAC_ModSupport - Alternative method of running FFXIV on Mac with Mod Support.
dxvk - Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine
dxvk-async
Vita3K - Experimental PlayStation Vita emulator
MoltenVK - MoltenVK is a Vulkan Portability implementation. It layers a subset of the high-performance, industry-standard Vulkan graphics and compute API over Apple's Metal graphics framework, enabling Vulkan applications to run on iOS and macOS.
modorganizer2-linux-installer - An easy-to-use Mod Organizer 2 installer for Linux
wgpu - Cross-platform, safe, pure-rust graphics api.
GLFW-CMake-starter - Use CMake to create a project with GLFW - Multi-platform Windows, Linux and MacOS.