Software Support > GroovyMAME

CRT Emudriver vulkan and interlaced resolution

<< < (4/4)

psakhis:
I tested standalone flycast with vulkan too, fine with 640x480@60 now (but redream it's better anyway!!)

I supose some winapi32 call changes something, but i don't know what and surprise me because is persistent after a reboot. Can you try to execute autohotkey script? I don't know if it's compatible with W10...

NumPut(60, DM, 120, "UInt") --> this line forces to 60hz freq and i think this fix the problem...

Dalba:
I tried your script without your success. Until someone is able to explain a way to remove all @30i resolutions, i will continue using workarounds to avoid this problem...

psakhis:
Before i tried with this script...

I think the issue it's related with display/adapters configuration in windows...i manage 2 options: monitors and adapters connected in the past or emucrt drivers not saves some entry with @60 by default.

#SingleInstance force
SetWorkingDir %A_ScriptDir%
Sleep, 5000
ChangeResolution( (bpp:=32), (breite:=640), (hoehe:=480), (hZ:=60) )     
ChangeDisplayFrequency(60)
Exitapp

ChangeResolution( cD, sW, sH, rR )
{
   VarSetCapacity(dM,156,0), NumPut(156,2,&dM,36)
   DllCall( "EnumDisplaySettingsA", UInt,0, UInt,-1, UInt,&dM ),
   NumPut(0x5c0000,dM,40) NumPut(cD,dM,104), NumPut(sW,dM,108), NumPut(sH,dM,112), NumPut(rR,dM,120)
   Return DllCall( "ChangeDisplaySettingsA", UInt,&dM, UInt,0 )
   }
   
ChangeDisplayFrequency(Frequency) {
   VarSetCapacity(DEVMODE, 156, 0)
   NumPut(156, DEVMODE, 36, "UShort")
   DllCall("EnumDisplaySettingsA", "Ptr", 0, "UInt", -1, "Ptr", &DEVMODE)
   NumPut(0x400000, DEVMODE, 40)
   NumPut(Frequency, DEVMODE, 120, "UInt")
   Return DllCall("ChangeDisplaySettingsA", "Ptr", &DEVMODE, "UInt", 0)
}   

spacorn:
Hey, I know it's an old topic, but I just found this thread googling for a solution to the same issue, and wanted to share my experience in case someone else ends up here doing the same:

I've had this experience using varios versions of crt_emudriver on various brands of consumer TV (Sony Trinitron, Samsung), all of which are capable of 480i but not 480p
I've also experienced this both in Windows 7 and Windows 10

I had the same issue of RetroArch always picking progressive when going fullscreen at 640x480 when using vulkan, rendering the image on the TV unviewable.
This happened everytime I went fullscreen at a 640x480 resolution. Even when I chose this resolution from the menu, before loading any core (so, it was not an issue exclusive to the Flycast core)
However, I didn't have this issue with other video drivers. I switched to d3d11 (on Windows 10), and 640x480 would be set to interlaced every time.

Since I still wanted vulkan for certain core enhancements, and RetroArch doesn't seem to switch video drivers and different screen resolutions by core overrides (at least not while CRT SwitchRes is active), I was willing to settle on having entirely different RetroArch configuration files depending on which system/core I would play, managed by an external launcher.

However, after playing around with the d3d11 driver at 640x480i several times, I tried going back to vulkan and it would now also pick 640x480i!
So, while not a "stable" solution (like outright removing 640x480p from the internal list of available modes), it does seem like the video mode vulkan picks for any given resolution size is affected by which one was the last one used, or maybe the last one working.

If even d3d11 isn't picking 640x480i correctly, these are two things I've often see mentioned as possible fixes:
- In Services, disabling the "AMD External Events Utility" service completely.
- In Display Options, activating the "Hide unavailable video modes" option (Display Options -> Advanced display settings > Display adapter properties for [Display])

Navigation

[0] Message Index

[*] Previous page

Go to full version