Wine no me da una sola alegría, nada me anda, ahora intento con juego 'Braid' [Solucionado]

Hola, saludos a todos...
Me han recomendado un juego llamado "Braid" que no existe nativo en Linux... Así que debería usar Wine... Varias veces he probado con Wine y no he tenido éxito en correr nada de nada. Mi equipo tiene un pentium4/em64t (64 bit y uso Debian Sid amd64), una placa de vídeo GeForce6500, driver propietario instalado, 2Gb Ram...

Les cuento en síntesis los pasos principales que he seguido y los inconvenientes que he tenido luego de estar dando vuelta por google buscando tutoriales y formas de configurar wine...

La version en Sid es wine-1.0.1 (algo viejita a pesar de ser Sid) y algunos problemitas me estaba dando con la instalación de 'physx' que realmente no se si era necesaria pero también me dio problemas con Braid. Así que bajé de la página de wine una versión más nueva:
$ wget http://www.lamaresh.net/apt/dists/sid/main/binary-amd64/wine_1.1.37~wine...
# dpkg -i wine_1.1.37~winehq1-1_amd64.deb
# aptitude install -f

Se terminan instalando: ia32-libs lib32asound2 lib32gcc1 lib32ncurses5 lib32stdc++6 lib32z1 lsb-release
Se puede corroborar la nueva versión:
# wine --version
wine-1.1.37

Al estar recién instalado no tenemos el directorio .wine creado así que ejecuto:
$ winecfg
Dice que falta algo llamado Gecko, pero que puede bajarlo de internet (esto no sucedía cuando usaba el paquete de los repositorios de Debian). Le digo que lo baje y problema resuelto. Con esta herramienta configuro dos pavadas de sonido y tamaño de letra y nada más...

Siguiendo consejo de alguna página web consultada, para instalar bibliotecas que dejen funcionando adecuadamente a wine usé este script:
$ wget http://www.kegel.com/wine/winetricks
Segun dicen habría que hacer lo siguiente:

  • Instalar las bibliotecas DirectX 9 (necesarias para jugar a muchos juegos)
  • Instalar las fuentes de texto droid que mejoran mucho la legibilidad en pantalla
  • Instalar PhysX, el motor de físicas PhysX (si dispones de alguna tarjeta Nvidia)
  • Existe también un metapaquete que te instala un montón de fuentes de texto (las principales fuentes de texto como Arial, Sans Serif, etc utilizadas en Windows) llamado 'allfonts' o bien solo las fuentes principales 'corefonts'
  • Renombro la carpeta drive_c también como harddiskvolume0 (que es a veces necesario es muchos instaladores)
  • Instalo las bibliotecas de Visual C 2008 (necesarias por algunos juegos)

La secuencia completa en ese orden es:
$ ./winetricks d3dx9 droid physx corefonts volnum vcrun2008

****************************************
Si me tira el mensaje:

Cannot find cabextract.  Please install it (e.g. 'sudo apt-get install cabextract' or 'sudo yum install cabextract').

Hago entonces:
# aptitude install cabextract
Y entonces vuelvo a hacer:
$ ./winetricks d3dx9 droid physx corefonts volnum vcrun2008
****************************************

Luego intenté instalar el juego:

$ wine Braid.exe
En consola arrojó esto:

