id Tech 4 (Doom3/Prey/Q4) > id Tech 4 Tech Support

Compile RBDoom 3 BFG on Windows XP

<< < (2/4) > >>

The Happy Friar:
I'd suggest then finding the oldest compiles that can compile it and give that one a shot. Or it could be that something was changed between the GPL & retail code, even slightly, that doesn't let it work.

Ultrafart:
Hi Friar,

Thanks for your suggestions, with which I agree completely.

Just for info (for anyone interested) I was hoping that, since the original Doom 3 BFG works fine on Windows XP, then maybe RBDoom 3 BFG didn't change too much of the source code and might also work on Windows XP.

The rigorous approach would be to take the modded code for RBDoom 3 BFG and compile it with Windows XP as target.

A naughty approach would be to just tweak the precompiled RBDoom 3 BFG executable to trick it into running on Windows XP, ie, change the Windows version from 6.xx (Windows 7) to 5.xx (Windows XP).

So I used the [ EditBin.exe ] from [ MASM32 v11 ] to change the target to Windows XP as follows:

[ EditBin.exe /subsystem:windows,5.01 RBDoom3BFG.exe ]

And blow me down and call me a monkey's uncle - it worked!   RBDoom3BFG.exe (release 1.0.3) works on Windows XP!

HOWEVER, when applied to the Laptop with crappy Intel video chipset, as it turned out, [ RBDOOM3BFG.exe ] does an even worse job of using the Mesa [ OpenGL32.dll ] than the original [ Doom3BFG.exe ].   [ Doom3BFG.exe ] at least acknowledges the full OpenGL capability of the Mesa driver (reports OpenGL 3.3, GLSL 3.3), although it fails to use it.   [ RBDoom3BFG.exe ] recognises the Mesa driver but doesn't acknowledge its full capability, let alone make use of it.

Here's the respective Initialisation Error report from [ Doom3BFG.exe ] and [RBDoom3BFG.exe ] -

===============================================
Doom 3 BFG
===============================================

QA Timing INIT: 000034ms
D3BFG 1.1400 win-x86 Oct  5 2012 11:38:38
2527 MHz Intel CPU with MMX & SSE & SSE2 & SSE3 & HTT
2976 MB System Memory
1024 MB Video Memory
Winsock Initialized
Found interface: {1C3CE733-0648-48F0-BB0A-473552EDD729} Broadcom NetLink (TM) Gigabit Ethernet - Packet Scheduler Miniport - 0.0.0.0 NULL netmask - skipped
Found interface: {C09F6992-75A5-4B49-B77A-CC78B2CAE96E} Intel(R) WiFi Link 5100 AGN - Packet Scheduler Miniport - 0.0.0.0 NULL netmask - skipped
Sys_InitNetworking: adding loopback interface
doom using MMX & SSE for SIMD processing
enabled Flush-To-Zero mode
enabled Denormals-Are-Zero mode
------ Initializing File System ------
Loaded resource file _common.resources
Loaded resource file _ordered.resources
Loaded resource file _sound_pc.resources
Loaded resource file _sound_pc_en.resources
Current search path:
E:\Games\Wxp\Virtual\Free\DOOM 3 BFG/base
C:\Documents and Settings\Administrator\My Documents\My Games\id Software\DOOM 3 BFG/base
file system initialized.
--------------------------------------
WARNING: Unable to open resource file maps/_startup.resources
----- Initializing Decls -----
------------------------------
Couldn't open journal files
execing default.cfg
execing D3BFGConfig.cfg
couldn't exec autoexec.cfg
----- R_InitOpenGL -----
Initializing OpenGL subsystem with multisamples:0 stereo:0 fullscreen:0
...registered window class
...registered fake window class
...initializing QGL
...calling LoadLibrary( 'opengl32' ): succeeded
X..WGL_EXT_swap_control_tear not found
...created window @ 0,0 (808x627)
Initializing OpenGL driver
...creating GL context: created OpenGL 3.2 context
succeeded
...making context current: succeeded
X..WGL_EXT_swap_control_tear not found

