Alguna vez imaginaste en que en Linux podías jugar a esto?
[Megapost] Máximo rendimiento de juegos de Windows en Linux
Super Street Fighter IV: Arcade Edition


A esto...
Ubuntu
FlatOut 2


... o incluso a esto???
street fighter
FIFA 12



Bueno, prepará el café porque esto es para largo...
rendimiento


Para poder jugar a esto y al apróximadamente el 95% de los juegos de Windows en Linux, vamos a necesitar esto:

- Wine (FUNDAMENTAL)
- Dx Wine
- Winetricks
- Lutris.

Comenzemos...


Indroducción a WINE:

Linux no tiene archivos .exe. Y uno entonces se pregunta: como carajos accedes a los programas entonces?
Fácil: Directamente se instalan en el sistema y vos no accedes a esos archivos ejecutables (que son .sh), sino q directamente, tenes a mano los accesos directos ordenados automaticamente por el sistema.

Entonces... si Linux Ubuntu no tiene archivos .exe... como demonios haces para correr los programas de Windows??? Bueno, unos genios hicieron un programa llamado Wine, que significa Wine is not emulator, que es el que sirve para correr todos los archivos .exe.

Pero si no es emulador... como hace para correr los .exe??? Bueno, Wine no emula, sino que es un complejo grupo de archivos que son una capa de compatibilidad para que Linux corra los .exe. Entonces, Wine no emula Windows, solo te deja correr los programas de Windows, en Linux.

Y eso es bueno? Si y No. Vamos a decir un par de verdades (a mi entender)

Primer verdad: Mejor uso de la RAM.
Vos sabes que Windows (sea la version que sea) tiene cargados en la ram BANDA de programas al pedo, no? Ok, WINE no hace eso. Y por eso, consume menos recursos que Windows

Segunda verdad: DIRECT X.
Éste es el gran problema... pero por que diras? Te cuento. Directx es la API mas usada que maneja los graficos en Windows... y exclusiva de Windows. Que usa Linux? OpenGL.
Entonces... como hace Linux para correr juegos que usan DirectX si usa solamente OpenGL? Ahi es donde entra la magia de Wine, y hace que OpenGL emule (ahora Sí emula) a DirectX.
El resultado? Obviamente, al emular, perdes rendimiento.
Que corren mejor los juegos en linux que windows? Te diria dependiendo del juego, pero en su mayoria, la respuesta es NO, justamente, por la emulacion de directX. Se podría decir que los juegos basados en DirectX7 funcionan igual en Windows que Linux, pero ya con DX9 en adelante la cosa cambia mucho: aproximadamente, un 20% menos de rendimiento por lo general.

Tercer verdad: Games for Windows.
A Wine le cuesta enormemente correr los juegos que traen este sistema. Por eso, al día de hoy, no corre por ejemplo juegos como Street Fighter IV o Resident Evil 5 o Gear of Wars

Cuarta verdad: Un Windows diferente por cada juego.
Si queres, podes hacer que un juego viejo corra en Windows 95, y uno nuevo en Windows 7.
Y no solo terminan ahi las opciones, sino la instalación de programas internos tambien, como por ejemplo, el frameworks, directx, y todo lo que se te ocurra.
Y es ahí en donde Wine le saca el jugo a sus funciones, ya que por ejemplo, hay juegos que andan bien con un windows, con x programas instalados.
O sea, si usas una configuracion de Wine en general, hay juegos que van a funcionar mejor y otros peor. Por eso, con Wine y usando un programa llamado PlayOnLinux; que es un Wine adaptado a juegos, al instalar x juego de Windows que figure en la lista de PlayOnLinux, este te va a crear un windows configurado a la perfeccion para ese juego. Bueno? BUENISIMO!!

Quinta verdad: Los drivers de video de Windows son mejores que Linux.
No se por que pasa esto, pero al correr por ejemplo Open Arena, si uno los compara y los jugas en Windows XP y en Linux, vas a ver como en Win tira mas cuadros.
Esto no pasa porque no es nativo... o por culpa de Wine. Cada uno se ejecuta desde sus respectivos ejecutables y aun asi en Windows es mejor, y esto pasa, porque el rendimiento de las placas de video es superior en Windows que en Linux... una cagada... pero por ahora es así.




