Ir al contenido principal

Máximo rendimiento de juegos de Windows en Linux

Alguna vez imaginaste en que en Linux podías jugar a esto?

Super Street Fighter IV: Arcade Edition


A esto...

FlatOut 2


... o incluso a esto???

FIFA 12



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



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:


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.

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.


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.





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:





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).



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 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

Entradas populares de este blog

Ultrastar Deluxe

El Karaoke para Linux La llegada de la Navidad significa reuniones con familiares y amigos, lo que nos lleva a buscar formas de entretenimiento. Una de ellas es el karaoke , y como no podría ser de otra manera en GNU/Linux tenemos nuestra opción Open Source, se trata de UltraStar Deluxe (para mí la mejor opción), que está basado en el primer Ultrastar aunque bastante más completo y fácil de usar. Esta aplicación es un clon libre de Singstar con el que podrás cantar cualquier canción e incluso crear la tuya propia. Si estáis interesados en instalarlo puedes añadir el repositorio para Ubuntu o bajarlo desde la página oficial en caso de usar otra distribución. sudo add-apt-repository ppa:tobydox/ultrastardx sudo apt-get update sudo apt-get install ultrastar-deluxe Una vez instalado sólo quedará añadir canciones . Como no podía ser de otra manera, existe una comunidad muy activa que nos proporciona gran cantidad de material listo para ser usado, una de ellas es Ultrastar

Descargar Packet Tracer 5.2 [Windows y Linux]

Packet Tracer 5.2 [Windows y Linux] Packet Tracer es la herramienta de aprendizaje y simulación de redes interactiva para los instructores y alumnos de Cisco CCNA. Esta herramienta les permite a los usuarios crear topologías de red, configurar dispositivos, insertar paquetes y simular una red con múltiples representaciones visuales. Packet Tracer se enfoca en apoyar mejor los protocolos de redes que se enseñan en el currículum de CCNA. Este producto tiene el propósito de ser usado como un producto educativo que brinda exposición a la interfaz comando – línea de los dispositivos de Cisco para practicar y aprender por descubrimiento. Packet Tracer 5.2 es la última versión del simulador de redes de Cisco Systems, herramienta fundamental si el alumno está cursando el CCNA o se dedica al networking. En este programa se crea la topología física de la red simplemente arrastrando los dispositivos a la pantalla. Luego clickando en ellos se puede ingresar

Control PS3 en Debian, Ubuntu

INSTALAR EL CONTROL DE PLAY STATION 3 EN GNU / LINUX. EN LAS DISTRIBUCIONES DEBIAN 6.0 SQUEEZE, DEBIAN WHEEZY (TESTING), LINUX MINT DEBIAN EDITION, LINUX MINT, GUADALINEX, UBUNTU. Les voy a decir como conectar su control de Play Station 3 en Debian por medio de un cable USB, personalmente lo he probado en Debian 6.0 Squeeze (estable) y Debian Wheezy (testing), no lo he probado en Linux Mint Debian Edition (LMDE), pero no tendría porque no funcionar. En el caso de Ubuntu y sus derivadas supongo que también debería funcionar, no lo he probado porque no uso dicha distro, pero los comandos los tome de un tutorial para ella, no es “copy and paste” , solo copie los comandos, el resto es de mi experiencia personal. NOTA PARA USUARIOS DE LINUX MINT, GUADALINEX Y UBUNTU: Los comandos que voy a poner son para Debian y Linux Mint Debian Editon, para el caso de Ubuntu y derivados ya saben que los comandos como root se ejecutan con “sudo”. Además creo q