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: GroovyArcade live-CD 2022 (collaborative effort)  (Read 138804 times)

0 Members and 1 Guest are viewing this topic.

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 820
  • Last login:Today at 06:42:09 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #520 on: September 17, 2023, 01:44:35 pm »
Glad you like it :)

I hope to release a new iso in a few days(/weeks ?). Just putting the final touch and then I'll release it

Deathblow81

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 15
  • Last login:April 24, 2024, 01:16:39 pm
  • I want to build my own arcade controls!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #521 on: September 21, 2023, 05:18:43 pm »
I look forward to it!

 :cheers:

meestermole

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 15
  • Last login:November 16, 2023, 01:04:35 pm
  • I want to build my own arcade controls!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #522 on: November 16, 2023, 01:04:35 pm »
Glad you like it :)

I hope to release a new iso in a few days(/weeks ?). Just putting the final touch and then I'll release it

I'm glad to see you're still working on this! I did some testing with you a few years back, but life gets in the way - I'm hoping to find time to get out in my garage and try out the latest ISO  :) :)


Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 820
  • Last login:Today at 06:42:09 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #523 on: November 23, 2023, 12:54:39 pm »
Forgot to mention it, but the new iso has been released 3 weeks ago !

https://github.com/substring/os/releases/tag/2023.11

Enjoy and share !

Diogo

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:December 18, 2023, 07:29:04 pm
  • Learn a little every day ....
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #524 on: December 15, 2023, 05:53:19 pm »
Hello friends, I don't know the best way to ask this question but let's go: When I'm installing groovyarcade...when the image goes to the monitor and the tube looks really bad...what could it be? I can barely read anything.
Google tradutor

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 820
  • Last login:Today at 06:42:09 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #525 on: December 16, 2023, 06:57:27 am »
Which preset have you used ? what is your GPU ? what's the connection chain between your PC and your screen ?

Diogo

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:December 18, 2023, 07:29:04 pm
  • Learn a little every day ....
Do I need to update?
« Reply #526 on: December 16, 2023, 07:00:35 pm »
I downloaded and installed the 2003 version of GroovyArcade... I would like to know if there is a real need for me to connect and update the system.
(Google translator)

Diogo

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:December 18, 2023, 07:29:04 pm
  • Learn a little every day ....
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #527 on: December 16, 2023, 07:06:50 pm »
Which preset have you used ? what is your GPU ? what's the connection chain between your PC and your screen ?
Sorry for my ignorance because I'm new to this and I don't know what preset means.
But I'm using a Radeon HD 6570 graphics card, Eletrocian monitor, and tube+JPAC.
The games look beautiful but when I enter the GroovyArcade operating system it is difficult to view them.
Thank you for your attention and I know it's almost impossible to help me because I don't understand English... I'm grateful for this beautiful work that is Groovymame.

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 820
  • Last login:Today at 06:42:09 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #528 on: December 17, 2023, 07:02:46 am »
By preset I meant "which boot option have you selected when you booted on your USB stick"

So, it looks like your monitor is having problems with interlaced. Try switching to a progressive mode in gasetup > setup > video setup > boot resolution

Diogo

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:December 18, 2023, 07:29:04 pm
  • Learn a little every day ....
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #529 on: December 18, 2023, 04:20:56 pm »
By preset I meant "which boot option have you selected when you booted on your USB stick"

So, it looks like your monitor is having problems with interlaced. Try switching to a progressive mode in gasetup > setup > video setup > boot resolution
I did what you said and changed it to a progressive mode and now it's perfect. Thanks.

Diogo

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:December 18, 2023, 07:29:04 pm
  • Learn a little every day ....
Re: Conect net
« Reply #530 on: December 18, 2023, 05:32:02 pm »
Sorry for the trouble but I have one more question: How do I connect Groovyarcade to the internet to update? Just connect the RJ45 cable to the rear port of the computer? Should I do some more procedures? Please help this newbie here...

Diogo

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:December 18, 2023, 07:29:04 pm
  • Learn a little every day ....
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #531 on: December 18, 2023, 07:05:49 pm »
I installed the 2023 version of GroovyArcade but I can't find my pendrive on the system, even though I left the show connected volumes on thne desktop option checked.

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 820
  • Last login:Today at 06:42:09 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Conect net
« Reply #532 on: December 19, 2023, 01:07:20 pm »
Sorry for the trouble but I have one more question: How do I connect Groovyarcade to the internet to update? Just connect the RJ45 cable to the rear port of the computer? Should I do some more procedures? Please help this newbie here...
gasetup > setup > system update > full system update

