akmod-nvidia update, lose openGL functionality

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
JohnLocke
Level 1
Level 1
Posts: 7
Joined: Wed Aug 13, 2008 6:37 pm

akmod-nvidia update, lose openGL functionality

Post by JohnLocke »

Sorry if this has been dealt with, but I couldn't find it in a search.

I updated Fedora to the new kernel build, and there are no current drivers for nvidia cards for that. That's fine, livna made a new neat thing called akmod-nvidia that appears to have built the drivers very nicely (quite pleased with that). All is happy and shiny from within Linux (compiz works and openGL games work well).

WINE, however, does not work with anything requiring openGL. My primary concern (I shudder to say) is World of Warcraft. Keep in mind that all of this was working beautifully before I removed the old nvidia drivers and used the new akmod ones (so xorg.conf / Config.wtf, etc should be set up fine, but I've also checked to be sure).

The wine output of concern here is:

Code: Select all

fixme:win:EnumDisplayDevicesW ((null),0,0x32eda4,0x00000000), stub!
err:d3d:WineD3D_CreateFakeGLContext Can't find a suitable iPixelFormat
err:d3d:InitAdapters Failed to get a gl context for default adapter
err:wine_d3d:WineDirect3DCreate Direct3D9 is not available without opengl
fixme:dbghelp:dump_system_info fill in CPU vendorID and feature set
It appears that wine can no longer find the opengl drivers? How do I go about rectifying this? Please, any help to get me my weekly fix would be great! :)
jeffz
Level 5
Level 5
Posts: 345
Joined: Thu Mar 13, 2008 10:03 pm

Re: akmod-nvidia update, lose openGL functionality

Post by jeffz »

JohnLocke wrote:Sorry if this has been dealt with, but I couldn't find it in a search.

I updated Fedora to the new kernel build, and there are no current drivers for nvidia cards for that. That's fine, livna made a new neat thing called akmod-nvidia that appears to have built the drivers very nicely (quite pleased with that). All is happy and shiny from within Linux (compiz works and openGL games work well).

WINE, however, does not work with anything requiring openGL. My primary concern (I shudder to say) is World of Warcraft. Keep in mind that all of this was working beautifully before I removed the old nvidia drivers and used the new akmod ones (so xorg.conf / Config.wtf, etc should be set up fine, but I've also checked to be sure).

The wine output of concern here is:

Code: Select all

fixme:win:EnumDisplayDevicesW ((null),0,0x32eda4,0x00000000), stub!
err:d3d:WineD3D_CreateFakeGLContext Can't find a suitable iPixelFormat
err:d3d:InitAdapters Failed to get a gl context for default adapter
err:wine_d3d:WineDirect3DCreate Direct3D9 is not available without opengl
fixme:dbghelp:dump_system_info fill in CPU vendorID and feature set
It appears that wine can no longer find the opengl drivers? How do I go about rectifying this? Please, any help to get me my weekly fix would be great! :)
Install your video drivers. You should ask in a fedora support place rather than Wine.
JohnLocke
Level 1
Level 1
Posts: 7
Joined: Wed Aug 13, 2008 6:37 pm

Re: akmod-nvidia update, lose openGL functionality

Post by JohnLocke »

jeffz wrote:Install your video drivers. You should ask in a fedora support place rather than Wine.
That's kind of the problem and why I'm asking in Wine ... the video card drivers /are/ installed:

Code: Select all

> rpm -qa | grep nvidia
akmod-nvidia-173.14.12-2.lvn9.x86_64
kmod-nvidia-2.6.25.14-108.fc9.x86_64-173.14.12-2.fc9.x86_64
xorg-x11-drv-nvidia-173.14.12-1.lvn10.x86_64
nvidia-settings-1.0-2.lvn10.x86_64
xorg-x11-drv-nvidia-libs-173.14.12-1.lvn10.x86_64
Everything works in linux using openGL /except/ Wine ... hence, the asking Wine group for help.

