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: Groovymame 0.261 - Switchres 2.002zz  (Read 107457 times)

0 Members and 1 Guest are viewing this topic.

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 791
  • Last login:October 03, 2023, 02:27:31 pm
  • Multiple Electronic Machine Emulator
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #80 on: March 12, 2021, 02:04:48 pm »
Alright thanks for the additional details.
Guess ppl who are on intel/nvidia gpus with fixed sync & modes better stick to Legacy 0.227 until you take a decision on the matter then.

automatic lcd preset > haven't had time to experience that yet, because both my old desktop pc, and the new (WIP), are still not ready.
But I'll let you know what I think about it later, if that works fine or if I meet issues, whatever.

PS: when will you talk about that mysterious 'emusync' thing you guys seem to be working on for the future ?

EDIT: damn, really it's too bad that the branded Groovy triplebuffer's missing now, I felt it today as I'm still without a full/flexible/AMD setup for a while. So I had no choice but to go back to Legacy 0.227
As an nVidia & Intel user w/ a normal flat panel you're really left behind the moment you play these way off-60Hz games, Groovy feels incomplete without it.
I really hope you'll think it over or have an alternative to it some day, and not leave it at that which would be a shame. Im being redundant but heh, it's important.
« Last Edit: March 14, 2021, 09:54:20 am by schmerzkaufen »

tom5151

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 110
  • Last login:September 16, 2023, 09:21:11 am
  • I want to build my own arcade controls!
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #81 on: March 20, 2021, 03:16:35 pm »
Thanks @Calamity  :applaud:
@b4nd1t0 Do you plan to build a nonag version as usual ?

MrMikeZH

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 48
  • Last login:March 21, 2021, 04:41:43 pm
Re: Groovymame 0.228 - Switchres 2.001b
« Reply #82 on: March 21, 2021, 04:15:09 pm »
Now thats so great you implemented this finally  :applaud: :notworthy:

The 1pix granularity was possible back to the radeon 7000 for sure. Before groovy there was cabmame, that was around 2008 or even earlier. Sailorsat is the woman who made cabmame and she did also a modeline editig tool which i can distribute for nostalgia reason, had used it back then in 2008.

Now there is only the info missing on how to set the refresh rate to 30 or 60hz aka 1 or 2 fields per frame.

Hi Pakoman,

This is a good one, how comes 8-pixels blocks are not required anymore? (if it is long to explain, just don't bother, I don't want to waste your time here)

My tests back in 2007 with the old radeons showed that 8-pixel blocks were needed. This was probably a legacy feature from old VGA registers. Then some time ago, the user MrMikeZH pointed that pixel granularity worked for him, so I tried here and it seems to work on my current cards too both in Windows and Linux. Probably older cards don't support this feature, that's why -pixel_precision is optional. Setting it to 0 brings old 8-pixel granularity back.

So after all we might have used this much before, I just assumed it wasn't possible.


b4nd1t0

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 150
  • Last login:March 12, 2024, 04:11:22 am
    • b4nd1t0's repository
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #83 on: March 21, 2021, 05:00:20 pm »
Thanks @Calamity  :applaud:
@b4nd1t0 Do you plan to build a nonag version as usual ?
arcade only is available

tom5151

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 110
  • Last login:September 16, 2023, 09:21:11 am
  • I want to build my own arcade controls!
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #84 on: March 22, 2021, 02:38:23 am »
Thanks @Calamity  :applaud:
@b4nd1t0 Do you plan to build a nonag version as usual ?
arcade only is available
Thanks @b4nd1t0 :cheers:
But in your 229 folder there is an archive with in its name "228" and which contains a linux binary.
« Last Edit: March 22, 2021, 03:08:53 am by tom5151 »

b4nd1t0

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 150
  • Last login:March 12, 2024, 04:11:22 am
    • b4nd1t0's repository
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #85 on: March 22, 2021, 04:29:21 am »
Ops! Only a name error when zipping

Sent from the sixth floor