pigzaj2

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:March 13, 2024, 07:56:36 pm
  • Grew up in the 80's and love retro gaming!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #533 on: January 09, 2024, 01:35:52 pm »
Looking for some assistance here.  I am in process of trying to test the groovy arcade iso usb with my HD6450.  I have my lcd monitor plugged into dvi and my vga connected into a vgactv2 which is plugged into the YPP component in on sony crt.  I have tried the various settings on the live cd installer and none of them will output 15khz to the transcoder.  The transcoder has led on it to show it's receiving a 15khz signal or 31khz signal or no signal and when turning on the VGA output, the transcoder will not receive a 15khz signal (shows no signal).  is there a cfg setting or something i am missing?  I also messed with an old amd card and flashing the bios to output 15khz which worked initially.. but when the live usb runs, it is never able to output 15khz to the transcoder.

later edit: After some more troubleshooting.  The roms will load and display in 15khz, but nothing else will. Attract mode and the gasetup tool are in a higher res.

Thanks,

John
« Last Edit: January 09, 2024, 10:58:02 pm by pigzaj2 »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7424
  • Last login:July 17, 2024, 04:10:36 pm
  • Quote me with care
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #534 on: January 10, 2024, 03:28:42 am »
Looking for some assistance here.  I am in process of trying to test the groovy arcade iso usb with my HD6450.  I have my lcd monitor plugged into dvi and my vga connected into a vgactv2 which is plugged into the YPP component in on sony crt.  I have tried the various settings on the live cd installer and none of them will output 15khz to the transcoder.  The transcoder has led on it to show it's receiving a 15khz signal or 31khz signal or no signal and when turning on the VGA output, the transcoder will not receive a 15khz signal (shows no signal).  is there a cfg setting or something i am missing?  I also messed with an old amd card and flashing the bios to output 15khz which worked initially.. but when the live usb runs, it is never able to output 15khz to the transcoder.

later edit: After some more troubleshooting.  The roms will load and display in 15khz, but nothing else will. Attract mode and the gasetup tool are in a higher res.

Thanks,

John

You have to force a 15 kHz EDID binary in the kernel boot line, force that output (vga) as enabled, and maybe also disable the output to your LCD monitor.

In syslinux.cfg:

monitor=generic_15 video=VGA-1:e drm.edid_firmware=VGA-1:edid/generic_15.bin
« Last Edit: January 10, 2024, 03:31:19 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

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 820
  • Last login:Today at 06:42:09 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #535 on: January 10, 2024, 03:00:16 pm »
Looking for some assistance here.  I am in process of trying to test the groovy arcade iso usb with my HD6450.  I have my lcd monitor plugged into dvi and my vga connected into a vgactv2 which is plugged into the YPP component in on sony crt.  I have tried the various settings on the live cd installer and none of them will output 15khz to the transcoder.  The transcoder has led on it to show it's receiving a 15khz signal or 31khz signal or no signal and when turning on the VGA output, the transcoder will not receive a 15khz signal (shows no signal).  is there a cfg setting or something i am missing?  I also messed with an old amd card and flashing the bios to output 15khz which worked initially.. but when the live usb runs, it is never able to output 15khz to the transcoder.

later edit: After some more troubleshooting.  The roms will load and display in 15khz, but nothing else will. Attract mode and the gasetup tool are in a higher res.

Thanks,

John

why plug the LCD ? which boot option are you choosing when booting on the USB stick ? You'll get a 15k OS if you select a 15k item

pigzaj2

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:March 13, 2024, 07:56:36 pm
  • Grew up in the 80's and love retro gaming!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #536 on: January 10, 2024, 05:42:48 pm »
You have to force a 15 kHz EDID binary in the kernel boot line, force that output (vga) as enabled, and maybe also disable the output to your LCD monitor.

In syslinux.cfg:

monitor=generic_15 video=VGA-1:e drm.edid_firmware=VGA-1:edid/generic_15.bin

I added the following record to the USB \boot\syslinux\syslinux.cfg

Code: [Select]
LABEL [PIGZA Test]
MENU LABEL [PIGZA Test]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash mitigations=off audit=0 consoleblank=0 drm.edid_firmware=VGA-1:edid/generic_15.bin monitor=generic_15 video=VGA-1:e
INITRD /groovyarcade/boot/intel-ucode.img,/groovyarcade/boot/amd-ucode.img,/groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2023_11

