Check out our Monthly Survey Page to see what our users are running.

AMD driver work ongoing to help Halo Infinite on Linux and Steam Deck

By - | Views: 19,033

Developer Bas Nieuwenhuizen has a new blog post up about some of the work going into the radv AMD GPU driver on Linux, and they're taking steps towards doing "A driver on the GPU" which should help Halo Infinite get working.

One of the problems with Halo Infinite on Linux and Steam Deck with Proton, is to do with the Direct3D 12 to Vulkan translation layer VKD3D-Proton and how a certain part of Direct3D 12 is being used in a "non-trivial" way. Getting that properly supported sounds like it has been difficult.

The full blog post goes into some highly technical details that most people won't understand, but what they're doing is sending a bunch of the work to the GPU by adding some support for the Vulkan extension VK_NV_device_generated_commands. Sounds like some parts of the Vulkan specification may need some tweaks or adjustments based on what they're doing, and what's actually "allowed".

A key point though is not to expect this to come any time soon, as Nieuwenhuizen explains:

Don’t expect this upstream very quickly. The main reason for exploring this in radv is ExecuteIndirect support for Halo Infinite, and after some recent updates we’re back into GPU hang limbo with radv/vkd3d-proton there. So while we’re solving that I’m holding off on upstreaming in case the hangs are caused by the implementation of this extension.

Furthermore, this is only a partial implementation of the extension anyways, with a fair number of limitations that we’d ideally eliminate before fully exposing this extension.

Article taken from GamingOnLinux.com.
25 Likes
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG and Humble Store. See more here.
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
8 comments

Well, although I don't believe that blog post could have been any more succinct, it was a mind boggling read (to me). I won't hold my breath on playing Halo Infinite any time soon but, I imagine, this R&D is highly beneficial in the long run for the VKD3D team and us end users—I'm preemptively grateful.
tohur 26 Apr
well once they add support to VKD3D seems to me Nvidia should work also see as that is an Nvidia VK extension. heres to hoping hoping as Infinite is about the only game I have been booting into windows for lol


Last edited by tohur on 26 April 2022 at 7:36 pm UTC
Quinn 27 Apr
IIRC, Halo: Infinite doesn't work because of the changes made to DirectX, meaning Proton (and WINE) can't translate the API calls to something GNU+Linux can understand.

No amount of work done to the AMD driver's will change that as it's up to Microsoft to actually reverse the API changes (highly unlikely).
tohur 27 Apr
Quoting: QuinnIIRC, Halo: Infinite doesn't work because of the changes made to DirectX, meaning Proton (and WINE) can't translate the API calls to something GNU+Linux can understand.

No amount of work done to the AMD driver's will change that as it's up to Microsoft to actually reverse the API changes (highly unlikely).

If you check the github issue on proton some folks have gotten the game to load kinda of buggy but fact is the changes need to happen in proton/WINE and the rest of the stack.
I hope they succeed, but I'm not holding my breath.

For me the glory days of Halo was Halo 3 which can be played on MCC at least (single-player) I can't recall if they ever sorted out the multiplayer issue with EAC.

I would love to play some Halo on my Linux, but it seems like development has been a car-crash in terms of delivering to fans as it is with no plans for DLC or community building / seasons from the get-go.

If they do it, I'll totally play.
tohur 28 Apr
Quoting: ElectricPrismI hope they succeed, but I'm not holding my breath.

For me the glory days of Halo was Halo 3 which can be played on MCC at least (single-player) I can't recall if they ever sorted out the multiplayer issue with EAC.

I would love to play some Halo on my Linux, but it seems like development has been a car-crash in terms of delivering to fans as it is with no plans for DLC or community building / seasons from the get-go.

If they do it, I'll totally play.

They working on EAC now for Linux. they added the Linux file to make it work but at the same time mistakenly published an old EAC build that doesn't work. so for now you have to delete the EAC Linux file to be able to play single player. hopefully they fix the EAC build in next update for MCC


Last edited by tohur on 28 April 2022 at 5:35 am UTC
In the meantime I'm enjoying the series on TV! Episode 8 out today!

Only gripe with the TV series is that Master Chief is a lot more fleshed out emotional (human) in the TV series than being more stoic and decisive like in the video games. Still the best ever live action real representation of the game ever though!

My favourite TV series atm.
Quoting: DanglingPointerIn the meantime I'm enjoying the series on TV! Episode 8 out today!

Only gripe with the TV series is that Master Chief is
Doh! I got the wrong TV series. I was watching one about a Master Chef!
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: Liberapay or PayPal.

This ensures all of our main content remains totally free for everyone with no article paywalls. We also don't have tons of adverts, there's also no tracking and we respect your privacy. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register

Or login with...
Sign in with Steam Sign in with Twitter Sign in with Google
Social logins require cookies to stay logged in.