Halo 2 is out on Steam now and much like Halo: Combat Evolved Anniversary and Halo: Reach, the single-player works nicely on Linux thanks to the Proton compatibility layer for Steam Play.
Another title that has a personal place in my heart, from my younger days of playing on an Xbox console and enjoying far too many hours with curtains closed and volume up blasting through enemies in Halo 2. Once again it's amazing that playing a Microsoft and Xbox Game Studios title on Linux has become so ridiculously easy.
Take a look at how it runs if you're interested using Proton 5.0-7:
Video is using the MangoHud to show FPS, frame timings and more.
The main issue I have observed so far, is that sometimes a bunch of processes appear to stick around after you close it. Requiring to force kill various Wine, Halo and Steam processes to get it to stop. Annoying but not a major issue. Apart from that, there's also a fair bit of stuttering in places while drivers build a cache but it does get a lot smoother.
Just remember that when launching, you're going to want to pick the second option, as pictured below, which disables Easy Anti-Cheat which does not work with Proton (or Wine):
With thanks to the developer for including that option, the single-player can be greatly enjoyed on Linux but not online PvP multiplayer until somehow the team from Valve and CodeWeavers (plus the Wine team) that work on Proton can get Easy Anti-Cheat working.
You can find Halo 2 and the whole collection on Steam.