In the 0.30 update for BeamNG.Drive, VR support was introduced, however it would instantly crash when I launched it. After trying it again in 0.31, it didn't immediately crash and instead gave an error related to a missing OpenXR extension called VK_WINE_openxr_device_extensions.
I looked up VK_WINE_openxr_device_extensions and found that is part of the Proton source code (wineopenxr/openxr.c). I realized that I would probably need to remove this extension so I looked through the code in openxr.c. I then found where the extension was sent to BeamNG.Drive as a required extension in the code.
After finding this, I decided to start experimenting with various ways of removing the requirement for this extension. After reading the code and understanding what exactly it does, I decided that I would need the function to return XR_SUCCESS and that I would need to tell the game that there are no required extensions. I ended up doing this in a kind of hacky way by just returning early from the function. This should be fine as long as you only use my version of proton for BeamNG.Drive. In the end, I just edited the code in the wine_xrGetVulkanDeviceExtensionsKHR
function in openxr.c
to return early with XR_SUCCESS and to set bufferCountOutput to 0.
My patch was merged into Proton-GE and is available on version 8-26 or after. The pull request is here.