------- Input Initialization -------
Initializing DirectInput...
mouse: DirectInput initialized.
keyboard: DirectInput initialized.
freespace_version: 0.6
0 freespace devices
------------------------------------
OpenGL Version: 3.3
OpenGL Vendor : VMware, Inc.
OpenGL GLSL   : 3.3
X..GL_ARB_multitexture not found
X..GL_EXT_direct_state_access not found
...using GL_ARB_texture_compression
X..GL_EXT_texture_compression_s3tc not found
X..GL_EXT_texture_filter_anisotropic not found
...using GL_EXT_texture_lod_bias
...using GL_ARB_seamless_cube_map
...using GL_ARB_framebuffer_sRGB
X..GL_ARB_vertex_buffer_object not found
...using GL_ARB_map_buffer_range
...using GL_ARB_vertex_array_object
...using GL_ARB_draw_elements_base_vertex
X..GL_ARB_fragment_program not found
...using GL_ARB_uniform_buffer_object
X..GL_EXT_depth_bounds_test not found
...using GL_ARB_sync
...using GL_ARB_occlusion_query
...using GL_ARB_timer_query
Couldn't find proc address for: glGetQueryObjectui64vARB
...using GL_ARB_debug_output
--------- Game Map Shutdown ----------
--------------------------------------
********************
ERROR: GL_ARB_multitexture not available
********************
Error during initialization
Shutting down OpenGL subsystem
...wglMakeCurrent( NULL, NULL ): success
...deleting GL context: success
...releasing DC: success
...destroying window
...shutting down QGL
...unloading OpenGL DLL

===============================================
RBDoom 3 BFG v1.0.3
===============================================