fixme:ntdll:find_reg_tz_info Can't find matching timezone information in the registry for bias 180, std (d/m/y): 0/00/0000, dlt (d/m/y): 0/00/0000
fixme:reg:GetNativeSystemInfo (0x33fe30) using GetSystemInfo()
fixme:msg:ChangeWindowMessageFilter c046 00000001
fixme:win:DisableProcessWindowsGhosting : stub
fixme:sfc:SfcIsFileProtected ((nil), L"C:\\Archivos de programa\\Braid\\unins000.exe") stub
fixme:shell:IPersistFile_fnGetCurFile (0x16a230)
fixme:shell:IPersistFile_fnGetCurFile (0x168a10)
fixme:shell:IPersistFile_fnGetCurFile (0x16a230)
fixme:menubuilder:SaveIconResAsXPM Unsupported color depth 21060-bit
fixme:menubuilder:SaveIconResAsXPM Unsupported color depth 21060-bit
fixme:ntdll:find_reg_tz_info Can't find matching timezone information in the registry for bias 180, std (d/m/y): 0/00/0000, dlt (d/m/y): 0/00/0000
err:module:load_builtin_dll failed to load .so lib for builtin L"winemp3.acm": libmpg123.so.0: no se puede abrir el fichero del objeto compartido: No existe el fichero o el directorio
fixme:reg:GetNativeSystemInfo (0x33fa38) using GetSystemInfo()
fixme:mscoree:GetCORVersion (0x33f630, 600, 0x33f61c): semi-stub!
fixme:crypt:CRYPT_CriticalExtensionsSupported unsupported critical extension "2.5.29.32"
fixme:crypt:CRYPT_CriticalExtensionsSupported unsupported critical extension "2.5.29.32"
fixme:ntdll:find_reg_tz_info Can't find matching timezone information in the registry for bias 180, std (d/m/y): 0/00/0000, dlt (d/m/y): 0/00/0000
err:setupapi:do_file_copyW Unsupported style(s) 0x144
err:setupapi:do_file_copyW Unsupported style(s) 0x144
fixme:exec:SHELL_execute flags ignored: 0x00000100
fixme:menubuilder:SaveIconResAsXPM Unsupported color depth 21060-bit

La barra de estado avanzó hasta el final pero tiro un fallo de algo al final de la instalación ¿?
Un cuadro de diálogo con este mensaje:

Unable to execute file:
C:\users\Public\Menú Inicio\Programas\Braid

ShellExecuteEx failed; code 2.
File not found

Para ejecutarlo hice:
$ wine ~/.wine/drive_c/Archivos\ de\ programa/Braid/braid.exe
Por consola arroja esto:

err:module:load_builtin_dll failed to load .so lib for builtin L"winemp3.acm": libmpg123.so.0: no se puede abrir el fichero del objeto compartido: No existe el fichero o el directorio
fixme:system:SystemParametersInfoW Unimplemented action: 59 (SPI_SETSTICKYKEYS)
fixme:system:SystemParametersInfoW Unimplemented action: 53 (SPI_SETTOGGLEKEYS)
fixme:system:SystemParametersInfoW Unimplemented action: 51 (SPI_SETFILTERKEYS)

Intenté hacer
# aptitude install libmpg123-0
Ya que esto instala '/usr/lib/libmpg123.so.0'

Pero sigue arrojando lo mismo...

Otra cosa que después probé y que también saqué de internet:

Ir al directorio .wine y editar un fichero llamado “user.reg”, en ese fichero se van almacenando las claves de registro que va creando el usuario. Agregué un contenido como éste:

[Software\\Wine\\Direct3D] 1258821033
"DirectDrawRenderer"="opengl"
"Nonpower2Mode"="repack"
"OffscreenRenderingMode"="fbo"
"RenderTargetLockMode"="auto"
"UseGLSL"="readtex"
"VertexShaderMode"="hardware"
"VideoDescription"="NVIDIA GeForce 6500"
"VideoDriver"="nv4_disp.dll"
"VideoMemorySize"="256"

Tampoco funcionó...

Hay alguna sugerencia?... Alguien logro alguna vez hacer andar algo con wine????
Cual es la mágica receta para instalar juegos?

Gracias

Programas que yo uso con wine y que funcionan perfectamente:
-Oziexplorer
-Chemcad

También recuerdo haber jugado perfectamente usando wine a:
-Age of empires II
-Caesar III

Uso Wine para poder jugar a juegos hechos para Windows y, aunque siempre hay alguno que se me resiste, sí que puedo jugar a la mayoría.

Lo primero que me ha sorprendido es que instales la versión amd64 en un Intel. Yo pensaba que para Intel se instalaba ia64, pero puedo estar equivocado.

Otra cosa, yo tengo instalado el paquete libwine-gl para que Wine pueda usar OpenGl.

Espero haberte ayudado en algo.

