News:

One Minute Game Review by The Happy Friar: https://ugetube.com/@OneMinteGameReviews
Also on Rumble: https://rumble.com/c/c-1115371

idTech 4 (aka Doom 3 tech) Discord Server! https://discord.gg/9wtCGHa

Main Menu

Compile RBDoom 3 BFG on Windows XP

Started by Ultrafart, June 29, 2015, 08:32:48 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ultrafart

Hello fellows,

I'm new so I apologise in advance for not doing things right.   Anyway, I seek your advice.

Re RBDoom 3 BFG, I know it will all run fine on Windows 7 on an OpenGL 3.2 card.   But that's not my concern here.

Short story - running Windows XP, several laptops, Intel Series 4 Mobile Express Chipset (GMA 4500MHD).

Have Gallium llvmpipe software rasterizer (Mesa 10.6.x), provides core profile OpenGL3.3, GLSL 3.3.

Doom 3 BFG does run on Windows XP (hell, it will even run on Windows 98!) and so SHOULD run on this setup, BUT interrogates OpenGL compatibility profile instead of core profile, so won't run.   It acknowledges the core profile OpenGL 3.3 and GLSL 3.3 on attempting startup, but can't find about 7 extensions (even though they exist in the core profile) and fails.

Hoping RBDoom 3 BFG might have corrected this flaw (ie, use core profile instead of compatibility profile).

BUT can't find [ RBDoom3BFG.exe ] compiled for Windows XP (so get "not a valid win32 application") and so am not able to test this hypothesis.

SO, in a nutshell, here is my enquiry (in two parts) -

1.   Has anyone built  [ RBDoom3BFG.exe ] for 32-bit Windows XP?

2.   Can I use Visual C++ Express 2010 (instead of 2013) on a Windows XP PC to successfully compile [ RBDoom3BFG.exe ]?

Thanks for any useful advice you may be able to offer.

motorsep

Tbh, WinXP is a dead OS. Windows 10 is coming out next month with free upgrade for Win7/8 users.

If you insist sticking with WinXP and yet playing Doom 3 BFG, you might as well install Linux and avoid all the headaches associated with WinXP.

Ultrafart

Hi Motorsep,

Thanks for taking the time to reply.

I take your opinion seriously - I agree Linux is the best path for this issue taken in isolation.

HOWEVER, for when I want to play D3BFG, I have it running on another rig quite fine on Wxp, and that's not the point of my enquiry.

Running D3BFG on these laptops is not a show-stopper for me (nor likely anyone else).   It's just something I'd like to do, because I < think > I can.   Mainly to confirm that the Gallium rasterizer can bypass the inadequacy of the Intel GMA chipset, using Doom 3 BFG as my test case.

As you rightly suggest, Linux would be a more prudent path to accomplish this objective, but I'm inclined if possible to just go with the OS that's already set up on the laptops.   Path of least resistance, etc.   Hence my enquiry re Wxp.

So, no stress, if anyone else can actually shed light on the substance of my enquiry, I'd be grateful.

Regards

The Happy Friar

I don't know because I never actually tried, but I'm betting The BFG edition needs something XP doesn't have.  I've compiled EXE's in Win 8 that work in 7 & XP but that code was designed with XP in mind.

Ultrafart

Hi Happy Friar,

Thanks for your advice.

Doom 3 BFG definitely runs on Wxp, I have it running no probs here with a Geforce 9800GT.   With a very minor hex edit, apparently it will also run fine on W98 (tho haven't tested that myself).

Problem I have is, all the precompiled win32 RBDoom 3 BFG downloads (that I can find) target Windows 7, so fail to run on Wxp.   Given that  the RBDoom source has been derived from the original D3BFG, I'd assume that it would likewise run fine on Wxp if compiled for it.

I get the initial impression that there probably are no RBDoom downloads compiled for Wxp, so I may just have to bite the bullet and figure out how to compile the source myself.

Thanks again for taking the trouble to reply.

Regards.

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

#8
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?
Get the latest on Perfected Doom 3 here - http://www.moddb.com/mods/perfected-doom-3-version-500

motorsep

Quote from: Ultrafart on July 09, 2015, 10:43:29 AM
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.

The engine requires OpenGL 3.2 and GLSL 1.5.

This project sounds like "let's make Doom run on a toaster" :)  1 or 2 people would try it, but no one will ever use it on regular basis.

