Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: LCD Range / HW Refresh Failing  (Read 872 times)

0 Members and 1 Guest are viewing this topic.

DJO_Maverick

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 58
  • Last login:October 04, 2023, 07:39:02 pm
  • Chrono Crosser
LCD Range / HW Refresh Failing
« on: September 02, 2023, 10:24:52 pm »
Good evening-

So I got a new screen and it is causing some oddities.  Same box was previously using a different panel, and LCD Range / HW Refresh were working exactly as intended.  I got a LG Dualup monitor and have it rotated to approximate a big 4:3, so Windows is running rotated. 

As far as I know, I'm using the same INI config and everything else is the same, but it absolutely refuses to create new modelines now upon game launch.  I tried putting the screen to its native orientation as well to see if that was somehow affecting switchres, but no luck.  The panel can verifiably sync at least as low as 54hz tested in OSD...  and if I create custom resolutions by brute force with Radeon software, Groovy will still elect from those...  but can't figure out why HW Refresh is no longer working and dynamically generating.  Representative Rtype log attached.

Since getting this screen, Groovy also hangs on the command line upon exit.  Not sure whether that is related.  May also have to do with the old card running it at the moment...  but it has a more modern successor coming sometime this week to drive this screen.

(And no, notwithstanding its other cool features, the display doesn't support any formal VRR)

Thanks-

DJO_Maverick

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 58
  • Last login:October 04, 2023, 07:39:02 pm
  • Chrono Crosser
Re: LCD Range / HW Refresh Failing
« Reply #1 on: September 06, 2023, 06:01:20 pm »
Still struggling with this.  Still looks like it ought to be working.

Also seems like the log is indicating that it is trying to set a resolution based on the resolution before the monitor is rotated in Windows (2560x2880, instead of 2880x2560).  It seems to be limiting itself to a width of 2560 even when it's something that can be cleanly integer scaled to the whole rotated panel width (320x9=2880).  Is the proper fix for that just setting super_width to 2880?

EDIT - Disregard the res rotating part, I figured out what was going on there.  So, back to just the HW Refresh and hang-on-exit issues from the prior log.
« Last Edit: September 06, 2023, 08:43:23 pm by DJO_Maverick »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7418
  • Last login:May 02, 2024, 04:59:06 am
  • Quote me with care
Re: LCD Range / HW Refresh Failing
« Reply #2 on: September 07, 2023, 05:46:12 am »
The problem is that mode has a higher pixel clock than allowed by the old api. I patched CRT Emudriver to overcome this issue but you're using stock drivers (since your card isn't supported anyway, I'm seeing).

By looking at their docs, AMD has updated their api to allow higher values. This will require an update to Switchres code to handle the newer api.

Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

DJO_Maverick

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 58
  • Last login:October 04, 2023, 07:39:02 pm
  • Chrono Crosser
Re: LCD Range / HW Refresh Failing
« Reply #3 on: September 08, 2023, 12:29:58 am »
The problem is that mode has a higher pixel clock than allowed by the old api. I patched CRT Emudriver to overcome this issue but you're using stock drivers (since your card isn't supported anyway, I'm seeing).

By looking at their docs, AMD has updated their api to allow higher values. This will require an update to Switchres code to handle the newer api.

Thanks for the response.  So what's the least-bad option until such an update?  Just make a lot of manual custom resolutions and turn off modeline generation?

DJO_Maverick

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 58
  • Last login:October 04, 2023, 07:39:02 pm
  • Chrono Crosser
Re: LCD Range / HW Refresh Failing
« Reply #4 on: September 09, 2023, 07:47:28 pm »
Well, that idea certainly didn't work.  Trying to figure out what set of options would prevent it from trying to generate modes for the too-high pixel clock but still select the closest custom pre-generated resolution available, thus preventing mame from hanging on closing...  at least until a switchres update.

Oddly enough, now that I got the new card in that can handle that display (RX 6400 low profile), with its driver in, the behavior changed again a bit, even though the mame ini didn't.  Now it loads the lowest custom refresh available, no matter what the actual refresh of the game is (ie, if there's a 41hz mode for Star Wars...  groovy switches into that 41hz mode for everything).  Will tack on an additional log in a bit.