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

Fallo al obtener la lista de compartición del servidor

 - Ubuntu Karmic Koala El problema. El detalle es que a veces tengo que revisar archivos que están en otras computadoras que utilizan windows. Al momento de darle en el menú Lugares - Red - Red de Windows y al elegir el grupo de trabajo en el que están mis equipos me aparece el siguiente error. No se puede montar el lugar. Fallo al obtener la lista de compartición del servidor. La solución . La encontré en este articulo de los Foros de Ubuntu, lo voy a copiar tal cual, espero que no le moleste al autor y solo a manera de respaldo. # — Aquí inicia el articulo de los foros de Ubuntu – 1- En principio es necesario que estén instalados: samba samba-common smbclient winbind   2- Luego editar el archivo /etc/samba/smb.conf sudo gedit /etc/samba/smb.conf   A los cambios necesarios para adaptar el sistema, según los tutoriales de samba es necesario tener presente que: a- Donde dice workgroup = WORKGROUP, reemplazar WORKGROUP por el nombre de grupo de ...

Rootear en Ubuntu un teléfono Android

Tengo un teléfono con Android, concretamente un Motorola Defy, y resulta que en Android, basado en Linux, eres un simple usuario y solo puedes realizar algunas tareas. Otras te están vetadas. Conseguir los permisos de superusuario, se llama entre los entendidos rootear el móvil. En principio es una operación que no entraña riesgos, pero en esta vida todo puede fallar. Así que debe quedar claro que si decides rootear el teléfono, lo haces bajo tu propia responsabilidad. También debes entender, que si rooteas el teléfono, los SAT aprovechan para lavarse las manos de cualquier problema y anular la garantía. Y por último, debes saber que es posible que ya no recibas las actualizaciones automáticas de Android. Para rootear teléfonos se utiliza una aplicación llamada Superoneclick . En mi caso, esta parece ser la única solución. Pero este es un programa para Windows, por lo que.... Afortunadamente, esta escrito en .NET, por lo que vamos a poder ejecutarlo con MONO en nuestro ...

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