I ran two tests:
A. Only VGA connected - initial menu was in high res but after selecting my value above, was not able to see contents on TV but audible test said found switchres on VGA-1.  i could not see the validate settings and menu but pressing enter until i hear the attract mode front end.  From there, the only way to get anything to display on my TV was to select a game.
B. VGA and DVI connected - was able to see all content on DVI and audible test said found on vga and dvi with vga selected as default.  I then installed to a hard drive and after install, the system loads attract mode in high res and will switch to 15khz when a game is selected.

When you mentioned disable LCD monitor, i assumed you meant to just unplug it from the video card.

pigzaj2

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:March 13, 2024, 07:56:36 pm
  • Grew up in the 80's and love retro gaming!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #537 on: January 10, 2024, 05:49:23 pm »
why plug the LCD ? which boot option are you choosing when booting on the USB stick ? You'll get a 15k OS if you select a 15k item

If I leave the LCD unplugged, the usb will boot and i have a high res picker screen which is defaulted to 15khz (which I then select).  The transcoder will report no signal and it will do the audible tests.  i have no signal the whole time and then i know if i hit enter a few times, it will eventually end up at the live cd attract mode and i can hear the audio from it.  if i pick a game, the transcoder switches from a no signal to a 15hkz signal and the rom works as expected.  closing the rom will bring me back to a no signal situation and it's back at attract mode.  one thing i noticed is that when i hit the power button, it did switch to 15khz to show the shutdown image/progress.

The website has been down for a while now but here is a link to the transcoder i'm using (have to use waybackmachine to even find it):
https://web.archive.org/web/20210126095319/https://www.retrotekshop.com/products?pn=VGACTV2

I tried same approach on another motherboard just to verify that maybe it was something with my Asus M3A78 motherboard that might cause it to fail but no luck there either.
« Last Edit: January 10, 2024, 07:32:50 pm by pigzaj2 »

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 820
  • Last login:Today at 06:42:09 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #538 on: January 12, 2024, 10:59:46 am »
use the LCD for the boot menu, hightlight the option you want (here it should be EDID interlaced), unplug it, press enter, let it do the magic

pigzaj2

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:March 13, 2024, 07:56:36 pm
  • Grew up in the 80's and love retro gaming!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #539 on: January 12, 2024, 12:23:32 pm »
Im starting to think maybe the transcoder is the issue.  Selecting edid interlaced and unplugging LCD and hitting enter will go through this sequence:
- blank TV screen and then audio test begins.
- it says turning on VGA1. (nothing ever appears and transcoder says no signal). Then it says found switch on vga with edid.
- nothing is displayed on screen but I know it's sitting at the validate video screen so i hit enter a couple of times and it boots to attract mode.
- still no screen until I hit enter on the rom and it displays the rom.
- exit the game back to blank screen.

I have similar results with both of my ATI cards so maybe I just find another vga->ypp converter and retest.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7424
  • Last login:July 17, 2024, 04:10:36 pm
  • Quote me with care
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #540 on: January 12, 2024, 12:38:20 pm »
pigzaj2, try booting on a progressive mode (non-interlaced).
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

pigzaj2

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:March 13, 2024, 07:56:36 pm
  • Grew up in the 80's and love retro gaming!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #541 on: January 12, 2024, 12:49:01 pm »
Wow, so that worked.  I attached a pic.  Need to adjust the overscan and it looks like some interference in there as well.  Thanks for suggesting it.

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 820
  • Last login:Today at 06:42:09 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #542 on: January 13, 2024, 06:50:24 am »
in the video setup, use the geometry tool

ondafly

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:May 07, 2024, 06:44:27 am
  • New Astro City 2024
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #543 on: January 19, 2024, 06:55:19 am »
First post - and its a thankyou - although I'm sure I'll come up with questions later.

GroovyArcade = well done, great work. Thankyou Substring and Calamity. :applaud:

I picked up a HP Elitedesk 705 G4 (ryzen 5 with zen 11 graphics) - it has a supposed VGA output and was attempting to connect it to my New Astro City (tri-sync monitor) using Windows. I tried all the suggested programs and couldn't get a picture that wasn't 75hz.

Anyway - was pointed to GroovyArcade and bingo we are in businesss.

