La forma mas sencilla de compilar DXVK en Gentoo es con una chroot de Debian, pero… Donde está la diversión en eso? La primera vez que lo intenté me topé con varios problemas y no encontré documentado el proceso en ningún sitio. Esta entrada es un intento de resolver ese problema.
Dependencias
Según la documentación oficial necesitamos:
wine 3.10 or newer
Meson build system (at least version 0.43)
MinGW64 compiler and headers (requires threading support)
glslang front end and validator
MinGW64
Se necesita MinGW con threads de POSIX. Por suerte existe crossdev, el problema es que por defecto compila GCC con threads de Win32.
Se crea primero la toolchain, la tupla para x86 es i686-w64-mingw32 y para x64 x86_64-w64-mingw32.
Para arreglar GCC se necesitan dos cosas, indicar que lo queremos con posix threads y las librerías que hacen falta para compilarlo.
Se añade la USElibraries al runtime.
Por último recompila mingw64-runtime y gcc por separado, en ese orden.
Dependiendo de la versión del runtime puede que se instalen algunas librerias en el lugar equivocado y esto impide compilar GCC, si es el caso basta con hacer enlaces. Bug #653246 Ejemplo:
El resultado final debe ser este:
Compilar las DLLs
Estas son las toolchains que usé y que producen binarios que funcionan.