tom5151

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 110
  • Last login:September 16, 2023, 09:21:11 am
  • I want to build my own arcade controls!
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #86 on: March 22, 2021, 01:47:19 pm »
Ops! Only a name error when zipping

Sent from the sixth floor
Thanks.
« Last Edit: March 22, 2021, 01:53:40 pm by tom5151 »

fred92

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19
  • Last login:November 10, 2023, 01:07:28 pm
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #87 on: March 22, 2021, 05:14:42 pm »
hello,

in order to compile my own groovymame,
i wonder why we can't find the groovymame.diff on the new https://github.com/antonioginer/GroovyMAME/releases
previously on https://drive.google.com/drive/folders/0B5iMjDor3P__aEFpcVNkVW5jbEE we could find on each release the .diff files.

thank you very much.
Fred, From France.

b4nd1t0

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 150
  • Last login:March 12, 2024, 04:11:22 am
    • b4nd1t0's repository
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #88 on: March 23, 2021, 05:19:23 am »
the groovy source on github is already patched, you need to apply only the nonag if you want

RobeeJ

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:Today at 05:03:50 am
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #89 on: March 23, 2021, 05:20:09 am »
Hi Fred! I usually just get the full package with source as it saves applying the diff over regular MAME:
https://github.com/antonioginer/GroovyMAME/releases

And then I apply the supression patch from here:
http://mamestuff.lowtrucks.net/MKChamp/

digitalwacker

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 12
  • Last login:March 25, 2021, 05:17:13 pm
  • I want to build my own arcade controls!
Re: Groovymame 0.228 - Switchres 2.001b
« Reply #90 on: March 25, 2021, 04:11:58 pm »
Hoping someone can let me know if I'm EOL with .227?  Trying to use .229 with no luck.  I'm using a 6530D.   Works great up to .227.  I tried updating the driver to 16.2.1, but not recognized.  I wasn't sure if the drivers will be updated at some point for more cards?  Any information is appreciated and thank you for everything!


ATI/AMD ADL init
ERROR: ADL Initialization error!

Hi reeone,

Yes, in fact your card is using ADL. But now GM uses ADL2, and 12.6 is only compatible with ADL(1). This means 12.6 will now just work for legacy (pre-HD5000) cards (non-ADL). HD 5000+ cards will be forced to use 16.2.1. So we'll need to modify 16.2.1 files so it recognizes your card. It should support it already, but for some stupid reason Mobility models have usually been removed from the generic driver package. I only realise when someone with a Mobility card complains.

Well, to be honest I didn't anticipate this incompatibility with 12.6, but at least now people will move forward to 16.2.1 which works definitely better in general.

beernut

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 49
  • Last login:December 10, 2023, 07:13:46 pm
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #91 on: March 31, 2021, 09:58:32 am »
i wonder why we can't find the groovymame.diff on the new https://github.com/antonioginer/GroovyMAME/releases

Fred,
If you want diffs from github you just need to add .diff to the end of the compare url.  Here are the diffs for GM 0.229 as compared to baseline 0.229

Here is the compare page on github:

https://github.com/mamedev/mame/compare/mame0229...antonioginer:groovymame0229

And here it is as a diff:

https://github.com/mamedev/mame/compare/mame0229...antonioginer:groovymame0229.diff


fred92

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19
  • Last login:November 10, 2023, 01:07:28 pm
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #92 on: March 31, 2021, 04:53:39 pm »
thanks  :applaud:

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #93 on: April 01, 2021, 04:13:51 am »
Just a note about v0.230: it will be delayed because at the moment I'm working on modifications to the sync options and settings are all over the place. I've found a way to re-implement "triplebuffer" without multithreading, based on D3D9ex only. There's another change in Linux to remove tearing on amdgpu. I want to have everything working correctly before the release.
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

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 791
  • Last login:October 03, 2023, 02:27:31 pm
  • Multiple Electronic Machine Emulator
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #94 on: April 01, 2021, 04:53:26 am »
You're the best. Maybe in a few years from now something like this triplebuffer (actually double? I still wonder) won't be needed at all anymore (thanks to a better software alternative from you guys or whomever, or a broader generalization of VRR hardware+soft)
But in the meantime it's still very useful.

