Problema con wine y aceleración gráfica
SnakeDrak:
Hola,
Tengo debian con AMD64, no tengo problemas en la aceleración gráfica exepto a la hora de ejecutar alguna aplicación de windows con wine.
Un poco de información, lscpi -v (para la gráfica):
Código:
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03) (prog-if 00 [VGA controller])
Subsystem: Hewlett-Packard Company Presario C700
Flags: bus master, fast devsel, latency 0, IRQ 26
Memory at 51000000 (64-bit, non-prefetchable) [size=1M]
Memory at 40000000 (64-bit, prefetchable) [size=256M]
I/O ports at 30d0 [size=8]
Expansion ROM at <unassigned> [disabled]
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 3
Kernel driver in use: i915
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
Subsystem: Hewlett-Packard Company Presario C700
Flags: bus master, fast devsel, latency 0
Memory at 51100000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [d0] Power Management version 3
Entonces intento ejecutar (utilizando las lib32 que vienen en el paquete ia32-libs) un exe con wine pero aunque se ve (a diferencia de utilizar las de 64 que entonces da error) va super lento.. es decir como si no tuviese la aceleración:
Citar
**@**:~$ LIBGL_DRIVERS_PATH=/usr/lib32/dri wine ejecutable.exe
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:dsalsa:IDsDriverBufferImpl_SetVolumePan (0x179638,0x179558): stub
fixme:dsalsa:IDsDriverBufferImpl_SetVolumePan (0x179638,0x179558): stub
err:winediag:X11DRV_WineGL_InitOpenglInfo The Mesa OpenGL driver is using software rendering, most likely your OpenGL drivers haven't been installed correctly
fixme:d3d_caps:wined3d_guess_card No card selector available for GL vendor 4 and card vendor 0000.
fixme:win:EnumDisplayDevicesW ((null),0,0x32f44c,0x00000000), stub!
fixme:d3d:swapchain_init Add OpenGL context recreation support to context_validate_onscreen_formats
fixme:d3d_surface:surface_download_data Read back converted textures unsupported, format=WINED3DFMT_B8G8R8X8_UNORM
fixme:d3d_surface:surface_download_data Read back converted textures unsupported, format=WINED3DFMT_B8G8R8X8_UNORM
fixme:d3d_surface:surface_download_data Read back converted textures unsupported, format=WINED3DFMT_B8G8R8X8_UNORM
fixme:dinput:SysMouseAImpl_Acquire Clipping cursor to (240,0)-(1046,625)
fixme:ddraw:IDirectDrawImpl_WaitForVerticalBlank (0x1831a0)->(1,(nil)): Stub
Entonces para ver si es que hay algún problema con la aceleración de 32 bits hago lo siguiente:
Citar
**@**:~$ LIBGL_DRIVERS_PATH=/usr/lib32/dri LIBGL_DEBUG=verbose glxinfo | grep direct
libGL: OpenDriver: trying /usr/lib32/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/i965_dri.so
libGL error: dlopen /usr/lib32/dri/i965_dri.so failed (/usr/lib32/dri/i965_dri.so: wrong ELF class: ELFCLASS32)
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL: OpenDriver: trying /usr/lib32/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/swrast_dri.so
libGL error: dlopen /usr/lib32/dri/swrast_dri.so failed (/usr/lib32/dri/swrast_dri.so: wrong ELF class: ELFCLASS32)
libGL error: unable to load driver: swrast_dri.so
libGL error: reverting to indirect rendering
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
Como pueden ver si que hay problemas, he intentado también bajando mesa-dri de i386 y copiando los libs a lib32/dri pero dan el mismo error y ya no sé que más hacer.
Espero que alguien pueda ayudarme.
Saludos y gracias.
Festor:
Al parecer es un problema del controlador de tu tarjeta gráfica...
Échale un vistazo a esto a ver si te ayuda:
http://wiki.winehq.org/3DDriverIssues
Y de paso... ¿cual es el error que te da si usas las librerías de /usr/lib64? ¿has probado a actualizar el controlador de la tarjeta gráfica?
SnakeDrak:
Hola Festor,
Como mencioné, con las lib64 no me da errores, es decir:
Citar
**@**:~$ glxinfo | grep direct
direct rendering: Yes
Como puedes ver no hay ningún problema, pero si intento ejecutar una aplicación de 32 con wine sí que los da:
Citar
**@**:~$ wine ejecutable.exe
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:dsalsa:IDsDriverBufferImpl_SetVolumePan (0x178b18,0x178a38): stub
fixme:dsalsa:IDsDriverBufferImpl_SetVolumePan (0x178b18,0x178a38): stub
err:winediag:X11DRV_WineGL_InitOpenglInfo Direct rendering is disabled, most likely your OpenGL drivers haven't been installed correctly
fixme:d3d_caps:wined3d_guess_card No card selector available for GL vendor 3 and card vendor 8086.
err:d3d:match_fbo_tex_update FBO status 0
fixme:d3d:check_fbo_compat Format WINED3DFMT_B8G8R8_UNORM with rendertarget flag is not supported as FBO color attachment, and no fallback specified.
fixme:d3d:check_fbo_compat Format WINED3DFMT_B8G8R8A8_UNORM with rendertarget flag is not supported as FBO color attachment, and no fallback specified.
fixme:d3d:check_fbo_compat Format WINED3DFMT_B8G8R8X8_UNORM with rendertarget flag is not supported as FBO color attachment, and no fallback specified.
fixme:d3d:check_fbo_compat Format WINED3DFMT_B5G6R5_UNORM rtInternal format is not supported as FBO color attachment.
fixme:d3d:check_fbo_compat Format WINED3DFMT_R16G16_UNORM rtInternal format is not supported as FBO color attachment.
fixme:d3d:check_fbo_compat Format WINED3DFMT_R16G16B16A16_UNORM with rendertarget flag is not supported as FBO color attachment, and no fallback specified.
fixme:win:EnumDisplayDevicesW ((null),0,0x32f44c,0x00000000), stub!
fixme:d3d:swapchain_init Add OpenGL context recreation support to context_validate_onscreen_formats
fixme:d3d:debug_fbostatus Unrecognied FBO status 0x00000000
fixme:d3d:context_check_fbo_status FBO status unrecognized (0)
err:d3d:context_check_fbo_status FBO 0 is incomplete, driver bug?
fixme:d3d:debug_fbostatus Unrecognied FBO status 0x00000000
fixme:d3d:context_check_fbo_status FBO status unrecognized (0)
err:d3d:context_check_fbo_status FBO 0 is incomplete, driver bug?
Lo rojo se repite infinitas veces, entonces buscando un poco por google encontré que hay que usar las librerías de 32 bits, y eso hice utilizar las de lib32 del ia32-libs, el problema viene que la aceleración gráfica no funciona.
El controlador creo que funciona sin problemas ya que los instalé dirigidos y todo está correcto, solo tengo ese problema.
Por si sirve de ayuda con 64 bits al ejecutar glxgears:
Citar
**@**:~$ glxgears
2434 frames in 5.0 seconds = 486.664 FPS
2391 frames in 5.0 seconds = 477.847 FPS
2380 frames in 5.0 seconds = 475.870 FPS
Pero lo extraño viene ahora, teóricamente con 32 bits debería fallar, en cambio va hasta a más fps por segundo:
Citar
**@**:~$ LIBGL_DRIVERS_PATH=/usr/lib32/dri glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
3061 frames in 5.0 seconds = 610.347 FPS
3100 frames in 5.0 seconds = 618.240 FPS
3100 frames in 5.0 seconds = 619.064 FPS
3060 frames in 5.0 seconds = 609.543 FPS
3060 frames in 5.0 seconds = 609.760 FPS
La verdad es que estoy un poco perdido, miraré el controlador porque creo que tienes razón.
Bueno aquí te dejo las salidas, no tengo aceleración con 64 bits:
Citar
trace:wgl:X11DRV_WineGL_InitOpenglInfo GL version : 1.4 (2.1 Mesa 7.7.1).
trace:wgl:X11DRV_WineGL_InitOpenglInfo GL renderer : Mesa DRI Intel(R) 965GM GEM 20091221 2009Q4 .
trace:wgl:X11DRV_WineGL_InitOpenglInfo GLX version : 1.2.
trace:wgl:X11DRV_WineGL_InitOpenglInfo Server GLX version : 1.2.
trace:wgl:X11DRV_WineGL_InitOpenglInfo Server GLX vendor: : SGI.
trace:wgl:X11DRV_WineGL_InitOpenglInfo Client GLX version : 1.4.
trace:wgl:X11DRV_WineGL_InitOpenglInfo Client GLX vendor: : SGI.
trace:wgl:X11DRV_WineGL_InitOpenglInfo Direct rendering enabled: False
Y en cambio esto es lo raro, aquí con las lib32 dice que si tengo aceleración (porque no utiliza las de Mesa):
Citar
trace:wgl:X11DRV_WineGL_InitOpenglInfo GL version : 2.1 Mesa 7.5.1.
trace:wgl:X11DRV_WineGL_InitOpenglInfo GL renderer : Software Rasterizer.
trace:wgl:X11DRV_WineGL_InitOpenglInfo GLX version : 1.2.
trace:wgl:X11DRV_WineGL_InitOpenglInfo Server GLX version : 1.2.
trace:wgl:X11DRV_WineGL_InitOpenglInfo Server GLX vendor: : SGI.
trace:wgl:X11DRV_WineGL_InitOpenglInfo Client GLX version : 1.4.
trace:wgl:X11DRV_WineGL_InitOpenglInfo Client GLX vendor: : SGI.
trace:wgl:X11DRV_WineGL_InitOpenglInfo Direct rendering enabled: True
Ahora ya me perdí del todo.
Saludos y gracias por tu ayuda!
Festor:
Cita de: SnakeDrak en 10 Mayo 2010, 16:03 pm
El controlador creo que funciona sin problemas ya que los instalé dirigidos y todo está correcto, solo tengo ese problema.
No dije que el controlador funcionara mal, sólo te comenté si habías actualizado el controlador ya que según lei en Internet parece que mejora ligeramente el rendimiento en las aplicaciones emuladas vía wine.
Citar
Por si sirve de ayuda con 64 bits al ejecutar glxgears:
Pero lo extraño viene ahora, teóricamente con 32 bits debería fallar, en cambio va hasta a más fps por segundo:
No soy ningún experto en programación 3D pero por lo que tengo entendido glxgears no es de las mejores fuentes de información para comprobar el funcionamiento del controlador de tu tarjeta gráfica.
Lo mejor es probar directamente un videojuego o una aplicación 3D.
Citar
La verdad es que estoy un poco perdido, miraré el controlador porque creo que tienes razón.
No sé que rama de Debian usas, pero si usas Debian Testing puedes probar a actualizar el controlador a su versión experimental.
http://packages.debian.org/experimental/xserver-xorg-video-intel
Digo esto porque, en teoría, no deberías tener problemas ya que parece que tienen la misma versión del xserver como dependencia... pero aun así ten presente que no está en la rama experimental por simple decoración... :-\
En cambio si usas Debian Stable te recomendaría que actualizaras todo el sistema a Debian Testing si te interesa actualizar el controlador.
SnakeDrak:
Hola,
Tenía los drivers de sid pero he instalado los de experimental y aún da el mismo problema con 64:
Citar
trace:wgl:X11DRV_WineGL_InitOpenglInfo Direct rendering enabled: False
Parece ser problema de la configuración de wine ya que con glxinfo me aparece que tengo aceleración gráfica. Continuaré buscando.
Gracias por tu ayuda.
Saludos.
Navegación
[#] Página Siguiente