u/silv3rshi3ld

IL-2 Korea on Linux: I tried to fix the Proton issues. It escalated.

IL-2 Korea on Linux: I tried to fix the Proton issues. It escalated.

For anyone interested in running IL-2 Korea on Linux, I wanted to share a quick update on the work that’s been going on to improve its Proton compatibility.

I originally started looking at the broken terrain with a pretty simple thought: “How hard can it be?”

Turns out: quite a bit harder than it first looked.

I don’t often get the chance to dig this deeply into the Linux graphics and compatibility stack, and what initially seemed like a fairly contained rendering issue ended up involving several completely different components.

A lot of the motivation to keep going came from GitHub users, with a special mention to R3animate a fellow IL-2 Korea player who had already been helping bring attention to the Linux issues in different places online. Who encouraged to take a serious look at fixing it, and later helped throughout the investigation by providing logs and information from his side. We also ended up having a lot of genuinely fun conversations along the way, which has been one of the nice unexpected parts of this whole thing.

From there, the investigation grew well beyond the original terrain problem. With help and feedback from Hans-Kristian from VKD3D-Proton, I kept testing, reading code, building small experiments, and narrowing things down one issue at a time, while trying to get fixes into the right upstream projects.

It’s been a great learning experience and honestly a lot of fun to work through. I also don’t get to contribute to open source as often as I’d like, so seeing some of this work actually make its way upstream has been especially rewarding.

As for where things stand now:

  • Broken/missing terrain: fixed and merged into VKD3D-Proton (for the proper translation of A Windows game to Linux).

  • Needing special launch options to start the game: traced to Wine's NUMA support, with the fix now merged into Wine. (Which resolved the starting error when booting up the game.),

  • Flashing/square lighting artifacts: narrowed down to another separate issue. The investigation eventually moved further down the graphics stack, and the preferred upstream solution is now being worked on in Mesa (the linux graphics driver).

This doesn’t mean everything will suddenly work in regular Proton today. What it does mean is that the major Linux issues are now understood, with fixes either already upstream or moving through the upstream process. They're very close to be included in the updates, some already do.

As those changes make their way into the versions of Wine, Mesa, and Proton people normally use, IL-2 Korea should gradually become more playable on Linux without custom builds, special launch options, or other workarounds.

I mainly wanted to share the progress because this started as “let’s see if I can fix this” and ended up becoming a much larger investigation than I expected, involving several parts of the Linux gaming stack and some great people from the community along the way. It was very entertaining and I hope the collaborative efforts will provide fun for the community for years to come.

Full investigation, evidence, and current status:

https://github.com/silv3rshi3ld/il2-korea-proton-investigation

VKD3D-Proton terrain fix:

https://github.com/HansKristian-Work/vkd3d-proton/pull/3202

Relevant Proton issue (#9906):

https://github.com/ValveSoftware/Proton/issues/9906

u/silv3rshi3ld — 8 days ago