The Problem with Dx12 Games like CoD & the OBS.
Cod Modern Warfare Warzone forces the usage of DirectX 12 when the VGA you will play the game supports DX12 and even you add the -d3d11 argument in the
battle.net, launcher will download shaders for dx12 and not for
dx11 and you will have black screen on OBS instead of the game.
The easy solution to capture the Game without any modification of COD Warzone files (risky and high recommended to avoid any modification of game files since it is a bannable reason) is to use the Display Capture of OBS like i do in the video below.
Also, if you are lucky like myself and you have more than one Screens and VGAs
connected to your computer you will find soon that the management of
games is difficult and the record or stream of them real pain because
the available software on windows 10 doesn't support the management of 2
Dedicated VGA* ( there is only one solution available for hybrid
laptops [ power save VGA + dedicated VGA] ) and many tools of the past inside drivers are still...missing.
For example most of the
games start on the main display of windows and not on the 1st attached
on bios, but i found an easy trick to force OBS to use the screen i
want to launch the game and not the main of windows.
How to force OBS uses any display as display capture and record/stream:
(COD Warzone Example).
a) Right click anywhere on the desktop > display settings > and chose
the screen you want to launch the game ( scroll down ) and tick the box
[ make this my main display]. don't close this window yet because the
icons of your desktop will be messed but they will be restored right
back when you finish.
b) Now, launch OBS and setup the scene for the COD Warzone and press the
+ under the Sources and choose Display Capture ( NOT game or window
capture ).
c) after that, return to display settings window ( the window you have
left open from (a) ) and choose the screen you always have as main
display and your icons will return exactly where they were.
That's it ! Have nice Records and Streams DirectX 12 Games with OBS and with any VGA.
Also, if you do this once, OBS remembers your choice and even you change the main screen. so, better name this scene with the screen's name and keep it for future usages.
* Since Windows 10 Insider Preview Build 20190 (Aug 2020) to Windows
Insiders in the Dev Channel Microsoft finally implemented a new Improved
Graphics Settings experience as they named it and we can assign a primary a
different VGA than the default to apps and ofc the games but unfortunately for this solution it supports only the new games. Older games that i had like battlefield 3,4 couldn't launched from my chosen VGA via this tool!