Guía de Wine:

flatout
Ultima versión de Wine: 1.3.28

Recomiendo instalar la versión beta de Wine, porque en muchos casos tiene mejoras que no están en las versiones estables, y mas en la última versión 1.3.28 que funciona espectacular y con un montón de mejoras. Una vez terminado, deberías tener Wine y Winetricks instalados. También tenés la posibilidad de instalar Lutris, PlayOnLinux y Vineyard que pueden llegar a ser bastante útiles, pero eso lo dejamos para más adelante.

Lo primero que tenemos que hacer, es instalar DirectX.
wine
Dx Wine, la mejor forma de instalar DirectX

Direct X:
Bajen Dx Wine hecho por kuboode que instala perfectamente DirectX 9c en Wine. Es fantástico e incluso te da la opción de tener Dxdiag! Todos los créditos y agradecimientos a Kuboode por hacer este programa genial.
http://www.taringa.net/posts/linux/11939995/Dx-Wine-_directx-para-wine_-NUEVA-VERSION_.html
Después tienen la opción de instalar DX10 y DX11, todo depende si las placas de video que tengan lo soportan o no.

Windows
DxDiag, ideal para saber si todo el hardware está reconocido en Wine.


Teniendo todo esto, con Winetricks pasamos a instalar estos programas, que si bien no son obligatorios, (todo depende de las aplicaciones que hayan a usar), hay que cumplir con la dependencia de los games en general. Recuerden que Wine es como Windows, así que, Mas o menos, esto es lo básico:

Visual Basic:
- vcrun 2005 (Visual C++ 2005)
- vcrun 2008 (Visual C++ 2008)
- vcrun 2010 (Visual C++ 2010)

Framework:
- dotnet20 (Framework NET 2.0)
- dotnet30 (Framework NET 3.0)
- dotnet35 (Framework NET 3.5)
- dotnet40 (Framework NET 4). Este no aparece en Winetricks. Se puede instalar manualmente, pero a veces dá problemas con Wine. Hay una forma de corregir eso igual.

Hay muchísimas cosas mas para instalar, revisen bien las opciones que les da Winetricks, todo depende de su máquina y de las aplicaciones que vayan a usar, pero mas o menos, esto es lo mínimo e indispensable.


juegos


Configurar las opciones de Wine.

Abrimos Winetricks y vamos a "Select the default wineprefix" y a "Change settings". Para mí, la mejor forma es esta:

Linux
maximo
Winetricks

Las opciones que activé son estas:
- ddr=opengl
- dsoundhw=Emulation
- glsl=disabled
- multisampling=disabled
- mwo=enabled
- native_mdac
- npm=repack
- orm=blackbuffer
- psm=enabled
- rtlm=auto
- sound=alsa
- strictdrawordening=disabled
- vd=off

De estas opciones, hay 2 que mejoran el rendimiento
- OffscreenRenderingMode, al poner la opción FM (Framebuffer) tira varios cuadros suave, se congela, y vuelve a hacer lo mismo una y otra vez, y es injugable cualquier game. Por eso es recomendable "backbuffer".
- Direct Sound: Aceleración Hardware, cambien Completa por Emulación. Aumenta mucho el rendimiento y la compatibilidad con respecto a "completa". Si por alguna razón tienen problemas de sonido en algún game, vuelvan a poner Completa (pero por lo general, no da inconvenientes)
También, para ganar rendimiento podes desabilitar GLSL y MultiSampling, pero perdés calidad gráfica.

Pero si Wine aún después de todo esto no nos detecta la placa de video, podemos hacer esto:
Una vez que hayas cambiado las opciones (porque sino, no va a aparecer), vas al directorio de .wine en tu carpeta de usuario, y abris un archivo llamado “user.reg” (es el archivo se van almacenando las claves de registro que va creando el usuario).

fifa 12

Ahí buscas [SoftwareWineDirect3D] y al final le agregamos:

"VideoDescription"="Ingresar el modelo de placa de video con comillas"
"VideoDriver"="nv4_disp.dll"
"VideoMemorySize"="Ingresar la memoria de la placa de video"

