
Intel ha pubblicato su GitHub dxvk-igdext, un progetto open source che fornisce la libreria igdext64.dll per Wine e DXVK. La DLL consente ai giochi che usano le Intel D3D11 Graphics Extensions di sfruttarle anche sotto Linux: le chiamate per UAV overlap, MultiDrawIndirect e depth bounds vengono inoltrate all’implementazione nativa che DXVK già possiede. Senza questo tassello, quando le estensioni non risultano disponibili, il gioco ripiega in silenzio sul comportamento predefinito di D3D11, più lento.
dxvk-igdext serve a chi gioca con le GPU Intel Arc sotto Proton e Steam Play, e copre soltanto i titoli Direct3D 11: le funzioni per D3D12 esistono nella DLL, ma sono stub inerti. Il progetto è già incluso nel ramo bleeding-edge di Proton, che lo compila come sottomodulo e copia la DLL nel prefisso del gioco all’avvio, senza passaggi manuali. Si tratta di una soluzione che può essere idealmente accostata a DXVK-NVAPI, l’equivalente per le schede NVIDIA, e precisa che per ora la DLL è presente nelle build beta bleeding-edge di Proton Experimental.
Installazione manuale e patch necessarie
Chi usa una build di Proton priva dell’integrazione deve copiare igdext64.dll nella cartella DriverStore\FileRepository\igd_faux.inf_1 di system32. Su Linux la cartella corrisponde a un percorso reale nel drive_c del prefisso Wine o Proton, mentre per i prefissi di Steam si trova sotto steamapps/compatdata, nella sottocartella che porta l’appid del gioco. La compilazione passa da CMake con una toolchain incrociata MinGW-w64, e il progetto si configura anche con MSVC per chi vuole compilarlo a mano su Windows.
Copiare il file non basta: il percorso DriverStore e il finto driver DX11 in modalità utente di Intel, igd10iumd64.dll, che induce i giochi a cercare la DLL, arrivano dalle patch HACK/INTEL di Wine. A caricare quel driver fittizio provvede invece una patch di DXVK. La parte Wine sta nel fork di Wine mantenuto per Proton e quella DXVK è già upstream, quindi secondo la documentazione del progetto una build di Proton ragionevolmente recente dovrebbe includerle entrambe: prima di applicare patch a mano conviene verificarlo.
Due generazioni di API, e D3D12 resta fuori
La DLL espone 38 funzioni, divise fra due generazioni di interfacce, perché un gioco può essere stato compilato con l’una o con l’altra versione dell’SDK di Intel. Le funzioni legacy, senza prefisso _INTC_, rispecchiano l’ABI in uso prima del 2019. Quelle moderne, con il prefisso _INTC_, seguono l’ABI dell’SDK attuale, e le due famiglie convivono affiancate così che ogni titolo trovi i punti di ingresso che si aspetta.
Solo le funzioni D3D11 si appoggiano a DXVK. Le voci per Direct3D 12 sono stub: la richiesta delle versioni supportate restituisce zero e la creazione del contesto di estensione fallisce sempre. Restano nella DLL soltanto perché il loader di igdext.lib pretende che quelle esportazioni esistano. Anche sul fronte D3D11 la copertura ha qualche buco: la creazione di texture 2D tramite estensione Intel ricade sulla normale CreateTexture2D, senza estensioni DXVK, e la registrazione dei callback applicativi è inerte.
Per ora dxvk-igdext è pensato solo per Linux e Wine, e il progetto ne esclude esplicitamente l’uso su Windows nativo. Il codice è rilasciato con licenza MIT. La DLL dovrebbe arrivare anche nelle versioni ordinarie di Proton, come già accade per il componente NVIDIA, così da non richiedere alcun intervento ai possessori di schede Arc, ma una data non è stata indicata.