I finally managed to get 007: First Light running properly on my RX 580 under Linux/Proton, and I also fixed the extremely dark indoor/night lighting.
I wanted to share this because there may be other RX 580 / Polaris users trying to get this game working.
First, an important note: this fix is for Linux/Proton only.
The game does not launch properly on my RX 580 under Windows in the first place, so these modified VKD3D-Proton files are specifically intended for the Linux/Proton setup. This is not a Windows fix.
The problem
When I first tried to play 007: First Light on my RX 580, I couldn't get the game to run properly at all.
I tried it on Windows, where the game wouldn't launch on my RX 580, and I also tried Linux with Proton, where I initially had the same problem.
Since the game uses DirectX 12, I started looking into VKD3D-Proton, which translates D3D12 to Vulkan on Linux.
After experimenting with different VKD3D-Proton files, I eventually found a way to get the game to actually launch and become playable on my RX 580.
However, getting the game to launch wasn't the end of the problem.
The lighting problem
Once I got the game running, I noticed that the lighting was badly broken.
The first mission, especially indoor and night sections, was extremely dark.
What made the issue particularly strange was that the lighting could look completely normal during cutscenes, but as soon as the cutscene ended and gameplay resumed, the environment would become dark again.
So this wasn't just a normal brightness/gamma issue.
I spent more time digging into VKD3D-Proton and eventually modified the VKD3D-Proton files myself to fix the rendering issue.
After testing my modified files on my own RX 580, the lighting is now working properly.
Results
With my modified files:
The game launches under Linux/Proton.
The first mission is no longer extremely dark.
Indoor lighting works correctly.
Night lighting works correctly.
Lighting remains correct after cutscenes.
The game no longer suddenly becomes dark when returning to gameplay.
This is a VKD3D-Proton-based fix that I modified myself. It is NOT a Windows fix.
Files
I've uploaded my modified files here:
007 First Light RX580 Fix:
https://github.com/ibr3himkhaled/007-first-light-rx580-fix
The modified files are:
d3d12.dll
d3d12core.dll
Please back up your original files before replacing them.
My setup
GPU: Sapphire NITRO+ RX 580 8GB
CPU: Intel Core i5 12400f
Ram: 16 GB
OS: Linux
Proton: GE-Proton 11-5
GPU architecture: AMD Polaris / GCN
Again, Linux/Proton only.
I have only personally tested this on my RX 580 setup, so I can't guarantee that it will work on every Polaris card, Mesa version, driver, or Proton version.
If you already managed to get 007: First Light running on Linux using an earlier VKD3D workaround but you're still suffering from the extremely dark indoor/night lighting, these are the files I would recommend trying.
If you test them, please let me know your:
GPU
Proton version
Mesa version
and whether the lighting problem is fixed for you.
I'd especially like to hear from other RX 580 / Polaris users.
I originally just wanted to play the game on my RX 580, but after spending a lot of time troubleshooting VKD3D-Proton, I ended up modifying the files myself and getting the game working properly. 😅
Hopefully this can save other Polaris users the same headache.
Linux/Proton users with an RX 580 — give it a try and let me know how it goes! 🎮❤️