So for the next person who googles HP Elitedesk 705 G4 with 15khz - I used GroovyArcade OS, VGA out from the Elitedesk - into a Extron RGB 580xi (I possibly don't need this now) and from there into the dsub15 of my New Astro City.

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 820
  • Last login:Today at 06:42:09 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #544 on: January 20, 2024, 12:35:07 pm »
Got a 705 G4 with a ryzen 2200G. It had 3 DP outputs, but I managed to find a VGA plugin card to replace the 1st DP connector. Works good, but you'd better go with EDID emulation.

ondafly

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:May 07, 2024, 06:44:27 am
  • New Astro City 2024
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #545 on: January 26, 2024, 06:11:47 am »
Got a 705 G4 with a ryzen 2200G. It had 3 DP outputs, but I managed to find a VGA plugin card to replace the 1st DP connector. Works good, but you'd better go with EDID emulation.

Just seeing this now - apologies. I went with 15hz at the initial install and later selected Tri-sync monitor. What I have noticed is on the AttractPlus page - a graphical flicker/glitch which goes away. Hopefully not a CAP issue, although I've had this screen for many many many years.

Video of it happening. Only happens on the Attract screen.
https://youtu.be/hmFFXljDtzg?si=1_fTaABU4Ubb7-bR

Whereas on the desktop - which I think might be 30hz ? its mostly fine
https://youtube.com/shorts/FripR_XncEw

Can I change do EDID emulation at this stage ? or should I reinstall ?

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 820
  • Last login:Today at 06:42:09 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #546 on: January 28, 2024, 07:20:19 am »
No that's a mesa problem, and I couln't find the root cause of the problem sadly. To fix it, run sudo pacman -U https://archive.archlinux.org/packages/m/mesa/mesa-23.0.3-1-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/l/llvm-libs/llvm-libs-15.0.7-3-x86_64.pkg.tar.zst from the command line

intealls

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 318
  • Last login:July 09, 2024, 06:32:45 pm
  • I want to build my own arcade controls!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #547 on: February 10, 2024, 07:25:43 pm »
Hi Calamity and Substring, and first just wanted to say, AWESOME work on groovy+drmkms! Really cool having an X-less setup, and reminds me of AdvanceMAME!

The last few days I've been messing around with putting together a highly optimized setup with some new audio synchronization code I've been working on, which should allow for under/overrun free playback when no frames are dropped and a decent estimate is found. This usually takes a couple of seconds. It uses a finer granularity than the soundsync currently in groovy, and is quite restrictive with the estimate, so there should be no audible pitch shifts. I've attached a plot of the number of samples in the audio buffer during a 6-ish minute run of Sonic Wings 2, the buffered number of samples seem to consistently be less than 1 millisecond!

I've patched the 6.5 linux-rt arch package with the 15khz patches, and done everything here https://wiki.archlinux.org/title/Professional_audio . It's currently running on an i5-4690K@4.6 GHz, with idle=poll as an added kernel boot option. I'm using a R7 260 and have blacklisted the amdgpu driver, so the radeon driver is used. I'm not sure the -rt package improve things substantially, but it doesn't seem to hurt.

The complete kernel boot is BOOT_IMAGE=/vmlinuz-linux-rt root=/dev/disk/by-uuid/305991b6-4ba1-4094-8b80-5d3ebc1966aa rw quiet rd.udev.log-priority=3 mitigations=off audit=0 consoleblank=0 monitor=generic_15 video=DVI-I-1:640x240S idle=poll drm.edid_firmware=DVI-I-1:edid/generic_15.bin initrd=/initramfs-linux-rt.img

I'm using

groovyarcade/sdl2 2.28.5-2 [installed]
extra/mesa 1:23.3.5-1 [installed: 23.0.3-1]
linux-rt-6.5.2.8.realtime1-1 with 15 khz patches applied

6.5 seems to work fine. With 6.6 or later I get issues (black screen when starting GM).

I found that the latest mesa package (23.3.5) seems to break (or at least impair) next frame response? When installing 23.0.3 as suggested earlier in the thread it seems to work fine.

I have one issue though I really hope can be sorted - and that is that you have to launch the games directly (not from the MAME UI) in order to get a working display.

When looking through the logs I can see this:

First run (mame aes -cart sonicwi2):
Code: [Select]
Available videodrivers: x11 wayland KMSDRM offscreen dummy evdev
Current Videodriver: KMSDRM
Display #0
Desktop Mode:         640x240-32@60
Current Display Mode: 640x240-32@60
Renderdrivers:
    opengl (0x0)
opengles2 (0x0)
  software (0x0)
...
Switchres: Monitor range 15625.00-15750.00,49.50-65.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
parsing /etc/switchres.ini
Switchres/SDL2: Detected SDL version 2.30.0 on KMSDRM
Switchres: get_mode(0) 320 224 59.185606 1.333333
Switchres: Calculating best video mode for 320x224@59.185608 orientation: normal
Switchres: Modeline "320x224_59 15.625000KHz 59.185608Hz" 6.734375 320 339 370 431 224 235 238 264   -hsync -vsync
SwitchRes: Setting option -nokeepaspect
SwitchRes: Setting option -nounevenstretch
SwitchRes: Setting option -nounevenstretchx
SwitchRes: Setting option -waitvsync
SwitchRes: Setting option -syncrefresh
SwitchRes: Setting option -nofilter
drm_open: /dev/dri/card0 successfully opened
OpenGL: AMD
OpenGL: BONAIRE (, LLVM 15.0.7, DRM 2.50, 6.5.2.8.realtime1-1-rt)
OpenGL: 4.5 (Compatibility Profile) Mesa 23.0.3
OpenGL: texture rectangle supported
OpenGL: non-power-of-2 textures supported (new method)
OpenGL: vertex buffer supported
OpenGL: pixel buffers supported
OpenGL: framebuffer object supported
OpenGL: GLSL supported, but disabled
OpenGL: max texture size 16384 x 16384
Leave renderer_ogl::create
...
When launching a new cart from within the UI:
Code: [Select]
...
Available videodrivers: x11 wayland KMSDRM offscreen dummy evdev
Current Videodriver: offscreen
Display #0
Desktop Mode:         1024x768-24@0
Current Display Mode: 1024x768-24@0
Renderdrivers:
    opengl (0x0)
opengles2 (0x0)
  software (0x0)
...
Leave sdlwindow_init
Enter sdl_info::create
Switchres: Monitor range 15625.00-15750.00,49.50-65.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
parsing /etc/switchres.ini
Switchres/SDL2: (sdl2_display): SDL2 is only available for KMSDRM for now.
DRM/KMS: <1> (get_master_fd) No way to get master rights!
DRM/KMS: <1> (init) [ERROR] limited DRM rights on this screen
DRM/KMS: <1> (init) [ERROR] no screen detected
drm_open: /dev/dri/card0 successfully opened
Leave renderer_ogl::create
...

I've attached the full log. At this point I'm not sure where to start looking, since launching games from the UI seemed to work better with mesa 23.3.5? Any pointers are appreciated. I tried closing the drm file descriptor in video_opengl::exit but this doesn't seem to help.

Edit: mesa 23.1.4 seems fine both in regards to next-frame response and launching/switching games from the UI.
« Last Edit: February 10, 2024, 09:18:10 pm by intealls »

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 820
  • Last login:Today at 06:42:09 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #548 on: February 11, 2024, 06:16:44 am »
Hey !

so a few things about what you've posted :
- the RT patch hasn't proven being worth it. We couldn't get anything better with it, so I don't provide it. But I do provide the LTS kernel if you wish
- your boot resolution is a little messed : you're mixing a kernel built-in resolution with an EDID. Not really worth honnestly
- MESA is evil, definitely. I couldn't bisect the error when building it myself, nor could I reproduce the bug when self building it. I must have done something wrong, but it takes such a long time ....

Now for the real problem : you can't launch 2 games when using the MAME UI ? On the launch with error, can you check the contents of /sys/kernel/debug/dri/0/clients (or 1 instead of 0) and show the output ? you should see mame having master rights

intealls

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 318
  • Last login:July 09, 2024, 06:32:45 pm
  • I want to build my own arcade controls!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #549 on: February 11, 2024, 09:48:15 am »
- the RT patch hasn't proven being worth it. We couldn't get anything better with it, so I don't provide it. But I do provide the LTS kernel if you wish
- your boot resolution is a little messed : you're mixing a kernel built-in resolution with an EDID. Not really worth honnestly
- MESA is evil, definitely. I couldn't bisect the error when building it myself, nor could I reproduce the bug when self building it. I must have done something wrong, but it takes such a long time ....

Thanks, like I said I'm not certain yet if -rt improves things or not. Currently I'm trying to minimize the audio buffer and and maximize frame_delay, which will lead to very tight deadlines, so at least on paper the -rt patches seem like a good idea. :) But it needs more investigation. I actually got worse results for an audio-only setup with the -rt patches on another setup, but here it doesn't seem to cause any harm at least. When I'm done with the sync patch I'll setup a script and collect some stats to see if it helps out with the audio at all.

