Hello all!
I just tested out DOOM 3 (no-cd-cracked version) with the current Wine (CVS from 1 hour ago) and found the following problems on the game console:
Couldn't find proc address for: wglSwapIntervalEXT Couldn't find proc address for: wglGetPixelFormatAttribivARB Couldn't find proc address for: wglGetPixelFormatAttribfvARB Couldn't find proc address for: wglChoosePixelFormatARB Couldn't find proc address for: wglCreatePbufferARB Couldn't find proc address for: wglGetPbufferDCARB Couldn't find proc address for: wglReleasePbufferDCARB Couldn't find proc address for: wglDestroyPbufferARB Couldn't find proc address for: wglQueryPbufferARB Couldn't find proc address for: wglBindTexImageARB Couldn't find proc address for: wglReleaseTexImageARB Couldn't find proc address for: wglSetPbufferAttribARB GL_ARB_texture_non_power_of_two not found GL_ATI_fragment_shader not found (this is expected, I have a nvidia card) Cg not available.
Are these wgl* function difficult to implement?
Almost all computer terminals in the game show static black & white noise (instead of some animated computer screen image). I suspect, that this has something to do with the missing 'Cg' support in Wine (DOOM3 cannot find cg.dll & cgGL.dll).
On the other hand, the rendering paths (r_renderer nv10, nv20, arb, and arb2) are all more or less working (besides the noise and the too bright lighting in nv10).
BTW, DOOM 3 crashes at program start in Cedega, you made it better!
Bye, Uwe
Couldn't find proc address for: wglSwapIntervalEXT
I do not know any equivalent GLX extension for this.
Couldn't find proc address for: wglGetPixelFormatAttribivARB Couldn't find proc address for: wglGetPixelFormatAttribfvARB Couldn't find proc address for: wglChoosePixelFormatARB Couldn't find proc address for: wglCreatePbufferARB Couldn't find proc address for: wglGetPbufferDCARB Couldn't find proc address for: wglReleasePbufferDCARB Couldn't find proc address for: wglDestroyPbufferARB Couldn't find proc address for: wglQueryPbufferARB Couldn't find proc address for: wglSetPbufferAttribARB
This is part of one of my 'todo' project: adding support for PBuffers in the WineHQ tree (I once started to study both the GLX and WGL extension set to see how it could be done). Now that I know one 'high profile' application that needs them, maybe it will motivate me more :-)
Couldn't find proc address for: wglBindTexImageARB Couldn't find proc address for: wglReleaseTexImageARB
Would need to study what these are for and if there is an equivalent GLX extension.
GL_ARB_texture_non_power_of_two not found
What kind of NVIDIA card do you have ? Wine should report all extensions reported by the Linux card to the Windows application.
This means that if your card supports NP2 textures in Linux it should also in Windows.
An output of the 'glxinfo' would be nice (see below).
GL_ATI_fragment_shader not found (this is expected, I have a nvidia card) Cg not available.
I would need to study if 'native' Cg works in Wine.
Almost all computer terminals in the game show static black & white noise (instead of some animated computer screen image).
I suppose this is where NP2 textures are used. No idea why the fallback dose not work.
I suspect, that this has something to do with the missing 'Cg' support in Wine (DOOM3 cannot find cg.dll & cgGL.dll).
Did you try to install the native versions using Wine (I have no idea how NVIDIA packages the Cg libraries though) ?
Anyway, it would be nice to have a Bugzilla bug-report to track this (at least as long as the demo is not out so that I could debug it myself :-) ).
What would be needed is the output of 'glxinfo' as said before and a +opengl log of the application (the terminal problem will be hard to track this way though).
Lionel
fre, 06.08.2004 kl. 23.58 skrev Lionel Ulmer:
Couldn't find proc address for: wglSwapIntervalEXT
I do not know any equivalent GLX extension for this.
GLX_SGI_swap_control is almost equivalent, it just doesn't have a query function. It's probably not critical functionality though.
Couldn't find proc address for: wglBindTexImageARB Couldn't find proc address for: wglReleaseTexImageARB
Would need to study what these are for and if there is an equivalent GLX extension.
Sounds like WGL_ARB_render_texture. No GLX equivalent yet. It's possible to fall back to ordinary glCopyTexImage stuff, which I suspect the game should be smart enough to do if it can't find these.
GL_ARB_texture_non_power_of_two not found
What kind of NVIDIA card do you have ? Wine should report all extensions reported by the Linux card to the Windows application.
nvidia just doesn't seem to support this on the cards we have here either. They just have GL_NV_texture_rectangle. The game could probably fall back to this too if ARB_texture_non_power_of_two doesn't exist.
Almost all computer terminals in the game show static black & white noise (instead of some animated computer screen image).
I suppose this is where NP2 textures are used. No idea why the fallback dose not work.
Or perhaps where pbuffers are used.
And since the original poster said:
BTW, DOOM 3 crashes at program start in Cedega, you made it better!
here's a howto from someone who did make it start with Cedega CVS:
http://www.linux-militia.net/howtos/doom3/doom3.html
Since there's some level of pbuffer support in Cedega, it might provide better graphics.
Ove Kaaven wrote:
BTW, DOOM 3 crashes at program start in Cedega, you made it better!
here's a howto from someone who did make it start with Cedega CVS:
http://www.linux-militia.net/howtos/doom3/doom3.html
Since there's some level of pbuffer support in Cedega, it might provide better graphics.
http://linux.israel.net/linuxgames/modules.php?name=News&file=article&am...
Translated into English: War games: Yes, it's true, Wine can run the new DOOM3
Several days ago I installed Mandrake 9.2 and was very impressed with Wine. This little program really does wonders. So i said to myself "it can run small Windows apps, but there is no way it can run Doom 3".
I did this: cd /mnt/win_f/Doom3 and wrote "wine Doom3.exe", and what did my eyes see?
Yes, it is Doom3 running on my computer!!! And with pretty nice graphics Linux should not be ashamed of, to boost! Only one little detail - the in games movies won't work. It probably has something to do with Windows' Direct X.
So there you have it. I hope that it will work for you as it has for me!!!!
There is also a screen shot there.
So, if you want me to relay any questions to the user regarding how he did it? :-)
Have I missed something here - I thought there was a native version of DOOM 3 for Linux?
Le sam 07/08/2004 à 08:04, Mike Hearn a écrit :
Have I missed something here - I thought there was a native version of DOOM 3 for Linux?
The binaries are not yet available to my knowledge, although iD says they will be "soon after the game ships".
So for people wanting to play it now, Wine is a better option than waiting. Plus it might prove to some people that Wine can be used with cutting-edge software, which is always good.
Vincent
Hi Mike,
--- Mike Hearn mike@navi.cx wrote:
Have I missed something here - I thought there was a native version of DOOM 3 for Linux?
I dont think it is being released right away.
Thanks Steven
__________________________________ Do you Yahoo!? Yahoo! Mail - 50x more storage than other providers! http://promotions.yahoo.com/new_mail
Hello Lionel!
Here comes the requested output of glxinfo:
name of display: :0.0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: NVIDIA Corporation server glx version string: 1.3 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_ARB_multisample, GLX_NV_float_buffer client glx vendor string: NVIDIA Corporation client glx version string: 1.3 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_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_swap_control, GLX_NV_float_buffer 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_ARB_multisample, GLX_NV_float_buffer, GLX_ARB_get_proc_address OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce FX 5900XT/AGP/SSE/3DNOW! OpenGL version string: 1.5.1 NVIDIA 61.11 OpenGL extensions: GL_ARB_depth_texture, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, 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_mirrored_repeat, GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, GL_S3_s3tc, GL_EXT_texture_env_add, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, GL_EXT_Cg_shader, GL_EXT_depth_bounds_test, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, GL_EXT_paletted_texture, 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_shared_texture_palette, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_texture3D, 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_lod, GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_vertex_array, GL_HP_occlusion_test, 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_clamp, GL_NV_fence, GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_program, GL_NV_fragment_program_option, GL_NV_half_float, GL_NV_light_max_exponent, GL_NV_multisample_filter_hint, GL_NV_occlusion_query, GL_NV_packed_depth_stencil, 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_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_SGIS_generate_mipmap, GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow, GL_SUN_slice_accum glu version: 1.3 glu extensions: GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat ---------------------------------------------------------------------- 0x21 24 tc 0 32 0 r y . 8 8 8 0 0 24 8 16 16 16 16 0 0 None 0x22 24 dc 0 32 0 r y . 8 8 8 0 0 24 8 16 16 16 16 0 0 None 0x23 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x24 24 tc 0 32 0 r . . 8 8 8 0 0 24 8 16 16 16 16 0 0 None 0x25 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x26 24 tc 0 32 0 r y . 8 8 8 0 0 16 0 16 16 16 16 0 0 None 0x27 24 tc 0 32 0 r y . 8 8 8 8 0 16 0 16 16 16 16 0 0 None 0x28 24 tc 0 32 0 r . . 8 8 8 0 0 16 0 16 16 16 16 0 0 None 0x29 24 tc 0 32 0 r . . 8 8 8 8 0 16 0 16 16 16 16 0 0 None 0x2a 24 tc 0 32 0 r y . 8 8 8 0 0 0 0 16 16 16 16 0 0 None 0x2b 24 tc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 None 0x2c 24 tc 0 32 0 r . . 8 8 8 0 0 0 0 16 16 16 16 0 0 None 0x2d 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 None 0x2e 24 tc 0 32 0 r y . 8 8 8 0 0 24 8 16 16 16 16 2 1 Ncon 0x2f 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 2 1 Ncon 0x30 24 tc 0 32 0 r y . 8 8 8 0 0 24 8 16 16 16 16 4 1 Ncon 0x31 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 4 1 Ncon 0x32 24 tc 0 32 0 r y . 8 8 8 0 0 16 0 16 16 16 16 2 1 Ncon 0x33 24 tc 0 32 0 r y . 8 8 8 8 0 16 0 16 16 16 16 2 1 Ncon 0x34 24 tc 0 32 0 r y . 8 8 8 0 0 16 0 16 16 16 16 4 1 Ncon 0x35 24 tc 0 32 0 r y . 8 8 8 8 0 16 0 16 16 16 16 4 1 Ncon 0x36 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x37 24 dc 0 32 0 r . . 8 8 8 0 0 24 8 16 16 16 16 0 0 None 0x38 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x39 24 dc 0 32 0 r y . 8 8 8 0 0 16 0 16 16 16 16 0 0 None 0x3a 24 dc 0 32 0 r y . 8 8 8 8 0 16 0 16 16 16 16 0 0 None 0x3b 24 dc 0 32 0 r . . 8 8 8 0 0 16 0 16 16 16 16 0 0 None 0x3c 24 dc 0 32 0 r . . 8 8 8 8 0 16 0 16 16 16 16 0 0 None 0x3d 24 dc 0 32 0 r y . 8 8 8 0 0 0 0 16 16 16 16 0 0 None 0x3e 24 dc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 None 0x3f 24 dc 0 32 0 r . . 8 8 8 0 0 0 0 16 16 16 16 0 0 None 0x40 24 dc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 None 0x41 24 dc 0 32 0 r y . 8 8 8 0 0 24 8 16 16 16 16 2 1 Ncon 0x42 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 2 1 Ncon 0x43 24 dc 0 32 0 r y . 8 8 8 0 0 24 8 16 16 16 16 4 1 Ncon 0x44 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 4 1 Ncon 0x45 24 dc 0 32 0 r y . 8 8 8 0 0 16 0 16 16 16 16 2 1 Ncon 0x46 24 dc 0 32 0 r y . 8 8 8 8 0 16 0 16 16 16 16 2 1 Ncon 0x47 24 dc 0 32 0 r y . 8 8 8 0 0 16 0 16 16 16 16 4 1 Ncon 0x48 24 dc 0 32 0 r y . 8 8 8 8 0 16 0 16 16 16 16 4 1 Ncon
In DOOM 3 a similar output with the list of extensions comes from the console command gfxInfo: GL_VENDOR: NVIDIA Corporation GL_RENDERER: GeForce FX 5900XT/AGP/SSE/3DNOW! GL_VERSION: 1.5.1 NVIDIA 61.11 GL_EXTENSIONS: GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_ shader GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query 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_mirrored_repeat GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_ compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_paletted_texture GL_EXT_pixel_buffer_object GL_EXT_po int_parameters GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_fu ncs GL_EXT_shared_texture_palette GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_textu re_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_tex ture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_o bject GL_EXT_vertex_array GL_HP_occlusion_test 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_clamp GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_half_float GL_NV_light_max_e xponent GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_pixel_data_ran ge GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texg en_reflection GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expand_normal GL_NV_te xture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_vertex_array_range G L_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_pr ogram2_option GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice _accum WGL_EXTENSIONS: WGL_ARB_extensions_string WGL_EXT_extensions_string GL_MAX_TEXTURE_SIZE: 4096 GL_MAX_TEXTURE_UNITS_ARB: 4 GL_MAX_TEXTURE_COORDS_ARB: 8 GL_MAX_TEXTURE_IMAGE_UNITS_ARB: 16
PIXELFORMAT: color(32-bits) Z(24-bit) stencil(8-bits) MODE: 4, 800 x 600 fullscreen hz:N/A CPU: AMD CPU with MMX & 3DNow! & SSE ARB path ENABLED NV10 path ENABLED NV20 path ENABLED R200 path disabled ARB2 path ENABLED (ACTIVE) Exp path ENABLED Cg path ENABLED ------- glFinish not forced swapInterval not forced Using two sided stencil Vertex cache is fast Toggling speakers
Almost all computer terminals in the game show static black & white noise (instead of some animated computer screen image).
I suppose this is where NP2 textures are used. No idea why the fallback dose not work.
Exactly this is the problem. As the picture I see on screen is not completely random (so if someone forgot to put real data in the memory) but is a nice animated picture of a TV screen without a tuned in channel I assume this is the fallback. It makes the game unplayable, as valuable information must be read from and typed in such screens.
I suspect, that this has something to do with the missing 'Cg' support in Wine (DOOM3 cannot find cg.dll & cgGL.dll).
Did you try to install the native versions using Wine (I have no idea how NVIDIA packages the Cg libraries though) ?
Native Cg works. I installed cg.dll and cgGL.dll (downloaded them from http://toybox.150m.com/2003-05-02/cg_dlls.zip) and (as you can see above) DOOM 3 is happy about Cg. It did not change the overall behaviour.
Bye, Uwe