[Linux-Biella] rappelz

Daniele (Mastro) daniele.bilug a gmail.com
Ven 1 Ago 2008 20:29:36 CEST


Marco Vallini ha scritto:
> hai individuato il perche' a volte non va? es. particolari DLL, api 
> grafiche particolari, altro, boh... ??

wine funziona implementando le "specifiche" degli eseguibili windows e 
rimappandoli sull'infrastruttura tipica di Linux.

tali specifiche sono ottenute tramite reverse engeneering perchè 
//ovviamente// la microsoft non le rilascia..

Il codice macchina di per se è lo stesso su windows e su Linux se 
l'architettura è una i386...
quindi il problema sono le librerie....

talvolta si possono usare tali e quali.. più spesso vanno riadattate ed 
in particolar modo vanno riscritte tutte le librerie microsoft per 
interfacciarsi con Linux anziché con Windows....

Le librerie DirectX non sono riscrivibili (sarebbe proibitivo e 
decisamente sciocco...)

di directX la parte più complessa è Direct3D.. qui si tratta di 
rimappare le chiamate alle api Direct3D su OpenGL..
i problemi che si incontrano nel far questo sono molti.
A partire dal fatto che non sempre i driver OpenGL delle schede video 
per Linux implementano tutte le funzionalità della scheda video....

l'architettura Direct3D è radicalmente diversa da OpenGL.. mappare le 
chiamate non è cosa semplice...

Spesso poi i giochi per Windows hanno dei fix o accrocchi per funzionare 
su Windows.. ad esempio fanno vaccate con la memoria che windows "lascia 
passare" mentre Linux blocca.. il che significa che se il gioco è 
opensource lo prendi e lo sistemi.. se non lo è....... beh.. le opzioni 
sono: reverse engeneering + accrocchi per sistemare gli accrocchi.
Da quest'ultima considerazione puoi capire che serve sviluppare fix 
specifici per i particolari giochi....
(che è quello che cerca di fare cedega... supporta i giochi più 
gettonati che sono quelli che hanno più probabilità di funzionare)

quindi le variabili in gioco sono decisamente tante...

ecco perché anche se c'è scritto "va" non ci metterei la mano sul 
fuoco... magari va a te con la scheda nvidia geforce salcazzo 9700 e i 
driver nvidia proprietari versione quellatantobellachefunziona mentre a 
tuo cuggino che ha apparentamente la stessa scheda con gli stessi driver 
non funziona perché in realtà la scheda video è di un altro produttore 
video con qualcosa di diverso...

e via così....

sono stato esauriente?

-- 
Iscritto alla ML del BiLUG da Lun 27 Mar 2006 21:39:26 CEST
Utilizzatore di Linux dal Luglio 2006

blog: http://natonelbronx.wordpress.com/
Daniele



Maggiori informazioni sulla lista Linux