Or is there some other video card driver that Wine requires and the rest of linux doesn't that I need to install?
jeffz
Level 5
Level 5
Posts: 345
Joined: Thu Mar 13, 2008 10:03 pm

Re: akmod-nvidia update, lose openGL functionality

Post by jeffz »

JohnLocke wrote:
jeffz wrote:Install your video drivers. You should ask in a fedora support place rather than Wine.
That's kind of the problem and why I'm asking in Wine ... the video card drivers /are/ installed:

Code: Select all

> rpm -qa | grep nvidia
akmod-nvidia-173.14.12-2.lvn9.x86_64
kmod-nvidia-2.6.25.14-108.fc9.x86_64-173.14.12-2.fc9.x86_64
xorg-x11-drv-nvidia-173.14.12-1.lvn10.x86_64
nvidia-settings-1.0-2.lvn10.x86_64
xorg-x11-drv-nvidia-libs-173.14.12-1.lvn10.x86_64
Everything works in linux using openGL /except/ Wine ... hence, the asking Wine group for help.

Or is there some other video card driver that Wine requires and the rest of linux doesn't that I need to install?
What is the output of glxinfo?
JohnLocke
Level 1
Level 1
Posts: 7
Joined: Wed Aug 13, 2008 6:37 pm

Re: akmod-nvidia update, lose openGL functionality

Post by JohnLocke »

jeffz wrote: What is the output of glxinfo?
Assuming you don't care about the rgb values at the end:

Code: Select all

name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control, 
    GLX_EXT_texture_from_pixmap, GLX_ARB_multisample, GLX_NV_float_buffer, 
    GLX_ARB_fbconfig_float, GLX_EXT_framebuffer_sRGB
client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
client glx extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info, 
    GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_SGI_video_sync, 
    GLX_NV_swap_group, GLX_NV_video_out, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGI_swap_control, GLX_NV_float_buffer, GLX_ARB_fbconfig_float, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_framebuffer_sRGB, GLX_NV_present_video
GLX version: 1.3
GLX extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control, 
    GLX_EXT_texture_from_pixmap, GLX_ARB_multisample, GLX_NV_float_buffer, 
    GLX_ARB_fbconfig_float, GLX_EXT_framebuffer_sRGB, 
    GLX_ARB_get_proc_address
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 8800 GT/PCI/SSE2
OpenGL version string: 2.1.2 NVIDIA 173.14.12
OpenGL extensions:
    GL_ARB_color_buffer_float, GL_ARB_depth_texture, GL_ARB_draw_buffers, 
    GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, 
    GL_ARB_fragment_shader, GL_ARB_half_float_pixel, GL_ARB_imaging, 
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, 
    GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, 
    GL_ARB_shadow, GL_ARB_shader_objects, GL_ARB_shading_language_100, 
    GL_ARB_texture_border_clamp, GL_ARB_texture_compression, 
    GL_ARB_texture_cube_map, GL_ARB_texture_env_add, 
    GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3, GL_ARB_texture_float, 
    GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two, 
    GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, 
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, 
    GL_ARB_window_pos, GL_ATI_draw_buffers, GL_ATI_texture_float, 
    GL_ATI_texture_mirror_once, GL_S3_s3tc, GL_EXT_texture_env_add, 
    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, 
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, 
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, 
    GL_EXT_Cg_shader, GL_EXT_bindable_uniform, GL_EXT_depth_bounds_test, 
    GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, 
    GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, 
    GL_EXT_framebuffer_object, GL_EXTX_framebuffer_mixed_formats, 
    GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, 
    GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, 
    GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil, 
    GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object, 
    GL_EXT_point_parameters, GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, 
    GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_texture3D, 
    GL_EXT_texture_array, GL_EXT_texture_buffer_object, 
    GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, 
    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_combine, 
    GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_integer, GL_EXT_texture_lod, GL_EXT_texture_lod_bias, 
    GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_sRGB, 
    GL_EXT_texture_shared_exponent, GL_EXT_timer_query, GL_EXT_vertex_array, 
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, 
    GL_KTX_buffer_region, GL_NV_blend_square, GL_NV_copy_depth_to_color, 
    GL_NV_depth_buffer_float, GL_NV_conditional_render, GL_NV_depth_clamp, 
    GL_NV_fence, GL_NV_float_buffer, GL_NV_fog_distance, 
    GL_NV_fragment_program, GL_NV_fragment_program_option, 
    GL_NV_fragment_program2, GL_NV_framebuffer_multisample_coverage, 
    GL_NV_geometry_shader4, GL_NV_gpu_program4, GL_NV_half_float, 
    GL_NV_light_max_exponent, GL_NV_multisample_coverage, 
    GL_NV_multisample_filter_hint, GL_NV_occlusion_query, 
    GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object, 
    GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart, 
    GL_NV_register_combiners, GL_NV_register_combiners2, 
    GL_NV_texgen_reflection, GL_NV_texture_compression_vtc, 
    GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, 
    GL_NV_texture_rectangle, GL_NV_texture_shader, GL_NV_texture_shader2, 
    GL_NV_texture_shader3, GL_NV_transform_feedback, GL_NV_vertex_array_range, 
    GL_NV_vertex_array_range2, GL_NV_vertex_program, GL_NV_vertex_program1_1, 
    GL_NV_vertex_program2, GL_NV_vertex_program2_option, 
    GL_NV_vertex_program3, GL_NVX_conditional_render, GL_SGIS_generate_mipmap, 
    GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow, 
    GL_SUN_slice_accum