miraré eso de libwine-gl...

Agradecería que me dijeran si alguno de los warnings o errores que me dieron a mi también los tuvieron ustedes y como los solucionaron... Mirando en google hay gente que dice que le anduvo este juego, pero ningún detalle en especial de que han hecho...

Respecto a 64 bit, a las amd64, a las emt64 y más o menos en general a las x86_64 o x64 tengo entendido que se refieren a la arquitectura de 64 bit compatible con la amd64 (que fue la primera) y de la cual toma su nombre la nomenclatura de arquitectura usada por Debian. Siempre se puede compilar de nuevo el kernel para optimizarlo a intel o amd pero son más o menos lo mismo

saludos

Edito: Parece que instalar 'libwine-gl' me implica desactualizar el wine (de la versión que bajé de la web oficial de wine) sino ocurre un problema de dependencias... de todos modos ¿Hay razón para pensar que debo instalar 'libwine-gl'?

Novedades... Mirando lo que me dijeron, de las bibliotecas 'libwine-gl' y como no era compatibles con la version de wine que baje de la web oficial, me di cuenta que podía instalar 'libwine-gl-unstable' pero resulta que había otro problema de dependencia con 'libwine-unstable' y ahí me di cuenta también que existía 'wine-unstable' en los repositorios de Debian. Sería algo así como una versión más "inestable" dentro de la misma rama Sid...

Así que desinstalé
# aptitude purge wine
Eliminandose también: ia32-libs lib32asound2 lib32gcc1 lib32ncurses5 lib32stdc++6 lib32z1 lsb-release wine

E instalando entonces:
# aptitude install wine-unstable
Implicando también la instalación de: cups-bsd cups-client cups-common ia32-libs lib32asound2 lib32gcc1 lib32ncurses5 lib32stdc++6 lib32z1 libcupsimage2 libwine-alsa-unstable libwine-bin-unstable libwine-cms-unstable libwine-gl-unstable libwine-gphoto2-unstable libwine-ldap-unstable libwine-openal-unstable libwine-print-unstable libwine-sane-unstable libwine-unstable lsb-release ttf-liberation wine-bin-unstable wine-unstable

Notar que ahora se instala la biblioteca 'libwine-gl-unstable' automáticamente...

La versión en cuestión es:
# wine --version
wine-1.1.32

Repetí entonces los mismos pasos que antes:
$ winecfg
$ ./winetricks d3dx9 droid physx corefonts volnum vcrun2008
$ wine Braid.exe

Nuevamente con un problema al final de la instalación, en consola arrojó esto:

fixme:ntdll:find_reg_tz_info Can't find matching timezone information in the registry for bias 180, std (d/m/y): 0/00/0000, dlt (d/m/y): 0/00/0000
fixme:reg:GetNativeSystemInfo (0x33fe50) using GetSystemInfo()
fixme:msg:ChangeWindowMessageFilter c046 00000001
fixme:win:DisableProcessWindowsGhosting : stub
fixme:advapi:CheckTokenMembership ((nil) 0x14e3a0 0x33fdc8) stub!
fixme:sfc:SfcIsFileProtected ((nil), L"C:\\Archivos de programa\\Braid\\unins000.exe") stub
fixme:shell:IPersistFile_fnGetCurFile (0x16ad88)
fixme:shell:IPersistFile_fnGetCurFile (0x16ad88)
fixme:shell:IPersistFile_fnGetCurFile (0x16ad88)
fixme:menubuilder:SaveIconResAsXPM Unsupported color depth 21060-bit
fixme:shell:DllCanUnloadNow stub
fixme:menubuilder:SaveIconResAsXPM Unsupported color depth 21060-bit
fixme:ntdll:find_reg_tz_info Can't find matching timezone information in the registry for bias 180, std (d/m/y): 0/00/0000, dlt (d/m/y): 0/00/0000
fixme:reg:GetNativeSystemInfo (0x33fa58) using GetSystemInfo()
fixme:mscoree:GetCORVersion (0x33f650, 600, 0x33f63c): semi-stub!
fixme:crypt:CRYPT_CriticalExtensionsSupported unsupported critical extension "2.5.29.37"
fixme:crypt:CRYPT_CriticalExtensionsSupported unsupported critical extension "2.5.29.32"
fixme:crypt:CRYPT_CriticalExtensionsSupported unsupported critical extension "2.5.29.32"
fixme:ntdll:find_reg_tz_info Can't find matching timezone information in the registry for bias 180, std (d/m/y): 0/00/0000, dlt (d/m/y): 0/00/0000
err:setupapi:do_file_copyW Unsupported style(s) 0x144
err:setupapi:do_file_copyW Unsupported style(s) 0x144
fixme:exec:SHELL_execute flags ignored: 0x00000100