Now for the real problem : you can't launch 2 games when using the MAME UI ? On the launch with error, can you check the contents of /sys/kernel/debug/dri/0/clients (or 1 instead of 0) and show the output ? you should see mame having master rights

I tried mesa 23.1.4 which seems to fix both next-frame response (I had issues with this on later mesa versions) and relaunching/launching new games from the UI (this was a problem with 23.0.3, next-frame response works with 23.0.3) with the R7 260. Here's the output from /sys/kernel/debug/dri/0/clients with mesa 23.0.3 and 23.1.4. 23.1.4 can be fetched from https://archive.archlinux.org/packages/m/mesa/mesa-23.1.4-2-x86_64.pkg.tar.zst .

Code: [Select]
# mesa 23.0.3
# first run
[arcade@GroovyArcade ~]$ sudo cat /sys/kernel/debug/dri/0/clients
             command  tgid dev master a   uid      magic
                mame   696   0   y    y  1000          0
                mame   696   0   n    n  1000          0
# second run, after launching the same game again from the UI, doesn't work, no display (just console framebuffer)
[arcade@GroovyArcade ~]$ sudo cat /sys/kernel/debug/dri/0/clients
             command  tgid dev master a   uid      magic
                mame   696   0   y    y  1000          0
                mame   696   0   n    n  1000          0
                mame   696   0   n    n  1000          0