Just yesterday I was fine-adjusting sync_refresh_tolerance to see how fast an acceleration is acceptable in general, and found that over 105% starts being too much, so I set 2.771 so syncrefresh at least covers Sega's classic system18 games @57.23
Beyond that limit which is close to halfway the 6Hz spanning from 60 to 54, there's really a lot of games for which Groovy's 9ex triplebuffer is the preferable solution, better than speed up or tearing.
NMK & UPL games, Raiden II & DX, most of the IREM catalog, Mortal Kombat series and many Williams & Midway games, Xexex, Raiden Fighters series a the bottom, and many more.

It's choppy and gives about 2 frames of delay (still unconfirmed yet this is what it feels like), but that's still better than dealing with 110% speed, or tearing, or the 3 frames of the 'normal' triplebuffer in other MAMEs.

Anyway great news.
« Last Edit: April 01, 2021, 04:55:13 am by schmerzkaufen »

Torkyo

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 34
  • Last login:November 29, 2023, 07:12:04 pm
  • I want to build my own arcade controls!
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #95 on: April 01, 2021, 09:00:30 am »
Hi Calamity.

I was wondering if there are any chance to see reintroduced in v0.230 the “feature” “- filter” you were talking about  past month.
if that wouldn’t be possible, do you know is there is any work around I could adopt to fix the issue, apart To stay stick to the old SR?
Thanks again

beernut

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 49
  • Last login:December 10, 2023, 07:13:46 pm
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #96 on: April 01, 2021, 10:15:37 am »
For those impatient farts like me, the 0.229 github diffs from above patch farily nicely into baseline mame 0.230.  There were three hunks that needed to be done manually but they were trivially obvious how to do.

If you do patch manually most certainly do not bug Calamity for any bug fixes or tech support until he releases his official 0.230.

Sledge

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 495
  • Last login:September 25, 2022, 05:22:55 am
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #97 on: April 04, 2021, 05:02:42 am »
Do we still use Recap's guide to install emudrivers/GM on Windows 10 ?
Or is it still best to stick with Windows 7?

Edit: to answer my own question.. yes the guide is still correct to use with Win 10 :)
« Last Edit: April 08, 2021, 03:28:06 am by Sledge »

Sledge

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 495
  • Last login:September 25, 2022, 05:22:55 am
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #98 on: April 18, 2021, 04:38:11 am »
@Calamity
On a fresh install, for a plain old single arcade screen cabinet with Win 10 etc, what are the recommended settings to change in mame.ini these days, or do we just leave everything as it is?

ie: do we need to set video to d3dex or anything like that currently?

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #99 on: April 18, 2021, 06:15:13 am »
@Calamity
On a fresh install, for a plain old single arcade screen cabinet with Win 10 etc, what are the recommended settings to change in mame.ini these days, or do we just leave everything as it is?

ie: do we need to set video to d3dex or anything like that currently?
Only the rompath actually. And maybe the monitor preset to something not so conservative as generic_15 (e.g. arcade_15). Everything else is fine with the defaults, and frame delay is now set from the ui.

I'd configure the sound to use portaudio though for the lowest audio latency.
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

Sledge

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 495
  • Last login:September 25, 2022, 05:22:55 am
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #100 on: April 18, 2021, 08:42:54 pm »
Only the rompath actually. And maybe the monitor preset to something not so conservative as generic_15 (e.g. arcade_15). Everything else is fine with the defaults, and frame delay is now set from the ui.

I'd configure the sound to use portaudio though for the lowest audio latency.
Cool, just how i had it :) (except for the portaudio)

Thanks!
« Last Edit: June 24, 2021, 03:09:35 am by Sledge »

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 791
  • Last login:October 03, 2023, 02:27:31 pm
  • Multiple Electronic Machine Emulator
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #101 on: April 21, 2021, 06:27:33 am »
Yo I bet this stuff's tough so I guess you're schedule skipping 0.230 since 0.131 iis only like a week away?