Con el mismo cuadro de diálogo que antes...

La diferencia es al intentar ejecutarlo
$ wine ~/.wine/drive_c/Archivos\ de\ programa/Braid/braid.exe
se tiene esto por consola:

shell-init: error al obtener el directorio actual: getcwd: no se puede acceder a los directorios padre: No existe el fichero o el directorio
fixme:system:SystemParametersInfoW Unimplemented action: 59 (SPI_SETSTICKYKEYS)
fixme:system:SystemParametersInfoW Unimplemented action: 53 (SPI_SETTOGGLEKEYS)
fixme:system:SystemParametersInfoW Unimplemented action: 51 (SPI_SETFILTERKEYS)
err:d3d_caps:WineD3D_CreateFakeGLContext Can't find a suitable iPixelFormat.
err:d3d:InitAdapters Failed to get a gl context for default adapter
err:d3d:WineDirect3DCreate Direct3D9 is not available without opengl
wine: Unhandled page fault on read access to 0x00000000 at address 0x4ac673 (thread 002c), starting debugger...

Y esto sale en un cuadro de diálogo:

The program braid.exe has encountered a serious problem and
needs to close. We are sorry for the inconvenience.

This can be caused by a problem in the program or a deficiency in
Wine. You may want to check http://appdb.winehq for tips
about running this application.

If this problem is not present under Windows an has not been
reported yet, you can report it at http://bugs.winehq.org.

Al "aceptar" para cerrar el cuadro, en consola termina de arrojar esto:

Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x004ac673).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:004ac673 ESP:0033f3a4 EBP:00000000 EFLAGS:00010246(  R- --  I  Z- -P- )
EAX:010f38c0 EBX:00000001 ECX:011049b0 EDX:0054edc4
ESI:00000000 EDI:00000000
Stack dump:
0x0033f3a4:  010f38c0 004ac6b4 01104d60 004b08cb
0x0033f3b4:  01104d60 010f38c0 00000001 004b53a7
0x0033f3c4:  01104d60 004b4878 0054edc4 01104d60
0x0033f3d4:  010f39b8 010f38c0 004afe91 0054edc4
0x0033f3e4:  01104d60 010f39b8 010f38c0 0043f26f
0x0033f3f4:  00000001 00000000 00000500 000002d0
Backtrace:
0x004ac673: movl        0x0(%edi),%eax
Modules:
Module  Address                 Debug info      Name (90 modules)
PE        400000-  af1000       Export          braid
PE        b00000-  ec8000       Deferred        d3dx9_39
ELF     7b800000-7b96f000       Deferred        kernel32<elf>
  \-PE  7b820000-7b96f000       \               kernel32
ELF     7bc00000-7bcb1000       Deferred        ntdll<elf>
  \-PE  7bc10000-7bcb1000       \               ntdll
ELF     7bf00000-7bf03000       Deferred        <wine-loader>
ELF     7dcd9000-7dd3b000       Deferred        libgl.so.1
ELF     7dd86000-7ddb8000       Deferred        uxtheme<elf>
  \-PE  7dd90000-7ddb8000       \               uxtheme
ELF     7de2c000-7de35000       Deferred        libdrm.so.2
ELF     7de4b000-7de5f000       Deferred        midimap<elf>
  \-PE  7de50000-7de5f000       \               midimap
ELF     7de5f000-7de84000       Deferred        msacm32<elf>
  \-PE  7de70000-7de84000       \               msacm32
