Soy uno de esos usuarios que utiliza bastante “wine” para ejecutar principalmente juegos (no lo voy a negar). Pues las aplicaciones de Windows no las suelo echar de menos. El tema es que wine hereda lo malo de Windows y con el tiempo el registro se llena de “porqueria”, en estos casos, yo lo que hago es “limpiarlo todo”, borrando wine e instalandolo de nuevo y configurando todo aquello que necesito. Por eso me he dedicido a crear esta entrada, que me servira como “recordatorio” cuando tenga que volver a hacerlo y tal vez tambien le sirva a mas de uno.
Lo primero, si ya tienes wine instalado, seguramente ya tengas creado un directorio en tu home llamado “.wine”, en mi caso seria:
jose@soledad:~$cd .wine
jose@soledad:~/.wine$pwd
/home/jose/.wine
Este directorio .wine si no existe se crea de manera automática la primera vez que invocas a “winecfg” que es el comando que usamos para configurar wine (lo veremos un poco mas abajo).
Bien, pues en .wine/drive_c por lo general se monta la estructura que se asemeja al C:/ de un sistema windows. Asi que alli seguramente tendreis una carpeta llamada “Archivos de programa” o “Program files” (si usas la version en ingles). Pues al igual que en Windows, la mayor parte de aplicaciones y juegos que instales se iran guardando en esta carpeta.
Asi que lo primera será sacar una copia de seguridad de “~/drive_c/Archivos de programa” de aquellas subcarpetas que nos interesen para no tener que reinstalar de nuevo o en su defecto si nos da igual, las borrariamos y ya volveriamos a instalarlas. De todas fornas, en muchos casos basta con sacar la carpeta a un directorio temporal, instalar el nuevo wine y luego volver a dejar la carpeta que sacamos en el mismo directorio “Archivos de programa” del nuevo prefijo wine creado.
Bien, ahora lo que yo suelo hacer es:
$ sudo apt-get autoremove wine --purge
Para borrar wine
y
$ cd
$ rm -rf .wine
para borrar la carpeta .wine y todo su contenido de mi directorio Home.
Como comentaba antes (yo es que borro todo wine y todo lo que instalo para hacer una instalacion limpia desde cero), si no quieres borrar wine, por lo general, basta con actualizar los repositorios con:
$ sudo apt-get update
e instalar la actualizacion o nueva version de wine con:
$ sudo aptitude install wine
Para saber que version de wine tienes instalada puedes ejecutar:
$ wine --version (con doble guion)
Pero este tutorial se basa en el caso de que no tengas wine instalado o que quieras instalar todo desde el principio.
Bien, en este caso si no tenemos los repositorios de wine los añadiriamos:
sudo add-apt-repository ppa:ubuntu-wine/ppa (para Karmic)
y luego instalariamos wine con:
$ sudo apt-get update && aptitude install wine
Al estar recien instalado no tenemos el directorio .wine creado asi que ejecutamos:
$ winecfg
con lo que se abre el asistente de configuracion de wine, una ventana nueva donde podemos p.ej seleccionar si queremos ejecutar wine a pantalla completa o como una ventana mas del escritorio, o el tipo de sonido que utilizamos (ALSA, OSS, etc). bien, al pulsar “Aceptar” en esta ventana, ya se aplican los cambios de configuracion y se crea la primera vez nuestro directorio “.wine”.
En este punto ya tenemos wine instalado pero esta “pelao”, podriamos ejecutar ya algunos “.exe” de windows sencillamente con “wine nombre_del_fichero.exe” pero seguramente muchos de ellos nos fallasen porque no tenemos todas las librerias o DLL necesarias instaladas.
Existe un script llamado “winetricks” que nos facilita enormemente la vida en esta tarea.
Para usarlo, nos descargamos el script (yo para tenerlo a mano lo dejo en .wine):
$ cd
$ cd .wine
$ wget wget http://www.kegel.com/wine/winetricks
le doy permisos de ejecucion:
$ chmod +x ./winetricks
y ya puedo usarlo para instalar las librerias o software adicional necesario en wine (se instala de manera automatica).
Por lo pronto es recomendable instalar:
- Las librerias DirectX 9 (necesarias para jugar a muchos juegos):
$ ./winetricks d3dx9
- Tal vez las fuentes de texto droid que mejoran mucho la legibilidad en pantalla:
$ ./winetricks droid
- PhysX, el motor de fisicas PhysX (si dispones de alguna tarjeta Nvidia):
$ ./winetricks physx
- Existe tambien un metapaquete que te instala un monton de fuentes de texto (las principales fuentes de texto como Arial, Sans Serif, etc utilizadas en Windows):
$ ./winetricks allfonts
- Y otro metapaquete que instala un monton de codecs para reproducir video y audio (este no lo suelo instalar porque me da problemas en mi caso con el sonido, pero lo comento de todas formas):
$ ./winetricks allcodecs
- Fijo la version de sistema que emulo como Windows XP (esto tambien se puede hacer desde winecfg):
./ winetricks winxp
- Fijo driver de sonido a utilizar ALSA (esto tambien se puede hacer desde winecfg, pestaña de Audio):
./winetricks sound=alsa
Este comando a mi me viene muy bien incluso cuando por algún extraño motivo se va el sonido en el juego.
- Renombro la carpeta drive_c tambien como harddiskvolume0 (que es a veces necesario es muchos instaladores):
./winetricks volnum
- Deshabilito GLSL usado por Direct3D:
./winetricks glsl-disable
- Instalo las librerias de Visual C 2008 (necesarias por algunos juegos):
./ winetricks vcrun2008
- Y tambien las librerias dcom (si dispones de la licencia de Windows 98):
./winetricks dcom98
- Puesdes Instalar tambien el framework NET 2.0 (requiere licencia):
./winetricks dotnet20
Y basicamente ya dispones de todo lo necesario para ejecutar aplicaciones. Puede que te falte alguna DLL particular pero por lo general si eso te pasa se te muestra un error por consola comentandote que te falta una DLL (te pone el nombre) y ya tendrias que bajartela e instalarla en tu .wine/drive_c/windows/System32 para que te arrancara el ejecutable.
Dejo aqui la secuencia completa (nota: es para mi caso particular, en el tuyo puede que necesites quitar o añadir alguna mas, adaptalo como veas necesario):
./winetricks d3dx9 droid winxp sound=alsa volnum vcrun2008 dotnet20 ie6 corefonts
nota: aqui he añadido ie6 (internet explorer 6) y corefonts (metapaquete de fuentes principales de Windows).
Bien, lo que sigue ya es para los jugones (te puede funcionar o no, ya depende de las capacidades graficas de tu tarjeta de video). Y es que para que te funcionen ciertos juegos como “Call of Duty Modern Warfare 2″ que hacen uso intensivo de los 3D necesitas añadir unas ciertas claves al registro de windows.
Para añadir claves al registro (lo harias exactamente igual que en Windows) ejecutando:
$ wine regedit
se abre el editor de registro y ya puedes cambiar claves o añadir nuevas. Las claves a añadir en mi caso (tengo una tarjeta Nvidia) para la key DIRECT3D son:
“DirectDrawRenderer”=”opengl”
“Nonpower2Mode”=”repack”
“OffscreenRenderingMode”=”fbo”
“RenderTargetLockMode”=”auto”
“UseGLSL”=”readtex”
“VertexShaderMode”=”hardware”
“VideoDescription”=”NVIDIA GeForce 8500 GT”
“VideoDriver”=”nv4_disp.dll”
“VideoMemorySize”=”256″
Nota: edita estas entradas según tu tipo de tarjeta y valores, en principio lo que esta en negrita variara posiblemente en tu caso, el resto de entradas se mantienen.
Aqui otro inciso, estas claves de registro estan basadas en el juego “Modern Warfare 2″ y funcionan tambien para la mayoria de juegos, pero a veces es necesaria cambiar alguna otra clave o hacer pasos adicionales, en estos casos, lo mejor es consultar los cuarteles generales de wine: Wine HQ, tiene un buscador en el lateral superior derecho, donde puedes poner el nombre de una aplicacion o juego que quieres emular con wine y ya te comenta si esta o no soportado, el nivel de “exito” en su ejecución: gold (oro) es muy bueno, silver (plata) es bueno, bronze (bronce) es mediocre y garbage (basura) es que no merece la pena ni intentarlo.
Bien, volvamos a lo de insertar las claves, aqui puedes ir añadiendolas una por una mediante el editor de registro:
$ wine regedit y editas o creas la clave HKEY_CURRENT_USER > Software > Wine > Direct3D
Añadiendo todas y cada una de las claves anteriores:
"DirectDrawRenderer"="opengl"
"Nonpower2Mode"="repack"
"OffscreenRenderingMode"="fbo"
"RenderTargetLockMode"="auto"
"UseGLSL"="readtex"
"VertexShaderMode"="hardware"
"VideoDescription"="NVIDIA GeForce 8500 GT"
"VideoDriver"="nv4_disp.dll"
"VideoMemorySize"="256"
O lo que es aun más rapido, te vas a tu directorio .wine y editas un fichero llamado “user.reg”, en ese fichero se van almacenando las claves de registro que va creando el usuario. pues bien, editas el fichero, te vas al final del mismo y pegas un contenido como éste:
[Software\\Wine\\Direct3D] 1258821033
"DirectDrawRenderer"="opengl"
"Nonpower2Mode"="repack"
"OffscreenRenderingMode"="fbo"
"RenderTargetLockMode"="auto"
"UseGLSL"="readtex"
"VertexShaderMode"="hardware"
"VideoDescription"="NVIDIA GeForce 8500 GT"
"VideoDriver"="nv4_disp.dll"
"VideoMemorySize"="256"
De golpe y porrazo se te crean esas entradas, si consultas el registro (wine regedit) podras comprobarlo.
Espero que esto os ayude un poco mas a ejecutar esas aplicaciones o juegos que se resisten.