(I think I'm gonna grab a fresh full set with the next Groovy since mine's really too old now, might as well match versions)



Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #102 on: April 23, 2021, 01:09:27 pm »
Yo I bet this stuff's tough so I guess you're schedule skipping 0.230 since 0.131 iis only like a week away?

(I think I'm gonna grab a fresh full set with the next Groovy since mine's really too old now, might as well match versions)

Yes, I'm probably skipping 230, I still need to settle things down. But things are going fine.
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

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 791
  • Last login:October 03, 2023, 02:27:31 pm
  • Multiple Electronic Machine Emulator
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #103 on: April 23, 2021, 03:16:49 pm »
 :cheers:

eewoke

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 41
  • Last login:April 14, 2023, 05:18:23 pm
  • I want to build my own arcade controls!
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #104 on: April 28, 2021, 01:41:10 pm »
Hi Calamity,

Thanks for this new version. I did a fresh install on my arcade cabinet with Polostar 28” and ati 5450 Arcadevga 5000 version. Mame.ini is adapted to other paths,  usage of portaudio (delay 2.00 😀) and switchres_backend ati and monitor pstar. The vertical games on the horizontal monitor are running great (although not always aligned in the middle of the screen), but on some resolutions (horizontal and vertical games) I experience tearing. I tried some other settings, but I did not succeed getting rid of the tearing. Maybe you have a suggestion or I just have to be patient and wait for the next optimized version.

Thanks again for Groovymame....using it for many years!

Nevermind Calamity..... sync_refresh_tolerance 3.0 did the trick. How can I determine the right number? 2.0 has tearing, but anything above not. Take for instance R-Type.....with 3.0 no tearing anymore. Thanks!
« Last Edit: April 30, 2021, 03:32:39 am by eewoke »

lolomre

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 9
  • Last login:June 03, 2022, 07:05:50 am
  • I want to build my own arcade controls!
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #105 on: May 16, 2021, 01:06:37 pm »
Upload The new groovymame 0.231 calamity, PLEASE. Thanks you

sean_skroht

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:December 26, 2023, 05:56:29 am
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #106 on: May 17, 2021, 01:51:02 am »
Upload The new groovymame 0.231 calamity, PLEASE. Thanks you

I think it would be best being patient, and giving Calamity an opportunity to take his time to get things done properly.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #107 on: May 17, 2021, 04:07:41 am »
Hi, this is just a ping to say I'm still alive and will update GM hopefully soon. I have absolutely no spare time at the moment, and also helping on different fronts at the moment.
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

psakhis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 451
  • Last login:March 26, 2024, 12:18:54 pm
  • I want to build my own arcade controls!
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #108 on: May 17, 2021, 01:09:35 pm »
Upload The new groovymame 0.231 calamity, PLEASE. Thanks you
It's preferible wait for version 0.232, this version remains some sound problems.

hhtien1408

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:June 15, 2021, 08:27:18 am
  • I want to build my own arcade controls!
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #109 on: May 26, 2021, 10:31:06 pm »
@ Calamity Could you compile for Ubuntu Debian your version of  Groovymame 0.229 - Switchres 2.002a "without nag screen" (suppression diff patch)? Thanks a million time.
Hope to hear from you asap. Thanks a lot!
« Last Edit: May 26, 2021, 10:41:11 pm by hhtien1408 »

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9393
  • Last login:Today at 04:47:42 am
  • Designated spam hunter
Re: Groovymame 0.229 - Switchres 2.002a
« Reply #110 on: May 27, 2021, 12:28:21 am »
Could you compile for Ubuntu Debian your version of  Groovymame 0.229 - Switchres 2.002a "without nag screen" (suppression diff patch)?
I think b4nd1t0 might have what you're looking for here:
https://b4nd1t0.blogspot.com/2021/03/mame-0229.html
Quote
Mame64 arcadeonly + groovy switchres 2.002a + nonag - linux


Scott

hhtien1408

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:June 15, 2021, 08:27:18 am
  • I want to build my own arcade controls!