JohnLocke
Level 1
Level 1
Posts: 7
Joined: Wed Aug 13, 2008 6:37 pm

Post by JohnLocke »

Anyone? I'm still at a total loss here. I really think it's something fairly simple (though I'm not a good enough user to figure it out).

Just need to figure out how to make Wine use the opengl drivers and it should be good to go!
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Post by vitamin »

JohnLocke wrote:Anyone? I'm still at a total loss here. I really think it's something fairly simple (though I'm not a good enough user to figure it out).

Just need to figure out how to make Wine use the opengl drivers and it should be good to go!
Reinstall drivers. If they don't work, downgrade to an older version.
JohnLocke
Level 1
Level 1
Posts: 7
Joined: Wed Aug 13, 2008 6:37 pm

Post by JohnLocke »

vitamin wrote:Reinstall drivers. If they don't work, downgrade to an older version.
Well, I tried that. I backed off to kernel 2.6.25.10-86.fc9.x86_64 (what I was running when everything worked). I tried to run "yum install kmod-nvidia", but got the same dang dependency errors:

Code: Select all

Error: Missing Dependency: kernel-uname-r = 2.6.25.11-97.fc9.x86_64 is
 needed by package kmod-nvidia-2.6.25.11-97.fc9.x86_64-173.14.12-2.lvn9.x86_64 (livna)
Seems kmod will /only/ work with kernel 2.6.25.11-97 (which I don't have and don't really know how to update to that specific of a kernel).

So I installed akmod (in single user mode, after removing all nvidia drivers). I then fully removed Wine (all 11 packages of it and it's helper packages), and then reinstalled using just "yum install wine" (got back all 11 packages). Again, got right back to the point where openGL works fine for linux programs (compiz, linux games, glxgears), but not for Wine. Still have the exact same error.

Have the drivers:

Code: Select all

rpm -qa | grep nvidia
kmod-nvidia-2.6.25.10-86.fc9.x86_64-173.14.12-2.fc9.x86_64
xorg-x11-drv-nvidia-173.14.12-1.lvn10.x86_64
akmod-nvidia-173.14.12-2.lvn9.x86_64
xorg-x11-drv-nvidia-libs-173.14.12-1.lvn10.x86_64

> glxinfo | grep direct
direct rendering: Yes

> glxinfo | grep server
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:

> glxinfo | grep client
client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
client glx extensions:

> rpm -qai kmod\*86\*
Name        : kmod-nvidia-2.6.25.10-86.fc9.x86_64  Relocations: (not relocatable)
Version     : 173.14.12                         Vendor: (none)
Release     : 2.fc9                         Build Date: Thu 14 Aug 2008 07:38:14 PM MDT
Install Date: Thu 14 Aug 2008 07:38:20 PM MDT      Build Host: LinBob
Group       : System Environment/Kernel     Source RPM: nvidia-kmod-173.14.12-2.fc9.src.rpm
Size        : 10318592                         License: Redistributable, no modification permitted
Signature   : (none)
URL         : http://www.nvidia.com/
Summary     : nvidia kernel module(s) for 2.6.25.10-86.fc9.x86_64
Description :
This package provides the nvidia kernel modules built for the Linux
kernel 2.6.25.10-86.fc9.x86_64 for the x86_64 family of processors.
No good. Wine refuses to run openGL apps now.

Here's the xorg (minus things like the keyboard):

Code: Select all

# Xorg configuration created by livna-config-display

Section "ServerLayout"
        Identifier     "single head configuration"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        ModulePath   "/usr/lib64/xorg/modules/extensions/nvidia"
        ModulePath   "/usr/lib64/xorg/modules"
EndSection

Section "Module"
        Load  "i2c"
        Load  "bitmap"
        Load  "ddc"
        Load  "freetype"
        Load  "int10"
        Load  "type1"
        Load  "vbe"
        Load  "glx"
        Load  "dbe"
        Load  "extmod"
EndSection

Section "ServerFlags"
        Option      "AIGLX" "on"
EndSection

Section "Monitor"
        Identifier   "ViewSonic"
        HorizSync    30.0 - 60.0
        VertRefresh  60.0 - 75.0
        Option      "DPMS"
EndSection

Section "Device"
        Identifier  "GeForce 8800"
        Driver      "nvidia"
        Option      "AddARGBGLXVisuals" "True"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "GeForce 8800"
        Monitor    "ViewSonic"
        DefaultDepth     24
        Option      "RenderAccel" "True"
        Option      "AddARGBGLXVisuals" "True"
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

Section "Extensions"
        Option      "Composite" "Enable"
EndSection

There's got to be some simple step of wine missing something. I'm sitting on a clean install of wine, and a clean install of the drivers (that work!), so Wine is the only thing that can be broken right now (that I can think of).

Any ideas?
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Post by vitamin »

JohnLocke wrote:
vitamin wrote:Reinstall drivers. If they don't work, downgrade to an older version.
Well, I tried that. I backed off to kernel 2.6.25.10-86.fc9.x86_64 (what I was running when everything worked). I tried to run "yum install kmod-nvidia", but got the same dang dependency errors:
Don't touch kernel. You have to remove all new nvidia packages and install older ones. If rpm resists, you can always use --nodeps
JohnLocke
Level 1
Level 1
Posts: 7
Joined: Wed Aug 13, 2008 6:37 pm

Post by JohnLocke »

Ok ... found the problem. Basically I'm an idiot because I forgot one important detail. Warcraft requires the i386 libraries ...

Installing xorg-x11-drv-nvidia-libs-173.14.12-1.lvn10.i386 (same version as what I'm running from akmod) makes it work perfectly.

Thanks for the help, though!

I did find a new problem that has nothing to do with wine, but in the spirit of helping others if they run across this thread, I'll post here if I have an update:

Now that I'm using akmod, I can upgrade kernels with no problem. I have NOT yet figured out how to make akmod build me a i386 version of xorg-x11-drv-nvidia-libs for the new guys, though. So basically the update works fine, but wine won't be able to run anything that requires the i386 drivers, so you have to back down your kernel version. (if I find a good fix, I'll post it).
JohnLocke
Level 1
Level 1
Posts: 7
Joined: Wed Aug 13, 2008 6:37 pm

Post by JohnLocke »

vitamin wrote:Don't touch kernel. You have to remove all new nvidia packages and install older ones. If rpm resists, you can always use --nodeps
I don't mean to say that I uninstalled the new kernel or anything, I just booted to the older one that was already installed and working.

Is that what you were cautioning against? I still haven't figured out a way to get it working on the newest version of the kernel.
Locked