# mesa 23.1.4
# first run
[arcade@GroovyArcade ~]$ sudo cat /sys/kernel/debug/dri/0/clients
             command  tgid dev master a   uid      magic
                mame   792   0   y    y  1000          0
                mame   792   0   n    n  1000          0
# second run, after launching the same game again from the UI, works
[arcade@GroovyArcade ~]$ sudo cat /sys/kernel/debug/dri/0/clients
             command  tgid dev master a   uid      magic
                mame   792   0   y    y  1000          0
                mame   792   0   n    n  1000          0
« Last Edit: February 11, 2024, 09:51:05 am by intealls »

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 820
  • Last login:Today at 06:42:09 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #550 on: February 11, 2024, 11:57:02 am »
If you feel like contributing to GA, you're welcome ;) If e can get a better generic audio solution, I'm for it

intealls

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 318
  • Last login:July 09, 2024, 06:32:45 pm
  • I want to build my own arcade controls!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #551 on: February 11, 2024, 12:21:29 pm »
If you feel like contributing to GA, you're welcome ;) If e can get a better generic audio solution, I'm for it

Great, I actually contributed some stuff before, amongst other things the PortAudio backend. But I realized this was almost 8 years ago... Time sure flies. We should all be grateful for Calamity's (and all of MAMEdev's) consistent devotion!

This estimation stuff was originally part of the GM ASIO patch, but that implementation had some issues, so I've made it more robust. Also, this will only work with vsync+syncrefresh enabled, so given this (and some implementation-specific details) I would say there is zero chance for this to be upstreamed. Upstream already works perfectly though if a GSYNC/FreeSync monitor is used along with a sober sound card.

I'll clean up the patch the coming weeks and post it here.

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 820
  • Last login:Today at 06:42:09 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #552 on: February 12, 2024, 03:15:39 pm »
I'll ping Calamity for that patch if it's worth.

For Mesa : any version after 23.0 is troublesome with graphical glitches for me. Weird that 23.1.4 is ok for you

ondafly

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • Last login:May 07, 2024, 06:44:27 am
  • New Astro City 2024
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #553 on: February 12, 2024, 03:22:53 pm »
No that's a mesa problem, and I couln't find the root cause of the problem sadly. To fix it, run sudo pacman -U https://archive.archlinux.org/packages/m/mesa/mesa-23.0.3-1-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/l/llvm-libs/llvm-libs-15.0.7-3-x86_64.pkg.tar.zst from the command line

perfect ! thanks for the fix - worked a charm !

intealls

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 318
  • Last login:July 09, 2024, 06:32:45 pm
  • I want to build my own arcade controls!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #554 on: February 12, 2024, 06:18:53 pm »
For Mesa : any version after 23.0 is troublesome with graphical glitches for me. Weird that 23.1.4 is ok for you

I think the latest ISO contains mesa 1:23.2.1-2? At least the pkglist says so. I'm 100% certain I could get next-frame response with an HD5770 with the live CD as is, but when I installed that version manually on an updated system (kernel 6.5.2.8), the R7 260 wouldn't give me reliable next-frame response.