« Last Edit: May 27, 2021, 11:13:41 pm by hhtien1408 »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: Groovymame 0.232 - Switchres 2.002b
« Reply #112 on: June 20, 2021, 07:07:48 am »
GroovyMAME v0.232 is out!

What's new in Switchres 2.002b (June 2021)

- New option -[no]syncaudio: Make audio synchronization (resampling) optional. Default is enabled. Disable to avoid sound wobble with erratic emulation speeds (like that caused by frame delay on some systems).

- New option -[no]autostretch: Make auto stretching feature optional. Default is enabled, so GM will apply the scaling mode (fractional or integer) that best fits the situation.

- New option -[no]autofilter: Make auto filter optional. Default is enabled, so GM will apply bilinear filtering when fractional scaling or an interlaced mode are used.

- New option -[no]interlace_force_even: Calculate all vertical values of interlaced modes as even numbers. Required by AMD APU hardware on Linux

- [Windows] Implement asynchronous rendering through native D3D9ex api (replace for old multithreaded -triplebuffer). This mode is selected automatically by -autosync. You can force it manually with -waitvsync -nosyncrefresh.

- [Linux] New option -sync_mode <0-4>: In combination with -syncrefresh, select the synchronization mode that offers the lowest latency based for the specific video driver. The default value is 2, which gives good results for both amdgpu and radeon on X11 and kms mode. Other modes are provided that could be useful with other hardware/driver combination.

Code: [Select]
sync   algorithm        amdgpu          radeon          radeon/kms      amdgpu/kms
mode
   0  -Swap(1)          perfect(1)      perfect         smooth          smooth
      -glFinish                                         lag 1 frame     lag 1 frame

   1  -Swap(0)          tearing         tearing         perfect         tearing/
      -drmWaitVBlank    perfect w/fd                                    stuttering
      -glFinish

   2  -Swap(1)          perfect(1)      perfect         perfect         perfect(1)
      -drmWaitVBlank
      -glFinish

   3  -drmWaitVBlank    tearing         perfect(2)      tearing         tearing
      -Swap(0)
      -glFinish
               
   4  -drmWaitVBlank    half speed      half speed      smooth          smooth
      -Swap(1)                                          lag 1 frame     lag 1 frame
      -glFinish

- Swap(x), x = Opegl swap interval (0 = immediate, 1 = v-sync)
(1) Low frame delay performance
(2) GM's pre-0.232 implementation
perfect = smooth + subframe latency

Note: amdgpu on X11 has tearing with mode 1, however tearing can be removed with frame delay, and when done, it offers better performance than mode 2.


« Last Edit: June 20, 2021, 10:11:32 am by Calamity »
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

R-Typer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 143
  • Last login:Yesterday at 08:10:27 pm
  • C64 Rulez!!!!
Re: Groovymame 0.232 - Switchres 2.002b
« Reply #113 on: June 20, 2021, 08:26:59 am »
Yaaay!!! Thanks Calamity!!! :D

donluca

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 261
  • Last login:Yesterday at 03:53:36 pm
  • I want to build my own arcade controls!
Re: Groovymame 0.232 - Switchres 2.002b
« Reply #114 on: June 20, 2021, 09:54:31 am »
Amazing development, thanks.

This could finally be the year of Linux™, if I may say so myself.

About that table: what about Intel and nVidia GPUs?
On a scale of fakeness, from more genuine to more fake, we'd have:

1.- Plastic plants (cf. Fake Plastic Trees)
2.- Inflatable dolls
3.- Arcade cabinets with LCD monitors

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: Groovymame 0.232 - Switchres 2.002b
« Reply #115 on: June 20, 2021, 10:16:38 am »
The new release is out!

Amazing development, thanks.

This could finally be the year of Linux™, if I may say so myself.

About that table: what about Intel and nVidia GPUs?

