# Black screen in quake 3 when using multi sampling and AMD graphics card

**URL:** <https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893>\
**Category:** support\
**Created:** [November 9, 2023, 8:56pm UTC](https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893 "2023-11-09T20:56:05Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![KoSoTr](https://avatars.discourse-cdn.com/v4/letter/k/7cd45c/32.png) [@KoSoTr](https://discourse.ioquake.org/u/KoSoTr)\
**Post date:** [November 9, 2023, 8:56pm UTC](https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893/1 "2023-11-09T20:56:05Z")

</div>

Hi,  
I’m trying to run Quake 3 on my Windows 10 setup with a AMD Radeon 6700XT.  
But as soon as I enable AA in the cfg using _r\_ext\_framebuffer\_multisample “4”_ I get a black screen when running ioquake3.x86\_64.exe.  
I hear the sounds of intro video and menu but not even the intro video is shown.  
Setting it back to r\_ext\_framebuffer\_multisample “0” and the game works fine.

Anyone aware if this an AMD graphics card specific issue with the opengl2 renderer?  
Any other way to enable AA or set something in driver options?

FYI  
I found similar issue mentioned here incl. a fix:

> <https://stackoverflow.com/questions/67705274/multisampled-framebuffer-only-visible-with-nvidia-cards-not-amd-or-intel-hd-gra>

---

<div class="post-metadata">

**Author:** ![zturtleman](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.ioquake.org/zturtleman/32/718_2.png) [@zturtleman](https://discourse.ioquake.org/u/zturtleman)\
**Post date:** [November 14, 2023, 7:03am UTC](https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893/2 "2023-11-14T07:03:45Z")

</div>

The solution from the stackoverflow link was not exceeding the max supported MSAA samples, i.e. set r\_ext\_framebuffer\_multisample to a lower value. Though that’s probably not the issue here (4x MSAA should be supported).

Open the in-game console using shift+escape and use ctrl+v to paste `r_ext_framebuffer_multisample 4; vid_restart` and press enter, and then while the screen is black open the console again and paste `condump log.txt` and press enter. This may provide an idea of what the issue is. (The file will be saved to %APPDATA%\Quake 3\baseq3\log.txt.)

---

<div class="post-metadata">

**Author:** ![KoSoTr](https://avatars.discourse-cdn.com/v4/letter/k/7cd45c/32.png) [@KoSoTr](https://discourse.ioquake.org/u/KoSoTr)\
**Post date:** [November 14, 2023, 7:30am UTC](https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893/3 "2023-11-14T07:30:44Z")

</div>

Thx for providing those steps.

I attached a snippet of the dump:

_]/r\_ext\_framebuffer\_multisample 4_  
_r\_ext\_framebuffer\_multisample will be changed upon restarting._  
_]/vid\_restart_  
_RE\_Shutdown( 1 )_  
_------- FBO\_Shutdown -------_  
_------- R\_ShutdownVaos -------_  
_------- GLSL\_ShutdownGPUShaders -------_  
_----- Initializing Renderer ----_  
_Trying to load “renderer\_opengl2\_x86\_64.dll” from "E:\Spiele\Quake_  
_III\launcher"…_  
_-------------------------------_  
_----- R\_Init -----_  
_SDL using driver “windows”_  
_Initializing OpenGL display_  
_Display aspect: 1.778_  
_…setting mode -1: 2560 1440_  
_Trying to get an OpenGL 3.2 core context_  
_SDL\_GL\_CreateContext succeeded._  
_Using 24 color bits, 24 depth, 8 stencil display._  
_Available modes: '1280x720 1600x900 1760x990 1920x1080 2560x1440 3072x1728_  
_3200x1800 3840x2160 5120x2880 5760x3240 7680x4320 1128x634 1366x768 1440x900_  
_1680x1050 1920x1200 2048x1280 720x480 640x480 800x600 1024x768 1600x1200_  
_1280x1024’_  
_GL\_RENDERER: AMD Radeon RX 6700 XT_  
_Initializing OpenGL extensions_  
_…ignoring GL\_EXT\_texture\_compression\_s3tc_  
_…ignoring GL\_S3\_s3tc_  
_…using GL\_EXT\_texture\_filter\_anisotropic (max: 16)_  
_…using GL\_SGIS\_texture\_edge\_clamp_  
_…using GL\_ARB\_framebuffer\_object_  
_…using GL\_ARB\_vertex\_array\_object_  
_…using GL\_ARB\_texture\_float_  
_…using GL\_ARB\_depth\_clamp_  
_…ignoring GL\_ARB\_seamless\_cube\_map_  
_…using GLSL version 4.60_  
_…GL\_NVX\_gpu\_memory\_info not found_  
_…using GL\_ATI\_meminfo_  
_…ignoring GL\_ARB\_texture\_compression\_rgtc_  
_…ignoring GL\_ARB\_texture\_compression\_bptc_  
_…using GL\_EXT\_direct\_state\_access_  
_------- FBO\_Init -------_  
_R\_CheckFBO: (\_render) Framebuffer incomplete, missing attachment_  
_------- GLSL\_InitGPUShaders -------_  
_loaded 156 GLSL shaders (48 gen 84 light 24 etc) in 0.34 seconds_  
_------- R\_InitVaos -------_  
_Initializing Shaders_

---

<div class="post-metadata">

**Author:** ![zturtleman](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.ioquake.org/zturtleman/32/718_2.png) [@zturtleman](https://discourse.ioquake.org/u/zturtleman)\
**Post date:** [November 16, 2023, 12:15am UTC](https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893/4 "2023-11-16T00:15:50Z")

</div>

> [@KoSoTr](#):
>
> _Trying to get an OpenGL 3.2 core context_  
> _SDL\_GL\_CreateContext succeeded._  
> …  
> _…using GL\_EXT\_direct\_state\_access_  
> _------- FBO\_Init -------_  
> _R\_CheckFBO: (\_render) Framebuffer incomplete, missing attachment_

I modified the opengl2 renderer to try to log more debug information about the failed framebuffer attachment. You can move the existing renderer\_opengl2 dll somewhere and then add the one from **here** [temporary download link removed] (it includes both 32- and 64-bit dll and source code patch of what I changed). After adding the new dll, you can repeat the steps from my previous post to get log.txt.

After running condump log.txt, while the screen is still black, paste `r_test 1; vid_restart` and press enter. This is a guess to try to fix it. If it’s still black, you could open the console and dump it to a separate log `condump log2.txt`.

---

<div class="post-metadata">

**Author:** ![KoSoTr](https://avatars.discourse-cdn.com/v4/letter/k/7cd45c/32.png) [@KoSoTr](https://discourse.ioquake.org/u/KoSoTr)\
**Post date:** [November 16, 2023, 12:29pm UTC](https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893/5 "2023-11-16T12:29:18Z")

</div>

Thx @zturtleman for all your help!

I followed your steps. Using the new dll still showed black screen with multisample.  
But pasting _r\_test 1_ and then _vid\_restart_ I finally got a rendered image incl. multisample AA 🙂

So I only paste content from first log just BEFORE I pasted _r\_test 1_.  
The log is flooded with messages like  
_GL DEBUG: type: ERROR (0x824c), severity: HIGH (0x9146), message:_  
_glDrawElements has generated an error (GL\_INVALID\_FRAMEBUFFER\_OPERATION)_

one of  
_GL DEBUG: type: ERROR (0x824c), severity: HIGH (0x9146), message: glClear has_  
_generated an error (GL\_INVALID\_FRAMEBUFFER\_OPERATION)_

and a few of  
_GL DEBUG: type: ERROR (0x824c), severity: HIGH (0x9146), message:_  
_glBlitFramebuffer has generated an error (GL\_INVALID\_FRAMEBUFFER\_OPERATION)_

---

<div class="post-metadata">

**Author:** ![zturtleman](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.ioquake.org/zturtleman/32/718_2.png) [@zturtleman](https://discourse.ioquake.org/u/zturtleman)\
**Post date:** [November 16, 2023, 8:06pm UTC](https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893/6 "2023-11-16T20:06:36Z")

</div>

I removed the debug messages and one part of the fix that I don’t think is needed. Can you test if **this renderer\_opengl2 dll** [temporary download link removed] works before I commit the change? (no log or r\_test needed)

---

<div class="post-metadata">

**Author:** ![KoSoTr](https://avatars.discourse-cdn.com/v4/letter/k/7cd45c/32.png) [@KoSoTr](https://discourse.ioquake.org/u/KoSoTr)\
**Post date:** [November 20, 2023, 9:18am UTC](https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893/7 "2023-11-20T09:18:40Z")

</div>

Sorry for the delay.  
The provided dll works properly.

Thx a lot!

---

<div class="post-metadata">

**Author:** ![zturtleman](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.ioquake.org/zturtleman/32/718_2.png) [@zturtleman](https://discourse.ioquake.org/u/zturtleman)\
**Post date:** [November 20, 2023, 11:36pm UTC](https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893/8 "2023-11-20T23:36:49Z")

</div>

Thanks for testing. This is now fixed in [OpenGL2: Fix FB-MSAA on AMD Windows driver · ioquake/ioq3@03bc4eb · GitHub](https://github.com/ioquake/ioq3/commit/03bc4eb810f1531704d44c2d918a6031b1d73ba2).

---

<div class="post-metadata">

**Author:** ![zturtleman](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.ioquake.org/zturtleman/32/718_2.png) [@zturtleman](https://discourse.ioquake.org/u/zturtleman)\
**Post date:** [December 8, 2023, 3:36am UTC](https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893/9 "2023-12-08T03:36:13Z")

</div>

Also, `r_ext_direct_state_access 0` should avoid this specific issue in older versions or other ioq3 based games.

---

<div class="post-metadata">

**Author:** ![ielan](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.ioquake.org/ielan/32/776_2.png) [@ielan](https://discourse.ioquake.org/u/ielan)\
**Post date:** [October 31, 2024, 6:40am UTC](https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893/10 "2024-10-31T06:40:21Z")

</div>

I came here to say that I have the exact same issue with the current build of ioquake3 and my 7900XTX. I had to blindly go into the console and paste “r\_ext\_direct\_state\_access 0” for my display to work. Is this fix live with the current build?

---

<div class="post-metadata">

**Author:** ![MrNuclearMonster](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.ioquake.org/mrnuclearmonster/32/820_2.png) [@MrNuclearMonster](https://discourse.ioquake.org/u/MrNuclearMonster)\
**Post date:** [October 31, 2024, 7:00pm UTC](https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893/11 "2024-10-31T19:00:46Z")

</div>

We‘ll update the website build when we can to have the latest fixes.

---

<div class="post-metadata">

**Author:** ![KoSoTr](https://avatars.discourse-cdn.com/v4/letter/k/7cd45c/32.png) [@KoSoTr](https://discourse.ioquake.org/u/KoSoTr)\
**Post date:** [November 23, 2024, 10:21pm UTC](https://discourse.ioquake.org/t/black-screen-in-quake-3-when-using-multi-sampling-and-amd-graphics-card/1893/12 "2024-11-23T22:21:25Z")

</div>

Was the windows build on the website download page updated in the meantime?  
I guess not, just checked the zip file again. The exe & dll files in the zip archive still date back to 3rd of April 2021…is this intended? 🙂

Not only an updated build would be nice but also a short info on the website when a build was uploaded, an actual version number or a post in the news section 🙂  
Just some kind of info what I can expect before pressing the download button again hoping there is a new build.

Thx in advance,  
much appreciated!
