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
ExecuteIndirectsupport 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.