I'm also seeing weird issues when trying out different mesa versions, with mesa > 23.2.x, the lower part of the screen (with the R7 260) will occasionally jitter around while the top part won't? For some strange reason toggling the UI off and on seems to fix it. With mesa > 23.2.x I couldn't get reliable next-frame response with the R7 260. For whatever reason, 23.1.4 works great with the R7 260 for me. I haven't tested the HD 5770 with 23.1.4.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7424
  • Last login:July 17, 2024, 04:10:36 pm
  • Quote me with care
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #555 on: February 13, 2024, 04:24:16 pm »
Hi intealls,

I'm also seeing weird issues when trying out different mesa versions, with mesa > 23.2.x, the lower part of the screen (with the R7 260) will occasionally jitter around while the top part won't? For some strange reason toggling the UI off and on seems to fix it. With mesa > 23.2.x I couldn't get reliable next-frame response with the R7 260. For whatever reason, 23.1.4 works great with the R7 260 for me. I haven't tested the HD 5770 with 23.1.4.

Yes, unfortunately they seem to be focused on breaking v-sync each release. I've tuned the algorithm at least twice already after they changed something, but they'll likely break things again.

I left several algorithm built-in permamently so we can test different methods when things go bad (option -sync_mode):

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

I'd say the long term solution is to handle the frame buffer directly on kms, and maybe v-sync at lower level.

In any case, GM's syncrefresh needs a "lifting", based on what we've learned while implementing GroovyMiSTer.
« Last Edit: February 13, 2024, 04:27:13 pm 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

intealls

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 318
  • Last login:July 09, 2024, 06:32:45 pm
  • I want to build my own arcade controls!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #556 on: March 06, 2024, 04:43:00 pm »
Hi Calamity,

I'd say the long term solution is to handle the frame buffer directly on kms, and maybe v-sync at lower level.

That sounds really cool!

In any case, GM's syncrefresh needs a "lifting", based on what we've learned while implementing GroovyMiSTer.

Maybe in some way the rate_filter stuff that I've done for the audio patch could be of help, or something similar to it.

I've attached the first revision of the sound patch. It's to be considered experimental, testing is needed on Windows and more machines etc etc.

It's only been tested on Linux (GroovyArcade) with PortAudio + ALSA. Only PortAudio is supported.

For high frame_delay levels I would say the stuff below is almost a necessity:

* -nosleep

* Allow low nice levels for user:
  https://wiki.archlinux.org/title/Limits.conf
  and launch mame using "nice -n -20 ./mame ..."

* The patch requires a low callback latency to work properly. 8 ms or lower is probably required. So use -pa_latency 0.016 or lower. If the system supports -pa_latency 0.004/0.006, use that. When over-/underrunning the buffer the actual callback count is displayed, so use that as a guide (48 = 1 ms).

* For games that switch resolution (Genesis etc), use super resolutions, -dotclock_min 32 -resolution0 3072x0. This way the playback rate will not need to be re-estimated at every resolution switch.

The latency has been slashed, each step > 1 adds 1 ms of additional buffering. So -audio_latency 5 will allow 1.5 + 4 ms additional buffering. This will probably not work for the general case, but for the purposes of this it aligns well.

To aid debugging, an option -pa_rnsnd has been added. When under-/overrunning the buffer, a square wave is added to the mix.

It's also possible to create a detailed run-time log as well using -pa_log. use "nice -n -20 ./mame ... -pa_log | grep 123456.123456 > pa.log" and the buf.py Python script which is also in the patch. Python 3.x, numpy and matplotlib need to be installed to run it.

I've attached some plots for 20 minute runs of sfiii3n, neodrift and contra (genesis) at frame_delay 7. For neodrift and contra (genesis) it's possible to see that we're perilously close to underrunning, but we don't. The main takeaway from sfiii3n is that we don't do large pitch shifts, the pitch shifts should be inaudible (I've used 441/440 as a guide = ~0.228%) and we try to set the rate when the deviation is about a third of that (0.08%). Since sfiii3n has properly crunchy aliasing all over the place anyway the underruns are barely noticeable, so in practice it runs very well.

More work is needed for a generic/general solution, but it runs well for me with GA + PortAudio.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7424
  • Last login:July 17, 2024, 04:10:36 pm
  • Quote me with care
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #557 on: March 07, 2024, 03:21:38 am »
Hi intealls,