En mi caso, queda asi:
[SoftwareWineDirect3D] 1318967087
"DirectDrawRenderer"="opengl"
"Multisampling"="disabled"
"NonPower2Mode"="repack"
"OffscreenRenderingMode"="backbuffer"
"PixelShaderMode"="enabled"
"RenderTargetLockMode"="auto"
"StrictDrawOrdering"="disabled"
"UseGLSL"="disabled"
"VideoDescription"="GeForce 7025 / nForce 630a/PCI/SSE2/3DNOW!"
"VideoDriver"="nv4_disp.dll"
"VideoMemorySize"="512"

Y listo! Ahí Wine está preparado para la guerra!
(Si alguien sabe una configuración mejor... que avise!)


Ya usamos WIne, Dx Wine y Winetricks, ahora vamos a potenciar todo esto con un programa llamado Lutris.


Introducción a Lutris.

lutris
Lutris con algunos de mis mayores vicios...

Lutris es un programa que agrupa todos los juegos en una sola plataforma, algo similar a Steam.
Tiene como característica soportar CASI TODO, sino miren la lista de cosas que se banca:

- Juegos nativos de Linux.
- Juegos nativos de Windows.
- Juegos de MAME.
- Amiga 500, 600, 1200.
- Atari 2600, 800, 800XL, 130XE, 5200, ST, STE, TT, Lynx.
- Bandai WonderSwan, WonderSwan Color.
- Juegos online de los navegadores, como Quake Live, Minecraft y todos los flash.
- Commmodore VIC-20, C64, C128, CBM-II, PLUS/4.
- LucasArt SCUMM (Monkey Island, Maniac Mansion, etc).
- Magnavox Odyssey², Videopac+.
- Mattel Intellivision.
- Microsoft MSX, MS-DOS.
- NEC PC-Engine Turbographx 16, Supergraphx, PC-FX.
- Nintendo NES, SNES, Game Boy, Game Boy Advance, Gamecube y Wii.
- Sega Master Sytem, Game Gear, Genesis, Dreamcast.
- SNK Neo Geo, Neo Geo Pocket.
- Sony Playstation.
- Z-Machine.

Pero lo mejor de todo, es que por cada juego te da muchas opciones, por lo que es MAS QUE RECOMENDABLE que lo usen, ya que hay muchas opciones de Wine, que según el juego las pueden cambiar, sin afectar ni a Wine ni a los demás juegos. Es como PlayOnLinux, pero Lutris me parece mejor, porque no solo te da acceso a juegos de Windows, sino a una cantidad enorme de emuladores.

Si bajar Lutris, les dejo el link de descargas de la página oficial: Click Aquí


Y para terminar, les comento que bajé Lubuntu y Xubuntu para ver si con menos uso de ram en el sistema operativo aumentaba un poco mas el rendimiento de Wine, pero no, al menos en mi caso, el tener más ram no afectó en nada.
Wine se maneja pidiendo mas que nada CPU y Placa de video para ejecutar lo mejor posible los juegos..


Espero q les haya sido util esta info.
La conclusion por ahora?
Lamentablemente, lo ideal por ahora para jugar cualquier game es hacer doble boot:
Windows XP / 7 para usarlo como consola para viciar a todo.
Linux Ubuntu para todo lo demas
Aunque Wine se la re banca igual con el 95% de los juegos de Windows y aparte, Linux tiene juegos muy buenos también!
Tanto WINE como Linux en sí, tienen un ritmo de desarrollo fantástico y cada día logran mas progresos. Ojalá que sigan así y puedan hacer de Linux el mejor sistema operativo y que sea compatible con Games AAA, que es lo único que le falta a mi entender.


Esta guía esta hecha por mi (valorenlo... tenganle cariño jajaja), no hice como muchos que le robaron a mano armada el post a SuperPiwi de Ubuntu Life y lo postearon por todos lados descaradamente.. XD


EDIT: Les quiero agradecer a todos por los comentarios y por los puntos! Era algo que no me esperaba ni ahí, me alegro de haberles sido útil con este post. GRACIAS!