VGames

Quote from: motorsep on July 09, 2015, 11:47:31 AM
Quote from: Ultrafart on July 09, 2015, 10:43:29 AM
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.

The engine requires OpenGL 3.2 and GLSL 1.5.

This project sounds like "let's make Doom run on a toaster" :)  1 or 2 people would try it, but no one will ever use it on regular basis.

That was the point of my question. Why go through so much trouble? Is there a benefit to this on winxp?
Get the latest on Perfected Doom 3 here - http://www.moddb.com/mods/perfected-doom-3-version-500

Ultrafart

#12
Hi guys,

Sorry to cause any consternation, but I thought I explained my purpose in my first post.

On reflection, the thread title is probably misleading, because it asks for advice to address a minor hiccup in my project, but doesn't elucidate the project's actual purpose.

So allow me to clarify.

I and a friend have a couple of laptops with crappy Intell Mobile Series 4 video chipsets, which are technically capable of doing OpenGL 3.2 but have been hamstrung by Intel's drivers to OpenGL 2.1 and GLSL 1.3.

So I'm curious as to how they'd go using the Gallium LLVMPipe rasterizer using Mesa 10.6, which has full support for OpenGL 3.3 and GLSL 3.3.   Since Doom 3 BFG requires OpenGL 3.2 etc, I thought this would be a nice test case.

The original Doom 3 BFG successfully detects OpenGL 3.3 & GLSL 3.3 with the Gallium rasterizer, and successfully creates an OpenGL 3.2 context, but apparently fails to properly use it.   Ditto RBDoom 3 BFG.   So using Doom 3 BFG as a test case for this purpose was unsuccessful.

As for Windows XP, that wasn't actually the point of the exercise.   The laptops just happen to have Windows XP installed, and Doom 3 BFG works fine on that, so that's what I used.

I needed some advice to make RBDoom 3 BFG do likewise, and that's why this thread was started.

As I learned pursuant to this thread, RBDoom 3 BFG also conveniently works fine on Windows XP with one minor tweak.

Didn't matter anyway, neither program was successful at using the Gallium rasterizer.   Both programs successfully create an OpenGL 3.2 context, and both fail to use it.

It was all about the rasterizer, and bypassing the crappy Intel Mobile Series 4 chipset.   The Gallium rasterizer is reputed to be fast and will do OpenGL 3.3.   But not with Doom 3 BFG or RBDoom 3 BFG <sigh>.

So this thread is solved.   RBDoom 3 BFG works fine on Windows XP, just like Doom 3 BFG.
Maybe RBDoom will work fine on Windows 98, just like Doom 3 BFG - but that's another story.


Ultrafart

#13
Hi again,

Just for clarity, this thread is SOLVED.

SOLUTION to make precompiled RBDoom 3 BFG work on Windows XP:

Use the [ EditBin.exe ] included with (for example) [ MASM32 v11 ] to change the target OS to Windows XP as follows:

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

This makes[ RBDoom3BFG.exe ] (release 1.0.3) work on Windows XP.

Hurrah!


P.S. My gratitude to Happy Friar and Trebor for their helpful and constructive advice  :)

Ultrafart

Hi kiddies,

I know it's an old post, but I thought (just for closure) I should add this info which is relevant to much of the discussion in the thread.

The Mesa (software rasterizer) OPENGL32.DLL almost works with Doom 3 BFG and RBDoom 3 BFG, but fails with the error:

[   ERROR: GL_ARB_texture_compression or GL_EXT_texture_compression_s3tc not available   ]

I just now discovered why this is so.

Mesa is an open-source OpenGL implementation and (by default) DOES NOT INCLUDE S3TC decompression due to patents on the S3TC algorithm held by S3 (or whatever the company is called now).

It's not Doom 3 BFG's fault.

It's not RBDoom 3 BFG's fault.

The problem is with the omission of S3TC support in the Mesa OPENGL32.DLL.

My work here is done - now we can all get some sleep...