The chains are loosening. DirectX still binds many PC games to Windows. Now, CodeWeavers expects CrossOver to support DirectX 11 by the end of the year, with Wine gaining compatibility shortly afterwards.
In other words, more Windows PC games will “just run” on Linux, and it’ll be easier for developers to package those games with compatibility code and officially support them on Linux.
CodeWeavers is bringing DirectX 11 to Linux
Wine already supports DirectX 9 very well, but many new games no longer support DirectX 9 and rely on newer versions of Microsoft’s graphics technology. Wine is an open-source compatibility layer that allows Windows applications to run on top of Linux, Mac OS X, and other non-Windows operating systems.
CodeWeavers offers a paid product, known as CrossOver, which is built on top of the open-source Wine code. It pays developers to add features, and those improvements inevitably end up back in the open-source Wine project. CrossOver also provides a convenient interface and more of a guarantee that certain applications will be officially supported and not break.
While the DirectX 11 support will make it into CodeWeavers’ product before it makes it to the open-source Wine project, the code will be open-source and submitted for inclusion into the Wine project. In other words, CodeWeavers helps fund and support the development of Wine.
“In the coming months, CodeWeavers will have support for DirectX 11; better controller support; and further improvements to overall GPU performance. While these incremental improvements for game support may seem small (at first), the cumulative improvements for game support will allow for many of these games to ‘just run’ when released.”
According to a post on Reddit, this code should be done by the end of 2015, and work has already been underway for seven months. The patches will of course be contributed to the open-source Wine project, too.
Why this matters
Microsoft’s DirectX graphics technology is only officially supported on Windows, Xbox, and other Microsoft platforms. The Wine project helps bridge this gap and already supports DirectX 9 very nicely.
The new underlying CrossOver technology will also allow developers to port DirectX 11 games to Linux more easily. Linux gamers tend to dislike this type of port and prefer a native game that doesn’t use any Windows compatibility layer, but hey, it’s still better than nothing.
In the past, John Carmack of id Software and now Oculus has even argued that “emulation of some sort is a proper technical direction for gaming on Linux.” The better that DirectX compatibility gets, the easier it will be to port Windows-first games to Linux. And, even if certain games aren’t officially supported, it’ll become easier to just run them without any modification. Big game engines are increasingly supporting Linux, but general Windows compatibility is still helpful.
Thankfully, it looks like it will be easier to convert DirectX 12 code to Vulkan, the successor to OpenGL.