ELF     7de84000-7de9b000       Deferred        msacm32<elf>
  \-PE  7de90000-7de9b000       \               msacm32
ELF     7de9b000-7dea4000       Deferred        librt.so.1
ELF     7dea4000-7df6d000       Deferred        libasound.so.2
ELF     7df6d000-7dfa3000       Deferred        winealsa<elf>
  \-PE  7df80000-7dfa3000       \               winealsa
ELF     7dfa3000-7dfac000       Deferred        libxcursor.so.1
ELF     7dfac000-7dfb1000       Deferred        libxfixes.so.3
ELF     7dfb1000-7dfb4000       Deferred        libxcomposite.so.1
ELF     7dfb4000-7dfbb000       Deferred        libxrandr.so.2
ELF     7dfbb000-7dfc4000       Deferred        libxrender.so.1
ELF     7dfc4000-7dfc9000       Deferred        libxxf86vm.so.1
ELF     7dfc9000-7dfcc000       Deferred        libxinerama.so.1
ELF     7dfcc000-7dfec000       Deferred        imm32<elf>
  \-PE  7dfd0000-7dfec000       \               imm32
ELF     7dfec000-7dff1000       Deferred        libxdmcp.so.6
ELF     7dff1000-7e00a000       Deferred        libxcb.so.1
ELF     7e00a000-7e00d000       Deferred        libxau.so.6
ELF     7e00d000-7e011000       Deferred        libuuid.so.1
ELF     7e011000-7e12d000       Deferred        libx11.so.6
ELF     7e12d000-7e13b000       Deferred        libxext.so.6
ELF     7e13b000-7e153000       Deferred        libice.so.6
ELF     7e153000-7e15b000       Deferred        libsm.so.6
ELF     7e16b000-7e16e000       Deferred        libxdamage.so.1
ELF     7e16e000-7e20b000       Deferred        winex11<elf>
  \-PE  7e180000-7e20b000       \               winex11
ELF     7e20b000-7e231000       Deferred        libexpat.so.1
ELF     7e231000-7e25c000       Deferred        libfontconfig.so.1
ELF     7e25c000-7e270000       Deferred        libz.so.1
ELF     7e270000-7e2e7000       Deferred        libfreetype.so.6
ELF     7e2fa000-7e30e000       Deferred        system.drv16.so
PE      7e300000-7e30e000       Deferred        system.drv16
ELF     7e32c000-7e365000       Deferred        dinput<elf>
  \-PE  7e330000-7e365000       \               dinput
ELF     7e365000-7e37e000       Deferred        dinput8<elf>
  \-PE  7e370000-7e37e000       \               dinput8
ELF     7e37e000-7e4ab000       Deferred        wined3d<elf>
  \-PE  7e390000-7e4ab000       \               wined3d
ELF     7e4ab000-7e4dd000       Deferred        d3d9<elf>
  \-PE  7e4b0000-7e4dd000       \               d3d9
ELF     7e4dd000-7e506000       Deferred        ws2_32<elf>
  \-PE  7e4e0000-7e506000       \               ws2_32
ELF     7e506000-7e5cf000       Deferred        comctl32<elf>
  \-PE  7e510000-7e5cf000       \               comctl32
ELF     7e5cf000-7e62b000       Deferred        shlwapi<elf>
  \-PE  7e5e0000-7e62b000       \               shlwapi
ELF     7e62b000-7e7b9000       Deferred        shell32<elf>
  \-PE  7e640000-7e7b9000       \               shell32
ELF     7e7b9000-7e827000       Deferred        msvcrt<elf>
  \-PE  7e7d0000-7e827000       \               msvcrt
ELF     7e827000-7e893000       Deferred        rpcrt4<elf>
  \-PE  7e830000-7e893000       \               rpcrt4
ELF     7e893000-7e98d000       Deferred        ole32<elf>
  \-PE  7e8b0000-7e98d000       \               ole32
ELF     7e98d000-7e9e4000       Deferred        advapi32<elf>
  \-PE  7e9a0000-7e9e4000       \               advapi32