QA Timing INIT: 000000ms
RBDOOM 3 BFG 1.0.3.1401 win-x86 Feb 19 2015 16:03:59
2527 MHz Intel CPU with MMX & SSE & SSE2 & SSE3 & HTT
Winsock Initialized
Found interface: {1C3CE733-0648-48F0-BB0A-473552EDD729} Broadcom NetLink (TM) Gigabit Ethernet - Packet Scheduler Miniport - 0.0.0.0 NULL netmask - skipped
Found interface: {C09F6992-75A5-4B49-B77A-CC78B2CAE96E} Intel(R) WiFi Link 5100 AGN - Packet Scheduler Miniport - 0.0.0.0 NULL netmask - skipped
Sys_InitNetworking: adding loopback interface
doom using MMX & SSE for SIMD processing
enabled Flush-To-Zero mode
enabled Denormals-Are-Zero mode
------ Initializing File System ------
Loaded resource file _common.resources
Loaded resource file _ordered.resources
Loaded resource file _sound_pc.resources
Loaded resource file _sound_pc_en.resources
Loaded resource file maps/admin.resources
Loaded resource file maps/alphalabs1.resources
Loaded resource file maps/alphalabs2.resources
Loaded resource file maps/alphalabs3.resources
Loaded resource file maps/alphalabs4.resources
Loaded resource file maps/caverns1.resources
Loaded resource file maps/caverns2.resources
Loaded resource file maps/comm1.resources
Loaded resource file maps/commoutside.resources
Loaded resource file maps/cpu.resources
Loaded resource file maps/cpuboss.resources
Loaded resource file maps/d3ctf1.resources
Loaded resource file maps/d3ctf2.resources
Loaded resource file maps/d3ctf3.resources
Loaded resource file maps/d3ctf4.resources
Loaded resource file maps/d3dm1.resources
Loaded resource file maps/d3dm2.resources
Loaded resource file maps/d3dm3.resources
Loaded resource file maps/d3dm4.resources
Loaded resource file maps/d3dm5.resources
Loaded resource file maps/d3xpdm1.resources
Loaded resource file maps/d3xpdm2.resources
Loaded resource file maps/d3xpdm3.resources
Loaded resource file maps/d3xpdm4.resources
Loaded resource file maps/delta1.resources
Loaded resource file maps/delta2a.resources
Loaded resource file maps/delta2b.resources
Loaded resource file maps/delta3.resources
Loaded resource file maps/delta4.resources
Loaded resource file maps/delta5.resources
Loaded resource file maps/deltax.resources
Loaded resource file maps/enpro.resources
Loaded resource file maps/erebus1.resources
Loaded resource file maps/erebus2.resources
Loaded resource file maps/erebus3.resources
Loaded resource file maps/erebus4.resources
Loaded resource file maps/erebus5.resources
Loaded resource file maps/erebus6.resources
Loaded resource file maps/hell.resources
Loaded resource file maps/hell1.resources
Loaded resource file maps/hellhole.resources
Loaded resource file maps/le_enpro1.resources
Loaded resource file maps/le_enpro2.resources
Loaded resource file maps/le_exis1.resources
Loaded resource file maps/le_exis2.resources
Loaded resource file maps/le_hell.resources
Loaded resource file maps/le_hell_post.resources
Loaded resource file maps/le_underground.resources
Loaded resource file maps/le_underground2.resources
Loaded resource file maps/mars_city1.resources
Loaded resource file maps/mars_city2.resources
Loaded resource file maps/mc_underground.resources
Loaded resource file maps/monorail.resources
Loaded resource file maps/phobos1.resources
Loaded resource file maps/phobos2.resources
Loaded resource file maps/phobos3.resources
Loaded resource file maps/phobos4.resources
Loaded resource file maps/recycling1.resources
Loaded resource file maps/recycling2.resources
Loaded resource file maps/site3.resources
Current search path:
C:\Documents and Settings\Administrator\My Documents\My Games\id Software\RBDOOM 3 BFG/base
E:\Games\Wxp\Virtual\Free\DOOM 3 BFG/base
_common.resources
_ordered.resources
_sound_pc.resources
_sound_pc_en.resources
maps/admin.resources
maps/alphalabs1.resources
maps/alphalabs2.resources
maps/alphalabs3.resources
maps/alphalabs4.resources
maps/caverns1.resources
maps/caverns2.resources
maps/comm1.resources
maps/commoutside.resources
maps/cpu.resources
maps/cpuboss.resources
maps/d3ctf1.resources
maps/d3ctf2.resources
maps/d3ctf3.resources
maps/d3ctf4.resources
maps/d3dm1.resources
maps/d3dm2.resources
maps/d3dm3.resources
maps/d3dm4.resources
maps/d3dm5.resources
maps/d3xpdm1.resources
maps/d3xpdm2.resources
maps/d3xpdm3.resources
maps/d3xpdm4.resources
maps/delta1.resources
maps/delta2a.resources
maps/delta2b.resources
maps/delta3.resources
maps/delta4.resources
maps/delta5.resources
maps/deltax.resources
maps/enpro.resources
maps/erebus1.resources
maps/erebus2.resources
maps/erebus3.resources
maps/erebus4.resources
maps/erebus5.resources
maps/erebus6.resources
maps/hell.resources
maps/hell1.resources
maps/hellhole.resources
maps/le_enpro1.resources
maps/le_enpro2.resources
maps/le_exis1.resources
maps/le_exis2.resources
maps/le_hell.resources
maps/le_hell_post.resources
maps/le_underground.resources
maps/le_underground2.resources
maps/mars_city1.resources
maps/mars_city2.resources
maps/mc_underground.resources
maps/monorail.resources
maps/phobos1.resources
maps/phobos2.resources
maps/phobos3.resources
maps/phobos4.resources
maps/recycling1.resources
maps/recycling2.resources
maps/site3.resources
file system initialized.
--------------------------------------
WARNING: Unable to open resource file maps/_startup.resources
----- Initializing Decls -----
------------------------------
Couldn't open journal files
execing default.cfg
couldn't exec D3BFGConfig.cfg
couldn't exec autoexec.cfg
----- R_InitOpenGL -----
Initializing OpenGL subsystem with multisamples:0 stereo:0 fullscreen:1
...registered window class
...registered fake window class
Using GLEW 1.10.0
display device: 0
  DeviceName  : \\.\DISPLAY1
  DeviceString: Mobile Intel(R) 4 Series Express Chipset Family
  StateFlags  : 0x8000005
  DeviceID    : PCI\VEN_8086&DEV_2A42&SUBSYS_30DD103C&REV_07
  DeviceKey   : \REGISTRY\Machine\System\ControlSet001\Services\ialm\Device0
      DeviceName  : \\.\DISPLAY1\Monitor0
      DeviceString: Plug and Play Monitor
      StateFlags  : 0x0
      DeviceID    : Monitor\SEC4F45\{4D36E96E-E325-11CE-BFC1-08002BE10318}\0000
      DeviceKey   : \Registry\Machine\System\CurrentControlSet\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\0000
          dmPosition.x      : 0
          dmPosition.y      : 0
          dmBitsPerPel      : 32
          dmPelsWidth       : 1280
          dmPelsHeight      : 800
          dmDisplayFlags    : 0x0
          dmDisplayFrequency: 60
