Hi,
I mostly finished rewriting the vulkan code on top of the wrap_gl branch (it works on Intel but not on amd/nvidia due to rgb format support missing on the latters) ; it makes vulkan implementation less invasive and doesn't touch rendering algorithm.
There is however an issue : mipmaps need to be generated outside of Vulkan. It's possible to write a loop averaging texels for power of 2 textures but it's tedious and non power of 2 textures may require some hack. The "correct" solution is to provide textures as dds or ktx file which are composed of a binary header and raw Texel data. This means generating such texture with a third party tool like nvidia-texture-Tools as part of build process and then loading them with a lib (like gli which is a header only lib).
I'm planning to integrate Vulkan into warzone 2100 in 2 steps : the first one is bringing a working Vulkan backend which lacks texture mipmap levels and hence only support bilinear and not trilinear filter. This would ensure that it's properly working for various hardware. This part is the one which is almost finished. It requires 3 new dependencies : Vulkan obviously, Vulkan hpp (a C++ wrapper that reduces vulkan verbosity) and glslc. Vulkan is already provided in Ubuntu as far as I can tell, but I don't think MXE has it. I don't know if Vulkan hpp is but it's only an header so it may be possible to add it in 3rdparty/ directory. Glslc (or shaderc) is a glsl to spir-v compiler. It's a wrapper on top of glslang the official compiler from Khronos and adds some useful features like preprocessor directive (read: #include). As far as I know it's not in Ubuntu at the moment.