ELF     7e9e4000-7ea83000       Deferred        gdi32<elf>
  \-PE  7e9f0000-7ea83000       \               gdi32
ELF     7ea83000-7ebcc000       Deferred        user32<elf>
  \-PE  7eaa0000-7ebcc000       \               user32
ELF     7ebcc000-7ec52000       Deferred        winmm<elf>
  \-PE  7ebd0000-7ec52000       \               winmm
ELF     7ec52000-7ec9d000       Deferred        dsound<elf>
  \-PE  7ec60000-7ec9d000       \               dsound
ELF     7ef92000-7ef9e000       Deferred        libnss_files.so.2
ELF     7ef9e000-7efa8000       Deferred        libnss_nis.so.2
ELF     7efa8000-7efbf000       Deferred        libnsl.so.1
ELF     7efbf000-7efc7000       Deferred        libnss_compat.so.2
ELF     7efc7000-7efed000       Deferred        libm.so.6
ELF     7effd000-7f000000       Deferred        iso8859-1.so
ELF     f74e2000-f74e6000       Deferred        libdl.so.2
ELF     f74e6000-f762a000       Deferred        libc.so.6
ELF     f762b000-f7644000       Deferred        libpthread.so.0
ELF     f7644000-f777f000       Deferred        libwine-unstable.so.1
ELF     f7794000-f77b2000       Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
00000008
        00000009    0
0000000e
        00000014    0
        00000010    0
        0000000f    0
00000011
        00000018    0
        00000013    0
        00000012    0
00000019
        0000001a    0
0000001b
        0000001c    0
0000001d
        0000001e    0
00000021
        00000022    0
0000002b (D) C:\Archivos de programa\Braid\braid.exe
        0000002c    0 <==
Backtrace:

Parece que ahora tiene un poco más de información... lástima que no se interpretarla...

alguna idea?

Gracias

prueba con playonlinux en lugar de wine wink

Durante un tiempo también use winetricks e instalé muchas cosas que no vienen con Wine, pero tuve problemas extraños y acabé desinstalandolo todo y borrando el directorio .wine para volver a instalar Wine desde los repositorios de Debian (uso Testing) y olvidándome de winetricks, y todo volvió a funcionar bien, dependiendo del juego, claro esta.

blackhalo escribió:

http://appdb.winehq.org/objectManager.php?sClass=version&iId=16278&iTestingId=39263

Sí vi esa página, dice que el juego ese anda sin problemas... dice que hay que instalar cierta versión de de directx... ya está instalado, lo instalé con winetricks (con la linea que mencioné) y corriendo el configurador de wine se ve que está en la lista de bibliotecas... Así que por ahí no viene el problema... ¿no?

Me pregunto si el problema es que el sistema operativo es de 64 bit... ¿alguién está corriendo wine en 64 bit?

vicen777 escribió:

Durante un tiempo también use winetricks e instalé muchas cosas que no vienen con Wine, pero tuve problemas extraños y acabé desinstalandolo todo y borrando el directorio .wine para volver a instalar Wine desde los repositorios de Debian (uso Testing) y olvidándome de winetricks, y todo volvió a funcionar bien, dependiendo del juego, claro esta.

Y como instalo cada cosa sino? bajo ejejcutables instaladores y los ejecuto con 'wine algo.exe' ?
Igual ahora tengo una carpeta con el backup de winetricks donde están todas las cosas esas que bajé podría usarla para hacer eso... pero no pareció arrojarme errores significativos así que no parece haber fallado...

Reitero la pregunta general... ¿alguien tendrá una "receta" para instalar el wine y configurarlo de forma que si después se pone a instalar aplicaciones no falte casi nada para que anden de un solo intento?... como se lo deja más o menos funcional y decente?

Gracias

rockyiii escribió:

prueba con playonlinux en lugar de wine wink

Gracias por la sugerencia, quizás en el futuro me sirva para otros juegos que están en la lista de juegos de PlayOnLinux, pero para los que no están en la lista como Braid parece que no hay buen soporte, acabo de ver que la instalación me arroja el mismo problema.