...calling CDS: ok
display device: 0
  DeviceName  : \\.\DISPLAY1
  DeviceString: Mobile Intel(R) 4 Series Express Chipset Family
  StateFlags  : 0x8000005
  DeviceID    : PCI\VEN_8086&DEV_2A42&SUBSYS_30DD103C&REV_07
  DeviceKey   : \REGISTRY\Machine\System\ControlSet001\Services\ialm\Device0
      DeviceName  : \\.\DISPLAY1\Monitor0
      DeviceString: Plug and Play Monitor
      StateFlags  : 0x0
      DeviceID    : Monitor\SEC4F45\{4D36E96E-E325-11CE-BFC1-08002BE10318}\0000
      DeviceKey   : \Registry\Machine\System\CurrentControlSet\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\0000
          dmPosition.x      : 0
          dmPosition.y      : 0
          dmBitsPerPel      : 32
          dmPelsWidth       : 1024
          dmPelsHeight      : 768
          dmDisplayFlags    : 0x0
          dmDisplayFrequency: 60
...created window @ 0,0 (1024x768)
Initializing OpenGL driver
...creating GL context: failed to create OpenGL 3.2 context
created OpenGL 2.0 context
succeeded
...making context current: succeeded
Using GLEW 1.10.0

------- Input Initialization -------
Initializing DirectInput...
mouse: DirectInput initialized.
keyboard: DirectInput initialized.
------------------------------------
OpenGL Version  : 3.0
OpenGL Vendor   : VMware, Inc.
OpenGL Renderer : Gallium 0.4 on llvmpipe (LLVM 3.6, 128 bits)
OpenGL GLSL     : 1.3
...using GL_EXT_texture_lod_bias
X..GL_GREMEDY_string_marker not found
...using GL_EXT_framebuffer_object
...using GL_EXT_framebuffer_blit
--------- Game Map Shutdown ----------
--------------------------------------
********************
ERROR: GL_ARB_texture_compression or GL_EXT_texture_compression_s3tc not available
********************
Error during initialization
Shutting down OpenGL subsystem
...wglMakeCurrent( NULL, NULL ): success
...deleting GL context: success
...releasing DC: success
...destroying window
...resetting display

===============================================

So, an interesting revelation that RBDoom 3 BFG can be made to work on Windows XP just by using EditBin to change its minimum target OS.   It's nevertheless a shame that RBDoom 3 BFG apparently does a worse job than the original Doom 3 BFG at using a Mesa OpenGL rasterizer - even though the latest Gallium rasterizer should be quite capable of meeting Doom 3 BFG's OpenGL spec.   So at present, the Mesa rasterizer still won't redeem laptops with crappy Intel video chipsets (at least for Doom 3 BFG).


trebor:
Make a shortcut and try +set r_useOpenGL32 0

Ultrafart:
Hi Trebor,

I already had [ r_useopengl32 "2" ] in the [ D3BFGConfig.cfg ] file, so mistakenly assumed that [ RBDoom3BFG.exe ] would also use that setting.

I took your advice and used [ +set r_opengl32 2 ] in a shortcut to [ RBDoom3BFG.exe ], which resulted in RBDoom 3 BFG correctly detecting OpenGL 3.3 and GLSL 3.3 for the Gallium rasterizer, and successfully creating an OpenGL 3.2 context.   Apart from that change, it still failed to start and the remainder of the Initialisation Error report was the same as before.    Doom 3 BFG says "GL_ARB_multitexture not available" and RBDoom 3 BFG still says "GL_ARB_texture_compression or GL_EXT_texture_compression_s3tc not available".

I had previously checked [ OpenGL32.dll ] with the OpenGL Extensions Viewer v4.1, which showed that those extensions are actually there.   I'm guessing this means that both programs are correctly detecting but failing to properly utilise the capabilities of the Gallium rasterizer.

As a footnote, if I used [ +set r_opengl32 0 ] on either [ Doom3BFG.exe ] or [ RBDoom3BFG.exe ], they both then detected OpenGL 3.0 and GLSL 1.3 with the Gallium rasterizer, with the Initialisation Error reports remaining essentially the same.

I'm still pretty tickled about so easily getting precompiled RBDoom 3 BFG working on Windows XP.   Having it successfully use the Gallium rasterizer would have been even better, but that might have a little way to go yet.

VGames:
What is the purpose for all this trouble?

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version