Hi,
I have a problem with some games when using dgvoodoo.
It looks like to be window screen mode related.
For example with a few games :
- when my screen "1" is not activated : the game doesn't work (never)
- when I am in clone display mode with my screen "1" set as "source" : the game works.
- when I am in clone display mode with my screen "1" not set as "source" : the game doesn't works.
- when I am in multi screen mode with my screen "1" not set as "main" : the game doesn't works neither
(without dgvoodoo the game works in any case)
It would be nice to resolve this issue 😀
Plz try the dbg version of dgVoodoo and see the output log for the dumped errors (or attach it here).
Probably the full screen output in dgv config (which defines the available D3D devices) is invalid because it's set to an non-existing one.
Plz try the dbg version of dgVoodoo and see the output log for the dumped errors (or attach it here).
Probably the full screen output in dgv config (which defines the available D3D devices) is invalid because it's set to an non-existing one.
yep : here the log when it fails (screen 1 disabled or not set as main or not set as clone source):
1[dgVoodoo] INFO: INI file based version of config file is successfully read. 2[dgVoodoo] INFO: Direct3D9 (11035AD0) is created. Number of display outputs (on which devices can be created): 1 3[dgVoodoo] INFO: Direct3D9 (11035AD0) Device 0: Name: "NVIDIA GeForce RTX 2060 SUPER", Description: "\\.\DISPLAY3", Monitor rect: (0, 0, 1920, 1080), system primary monitor 4[dgVoodoo] INFO: Direct3D9 (11035AD0) Virtual video card is 'dgVoodoo Virtual 3D Accelerated' with 1024MB onboard memory. 5[dgVoodoo] ERROR: Direct3D9 (11035AD0): Validation of D3D9 swapchain presentation parameters failed. Reason: display mode "1280x768, 59Hz" is required but there is no mode with this or lower refreshrate is supported by output device: 0, DeviceType : D3DDEVTYPE_HAL 6[dgVoodoo] ERROR: Direct3DDevice9 (18215578)::Init: Cannot create device implicit swapchain. 7[dgVoodoo] ERROR: Direct3D9 (11035AD0)::CreateDevice: Initializing Direct3DDevice9 (18215578) failed. 8[dgVoodoo] ERROR: Direct3D9 (11035AD0): Validation of D3D9 swapchain presentation parameters failed. Reason: display mode "1280x720, 59Hz" is required but there is no mode with this or lower refreshrate is supported by output device: 0, DeviceType : D3DDEVTYPE_HAL 9[dgVoodoo] ERROR: Direct3DDevice9 (18326AD0)::Init: Cannot create device implicit swapchain. 10[dgVoodoo] ERROR: Direct3D9 (11035AD0)::CreateDevice: Initializing Direct3DDevice9 (18326AD0) failed. 11[dgVoodoo] ERROR: Direct3D9 (11035AD0): Validation of D3D9 swapchain presentation parameters failed. Reason: display mode "640x480, 59Hz" is required but there is no mode with this or lower refreshrate is supported by output device: 0, DeviceType : D3DDEVTYPE_HAL 12[dgVoodoo] ERROR: Direct3DDevice9 (18215578)::Init: Cannot create device implicit swapchain. 13[dgVoodoo] ERROR: Direct3D9 (11035AD0)::CreateDevice: Initializing Direct3DDevice9 (18215578) failed. 14[dgVoodoo] WARNING: Leaked D3D9 objects detected at unloading D3D9 (probably process exit)! 15<process started at 10:46:53.967 has terminated with exit code 0>
And here for info when it works (screen 1 enabled and set as main or set as clone source) :
1[dgVoodoo] INFO: INI file based version of config file is successfully read. 2[dgVoodoo] INFO: Direct3D9 (10E51CF8) is created. Number of display outputs (on which devices can be created): 1 3[dgVoodoo] INFO: Direct3D9 (10E51CF8) Device 0: Name: "NVIDIA GeForce RTX 2060 SUPER", Description: "\\.\DISPLAY1", Monitor rect: (0, 0, 1920, 1080), system primary monitor 4[dgVoodoo] INFO: Direct3D9 (10E51CF8) Virtual video card is 'dgVoodoo Virtual 3D Accelerated' with 1024MB onboard memory. 5[dgVoodoo] INFO: Direct3DSwapchain9 (19543FF0): Backbuffer (0) Direct3DSurface9 (17c8a130, IDirect3DSurface9 = 17c8a25c) is created. 6[dgVoodoo] INFO: Direct3DSwapchain9 (19543FF0): Backbuffer (1) Direct3DSurface9 (17a5b2b0, IDirect3DSurface9 = 17a5b3dc) is created. 7[dgVoodoo] INFO: Direct3DSwapchain9 (19543FF0): Depthstencil buffer Direct3DSurface9 (17a90bd8, IDirect3DSurface9 = 17a90d04) is created. 8[dgVoodoo] INFO: DDRenderWindow (17B0D170): Rendering window (80632) and the application is activated. 9[dgVoodoo] INFO: DDRenderWindow (17B0D170): Rendering window (80632) is activated. 10[dgVoodoo] INFO: Direct3DDevice9 (19530010)::Init: Implicit swapchain (19543FF0) is created. Its display mode is 1280x768, 32 bit, 60 Hz, fullscreen mode, but app rendering resolution is forced to 1920x1080 11[dgVoodoo] INFO: Direct3DDevice9 (19530010)::Init: Requested output API type is "Best Available", DDI type is D3D11 (FL 11.0), hardware accelerated 12[dgVoodoo] INFO: Direct3DDevice9 (19530010)::Init: Device is successfully initialized on output device index: 0. Maximum video memory: 1048576 kBs, currently available video memory: 1043456 kBs 13[dgVoodoo] INFO: Direct3D9 (10E51CF8)::CreateDevice: Direct3DDevice9 (19530010) is created on output device 0, device type: D3DDEVTYPE_HAL. 14[dgVoodoo] INFO: Direct3DDevice9 (19530010)::CreateTexture: Direct3DTexture9 (17C59F10, IDirect3DTexture9 = 17C59F70) is created. 15[dgVoodoo] INFO: Direct3DDevice9 (19530010)::CreateTexture: Direct3DTexture9 (17C5AC78, IDirect3DTexture9 = 17C5ACD8) is created. 16[dgVoodoo] INFO: Direct3DDevice9 (19530010)::CreateVertexDeclaration: Direct3DVertexDeclaration9 (194E4510, IDirect3DVertexDeclaration9 = 194E4510) is created.
So according to these logs when using dgVoodoo, the device used is Device 0, system primary monitor (normal) but it fails when calling the supported resolutions when its description is not "\\.\DISPLAY1"
hope there is something to do to get it working 😀
Thanks
When my screen 1 is not main nor clone source Nvidia lies about my monitor frequency: it should be 1920x1080@60 (that's the resolution set in nvidia control panel) but in fact it's 1920x1080@59
For some reason with this game and dgvoodoo it search the supported resolutions with the very same refresh rate but I don't have any supported resolution @59Hz and so it fails.
When my screen 1 is activated and set as main or clone source my screen resolution is really 1920x1080@60 and so it works because I can display all the requested resolutions of this game at 60Hz 😀
BTW: without dgvoodoo it works so probably dgvoodoo is a little hard with the 59Hz-60Hz switch 😉
Edit: Ok I can fix the issue with :
-General\EnumerateRefreshRates = true
-DirectX\Resolution = desktop, refrate:60
(both are needed)
The general problem with those 59Hz / 60Hz cases is that the real frequency is somewhere between 59 and 60.
D3D11+ can report the exact value for a given adapter while legacy D3D9 can't, it converts it into an integer.
The same frequency for the same adapter display mode might be reported differently through D3D9 and DXGI (D3D11+). So, say, it's 60 Hz through D3D9 and 59 through DXGI.
That's why I did some changes in searching for matching refresh rates, for more see: http://dege.fw.hu/dgVoodoo2/ReadmeDirectX/#ap … tionresolutions