Good question. I haven't tested nVidia nor Intel, but I have some hopes that any of the sync modes may work with them. So I'd appreciate some Linux testing on different hardware. Always keep in mind that many GPUs won't do low pixelclocks so setting -dotclock_min 25.0 is the most universal recommendation.
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

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 791
  • Last login:October 03, 2023, 02:27:31 pm
  • Multiple Electronic Machine Emulator
Re: Groovymame 0.232 - Switchres 2.002b
« Reply #116 on: June 21, 2021, 01:57:22 am »
- New option -[no]syncaudio: Make audio synchronization (resampling) optional. Default is enabled. Disable to avoid sound wobble with erratic emulation speeds (like that caused by frame delay on some systems).
This is really useful.
I wasn't under the impression that I was experiencing that specific problem too often before, but I actually do now, and that option works well.
Are there any drawbacks to having it ON all the time? (combined with w/ Portaudio also)

- New option -[no]autostretch: Make auto stretching feature optional. Default is enabled, so GM will apply the scaling mode (fractional or integer) that best fits the situation.
Convenient! but are you sure you want this ON by default? I can already picture the long line of users complaining their output has strange borders or portions cut.
Integer is great and has its diehards, but I think it's a minority, most users have no idea what it is and wouldn't want it on anyway.

- New option -[no]autofilter: Make auto filter optional. Default is enabled, so GM will apply bilinear filtering when fractional scaling or an interlaced mode are used.
Not sure how this works but is it bypassing 'filter' and 'prescale' when it's on ? (@ OSD ACCELERATED VIDEO OPTIONS)
I always use prescale for a sharper smoothing, but for some reason that didn't seem to work together.
However, turning 'autofilter' OFF fixed it and allowed me for the first time to control 'filter' and 'prescale' for all games directly from the mame.ini without needing specifics like vertical.ini and horizont.ini.
So maybe that wasn't the intent of this new setting, but it fixes an ages-old MAME annoyance!  :applaud:

Note: dunno if it's a good idea to leave it ON by default, although yeah filtered is the MAME's default so that would be understandable.

- [Windows] Implement asynchronous rendering through native D3D9ex api (replace for old multithreaded -triplebuffer). This mode is selected automatically by -autosync. You can force it manually with -waitvsync -nosyncrefresh.
Congratulation for finding a working replacement! it is however visibly less smooth than the old triplebuffer, trading what was tolerable micro-stutter for brutal hiccups.
I don't know if there's a way to make that smoother but as it is for actually playing games like Raiden DX of Xexex at normal speeds on a non-flexible Hz setup I'd still recommend 0.227, sorry I can't sugar-coat it.

