-=SiR KiLLaLoT=- wrote: ↑Thu, 15. Nov 18, 17:04
C'è un dettaglio di fondo in tutto questo....
Parlando dei videogiochi attuali, mi pare di capire che, tutti quelli che sono scritti in DX12 per Windows, soltamente funzionano anche in Vulkan (diciamo Vkd3d).
Da questo ne consegue che OGNI gioco che è stato scritto ANCHE in Vulkan nativo, possa girare tranquillamente sotto linux (emulato o nativo che sia).
Quello che invece voglio dire per quanto riguarda l'emulazione Linux è che, sfruttando un software appositamente creato per wine, riesca a fare girare ad una scheda video che NON è DX12 ma compatibile VKD3D (esempio pratico una ATI HD6870), un gioco che su Windows risulta SOLO giocabile tramite schede video DX12. Il punto è che per fare questo tipo di emulazione è MATEMATICO che il sistema debba fare più passaggi per accedere alle risorse, di conseguenza si hanno rallentamenti.
Il discorso cambia solo nel caso in cui il gioco in questione ha accesso diretto alle risorse in VKD3D dove Linux può lavorare benissimo sia in modo nativo, sia in modo emulato, ma sempre e comunque con accesso diretto.
Ma anche no. Stai semplificando troppo la storia.
Un software scritto per Windows accede all'hardware passando da quello che il sistema operativo offre attraverso vari driver (per l'audio, in Windows mi sembra si passi ancora dal Direct3D). Viceversa, un software scritto per Linux accede all'hardware passando da quello che i moduli offrono (riprendendo l'esempio, per l'audio si usa ad esempio alsa, ma ce ne sono altri).
Inutile dire che il modo in cui i due sistemi operativi offrono l'accesso all'hardware sono incompatibili per definizione

, per questo ci sono gli eseguibili (.exe) in Windows ma non in Linux.
Quello che fanno Wine, Proton e compagnia cantante è tentare di offrire a questi eseguibili l'ambiente che loro si aspettano di trovare, quindi devono offrire tutte quelle chiamate di sistema (ovvero l'"accesso all'hardware", guru degli OS passatemi il termine per semplicità) nell'identico modo in cui le offre Windows, traducendole per quelle di Linux.
Tutte: audio, video, mouse, tastiera, memoria, dischi, rete, ... insomma tutto. Ovviamente alcune sono più facili di altre (perché quando qualcosa viene fatto bene su Linux la portano subito su Windows e non tutto il ciarpame di Windows è da buttare

) e quindi non danno peso all'esecuzione, altre invece sì.
Il software usa le Vulkan? Buon per lui. Se hai i driver NVidia su Linux ti auguro tanta fortuna e buona salute nel riuscire a far funzionare la traduzione delle system call di Windows in Linux...