Thanks for sharing this!

BTW, did you miss the patch? At least I can't see it attached here.

Quote
Maybe in some way the rate_filter stuff that I've done for the audio patch could be of help, or something similar to it.

Probably something similar, yes.

The way sound synchronization in GM is done now is super sensitive to emulation speed fluctuations (real or bogus). This wasn't meant to happen in the past.

To improve things speed should be more based on the actual precalculated refresh (modeline), and just use the real-time measurements to fine tune the period in order to compensate the dotclock shift.

This could help to already count with a "good enough" value right after a mode switch.

Current implementation is badly penalized by random frame drops caused by frame delay. This could be solved by separating vblank polling to a different thread just focused on registering accurate vblank timestamps. Similar to what we've done for GroovyMiSTer, where even high frame delay values can only cause tearing glitches but no speed fluctuations.
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

intealls

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 318
  • Last login:July 09, 2024, 06:32:45 pm
  • I want to build my own arcade controls!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #558 on: March 07, 2024, 04:15:08 am »
Hi Calamity!

BTW, did you miss the patch? At least I can't see it attached here.

It's named rate_v01.txt and should be above the first image, it's easy to miss, the images turned out to be much bigger than I thought they would be :)

The way sound synchronization in GM is done now is super sensitive to emulation speed fluctuations (real or bogus). This wasn't meant to happen in the past.

I think the recommendation do disable soundsync and lower syncrefresh_tolerance has been good though, humans are apparently really sensitive to changes in pitch. The patch is really restrictive with pitch changes, but there are a couple of cases where it will be difficult to get rid of the problem completely, such as when changing resolutions. syncrefresh_tolerance will help here as well though.

To improve things speed should be more based on the actual precalculated refresh (modeline), and just use the real-time measurements to fine tune the period in order to compensate the dotclock shift.

This could help to already count with a "good enough" value right after a mode switch.

Yes this would be really nice. I was about to ask you if it was possible to know exactly what frequency we would end up with if we knew more about the GPU itself - then it would be adequate to just estimate the audio frequency (just estimating the audio frequency seems much more difficult though, for whatever reason). But for sure the emulation speed is far more important than the audio playback frequency itself. The audio frequency will linger about 48 kHz and if we start with a good video estimate the rest will fall into place rather quickly. If you enable -pa_rnsnd you can hear a couple of underruns at the start of every game, and occasionally when switching resolutions as well.

Current implementation is badly penalized by random frame drops caused by frame delay. This could be solved by separating vblank polling to a different thread just focused on registering accurate vblank timestamps. Similar to what we've done for GroovyMiSTer, where even high frame delay values can only cause tearing glitches but no speed fluctuations.

This could also really help, I tried reading up on DRM but it seems to be a real jungle.

I think this could really turn out real good. :) It's a *JOY* to run with GM+DRMKMS, -pa_rnsnd enabled and hear no square waves whatsoever. Honestly, the emulation is just so damn good, I'm certain I couldn't tell any difference from real hardware. *Maybe* some difference, since the RGB output from a GPU is so good, I don't think most real systems will output such a nice picture. But this obviously not a negative. :)

Edit: Also, I'm still using the linux-rt patches, but since things have stabilized I'll compile a kernel without them and see whether or not there's any difference. I have a test suite of games that run ~20 min with various -pa_latency settings (0.004/0.006/0.008/0.016).
« Last Edit: March 07, 2024, 04:31:07 am by intealls »

intealls

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 318
  • Last login:July 09, 2024, 06:32:45 pm
  • I want to build my own arcade controls!
Re: GroovyArcade live-CD 2022 (collaborative effort)
« Reply #559 on: March 13, 2024, 07:15:50 pm »
Right, I compiled 6.5.9 without the -rt patches and did a comparison with 6.5.9 with -rt patches, and the difference is quite staggering.

For this use case (minimize audio latency, maximize frame_delay) the -rt patched kernel seems to completely blow the non-rt kernel away.

Attached are plots of a 15 minute neodrift run with frame_delay 7, -pa_latency 0.004 with and without -rt. It's possible to see multiple frame drops and audio hiccups with the non-rt kernel.

I ran the test twice just to make sure.

In the plots, the most telling performance indicator is a straight line in "Incoming vs outgoing samples". With non-rt, it's easy to see multiple dropped frames (upward steps) and audio hiccups (downward steps). With the -rt patch, it's basically perfect.