PS: Just another recommendation to add, on that topic if you don't want users to see asynchronous too much you should really begin to consider pushing the default sync_refresh_tolerance to 3, so that games get syncrefreshed to 105% max. iirc that covers down to 57Hz games like the Midway seattle.
IF however someone has his desktop set to '59Hz' mode (lots of ppl don't suspect they do) then that'd bring the limit too far down, in which case to avoid 'accidents' a default value like 2.771 is safer, still covering down to Sega system18 even when desktop is really @60.
(I think it's precisely 2.770001 but heh)

Further: still on the topic of non-flexible setups: a 'trick' for users that have a desktop set to proper 60 but want to use 59 to get the (placebo) impression that they're 1Hz closer to the proper speed, is for them to activate 'allow_hw_refresh', which acts as an auto-switch for calling the 59Hz mode, and so with it they can see the F11 speed meter say 100% instead of 101% when playing PGM games, or 103% instead of 104% on Cave hardware games, etc.
Yeah it's mostly useless but for those who like to see that 1% difference, it at the very least cuts the tedium of having to switch manually from graphics control panel or windows. If it's the only other mode they can switch to, they can at least make it auto.

WARNING: you may not want to try that if you are using the current AMD Software, as this will set your default desktop mode to 59.94Hz, and today AMD don't provide direct desktop resolution controls, instead delegating to Windows, which - as you can guess - is actually too dumb to do the job properly...and so your desktop will be stuck @59.94Hz. So far I haven't found a way to bring back 60Hz.
EDIT: fixed! you can use VMMaker to wipe out that mode, read next page where Calamity explains.

Last-but-not-least: 'allow_hw_refresh' with a lcd_range set to 50-75 (tho 53-62 would do just fine) works well with my ViewSonic VX3211-mh and Belinea 2080 S2, using the latest AMD drivers on Vega 56.
Had a bizarre behaviour or two, like Xexex runnning 200% until I activated frame_delay, and apparently it's not able to force 60+ or so modes on the Belinea, but I don't remember if that one actually does support over-60 modes with Emudrivers or not, I'd have to check again with a different setup later. Or maybe it's because modern drivers don't come with native 1600x1200 modes but instead timings adapted from 1920x1200.
« Last Edit: June 22, 2021, 07:09:22 am by schmerzkaufen »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: Groovymame 0.232 - Switchres 2.002b
« Reply #117 on: June 21, 2021, 02:18:22 pm »
@shmerzkaufen, I'm testing raidendx and xexex both on 227 (triplebuffer) and 232, side by side, and I can't see a difference. This is on Adrenaline 18.5.1.
I can confirm that this implementation DOES show worse stutter on cases where the refresh is too close (e.g. 59.63 vs 60.00), but it's not the case with higher refresh differences (e.g. 55 vs 60). So I thought it wouldn't matter because in those cases -syncrefresh would be preferable anyway.

So maybe it depends on the hardware/driver version, I don't know.
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

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 791
  • Last login:October 03, 2023, 02:27:31 pm
  • Multiple Electronic Machine Emulator
Re: Groovymame 0.232 - Switchres 2.002b
« Reply #118 on: June 21, 2021, 03:49:50 pm »
Ah, I'm on 21.5.1, went and double-checked that Radeon settings are as neutral as possible.
Double-checked both 227sr1 and 232 settings too of course.

Well I don't understand what's happening since now the roles have been reversed; 232's asynchronous is much smoother now, and 227sr1 triplebuffer has caught the hiccups.
 :dunno
I will have to look further into this later, and test on different rigs, to see if I can reproduce and find what's disrupting.

EDIT: so something that actually happened and the only hint I have for now, is that since I've tried allow_hw_refresh on the default lcd range then turned it off for testing async, my Radeon default display desktop mode had auto-set itself to 59.94Hz, and been stuck with it since, like hot glue, the desktop couldn't go back to 60 no matter what I've tried, in radeon soft, windows or intel setting.
Somehow I think this is when the 'shift' happened, and the behaviour of asynchronous and triplebuffer were affected.

(Yeah, no direct way to remove that in the current Radeon software version, unlike some time ago when we could select a custom mode as the desktop's default. AMD just like nVidia, or Intel or even Microsoft for what I know, keep doing that same stupid 'magnet 59Hz' mode mistake, like, the same over an over again since as far as I can remember, 20 years ago it was the same crap, only randomly working fine again for short periods in random revisions, then messed up again, and over again, and their bosses should be spanked till their skins peel off for that sin * sigh *)

EDIT: so it is apparently impossible these days to set the Radeon desktop default mode by oneself, back in the good old days there was ATI Tray Tools, which was the most handy little app to tell who's boss.
Is there any equivalent these days? ArcadeOSD won't even see the custom modes I've set in the Radeon software, the commercial SwitchRes is shareware...
Guess i'll have to erase 59Hz with CRU if there's nothing else.

EDIT: not even CRU lets me change it, it's clearly a bug, and a word of warning then, as though it's not Groovy that created it, it definitely triggered when I used allow_hw_refresh.
The official AMD drivers with that control panel software, aren't as convenient and controllable as some older versions, or Emudrivers.
« Last Edit: June 21, 2021, 06:12:05 pm by schmerzkaufen »

Torkyo

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 34
  • Last login:November 29, 2023, 07:12:04 pm
  • I want to build my own arcade controls!
Re: Groovymame 0.232 - Switchres 2.002b
« Reply #119 on: June 21, 2021, 05:59:46 pm »
Thank you very much Calamity, specially for the autofilter option.
thanks!