Gallium3D: implementazione nativa di Direct3D 10 e 11 anche su Linux

Gallium3D: implementazione nativa di Direct3D 10 e 11 anche su Linux

Grazie al progetto Gallium3D ora le API Direct3D 10 e 11 di Microsoft hanno un'implementazione nativa anche su Linux

di pubblicata il , alle 12:30 nel canale Sistemi Operativi
Microsoft
 

Grazie al progetto Gallium3D, una libreria che opera da layer tra le API grafiche ed il sistema operativo, Linux da oggi può contare su un'implementazione nativa delle API Direct3D 10 e 11 di Microsoft. Luca Barbieri ed altri sviluppatori hanno infatti realizzato un nuovo state-tracker di Gallium3D in grado di supportare le API grafiche di Microsoft senza effettuare alcuna "traduzione" delle chiamate in OpenGL, come ad esempio avviene invece con Wine.

Dal momento che Gallium3D fa parte del driver grafico opensource Nouveau, l'implementazione del nuovo state-tracker "d3d1x" risulta particolarmente interessante, tuttavia Barbieri ha voluto precisare che è solo l'inizio. Il lavoro da fare è ancora molto e d3d1x al momento è in grado di far girare sotto Linux solamente alcuni demo di texturing.

La notizia ovviamente fa subito pensare ad un possibile sbarco dei videogiochi sviluppati per Windows anche su Linux, tuttavia per ora si tratta di un'ipotesi da escludere, perlomeno in tempi brevi. Una delle motivazioni principali per cui non vedremo tanto presto videogiochi per Windows sul sistema operativo del pinguino è che DirectX non è soltanto Direct3D.

Le API di Microsoft oltre a Direct3D contengono infatti altri moduli particolarmente utilizzati dagli sviluppatori di videogiochi, come ad esempio DirectSound e DirectInput, che tuttora non hanno un'implementazione nativa sotto Linux. L'alternativa è dunque quella di continuare ad appoggiarsi per tutto quello che non concerne la grafica a Wine, progetto che però ha ancora bisogno di essere ulteriormente perfezionato.

14 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
fendermexico23 Settembre 2010, 12:35 #1
se è una tecnologia proprietaria come fanno ad "implementarla"...???
pagano i diritti a microsoft?

cioè...è come se windows implementasse parte del sistema operativo osx dentro se stesso e...penso che la apple tirerebbe fuori i suoi avvocati all'istante
se lo facesse. Qui mi pare lo stesso caso.

p.s. comunque la piattaforma linux assomiglia sempre più ad un grande "vorrei ma non posso"...si concentrassero sui formati open tipo opengl...
anzichè fare certi accrocchi...
radoen23 Settembre 2010, 12:42 #2
più che altro è un "vorrei, posso, ma serve un sacco di tempo", usare opengl andrebbe più che bene ma bisogna che i produttori di VG realizzino motori che usino tali librerie altrimenti ci tocca usare questi strumenti qui
Spellsword23 Settembre 2010, 12:44 #3
http://www.phoronix.com/scan.php?pa...d3d11&num=1

per approfondimenti, anche perchè non è molto chiaro nell'articolo come sia possibile una cosa del genere..
Hilinus23 Settembre 2010, 13:00 #4
liquidator23 Settembre 2010, 13:59 #5
@fendermexico
Direct3D sono delle API. Qui si dice che i vari metodi/funzioni sono stati implementati direttamente senza usare codice Microsoft, e senza passare per le OpenGL (come fa Wine)...
Ciò non toglie eventuali dubbi di natura legale, come si riporta qui http://www.phoronix.com/scan.php?pa...m&px=ODYyNw
Pikazul23 Settembre 2010, 14:45 #6
Non sono un avvocato, ma da quel che so non solo l'uso senza autorizzazione di codice altrui è proibito (questo è ovvio) ma anche l'implementazione di tecnologie proprietarie.
Tanto questo gallium quanto lo stesso Wine sono in una zona legale poco chiara. Non creano grossi problemi e quindi una causa legale avrebbe solo l'effetto di attirare critiche e pubblicità negativa (riconoscendo la "pericolosità" e quindi la validità di linux), ma è possibile che semmai dovesse diventare un problema la MS potrebbe smuoversi per proteggere l'esclusività di ciò che ha sviluppato lei stessa.
pabloski23 Settembre 2010, 14:57 #7
gallium in una zona legale poco chiara? scusa Pikazul ma ti sbagli di grosso....gallium non è un'implementazione di direct3d per linux, gallium è l'infrastruttura per la creazione di driver multios e multigpu creata dalla Tungsten Graphics ( oggi parte di Vmware )

gallium non c'entra niente con lo state tracker direct3d che è stato implementato

riguardo l'api di direct3d è tutto legale, perchè un'api non è brevettabile, lo è solo l'implementazione che c'è sotto....l'api è semplicemente una raccolta di nomi di funzioni con relativi parametri d'input

riguardo quello che dice fendermexico, ha ragione su opengl, ma ormai i giochi usano tutti directx....ms in passato ha giocato sporco e ha guadagnato un'immeritata posizione di dominio, scalzando opengl ( dopo aver copiato a man bassa )....oggi directx è usata per tutti i videogiochi per pc e xbox e ci piaccia o no è un'api con cui bisogna avere a che fare

opengl 4.1 è alla pari con direct3d 11, quindi il problema non è una presunta scarsa qualità di opengl ma il fatto che chi crea motori grafici non può allegramente passare da direct3d a opengl allegramente, buttando a mare milioni spesi nell'addestramento del personale e centinaia di milioni di righe di codice dipendenti da direct3d/directx

per le questioni legali vi rimando qui http://www.osnews.com/thread?442017

a ms piacerebbe poter brevettare pure i nomi di funzioni ma nun se po fa....inoltre in Europa i loro brevetti valgono meno di zero, visto che noi non adottiamo l'assurdo sistema USA

lucusta23 Settembre 2010, 18:20 #8
la portabilita' di un gioco da windows dx3d a linux API-dx3d e' poco praticabile, perche' oltre alle chiamate delle API entrano in gioco decine di altri tipi di logica tipici di windows (sistemazione delle cartelle, permessi di accesso ai file, giusto per citarne un paio); il bello e' che le dx3d non sono usate solo per i giochi, ne tantomeno lo sono le altre API dx; io mi sforzerei di piu' su directSound e directImput, perche' un sacco di software (e di driver) e' sviluppato anche per queste API... in questo modo molte schede praticamente esclusive per windows potrebbero essere facilmente implementate su Linux.

in piu', il progetto e' molto stimolante per le virtualizzazioni, in quanto si puo' usare un emulazione hardware anche delle schede grafiche, audio, input e acquisizione, con bypass diretto macchina emulata (win) a macchina host (linux), velocizzando di parecchio le macchine virtuali.
WaywardPine23 Settembre 2010, 18:24 #9
Credo che la maggior parte dei motori grafici astragga completamente l'API usata per il rendering e consenta di cambiare il backend da DirectX a OpenGL senza modifiche troppo invasive o costose (di sicuro questo vale per Frostbite e Unreal engine, ma immagino anche per molti altri). Quindi, IMO, il fatto che i giochi non ci siano su Linux per via della mancanza di DirectX è una leggenda metropolitana. Anche su PS3 non c'è DirectX, ma i giochi piattaforma mi sembra vengano realizzati senza troppi problemi. La verità è che non c'è mercato.
LuciferSam23 Settembre 2010, 19:27 #10
Nouveau? Vuol dire quindi che (almeno per ora) è compatibile solo con NVidia, giusto? Per ATI, qualche speranza?

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^