Gaming con Linux 2006

Gaming con Linux 2006

A poco più di un anno di distanza dalle nostre ultime valutazioni delle prestazioni di alcune schede video con Linux, vi proponiamo una nuova analisi del comportamento dei processori grafici ATI e NVIDIA con questo sistema operativo utilizzando diverse distribuzioni con giochi nativi e non.

di pubblicato il nel canale Schede Video
NVIDIAATI
 

Cedega – Wine Is Not an Emulator

Come già detto in fase introduttiva, esistono diverse distribuzioni di Linux che grazie all'adozione di interfacce grafiche sempre più intuitive e di una serie di automatizzazioni per le operazioni più complesse possono essere considerate come valide alternative a Windows per un personal computer domestico. Ciò che tuttavia rappresenta il vero limite di Linux nella sua diffusione come ambiente desktop è lo scarso supporto ad applicazioni multimediali e, in particolare, ai videogames. L'unica API nativa su Linux per l'accelerazione della grafica tridimensionale è OpenGL la quale, essendo cross platform, consente di realizzare videogames compatibili per Linux, Windows e Mac OS, almeno sul versante grafico. Non è un caso che tra i titoli disponibili sotto Linux troviamo quasi esclusivamente videogames che fanno uso di OpenGL come quelli basati sui motori grafici ID Software (Doom III e Quake 4 inclusi), Unreal Tournament 2004, Neverwinter Nights, ecc... Questi, tuttavia, rappresentano solo una piccola percentuale della totalità dei videogames sviluppati per PC: la maggioranza, infatti, utilizza le API DirectX il che li rende difficilmente convertibili per Linux (bisognerebbe realizzare una versione del motore grafico in OpenGL).

Era il 1993 quando, nonostante le applicazioni Windows fossero poche ed esclusivamente a 16 bit, la problematica della portabilità tra Windows e Linux fu da subito avvertita ed un gruppo di sviluppatori che fino ad un anno prima aveva lavorato con la Sun ad un progetto denominato Wabi, avviò lo sviluppo di Wine. All'epoca si iniziò a lavorare sulla compatibilità con le applicazioni Windows a 16 bit, ma con il passare del tempo e l'arrivo della piattaforma Win32, il progetto Wine non fu abbandonato e traguardi sempre più ambiziosi furono raggiunti con diverse soddisfazioni. Nel gennaio 1996 storico fu l'annuncio della compatibilità di Wine con Excel e Word, due delle applicazioni più diffuse al mondo attraverso Windows. Nel 2001 gli sviluppatori di Wine fondarono TransGaming avviando un altro progetto sullo stile di Wine, ma focalizzando l'attenzione sui videogames e, in particolare, sulle DirectX. Nacque quel giorno WineX, una versione di Wine specifica per le applicazioni multimediali facenti uso delle DirectX, non più gratuita e, nel 2004, rinominata Cedega.

La grande domanda relativa al progetto Wine è la seguente: come è possibile avviare applicazioni Windows sotto Linux? La risposta a questa domanda (così come il lavoro degli sviluppatori di Wine) sarebbe semplice se Microsoft rendesse pubblico il codice sorgente dell'API Win32. La realtà, tuttavia, è che il codice sorgente non è disponibile e pertanto è necessario effettuare un eccezionale lavoro di reverse engineering, termine con il quale si intende lo sviluppo di qualcosa a partire da una black box, cioè una serie di funzionalità, senza però conoscere come queste sono realmente implementate al suo interno. Inutile dire che tale lavoro è particolarmente oneroso anche considerando che la documentazione dell'API Win32 non sempre si spinge ad un livello di dettaglio tale da poterne riprodurre il comportamento in ogni situazione (anche perché se così fosse non si chiamerebbe documentazione, ma codice sorgente).

L'interfaccia grafica di Cedega

Prima che a qualcuno possa sorgere il dubbio è bene chiarire che “Wine Is Not an Emulator”. Con questo slogan/acronimo si intende dire che Wine non emula le funzionalità di un processore x86 con un sistema operativo Windows, ma è a tutti gli effetti una implementazione dell'API Win32 sotto Linux realizzata con codice al 100% non-Microsoft. Cedega, in particolare, si ripropone di avviare applicazioni Windows che fanno uso delle DirectX e per questo motivo non è altro che una implementazione Linux delle più primitive funzionalità Win32 e delle DirectX, realizzata appoggiandosi a librerie di accelerazione hardware disponibili sotto Linux come OpenGL per la grafica e ALSA per l'audio.

Non è nostra intenzione in questa sede entrare nel dettaglio del funzionamento di Cedega. Ciò che possiamo tuttavia affermare è che siamo rimasti piacevolmente impressionati dalle sue capacità. Nella sua versione 5.0 o superiore, Cedega viene distribuito completo di una comoda interfaccia grafica attraverso la quale è possibile gestire l'installazione e l'esecuzione dei videogames in maniera simile a quanto facciamo con il menu Start di Windows. Sul sito di TransGaming, inoltre, è disponibile un corposo database che per ogni titolo mostra il grado di supporto e, se disponibili, alcuni screenshots ottenuti con Cedega sotto Linux. Attualmente Cedega offre una completa implementazione dell'API DirectX 8.1. Ciò significa che con Cedega è potenzialmente possibile avviare qualsiasi videogames a patto che siano supportati i vertex shaders 1.1 ed i pixel shaders 1.4, oltre naturalmente alle precedenti DirectX 7.

 
^