The NEW Build Your Own Arcade Controls

Software Support => GroovyMAME => Topic started by: Substring on April 09, 2019, 07:21:58 am

Title: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on April 09, 2019, 07:21:58 am
Hi everyone,

Here is an attemps of going a little more open source for GA. I've set up a gitlab group gitlab repo (https://gitlab.com/groovyarcade) showing all projects I'm working on regarding GroovyArcade.

So the aim of this repo is to:

DISCLAIMER
This is does not build a usable GA yet ! The ISO is bootable, you can launch X, even GM, but it's a real bare Arch linux ISO with GM and a few other emulators. The kernel is not even patched with 15kHz (despite the 15kHz is packaged). The repo is more a proof of concept that much can be automatically done to build the final iso.

What needs to be done
Well, still much in fact (this list is not complete, just showing major steps):

For curious people

Final word
I hope we can make it grow in a real GroovyArcade build system!

Credits and thanks go to Calamity, ves and doozer for their respective work on groovymame, groovyarcade, linux 15kHz patches and help on questions I've been asking them.

Edit: well, all that was written months ago, erad the thread for more news. But if you want to go straight to the main stuff (download an iso and test) :
ISO DOWNLOAD LINK : https://github.com/substring/os/releases
Prefer releases in the YYYY-MM format, any other is a testing branch and will be deleted. Unless you wanna debug with me :angel:
Title: Re: Collaborative effort for GroovyArcade
Post by: keilmillerjr on April 09, 2019, 03:24:39 pm
So long as there become a well documented readme and still an option at boot to select display, im all for no gasetup. Will check it out soon and hopefully can contribute in some way even if small.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 10, 2019, 07:22:26 am
So long as there become a well documented readme and still an option at boot to select display, im all for no gasetup. Will check it out soon and hopefully can contribute in some way even if small.
I've written a wiki at https://gitlab.com/substring45/test/wikis/local-build (https://gitlab.com/substring45/test/wikis/local-build), it should have all the info to locally build, but I may have missed some parts/pre-requisites
Title: Re: Collaborative effort for GroovyArcade
Post by: cools on April 11, 2019, 03:52:38 am
Is there a reason not to use the central AUR?

I had packages there for Groovy a couple of years ago, just don't have the time to maintain anymore.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 11, 2019, 05:00:11 am
Is there a reason not to use the central AUR?

I had packages there for Groovy a couple of years ago, just don't have the time to maintain anymore.

Good question! I considered for a moment submitting packages to AUR. But haven't done it yet for a few reasons:
- as for now, I feel it easier to handle packages on my side. It's just 2 of them : groovymame and the 15khz kernel
- I feel it's better for now if people want to contribute to the repo, and not lock AUR packages to me only
- keeping it up with the linux package that updates every 5 days is too demanding for now

But that's something I could definitely consider in a near future. Or if someone wants to take the task, that's a good thing.

Which packages had you added to AUR ? Feel like resurrrecting them ?
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on April 11, 2019, 06:45:40 am
Hi substring,

I'll look into your repo as soon as I have time. Thanks for your work.

Hopefully I can get the Switchres library updated. Currently it's a mess.

@keilmillerjr, if you remove GA, how would people do the required setup? Most users can't even manage command line.
Title: Re: Collaborative effort for GroovyArcade
Post by: keilmillerjr on April 11, 2019, 08:41:36 am
Hi substring,

I'll look into your repo as soon as I have time. Thanks for your work.

Hopefully I can get the Switchres library updated. Currently it's a mess.

@keilmillerjr, if you remove GA, how would people do the required setup? Most users can't even manage command line.

Gasetup was filled with things that didnt work, and most likely had to configure by editing the files directly anyways. I guess broken items and lacl of documentarion leads me against it. Honestly, id be happy if i can get it 15khz kernel patched, and groovymame working with switchres.
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on April 11, 2019, 10:32:53 am
Gasetup was filled with things that didnt work, and most likely had to configure by editing the files directly anyways. I guess broken items and lacl of documentarion leads me against it. Honestly, id be happy if i can get it 15khz kernel patched, and groovymame working with switchres.

Well if that's the case, I think it'd be better to do a thorough cleanup and remove deprecated parts or fix what doesn't work. I really like the old school text menu system rather than a GUI setup, but that's me. But I do believe you need a setup system, otherwise you're restricting GA to users already familiar with Linux, which probably don't really need GA after all.

With regards to 15 kHz kernel patches, I think we should move away from hardcoded patches and adopt EDID emulation if possible. I like to think about custom video in general rather than "15 kHz" because there are many types of monitors you can use for emulation, and Switchres/GroovyMAME supports any possible configuration, so by restricting it to 15/31 kHz you're loosing a lot of flexibility.

In my view, the problem we currently have, as I've been discussing with Ves, is that modern video cards have lots of heads, and GA boot menu can't target the required one anymore. It was designed for older cards that were 2-head most of the times, so we had prefixed boot optios for VGA-1-15kHz, VGA-2-15kHz, etc. That doesn't work anymore, so I've been stuck lately from testing new GA releases because my working systems are all multi-headed, so unless I rewire my monitors the way GA expects I can't launch it on the monitor I want, and that's not good. We'd need something more flexible for the boot menu, but I doubt you can implement any complex logic in there (specially one that can poll the outputs).

Once in X, we also have the problem that multi-headed configurations are not handled properly. This is fixable, but it requires changes both to Switchres/GM and to the scripts that make the X configuration.

So if I had to improvise a list of things that need to be done, this is mine:

- Move Switchres to a library (not GA specific task).
- Move GA kernel mode setting to use EDID emulation instead of fixed kernel patches.
- Handle multi-head systems properly (both in boot menu and in X).

Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 11, 2019, 01:25:41 pm
Well if that's the case, I think it'd be better to do a thorough cleanup and remove deprecated parts or fix what doesn't work. I really like the old school text menu system rather than a GUI setup, but that's me. But I do believe you need a setup system, otherwise you're restricting GA to users already familiar with Linux, which probably don't really need GA after all.
Whether gasetup is perfect ror not, it's still much more advanced than anything else to configure GA. So if it needs some fixes, the best way is to make a gasetup repo and let people report issues and contribute :)
Quote
With regards to 15 kHz kernel patches, I think we should move away from hardcoded patches and adopt EDID emulation if possible. I like to think about custom video in general rather than "15 kHz" because there are many types of monitors you can use for emulation, and Switchres/GroovyMAME supports any possible configuration, so by restricting it to 15/31 kHz you're loosing a lot of flexibility.

In my view, the problem we currently have, as I've been discussing with Ves, is that modern video cards have lots of heads, and GA boot menu can't target the required one anymore. It was designed for older cards that were 2-head most of the times, so we had prefixed boot optios for VGA-1-15kHz, VGA-2-15kHz, etc. That doesn't work anymore, so I've been stuck lately from testing new GA releases because my working systems are all multi-headed, so unless I rewire my monitors the way GA expects I can't launch it on the monitor I want, and that's not good. We'd need something more flexible for the boot menu, but I doubt you can implement any complex logic in there (specially one that can poll the outputs).

Once in X, we also have the problem that multi-headed configurations are not handled properly. This is fixable, but it requires changes both to Switchres/GM and to the scripts that make the X configuration.
now we hit a wall, and i have quite a few questions regarding the EDID way + the good arch linux documentation at https://wiki.archlinux.org/index.php/kernel_mode_setting#Forcing_modes_and_EDID (https://wiki.archlinux.org/index.php/kernel_mode_setting#Forcing_modes_and_EDID):
- seems like EDID can be "forced" to all connectors, not a specific one. So I guess we could have 2 EDIDs : one for 15kHz, one for 25kHz, as I suppose 31kHz screens wouldn't need a specific EDID. Now the question is : how to generate these EDIDs ? The old switchres standalone can generate some, are they reliable ? Or should we patch the kernel as suggested in the arch doc ? or just use some prebuilt ones (link ?) ?
- regarding X: could you go in more details regarding the problems with multihead ? can't ge things the way you want with just xrandr ?

Quote
So if I had to improvise a list of things that need to be done, this is mine:

- Move Switchres to a library (not GA specific task).
- Move GA kernel mode setting to use EDID emulation instead of fixed kernel patches.
- Handle multi-head systems properly (both in boot menu and in X).
I wish Ves had a little more time to give a hand on how he customized Arch to make the magic work, reverse-engineering GA is not a funny task.

Anyway, you are all free to submit issues on the gitlab repo so that I can organize my work. Beside a few things here and there regarding CI, error handling and other minor stuff, my first goal is to have the build boot X and launch GM (FEs will come later), and script some testings in virtual box to ease my pain.
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on April 11, 2019, 01:52:20 pm
now we hit a wall, and i have quite a few questions regarding the EDID way + the good arch linux documentation at https://wiki.archlinux.org/index.php/kernel_mode_setting#Forcing_modes_and_EDID (https://wiki.archlinux.org/index.php/kernel_mode_setting#Forcing_modes_and_EDID):
- seems like EDID can be "forced" to all connectors, not a specific one. So I guess we could have 2 EDIDs : one for 15kHz, one for 25kHz, as I suppose 31kHz screens wouldn't need a specific EDID. Now the question is : how to generate these EDIDs ? The old switchres standalone can generate some, are they reliable ? Or should we patch the kernel as suggested in the arch doc ? or just use some prebuilt ones (link ?) ?
- regarding X: could you go in more details regarding the problems with multihead ? can't ge things the way you want with just xrandr ?

Check this thread: http://forum.arcadecontrols.com/index.php?topic=140215.0

The target head can be a specific one, here for example VGA-1:

Code: [Select]
drm_kms_helper.edid_firmware=VGA-1:edid/edid-15khz.bin
The actual wall is how to know which outputs (VGA-1, VGA-2, etc.) your card has in order to create a practical boot menu.

Old standalone Switchres can create the edid files just fine, the new one will be better of course, anyway there was a bug with AMD's EDID code affecting interlaced modes that forced us to code a workaround in old Switchres to handle interlace properly. Now, instead of that I'd rather report the bug to AMD so they fix it and keep our Switchres code correct, so it can be used for Intel and Nvidia too.

The issue in X can be fixed with xrandr, or just from X conf files I guess, so multi head setups work as extended desktops rather than cloned displays. But GM also needs a fix, so the -screen option in mame.ini is honored.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 11, 2019, 02:03:29 pm
Not specifying an output would probably force the EDID to all outputs, wihch seems a good option to me, instead of listing VGA-n/DVI-n. But this would probablykill setups having a second LCD monitor for usual config.

A dirty trick could be:
- find connected outputs
- if a connected output can't give an EDID, then it's probably the CRT one, so adapt grub with it.

But this requires at least 1 boot cycle.

Is switchres64 the old switchres standalone found at https://github.com/Ansa89/switchres (https://github.com/Ansa89/switchres) ? If yes, I'll write a small PKGBUILD and have it compiled with GA.
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on April 11, 2019, 02:18:30 pm
Not specifying an output would probably force the EDID to all outputs, wihch seems a good option to me, instead of listing VGA-n/DVI-n. But this would probablykill setups having a second LCD monitor for usual config.

That's the exact issue I want to prevent. All my systems except my cabinet are dual-head these days, a decent system must allow you to choose the desired output.

Quote
A dirty trick could be:
- find connected outputs
- if a connected output can't give an EDID, then it's probably the CRT one, so adapt grub with it.

But this requires at least 1 boot cycle.

That wouldn't work if you have a PC CRT monitor, because those have EDID. Here on the other desk I have a system with 2 heads, one PC CRT (31-kHz) and a BVM (15-kHz). I'd like to be able to decide which head to boot the system on.

Quote
Is switchres64 the old switchres standalone found at https://github.com/Ansa89/switchres (https://github.com/Ansa89/switchres) ? If yes, I'll write a small PKGBUILD and have it compiled with GA.

Last version posted by me was this one (http://forum.arcadecontrols.com/index.php/topic,106405.msg1438711.html#msg1438711). IIRC Ansa took that one and fixed some bugs, etc., not sure.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 12, 2019, 06:10:59 am
Wouldn't it be better to have EDIDs generated with the kernel ? It's just some .S files to add in https://github.com/torvalds/linux/tree/master/Documentation/EDID (https://github.com/torvalds/linux/tree/master/Documentation/EDID). It looks rather easy
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on April 12, 2019, 07:12:09 am
Wouldn't it be better to have EDIDs generated with the kernel ? It's just some .S files to add in https://github.com/torvalds/linux/tree/master/Documentation/EDID (https://github.com/torvalds/linux/tree/master/Documentation/EDID). It looks rather easy

That code does not support interlace unfortunately.

The good thing about having the EDIDs created by Switchres is you can control the geometry also out of X. Even if no one ever will use that, I prefer that conceptually over having the EDIDs hardcoded with the kernel. If the later results to be more practical, then it's ok as long as we can add EDIDs for all the existing GM presets (e.g., ntsc, pal, arcade_15, arcade_31, etc.).
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 12, 2019, 05:21:53 pm
Wouldn't it be better to have EDIDs generated with the kernel ? It's just some .S files to add in https://github.com/torvalds/linux/tree/master/Documentation/EDID (https://github.com/torvalds/linux/tree/master/Documentation/EDID). It looks rather easy

That code does not support interlace unfortunately.

The good thing about having the EDIDs created by Switchres is you can control the geometry also out of X. Even if no one ever will use that, I prefer that conceptually over having the EDIDs hardcoded with the kernel. If the later results to be more practical, then it's ok as long as we can add EDIDs for all the existing GM presets (e.g., ntsc, pal, arcade_15, arcade_31, etc.).
Doesn't suppoer interlace ? mmhhhhh ... reading the EDID.S, it seems a bit sets interlace, but never mind, let's not waste time on this yet.

Anyway, the real problem is to set an EDID post kernel boot if you want to get rid of those VGA-n DVI-n options on grub ... except probing connectors and respective EDIDs and make a dirty assumption "this output is connected but has no edid" means "apply the edid on it, i have no idea how to make that easy. And even : edid is a kernel parameter, so it's set at boot. Unless using kexec (which is a bad idea still), i'm clueless ...
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on April 13, 2019, 01:59:29 pm
Doesn't suppoer interlace ? mmhhhhh ... reading the EDID.S, it seems a bit sets interlace, but never mind, let's not waste time on this yet.

If you look at the "features" byte, bit 7 is never used. I know this because I used that code as a base for my implementation.

Quote
Anyway, the real problem is to set an EDID post kernel boot if you want to get rid of those VGA-n DVI-n options on grub ... except probing connectors and respective EDIDs and make a dirty assumption "this output is connected but has no edid" means "apply the edid on it, i have no idea how to make that easy. And even : edid is a kernel parameter, so it's set at boot. Unless using kexec (which is a bad idea still), i'm clueless ...

I'm thinking probing the outputs before launching the menu is not feasible. Just wondering if there's a way to use nested menus instead of the long list we use now. GA was create when everything we cared about was VGA and DVI ports. Now we should also consider HDMI at least, as it's the only way we can get RGB from with newer cards. Anyway, maybe it's more clever to just have standard 15/25/31 kHz EDIDs built with the kernel so they're available for setting things up, the if someone wants to refine the boot picture a better EDID may be added later. IIRC the only difficulty is you need to add those EDID binaries to the initramfs later so they're available during boot.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 14, 2019, 11:13:37 am
If you look at the "features" byte, bit 7 is never used. I know this because I used that code as a base for my implementation.
OK, so i gave a try to https://github.com/akatrevorjay/edid-generator wchich bascally looks like the kernel code for EDIDs + some script around to convert a X modeline to a .S file (needs zsh). Patched the edid.S to allow external configuration of the whole byte that has the interlace bit.

So i fed the zsh modeline2edid with the result modeline of a parse-edid from a 480i 15kHz edid generated by switchres, edited the .S to enable interlace, and compiled the EDID. parse-edid gives the following result :

Code: [Select]
Checksum Correct

Section "Monitor"
Identifier "480i_15khz"
ModelName "480i_15khz"
VendorName "LNX"
# Monitor Manufactured week 5 of 2012
# EDID version 1.3
# Analog Display
DisplaySize 160 120
Gamma 2.20
Option "DPMS" "true"
Horizsync 14-16
VertRefresh 59-61
# Maximum pixel clock is 20MHz
#Not giving standard mode: 640x480, 60Hz
Modeline "Mode 0" 13.00 640 664 728 832 480 482 488 521 +hsync +vsync interlace
EndSection

Not such a bad start! I'm surprised that th epolarities are inverted, frequency ranges changed too, but it means that patching the kernel to build EDIDs can be done very easily.

By the way, the did.S patch:
Code: [Select]
--- a/edid.S
+++ b/edid.S
@@ -237,7 +237,7 @@ y_border:   .byte   0
    Bit 1       If analog sync: Sync on all 3 RGB lines (else green only)
    Digital: HSync polarity (1=positive)
    Bit 0       2-way line-interleaved stereo, if bits 4-3 are not 00. */
-features:      .byte   0x18+(VSYNC_POL<<2)+(HSYNC_POL<<1)
+features:      .byte   FEATURES+(VSYNC_POL<<2)+(HSYNC_POL<<1)
 
 descriptor2:   .byte   0,0     /* Not a detailed timing descriptor */
                .byte   0       /* Must be zero */
And in .S file, you just set
Code: [Select]
#define FEATURES 0x18 + 1<<7and voilą ! May need a little tweaking still, but it looks promising.

Quote
I'm thinking probing the outputs before launching the menu is not feasible. Just wondering if there's a way to use nested menus instead of the long list we use now. GA was create when everything we cared about was VGA and DVI ports. Now we should also consider HDMI at least, as it's the only way we can get RGB from with newer cards. Anyway, maybe it's more clever to just have standard 15/25/31 kHz EDIDs built with the kernel so they're available for setting things up, the if someone wants to refine the boot picture a better EDID may be added later. IIRC the only difficulty is you need to add those EDID binaries to the initramfs later so they're available during boot.
I'm not sure i've correctly explained what I mean. What I'm talking about is to "autoconfigure monitors" based on a simple choice : 15/25/31kHz at grub boot, no matter which outputs you're using. We can probe connected outputs using /sys/class/drm/*/status (see arch linux wiki https://wiki.archlinux.org/index.php/Kernel_mode_setting at the very end).

I naively thought "if an output is connected but has no edid, then it's the arcade monitor". But most probably not : I'm not sure a DVI2VGA would say the output is connected, and some HDMI2VGA report dummy EDID (when some do query the monitor hopefully).
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on April 14, 2019, 01:03:55 pm
I'm not sure i've correctly explained what I mean. What I'm talking about is to "autoconfigure monitors" based on a simple choice : 15/25/31kHz at grub boot, no matter which outputs you're using. We can probe connected outputs using /sys/class/drm/*/status (see arch linux wiki https://wiki.archlinux.org/index.php/Kernel_mode_setting at the very end).

I naively thought "if an output is connected but has no edid, then it's the arcade monitor". But most probably not : I'm not sure a DVI2VGA would say the output is connected, and some HDMI2VGA report dummy EDID (when some do query the monitor hopefully).

Hi Substring,

This was a nice pointer!

So do you think this could be scripted somehow to build the grub menu?

Code: [Select]
$ for p in /sys/class/drm/*/status; do con=${p%/status}; echo -n "${con#*/card?-}: "; cat $p; done
DVI-I-1: connected
HDMI-A-1: disconnected
VGA-1: disconnected

I don't care about the connected/disconnected status. Arcade monitors will often fail to get discovered by the gpu for not having the expected impedance, so we'll need to forcely enable the connection. But having the real *list* of connectors at boot time can be gold.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 14, 2019, 01:21:00 pm
I'm afraid we can't list connectors as the script uses some kernel info. And when we're on the grub menu, the kernel is not yet loaded. So we could eventually dive in the grub source direction, or any other bootloader. But gosh, that's some work.

edit1: by "So do you think this could be scripted somehow to build the grub menu?" did you mean adding generated EDIDs and auto-script a grub menu with them ? yes, probably, just give me details of what you'd expect.

edit2: grub can just read VESA modes from GPU, nothing more. So the boot menu can't be dynamic. If arcade screens are not detected by the GPU, why should we bother ? Let's just force the Horizontal frequency selected at boot (but this is once kernel is loaded, not at grub boot). The only risky case would be having 2 CRT monitors with different Hfreq (which i guess hardly ever happens)
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on April 15, 2019, 03:53:06 am
Hi Substring,

I'm afraid we can't list connectors as the script uses some kernel info. And when we're on the grub menu, the kernel is not yet loaded. So we could eventually dive in the grub source direction, or any other bootloader. But gosh, that's some work.

Ok, definitely, no kernel calls before kernel is loaded :) I agree, the other direction is one I don't feel like to go through, it involves a lot of work, probably real mode x86 asm, uncertain chances of success and it's not worth the effort.

Quote
edit1: by "So do you think this could be scripted somehow to build the grub menu?" did you mean adding generated EDIDs and auto-script a grub menu with them ? yes, probably, just give me details of what you'd expect.

No, I meant the dynamic menu thing, so since it's not possible we don't need to bother. I'd just make the raw .bin EDID files available to the kernel, one for each 15/25/31 kHz ranges, that's all.

Quote
edit2: grub can just read VESA modes from GPU, nothing more. So the boot menu can't be dynamic. If arcade screens are not detected by the GPU, why should we bother ? Let's just force the Horizontal frequency selected at boot (but this is once kernel is loaded, not at grub boot). The only risky case would be having 2 CRT monitors with different Hfreq (which i guess hardly ever happens)

That's exactly what I have here. I need GA to only force a certain frequency through the output I ask it for. This is not a whim of mine, it's a guideline I strongly believe the project should follow. Not only this project but all emulation software. Unfortunately we have 99% of emulators making poor assuptions about user's display setups. I suspect most emulator coders don't run multi-monitor setups themselves so they don't care or can't even test it.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 15, 2019, 04:35:53 am
Hey Calamity,

That's exactly what I have here. I need GA to only force a certain frequency through the output I ask it for. This is not a whim of mine, it's a guideline I strongly believe the project should follow. Not only this project but all emulation software. Unfortunately we have 99% of emulators making poor assuptions about user's display setups. I suspect most emulator coders don't run multi-monitor setups themselves so they don't care or can't even test it.

Well, most emulators don't need to care about screen settings as they don't need to go in depths of how the screen works. They rely on SDL2 which outputs on anything you'd wish (OpenGLES, OpenGL through X, KMS/DRM). Even SDL2 (opposite to SDL1) doesn't fool around with resolutions anymore. It's all a matter of "get the proper emulation speed" rather than "get the real video output". And emulators choice is the one for less effort with maximum result : don't care about screen resolution, just let the backend handle stretching, as long as you can have a constant FPS matching the original hardware. CRT addicts are on a whole different level ;)

Now back to the initial configuration stuff : we can't do anything at grub level, we may eventually do something with early KMS in the initramfs. But still : the EDID is already loaded, I haven't found a way to reload it once the system has booted up. Just found a virtual KMS (vkms) in the kernel doc that allows to change the EDID, but it's in the TODO ... meh ... So we're stuck with xrandr and other linux tools, no magic plug and play at boot. There is a massive Pi community that just begs for proper CRT display ;)

Side note regarding your "libswitchres" : May I suggest you consider a "fixed pixel clock" setting ? The reason is that the Raspberry Pi can generate analog signals through its GPIO (or  even HDMI), but you can't set the pixel clock you wish, It's locked to either 4.8, 6.4, 9.6, 19.2 MHz (or beyond 31MHz). Write this demand somewhere for the next years!
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on April 15, 2019, 05:17:52 am
Well, most emulators don't need to care about screen settings as they don't need to go in depths of how the screen works. They rely on SDL2 which outputs on anything you'd wish (OpenGLES, OpenGL through X, KMS/DRM). Even SDL2 (opposite to SDL1) doesn't fool around with resolutions anymore. It's all a matter of "get the proper emulation speed" rather than "get the real video output". And emulators choice is the one for less effort with maximum result : don't care about screen resolution, just let the backend handle stretching, as long as you can have a constant FPS matching the original hardware. CRT addicts are on a whole different level ;)

I'm not even asking coders to care about resolutions :) I'm just saying that many of us use multi-monitor setups. And just defaulting everything to run on the primary display is poor design. This is valid for LCD too.

Quote
Now back to the initial configuration stuff : we can't do anything at grub level, we may eventually do something with early KMS in the initramfs. But still : the EDID is already loaded, I haven't found a way to reload it once the system has booted up. Just found a virtual KMS (vkms) in the kernel doc that allows to change the EDID, but it's in the TODO ... meh ... So we're stuck with xrandr and other linux tools, no magic plug and play at boot. There is a massive Pi community that just begs for proper CRT display ;)

I'll try to clarify what I intend to have:

1.- We need grub to have options that can map a certain EDID to a certain output.
2.- Once the EDID is selected, it won't be changed later. It just applies to kernel mode setting (boot process and GAsetup).
3.- In X, we'll use the current xrandr implementation (this is why we need a dual video configuration, for both kernel and X independently).

We already have all this, except that #1 is currently is achieved by kernel patches (hardcaded modelines) while I'm advocating for doint it through EDID emulation instead of patches as I think it's more elegant (and while suggesting this I wondered about the possibility of having a dynamic boot menu so we could avoid the absurdly long boot menu we have now, and this is definitely not possible as you have shown).

Quote
Side note regarding your "libswitchres" : May I suggest you consider a "fixed pixel clock" setting ? The reason is that the Raspberry Pi can generate analog signals through its GPIO (or  even HDMI), but you can't set the pixel clock you wish, It's locked to either 4.8, 6.4, 9.6, 19.2 MHz (or beyond 31MHz). Write this demand somewhere for the next years!

I'll consider your suggestion, but can't promise it'll be possible since the whole modeline calculation is based on the assumption that the pixel clock is fully programmable (like it's the case on usual GPUs.) So it would involve an important rewrite of things. The Pi is a terrible platform for emulation, and to top it all off the pixel clock is limited to discrete values. Lots of wasted development hours in the wrong direction IMHO.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 15, 2019, 09:04:51 am
I'll try to clarify what I intend to have:

1.- We need grub to have options that can map a certain EDID to a certain output.
2.- Once the EDID is selected, it won't be changed later. It just applies to kernel mode setting (boot process and GAsetup).
3.- In X, we'll use the current xrandr implementation (this is why we need a dual video configuration, for both kernel and X independently).

We already have all this, except that #1 is currently is achieved by kernel patches (hardcaded modelines) while I'm advocating for doint it through EDID emulation instead of patches as I think it's more elegant (and while suggesting this I wondered about the possibility of having a dynamic boot menu so we could avoid the absurdly long boot menu we have now, and this is definitely not possible as you have shown).

OK, i'll focus on grub using EDID for now then. One step after another !
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 15, 2019, 09:26:21 am
For curious people, just found https://www.kraxel.org/blog/2019/03/edid-support-for-qemu/ -> qemu will support EDID, which is great for testing
Title: Re: Collaborative effort for GroovyArcade
Post by: cools on April 16, 2019, 07:49:53 am
Why not just have the initial boot be 15k on everything, then have a tool to configure outputs + grub menu proper?

And an alternate ISO for LCD/31k boot. Heck, make an image with a FAT partition that when written to USB can have alternate boot configs swapped in.

Of course, I'm assuming installation on writable storage, not static boot from CD/DVD.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 16, 2019, 11:52:33 am
Why not just have the initial boot be 15k on everything, then have a tool to configure outputs + grub menu proper?
Sooner or later, this is what should happen + need a panic button/combo at boot to boot with default settings. But I'm still far from that for now.

Quote
And an alternate ISO for LCD/31k boot. Heck, make an image with a FAT partition that when written to USB can have alternate boot configs swapped in.
Why not!

Quote
Of course, I'm assuming installation on writable storage, not static boot from CD/DVD.

I really wonder who is still using DVDs today. I plan on adding some .img sooner or later, so you could just burn a USB stick with it
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on April 16, 2019, 12:32:04 pm
Why not just have the initial boot be 15k on everything, then have a tool to configure outputs + grub menu proper?
Sooner or later, this is what should happen + need a panic button/combo at boot to boot with default settings. But I'm still far from that for now.

I hate this strongly but I'm afraid it's the only way to do it. Maybe have a timeout at boot (I'm talking about the live-cd, not the installed system), so if you let it alone it'll just boot at 15 kHz through all outputs. Since boot menu is at 31 kHz, choosing an option has always been problematic on a 15 kHz monitor anyway. Optionally, you can press any key and select another boot option. This would make the 31 kHz distro unnecessary.

What needs to be checked is whether selecting an EDID without specifying an output actually enables all of them, even the ones that are NOT detected like those connected to arcade monitors through a JPAC. We might find out there was a good reason to force specific outputs on boot back in the day.

Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 16, 2019, 02:45:24 pm
Hey Calamity,

Do you have news from ves ? I haven't seen him around for a while on the forum, we do need him.

By the way : seems like we can make grub boot in 320x200, 320x240 or any VESA mode that the GPU would support. So cools' idea to have different grubs configured for various resolutions on a FAT32 boot partition is something that could be done on a .img people would burn to a USB key.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 23, 2019, 07:59:55 am
Just a small update : I hope i'll be able to be on par with groovyarcade soon. For now the FE won't start due to some permission problems, shouldn't be that complicated to solve. Will then need to make sure gasetup works as before + will also have to use GA's default for syslinux bootloader.
Title: Re: Collaborative effort for GroovyArcade
Post by: keilmillerjr on May 21, 2019, 11:51:34 am
Free bump for awesome project!
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on May 21, 2019, 04:22:20 pm
haha thanks for the bump @keilmillerjr

Time to give some news about the project :
- i could setup github releases to be a pacman repo, so it's fairly easy now to update the linux kernel or other packages. The kernel is patched with Doozer's patches : usual arcadevga/ati + custom resolutions for 15and 25 kHz + some patches he made for I don't remember what regarding cathode tracing position
- more frontends are available as packages, despite they are not configured yet (retrofe, mehstation, attract mode was updated), some need a little tinkering. I still have to make a package of that old advmenuPlus
- plymouth is done
- HDD installation works as before
- having some problems with X : for i don't know which reason, X is started as root in ves' groovyarcade (despite some sudo here and there). But on my build, it won't just work that way. Put in other words : it doesn't work from gasetup, but works fine from shell. This one bothers me quite much
- after some talk with calamity, i'm exploring the EDID path to set some default resolution rather using the patched ones. Haven't had much luck yet, despite it has worked for some people ...

Sooner or later, I'll have to split the project in 2 : the arch linux packages repo which will then mostly live on its own unless some update breaks everything (automatic builds, automatic deploy to the pacman repo for easy updates), and the iso repo which would be dedicated to the .iso for now (which boots on a USB key now by the way), and probably a .img sooner or later (DVD is so 90s :D)

Once I'm on par with ves' GA, i'll start reworking the gasetup scripts : clean, rewrite, enhance, new features.

Curious people can check https://gitlab.com/substring45/test/issues (also check closed issues) to see what I've been working on, what I plan to do. Sooner or later I'll have to rename that repo I guess :D
Title: Re: Collaborative effort for GroovyArcade
Post by: Doozer on June 03, 2019, 02:18:25 pm

Hi,

On the X startup issue you are experiencing, I can perhaps help you out to get it working. Let me know what you try to achieve.

Xorg is always started as root for driver access, then user space Xorg is used for individual user sessions. Attention must be given to gdm (or other) started on top or multi user and using dedicated instance for displayng initial graphical login screen.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 04, 2019, 09:11:16 am

Hi,

On the X startup issue you are experiencing, I can perhaps help you out to get it working. Let me know what you try to achieve.

Xorg is always started as root for driver access, then user space Xorg is used for individual user sessions. Attention must be given to gdm (or other) started on top or multi user and using dedicated instance for displayng initial graphical login screen.
Hey !

Well the problem is quite simple : X (through startx) will start perfect through autologin with the arcade user, but it won't start if launched from gasetup. gasetup is launched in sudo, then uses something like su -c arcade startx which fails with X being unable to switch VT.

The real thing would be to not start gasetup with sudo and wrap root commands in sudo, but this means breaking the logic in gasetup, and that's not what I want to achieve now.

There is no GDM or such, X is started with a minimalistic window manager and simply launches 1 app (usually the front end).
Title: Re: Collaborative effort for GroovyArcade
Post by: Doozer on June 05, 2019, 12:49:41 pm
Hi.

Not sure I understand the issue, I can start X for a user without issue from root account with the following command:

Code: [Select]
su - arcade startx

If you have a VM drive you can share I can work on the issue and provide better guidance.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 05, 2019, 01:22:00 pm
The real command is su arcade -c startx -- vt7. I've attached the xorg log
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 05, 2019, 03:38:33 pm
AT LAST I've found : was missing the /etc/X11/Xwrapper.config file ! It's not added by default in arch
Title: Re: Collaborative effort for GroovyArcade
Post by: ves on June 05, 2019, 04:34:29 pm
Good job!!
I want to be able to help as soon as possible.
You dont install vbox video driver.

Test to configure etc/X11/Xwrapper.config

"needs_root_rights = yes"
 
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 05, 2019, 05:58:13 pm
Good job!!
I want to be able to help as soon as possible.
You dont install vbox video driver.

Test to configure etc/X11/Xwrapper.config

"needs_root_rights = yes"

oh glad you join the fun :) The more the merrier
The vbox video driver is because i test 99.9% on Virtual Box, also sometimes QEMU, it's so much easier than burning the ISO on a key, swapping room, and test ;)

Time to give some news then :
- released today a new iso + arch packages for GA at https://github.com/substring/test/releases/tag/2019-06 (https://github.com/substring/test/releases/tag/2019-06). It's still pretty much alpha, but things are slowly getting in shape
- EDID boot has been added, need to fix a few things here and there, some part will involve gasetup which I don't want to mess around with for now
- gotta fix some samba permissions
- GM recognizes the coin key, but for God knows which reason, coins are almost never inserted
- I'm kind of embarassed with the default frontend : the config files are not for mainline advancemame's advancemenu, and my last try with advancemenuplus still requires some work. Have added other FE, most of them need a proper configuration (when they work).

Those are the main steps before reaching beta stage. I should also update the dev wiki, there were a few improvements here and there that are worth explaining.

Still have a few big ideas in mind (like a wrapper that can configure any FE, some fun with EDID, rewriting the iso process, write an img rather than a iso ... So many ideas, so little free time). And, sooner or later, i'll have to setup a definitive pacman repo for GA, the github release thing was more of a proof of concept, it can't stand daily updates once I'll set this up. Will need 1 or 2 servers to build GA and host the GA pacman repo. But that's in a distant future !

Summer is coming as well as holidays, will probably have a break during that time ;)

As usual, curious people can check https://gitlab.com/substring45/test (issues, merge requests, wiki and CI, I never commit straight to master)
Title: Re: Collaborative effort for GroovyArcade
Post by: keilmillerjr on June 16, 2019, 05:05:56 pm
Thank you for the iso. Will test soon. Interesting coun issue with groovymame.
Title: Re: Collaborative effort for GroovyArcade
Post by: keilmillerjr on July 05, 2019, 02:07:17 pm
Thank you substring for the update on the iso. It now works in virtual box.

Some help for others to download on mac. Linux should be the same to download. Windows, you would have to download curl. I then used archiver app for mac to unpack. The default app (archive utility) on newer os10 subversions should work.
Code: [Select]
curl -r 0-199999999 -L -o groovyarcade_2019-07.iso.xz.part1 https://github.com/substring/test/releases/download/2019-07/groovyarcade_2019-07.iso.xz
curl -r 200000000-399999999 -L -o groovyarcade_2019-07.iso.xz.part2 https://github.com/substring/test/releases/download/2019-07/groovyarcade_2019-07.iso.xz
curl -r 400000000-599999999 -L -o groovyarcade_2019-07.iso.xz.part3 https://github.com/substring/test/releases/download/2019-07/groovyarcade_2019-07.iso.xz
curl -r 600000000-799999999 -L -o groovyarcade_2019-07.iso.xz.part4 https://github.com/substring/test/releases/download/2019-07/groovyarcade_2019-07.iso.xz
curl -r 800000000-999999999 -L -o groovyarcade_2019-07.iso.xz.part5 https://github.com/substring/test/releases/download/2019-07/groovyarcade_2019-07.iso.xz
curl -r 1000000000-1199999999 -L -o groovyarcade_2019-07.iso.xz.part6 https://github.com/substring/test/releases/download/2019-07/groovyarcade_2019-07.iso.xz
curl -r 1200000000-1399999999 -L -o groovyarcade_2019-07.iso.xz.part7 https://github.com/substring/test/releases/download/2019-07/groovyarcade_2019-07.iso.xz
curl -r 1400000000-1599999999 -L -o groovyarcade_2019-07.iso.xz.part8 https://github.com/substring/test/releases/download/2019-07/groovyarcade_2019-07.iso.xz

cat groovyarcade_2019-07.iso.xz.part? > groovyarcade_2019-07.iso.xz

I was able to boot from iso within virtual box. Boot menu has new options. There is no option for just plain LCD. I picked DVI-1 15khz and it worked. I plan on using this with my mvs using a k7000 and a separate machine with an lcd (for a friend, I don’t do that taboo). Not sure what would be the proper thing to do for the latter case.

Thank you substring. Keep the updates going!
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on July 06, 2019, 12:26:03 pm
Thank you for testing !

There is a lcd setting that you can choose at boot, it's aoubd the 9th position i think, you must scroll down :)

Still much work to do on it, but first, i need to split the repo in 2 : one for building packages and deploying them (need to find a solution to host them). I'd like to have a testing/unstable repo + a stable repo. The other result of the split would be to solely build the iso. And i need to totally rewrite that part.

Won't spend much time on it during july though, need a well deserved holidays break ^^
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on July 13, 2019, 07:17:35 am
So, little news before holidays break !

The way I made the whole process was too monolithic. Building packages was tied to building the iso, so there was no way to build arch packages on their own. Things are solved now and available at http://https://github.com/substring/packages/releases (https://github.com/substring/packages/releases)

You'll notice a stable and a testing release. Testing is built everyday, to match as closely as possible any updates that would happen on packages that I've included. This means for example that a kernel update would be available within 24h after the official update on Arch linux side (if no patching is implied). The idea is to let that part live on its own as much as possible. Well sometimes I may need to patch here and there, but at least, it's as much "rolling release" as possible with the few server resources I have at disposal.

The next step will be to rewrite the iso building part. As for now it's just remastering the Arch linux iso, but I'm cyrrently rewriting that part to use the archiso utility. Things are going fine so far, I hope to have a working iso by the end of August.

Then, the biggest part will come : improve gasetup ! I have quite a few ideas, I'll give some news here anyway.

And finally : documentation !!! Most of the interesting ideas are summed up in http://forum.arcadecontrols.com/index.php/topic,160440.0.html so i'll setup a repo and let others easily contribute, this must be a community effort.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 17, 2019, 04:49:49 am
Time for some news !

So, been working on it lately, things are in good shape for the September release:
- split packages building and iso building in 2 different repos, so 2 different CI
- I'm almost done with CI stuff and so
- UEFI boot works with the ISO, but it's definitely useless : it bypassses the boot menu, so no video configuration. This just sucks so stick to legacy BIOS boot method
- need to spend again some time with EDID at boot, it's not working as it should yet
- fixes here and there, like applying the good mame.dat file at every groovymame upgrade. This makes advancemenu+ terribly slow to load, i'm thinking about switching to attract mode for good
- add a small web server that helps user to set volumes in alsa (the audio part). This is just a pain to be done in console, abd absolutely not user friendly

At this point, I will now focus on 2 things:
- user experience through gasetup. I'm working on adding a easygashgui backend so the very same menu would work the very same way in console or desktop environment. Less effort to maintain all that, easier configuration
- have the boot menu work in 15kHz straight away. This won't be easy, it's meant to run at 61kHz no matter what, but the code looks flexible enough to allow some patching. This part will be pretty "fun" to code/patch/test/add to GA

Also need to write some basc dics for users and contributers ...

Now the important links :
- https://gitlab.com/groovyarcade for all the dev stuff
- https://github.com/substring/packages/releases for arch linux packages
- https://github.com/substring/os/releases for OS releases. Don't bother with anything else than GroovyArcade 2019.XX releases, others are made for testing, labels sometimes get messed up

Feedback is welcome
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 02, 2019, 01:50:58 pm
Time to give some news hehehe

I'm still actively working on my "fork". Been focusing on EDID stuff and see how to make things as much "plug'n'play" as possible. Have an interesting result to share : I can boot GroovyArcade without any specific kernel setting (no forced resolution, which means linux 15kHz patches are useless in that case), without any Xorg configuration, and I do get 15kHz on my setup ! There is a trick of course : I'm using a EDID dongle that has a switchres-generated EDID inside. This EDID has a good old 640x480i custom resolution inside. The kernel reads it and applies the modeline without a problem. So does Xorg ! I may post a video if people ask. The only downside of it : only works with ATI/AMD cards. I could get it working with NVidia but it requires a kernel patch. I sadly had some teearing that I never had when using ATI. Intel i915 is probably not going to make it.

So, appart from usual maintenance when Arch Linux changes things here and there, or manual package bumps required, I am now focusing on making GA as configurationless as possibe. I plan to add a web UI to set up volume (quite useful when you're allergic to linux console tools), got much work to do on gasetup to split modules (system, video, network etc ...), change the bootloader handling or khow kernel parameters are processed etc ... I also want to "modernize" things, and run some code checking tools on gasetup. Devs call that "lint". This will mean that I will have to correct really many small mistakes here and there, give more consistency on bash syntax etc ...

One last thing : every day, the testing repo is rebuilt. Most of times, kernel changes are automatically built. Can't be the same for GroovyMAME as I must wait for the official release of the groovy patch + suppression patch. Most tools do rebuild fine when they are bumped and I hardly need to put my hands in it. Anf from time to time, I update the stable branch with the testing one. That's a manual step, can't launch packages in the wild just because they built fine  :laugh:
Title: Re: Collaborative effort for GroovyArcade
Post by: keilmillerjr on November 02, 2019, 04:47:27 pm
I’m excited for the progress.
Title: Re: Collaborative effort for GroovyArcade
Post by: b4nd1t0 on November 04, 2019, 07:03:56 am
Great work!!! :cheers:
Time to give some news hehehe

I'm still actively working on my "fork". Been focusing on EDID stuff and see how to make things as much "plug'n'play" as possible. Have an interesting result to share : I can boot GroovyArcade without any specific kernel setting (no forced resolution, which means linux 15kHz patches are useless in that case), without any Xorg configuration, and I do get 15kHz on my setup ! There is a trick of course : I'm using a EDID dongle that has a switchres-generated EDID inside. This EDID has a good old 640x480i custom resolution inside. The kernel reads it and applies the modeline without a problem. So does Xorg ! I may post a video if people ask. The only downside of it : only works with ATI/AMD cards. I could get it working with NVidia but it requires a kernel patch. I sadly had some teearing that I never had when using ATI. Intel i915 is probably not going to make it.

So, appart from usual maintenance when Arch Linux changes things here and there, or manual package bumps required, I am now focusing on making GA as configurationless as possibe. I plan to add a web UI to set up volume (quite useful when you're allergic to linux console tools), got much work to do on gasetup to split modules (system, video, network etc ...), change the bootloader handling or khow kernel parameters are processed etc ... I also want to "modernize" things, and run some code checking tools on gasetup. Devs call that "lint". This will mean that I will have to correct really many small mistakes here and there, give more consistency on bash syntax etc ...

One last thing : every day, the testing repo is rebuilt. Most of times, kernel changes are automatically built. Can't be the same for GroovyMAME as I must wait for the official release of the groovy patch + suppression patch. Most tools do rebuild fine when they are bumped and I hardly need to put my hands in it. Anf from time to time, I update the stable branch with the testing one. That's a manual step, can't launch packages in the wild just because they built fine  :laugh:
im testing your iso on an LCD and works great, now i've compiled the last 215 of groovy with nonag, tonight i think i can try on the cab with the arcade monitor and the ati R5-230, what should i expect, the correct resolutions will be generated or it is still not complete?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 04, 2019, 04:51:11 pm
Well happy tester :) I'm very happy you decided to give a go to this version :)

For GM 0.215, it's already available in the testing repo https://github.com/substring/packages/releases/tag/testing Just uncomment the lines in /etc/pacman.d/groovy-ux-repo.conf, then you can manually update to it pacman -Sy groovymame. Or you can manually download it and then run pacman -U groovymame-0.215-1-x86_64.pkg.tar.xz in the download folder.

For arcade monitor + r250, we'll face a small issue : using gasetup will force the radeon driver, which will fail with your GPU that requires amdgpu. But fear not ! If you're ready to get your hands down in the motor, you can make it almost configuration-less, and it should be working amazingly great :
- EDID is the way to go, so you should edit /boot/syslinux/syslinux.cfg, remove everything that is vga= video= (well, video= is a different story, depends if your monitor is detected or not byt the GFX card) and append drm.edid_firmware=edid/arcade_15.bin which uses the Arcade 15kHz preset from switchres. If you feel unsure, you can test this EDID by booting with the ISO, and select the very first entry in the boot menu ! If it boots, then you're safe !
- you'd need to manually add monitor      arcade_15 (if it's indeed arcade 15 you're using) to mame.ini

In the case your go the old traditionnal GroovyArcade way :
- make the usual configuration in gasetup
- before launching the frontend, edit /etc/X11/xorg.conf and change the radeon driver to amdgpu. I guess it should work fine after.

One last thing : if you use AdvanceMENU rather than Attract, you will complain about slow front end start. Which is normal : it parses the mame 0.215 .xml file which is more than 200MB, so it takes a little time ;)

Going the EDID way is just awesome, because you don't even need a xorg.conf ! X will detect the monitor EDID, and use the preferred resolution from it.

Sorry for the trouble, booting on EDID is not yet ready in gasetup ...

Don't hesitate to ask questions, tell about bugs, give feedback, good or bad critics, I'll gladly answer :)
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 04, 2019, 05:01:42 pm
Forgot to say : I'll release a new iso this week, as soon as testing packages are confirmed working fine.

Anyay, I'd appreciate you test booting with EDID your arcade monitor. For reference, here is the 1st page of the boot screen, if you're in the dark.

One more question : which connectors does your GFX card have ? Is the VGA a real genuine or it's over DP ? You can get some intereting info is you run ls -l /sys/class/drm
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on November 06, 2019, 02:37:39 am
Great job Substring!

One question: will you release an actual, ready to burn iso?
Title: Re: Collaborative effort for GroovyArcade
Post by: b4nd1t0 on November 06, 2019, 03:15:29 am
Ok, i did just a few tests, the iso works great, I couldn't boot using the edid or i have a black screen, the only way to get everything started is by selecting DVI-1 15Khz, i found only one " problem "with attractmode, i see it out of sync but iI may have to adjust the vertical sync, in fact i started World Rally and everything works fine with the correct resolution switch.
I think i'll add more roms to test the switch of other resolutions. The only thing that could create problems for those who are less expert is the total lack of links in lxde if you wanted to make some changes manually for some configuration, however feasible if you know the commands.
I forgot, I used an HD 4350.
So it's ok for me, great job!  :applaud:
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 06, 2019, 03:24:31 am
Great job Substring!

One question: will you release an actual, ready to burn iso?

Of course I'm not letting anyone use my fork, no iso given away  :lol

All releases are at https://github.com/substring/os/releases
Looks like I'm not properly setting "latest release", but prefer the YYYY-DD releases, others are testing branches. I'll release 2019-11 this week, when I find time and make sure kernel 5.3.8 works.

And for people who just want to give it a try but have no DVD : the ISO can be burnt on a USB pen. In both cases, boot in legacy BIOS, not UEFI (still much work to do to have a syslinux boot menu in UEFI, which is definitely not my priority).

For IT curious people : I'm mainly using Gitlab, and use their integrated CI/CD to create arch linux packages and the Groovy isos. Releases are automatically pushed to github.I use github as a mirror, and people are more familiar with github I think.
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on November 06, 2019, 03:32:02 am
Thanks Substring, forgive me, I'm so used to the bare ftp directory style  :D

Consider adding that link to the first post in this thread.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 06, 2019, 03:34:17 am
Ok, i did just a few tests, the iso works great, I couldn't boot using the edid or i have a black screen, the only way to get everything started is by selecting DVI-1 15Khz, i found only one " problem "with attractmode, i see it out of sync but iI may have to adjust the vertical sync, in fact i started World Rally and everything works fine with the correct resolution switch.
Thank you very much for your testing, it's very valuable :notworthy: Have you tested the default EDID at boot menu ? If you manually edited the syslinux.cfg file, then try adding video=DVI-I:e to force the output to enabled. Using EDID or not, you must get the splash screen.
For attract, I'm surprised, I should compare timings between arcade_15 and the 640x480i set in EDID.
Quote
The only thing that could create problems for those who are less expert is the total lack of links in lxde if you wanted to make some changes manually for some configuration, however feasible if you know the commands.
I forgot, I used an HD 4350.
So it's ok for me, great job!  :applaud:
For the LXDE thing, noticed it too, haven't tried to solve that yet, but indeed I should take a look at it. Eventually try a sudo chmod -R arcade:arcade /home/arcade. I must admit I'm a keyboard guy, I hardly go into a window manager.
By the way, what's your arcade monitor ? Could you give me a short description of your GFX card -> monitor chain ? like are you using a j-pac ? or any other kind of device ? I'd like to understand why Linux didn't find your monitor.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 06, 2019, 03:44:47 am
Consider adding that link to the first post in this thread.
Done :)
Title: Re: Collaborative effort for GroovyArcade
Post by: b4nd1t0 on November 06, 2019, 04:25:05 am
Have you tested the default EDID at boot menu ? If you manually edited the syslinux.cfg file, then try adding video=DVI-I:e to force the output to enabled. Using EDID or not, you must get the splash screen.
For attract, I'm surprised, I should compare timings between arcade_15 and the 640x480i set in EDID.

For the LXDE thing, noticed it too, haven't tried to solve that yet, but indeed I should take a look at it. Eventually try a sudo chmod -R arcade:arcade /home/arcade. I must admit I'm a keyboard guy, I hardly go into a window manager.
By the way, what's your arcade monitor ? Could you give me a short description of your GFX card -> monitor chain ? like are you using a j-pac ? or any other kind of device ? I'd like to understand why Linux didn't find your monitor.
the, gfx card to monitor is a simple vga connector to jamma (RGB+V and H sync) and jamma to monitor, nothing special, my video card is flashed with Atom-15, and the electronic is an Hantarex Polo28.
I think, to use edid i need to apply some resistances to the connector, i have read about this some years a go but never made it, if it works, is ok for me  :D
I've tried the default EDID at boot menu, but i have black screen and no, i don't have edited the syslinux.cfg, you mean the one in \boot\syslinux\ ?
The problem in attract is strange, i have my usual hdd with groovy and it work fine, menu and games, with your iso only attract is out of sync
Title: Re: Collaborative effort for GroovyArcade
Post by: Doozer on November 06, 2019, 04:32:25 am
Going the EDID way is just awesome, because you don't even need a xorg.conf ! X will detect the monitor EDID, and use the preferred resolution from it.

Xorg configuration might get a little tweak with the compositor layer being not used. This COULD lead to 1 frame lag gain (someone with high speed camera or lag tester must confirm this, some windows manager like openbox do not use composition). Page flipping and shadowing options might also give some boost when vblank is properly synced (internal buffer reduction to 1 page, drawing must be synced to vblank like GM does).

Code: [Select]
Section "Extensions"
   Option  "Composite" "Disable"
EndSection

The X layer over Mir has recently received massive updates and some reports claim that X over Mir has reached the same latency as standalone X. To be investigated ....
Title: Re: Collaborative effort for GroovyArcade
Post by: Doozer on November 06, 2019, 04:39:32 am

@substring, please consider adding "mitigations=off" to the kernel parameters, it will give a little non-negligible boost by not mitigating CPU vulnerabilities (spectre and other). I do not think that some has sensitive or confidential data to protect on their cabinet.

Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 06, 2019, 05:18:35 am
Going the EDID way is just awesome, because you don't even need a xorg.conf ! X will detect the monitor EDID, and use the preferred resolution from it.

Xorg configuration might get a little tweak with the compositor layer being not used. This COULD lead to 1 frame lag gain (someone with high speed camera or lag tester must confirm this, some windows manager like openbox do not use composition). Page flipping and shadowing options might also give some boost when vblank is properly synced (internal buffer reduction to 1 page, drawing must be synced to vblank like GM does).

Code: [Select]
Section "Extensions"
   Option  "Composite" "Disable"
EndSection

The X layer over Mir has recently received massive updates and some reports claim that X over Mir has reached the same latency as standalone X. To be investigated ....

Already added (https://gitlab.com/groovyarcade/os/blob/master/overlay/groovyarcade/usr/share/X11/xorg.conf.d/10-no-composiiton.conf)  ;) Although i made a typo in the filename (which doesn't prevent X from loading the file). And Xorg.log reports fine that composition is disabled


@substring, please consider adding "mitigations=off" to the kernel parameters, it will give a little non-negligible boost by not mitigating CPU vulnerabilities (spectre and other). I do not think that some has sensitive or confidential data to protect on their cabinet.
We share the same mind, I thought about adding this. Just wanted to refactor the syslinux.cfg file ... but sadly, syslinux globals just don't work the way I'd expect. So will have to add it to each entry ...

BTW, I sent you a PM for a kernel patch for Nvidia cards, please read and reply :) I tried the same for i915, but this isn't enough to get 640x480i working with EDID. I'm not sure it works with patched kernel resolutions, will try some day.
Title: Re: Collaborative effort for GroovyArcade
Post by: Doozer on November 06, 2019, 06:13:27 am
BTW, I sent you a PM for a kernel patch for Nvidia cards, please read and reply :) I tried the same for i915, but this isn't enough to get 640x480i working with EDID. I'm not sure it works with patched kernel resolutions, will try some day.

I replied to it from the email. I assume my answer did not reach you.

To sum-up, I have an Intel and Nvidia patch sets but I am looking at making this more agnostic to the card drivers and just touching the drm helper or pruning function. Such patch must be tested against several chips and setup references to ensure that no collateral effects could arise from such modifications.

Stock kernel shows different behaviors with respect to EDID and the last kernel drm refactoring brought a lot to unify and normalize the calls. Nevertheless, ATI EDI do not check low dot clock the same way Nouveau does inside their respective driver branch.

Again, totally avoiding kernel patching might not be possible. E.g. without patching the ATI vblank interrupt, using any interlaced resolution under GM will be cap to 50% game speed.

It might be necessary to have a staging version which would have under development features. Personally, I do not own enough different configurations to confirm good working conditions in relation to non ATI hardware. Even for the ATI portion I am mostly using the 5000 generation chipset. I am also looking forward to getting in touch with the AMDGPU to see if newer generation can bring some good setup (i.e. Ryzen)

Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 06, 2019, 07:56:09 am
the, gfx card to monitor is a simple vga connector to jamma (RGB+V and H sync) and jamma to monitor, nothing special, my video card is flashed with Atom-15, and the electronic is an Hantarex Polo28.
I think, to use edid i need to apply some resistances to the connector, i have read about this some years a go but never made it, if it works, is ok for me  :D
I've tried the default EDID at boot menu, but i have black screen and no, i don't have edited the syslinux.cfg, you mean the one in \boot\syslinux\ ?
The problem in attract is strange, i have my usual hdd with groovy and it work fine, menu and games, with your iso only attract is out of sync

OK, reading your setup, your Polo 28 doesn't have an input impedance that allows the GFX card to detect if a monitor is connected. That's why the resistors trick could do the job. It has a small downsize though : birghtness is (a bit) lower. Just for info, Here is the EDID VGA dongle (https://www.amazon.fr/gp/product/B07BDLB6D3/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1) I bought and flashed with a switchres EDID. It does have the required resistors. They are 150 Ohms each. Here (https://www.geeks3d.com/20091230/vga-hack-how-to-make-a-vga-dummy-plug/) is a little article that describes the resistors hack.

Anyway, by tweaking your /boot/syslinux/syslinux.cfg file, you could use EDID by forcing the DVI-I to be enabled, as described earlier.

Now for the Attract problem, I need a little more details :
- do you have a nice splash boot screen with the progress bar before reaching attract ? (this means the resolution chosen works fine, X is not yet loaded)
- which monitor have you chosen in gasetup ? (to have a clue of X resolution)
- If you're OK with SSH and your cab has network, can you remotely login to your cab and give me the output of DISPLAY=:0 xrandr ? (to know which resolution was set)
- You mentionned LXDE : was it displaying fine even if menus are empty ? (to make sure that it's only an attract issue, LXDE and attract share the same X config)
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 07, 2019, 10:20:32 am
So, 2019.11 is released, catch it here (https://github.com/substring/os/releases/tag/2019.11). The changelog on this release page is now automatically built using the git commits that happened since the previous release. Most notable changes are groovymame 0.215 and attract mode 2.6.0.

The "no menu in LXDE" should be fixed, though I haven't had time to test it in the release. The cause has been identified : building the ISO changes many files' owner to root, including those that should belong to the arcade user. issing a sudo chown -R arcade:arcade /home/arcade fixes the problem.

It might be necessary to have a staging version which would have under development features. Personally, I do not own enough different configurations to confirm good working conditions in relation to non ATI hardware. Even for the ATI portion I am mostly using the 5000 generation chipset. I am also looking forward to getting in touch with the AMDGPU to see if newer generation can bring some good setup (i.e. Ryzen)

Technically speaking, with how I've setup the CI on my fork, it's pretty easy to have a new Arch repo where we can (manually) build the kernel and make it available easily. Just need to add a new repo to the pacman.conf which must be before the testing and stable repos to avoid conflicts on packages. My linux-15kHz package is just the arch PKGBUILD version which is patched with sed (in case a .patch file would not work) and a .patch file for some more static parts of the PKGBUILD. This way it's pretty robust to upstream minor changes (like linux version bump). The only thing is that this kernel must be manually triggered in the CI (as of now, this can be changed). I can give you rights to full around with this. Only downside as of today : if the CI triggers the build on my PC (which is not always on), you're a lucky guy. If not, it will be built on a atom Z8350, so expect 10h of build (can't even use ccache because of some damn timestamps in headers)
Title: Re: Collaborative effort for GroovyArcade
Post by: b4nd1t0 on November 07, 2019, 12:04:48 pm
i've downloaded the last release and i can test it,
... try adding video=DVI-I:e to force the output to enabled. Using EDID or not, you must get the splash screen.
where should I put video=DVI-I:e? I didn't understand, sorry.
This is the content of syslinux.cfg
Code: [Select]
UI vesamenu.c32
PROMPT 0
TIMEOUT 3000


MENU BACKGROUND splash.png
menu clear
menu margin 0
menu rows 10
menu vshift 9
menu tabmsgrow 15
menu cmdlinerow 16
menu helpmsgrow 16
menu helpmsgendrow 29


# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu

menu color border * #00000000 #00000000 none
menu color title 0 #ffffffff #00000000 none
MENU COLOR sel   7;37;40 #e0ffffff #20ffffff all
menu color unsel 0 #ffffffff #00000000 none
menu color help 0 #ffffffff #00000000 none
menu color timeout 0 #ffffffff #00000000 none
menu color timeout_msg 0 #ffffffff #00000000 none
menu color tabmsg * #ffffffff #00000000 none
menu color cmdmark 0 #ffffffff #00000000 none
menu color cmdline 0 #ffffffff #00000000 none
#---------------------

LABEL [EDID 15khz]
MENU LABEL [EDID 15khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash drm.edid_firmware=edid/arcade_15.bin
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11 root=/dev/disk/by-label/GA_2019.11

LABEL [EDID 25khz]
MENU LABEL [EDID 25khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash drm.edid_firmware=edid/arcade_25.bin
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11 root=/dev/disk/by-label/GA_2019.11

LABEL [EDID 31khz]
MENU LABEL [EDID 31khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash drm.edid_firmware=edid/arcade_31.bin
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11 root=/dev/disk/by-label/GA_2019.11

LABEL [DVI-1 15khz]
MENU LABEL [DVI-1 15khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=DVI-I-1:640x480ec
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [VGA-1 15khz]
MENU LABEL [VGA-1 15khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=VGA-1:640x480ec
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [DVI-2 15khz]
MENU LABEL [DVI-2 15khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=DVI-I-2:640x480ec
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [VGA-2 15khz]
MENU LABEL [VGA-2 15khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=VGA-2:640x480ec
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [NTSC DVI-1 15khz]
MENU LABEL [NTSC DVI-1 15khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=DVI-I-1:720x480ec
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [NTSC VGA-1 15khz]
MENU LABEL [NTSC VGA-1 15khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=VGA-1:720x480ec
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [PAL DVI-1 15khz]
MENU LABEL [PAL DVI-1 15khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=DVI-I-1:768x576ec
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [PAL VGA-1 15khz]
MENU LABEL [PAL VGA-1 15khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=VGA-1:768x576ec
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [SVGA/LCD Monitor]
MENU LABEL [SVGA/LCD Monitor]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x317 video=
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [DVI-1 15khz pci=nomsi (Use for buggy motherboards)]
MENU LABEL [DVI-1 15khz pci=nomsi (Use for buggy motherboards)]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz pci=nomsi quiet rd.udev.log-priority=3 splash vga=0x311 video=DVI-I-1:640x480ec
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [VGA-1 15khz pci=nomsi (Use for buggy motherboards)]
MENU LABEL [VGA-1 15khz pci=nomsi (Use for buggy motherboards)]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz pci=nomsi quiet rd.udev.log-priority=3 splash vga=0x311 video=VGA-1:640x480ec
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [DVI-1 15khz Disable VGA intel i915 (Use for buggy motherboards)]
MENU LABEL [DVI-1 15khz Disable VGA intel i915 (Use for buggy motherboards)]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz i915.modeset=0 quiet rd.udev.log-priority=3 splash vga=0x311 video=DVI-I-1:640x480ec
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [VGA-1 15khz Disable VGA intel i915 (Use for buggy motherboards)]
MENU LABEL [VGA-1 15khz Disable VGA intel i915 (Use for buggy motherboards)]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz i915.modeset=0 quiet rd.udev.log-priority=3 splash vga=0x311 video=VGA-1:640x480ec
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [DVI-1 25khz]
MENU LABEL [DVI-1 25khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=DVI-I-1:512x384ez
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [VGA-1 25khz]
MENU LABEL [VGA-1 25khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=VGA-1:512x384ez
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [DVI-2 25khz]
MENU LABEL [DVI-2 25khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=DVI-I-2:512x384ez
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [VGA-2 25khz]
MENU LABEL [VGA-2 25khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=VGA-2:512x384ez
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [DVI-1 31khz]
MENU LABEL [DVI-1 31khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=DVI-I-1:640x480ey
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [VGA-1 31khz]
MENU LABEL [VGA-1 31khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=VGA-1:640x480ey
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [DVI-2 31khz]
MENU LABEL [DVI-2 31khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=DVI-I-2:640x480ey
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [VGA-2 31khz]
MENU LABEL [VGA-2 31khz]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash vga=0x311 video=VGA-2:640x480ey
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL Boot from first Hard Drive
MENU LABEL Continue to Boot from ^First HD
KERNEL chain.c32
APPEND hd1

LABEL [VGA-1 15khz Log]
MENU LABEL [VGA-1 15khz Log]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz vga=0x311 video=VGA-1:640x480ec
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11

LABEL [SVGA/LCD Monitor Log]
MENU LABEL [SVGA/LCD Monitor Log]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz vga=0x317 video=
INITRD /groovyarcade/boot/x86_64/initramfs-linux-15khz.img
APPEND archisobasedir=groovyarcade archisolabel=GA_2019_11
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 07, 2019, 04:07:27 pm
I'm very sorry I should have explained it before ! All apologies  :notworthy:

So, this is the file from the DVD which you can't edit, but the one once installed on a hard drive is a lot shorter. Here it is, in my case, installed in virtual box with LCD screen setting :
Code: [Select]
default arch
timeout 0
prompt 0
#UI vesamenu.c32
menu title Groovy Arcade Linux
menu background GA.png
label arch
menu label GroovyArcade
linux ../vmlinuz-linux-15khz
append root=/dev/disk/by-label/GA rw quiet splash rd.udev.log-priority=3
initrd ../initramfs-linux-15khz.img

The interesting line here is append root=/dev/disk/by-label/GA rw quiet splash rd.udev.log-priority=3. This line lists the kernel boot parameters. The file on your hard drive should already be configured the way you wish. If you want to enable edid, the best is to :

First, you should make a backup copy, in case : sudo cp /boot/syslinux/syslinux.cfg /boot/syslinux/syslinux.cfg.ok. You can restore your backup with sudo cp /boot/syslinux/syslinux.cfg.ok /boot/syslinux/syslinux.cfg. If EDID doesn't work, you'll get a black screen, but you can still use SSH (use putty in windows) to connect to it and solve problems.

In case, I'm on keilmillerjr's discord.
Title: Re: Collaborative effort for GroovyArcade
Post by: keilmillerjr on November 07, 2019, 04:49:10 pm
ArcadeMVS discord (chat server): https://discord.gg/tJmWCgf
Title: Re: Collaborative effort for GroovyArcade
Post by: b4nd1t0 on November 13, 2019, 05:27:58 am
sorry for the delay but I have very little time for the tests, however I can confirm that attract is out of sync, I tried to adjust the monitor but without result. The PC is not online and I have no way to access it otherwise, any advice? Obviously my other installation on another hdd is working and attract is at 640x480
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 13, 2019, 05:46:31 am
I need more info : which monitor have you chosen in gasetup ? I guess timings just don't fit your monitor, games haves most chances to use different timings.
Title: Re: Collaborative effort for GroovyArcade
Post by: b4nd1t0 on November 13, 2019, 05:55:20 am
the monitor is generic-15, the arcade it doesn't work for me
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 13, 2019, 06:23:35 am
and which monitor do you actually own ?

Edit : do you mean the same monitor works in the original Groovy Mame ?
Title: Re: Collaborative effort for GroovyArcade
Post by: b4nd1t0 on November 13, 2019, 06:37:06 am
do you mean the same monitor works in the original Groovy Mame ?
yes, exactly
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 13, 2019, 08:14:32 am
ain't the polo28 a tri-sync ?

anyway, I'll dig in the timings of generic_15 and find what could have changed between ves and me (apart from ATI drivers)
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 27, 2019, 05:18:13 pm
So, time for monthly news before kernel 5.4.1 and groovymame 0.216 are integrated.

Except unuseful things to mention, I've been working pretty hard on a script to "auto-detect" screen configuration. So this made me reduce the number of entries in the syslinux boot menu, as well as remove EDID menu options. So we're just left with 6 entries: 15kHz, 25 kHz, 31kHz, LCD, NTSC and PAL. Don't just shout yet with "Hey DVI-1/VGA-1/etc is now missing, my screen will never be detected!", and read till the end ;)

This script I told about will first turn on all video outputs (yeah mister sceptical, even the ones that are missing from the boot menu!), make sure you do see the very first message, then test outputs one by one in a clever way. If it detects an EDID, we know for sure a screen is connected and working. If you have a EDID dongle with a switchres edid in it, you shall be blessed! Every time a screen is turned on, a message is displayed for 5 seconds waiting for the user to confirm he sees the message. If no key was pressed, it means no message could be displayed, so no screen is connected. At the end, once all outputs have been tested, time to take decision on which screen seems the best, and what should be configured inside the OS to have it working. Icing on the cake: depending on your GFX card, the script will eventually recommend using EDID emulation.

The sad thing is that it won't hit the 2019.12 release, there is still much to be done. But once this is over, I can work on improving user experience (things like configuring wifi which is a total pain for now, add desktop UI where possible so people don't have to browse through some menus). And I'm still working on a desktop version of the gasetu script. Working rather fine I'd say, but having a tool that works the same on console or desktop implies some rewrites here and there, which takes time, as usual ...

If some people would like to test that auto-detect script, I can provide a link and instructions on how to use it. I did my best to test all possible cases, but I'm pretty sure I missed some.
Title: Re: Collaborative effort for GroovyArcade
Post by: Doozer on November 28, 2019, 04:50:22 am

Well done Substring, thank you for your time and efforts. Much appreciated :)
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on November 28, 2019, 04:57:00 am
Hi Substring,

These days I've been experimenting with Ves around the EDID emulation option too, I still need to check whether forcing the EDID on all outputs (which works great on detectable monitors) actually works or not on non-detectable monitors. I'd like to test your auto-detect script too, I'm really interested.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 28, 2019, 06:26:03 am
Regarding EDID emulation, here is my feedback:
- works fine with traditionnal radeon driver
- got no card to test amdgpu driver
- i915 seems not to work
- nouveau seems not to work unless patched (to remove the low dotclock limit warning). I asked Doozer his opinion on a patch I sent him, I'll let him tell his opinion about it. Even though I could get EDID emulation working, I had (much) tearing that I never had with radeon.

To be continued ...

I'll give the testing process once I get enuogh time to write a little tuto ! The script can even suggest kernel command line parameters to add ;)

On a side note, it's sad we're splitting our efforts each on our side regarding EDID emulation. I can tell you it works, that you don't even need to configure X after (at least on a TV that was seen by Linux, I don't have the case where the monitor is not detected by the OS). EDID emulation can be forced system wide, not just specific to a connector. We should really share our experiments and results in a more efficient way and not waste time this way ... Remember the name of the topic : "collaborative effort" ;)
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on November 28, 2019, 07:06:16 am
On a side note, it's sad we're splitting our efforts each on our side regarding EDID emulation.

I'm doing what's in my hand to avoid this splitting of efforts, trust me.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 28, 2019, 07:05:04 pm
So, a short doc on how ot use the autoconfigure. A few disclaimers or things to do first:
- it's still beta, don't try it on your main rig
- backup mame.ini, switchres.conf, ga.conf as the script will probably set the monitor
- also backup your xorg.conf for the same reason
- during my tests, I faced a weird issue : forcing HDMI-A-1 to on just turned off VGA-1 on one of my PCs. Why, no idea.
- the script may report KO if it detects it can use EDID but can't find the .bin files in the required places (i.e. /usr/lib/firmware/edid and inside initramfs). If, at least, it turned on your screen and you could confirm seeing the dialog, most of the process is done. I'm still interested in the output
- the script only cares about the best possible monitor for MAME. If you run this on a dual monitor, it will try to guess the setup for the arcade monitor. In other words : LCD panels are the last thing the script cares about, and having 2 arcade monitors plugged is not yet recommended, the script will care only about one of them.

Pre-requisites:
- you need espeak-ng sudo pacman -Sy espeak-ng
- you need easybashgui (which is included in my fork of GA). You may download it with wget https://github.com/substring/packages/releases/download/stable/easybashgui-11.0.1-1-any.pkg.tar.xz and then sudo pacman -U easybashgui-11.0.1-1-any.pkg.tar.xz
- not sure, but could be useful to download and install my patched switchres wget https://github.com/substring/packages/releases/download/stable/switchres-1.53.1-2-x86_64.pkg.tar.xz and then sudo pacman -U switchres-1.53.1-2-x86_64.pkg.tar.xz

The script is very talkative with some 90s quality text-to-speech (despite a tts program in just a few MB is pretty awesome and it's quite audible), this makes the process look even more retro  :lol

I'd be pretty intereted in the final output. It should look like (depending on your rig and your answers, of course) :
Code: [Select]
DP-1: x
DVI-I-1: x
HDMI-A-1: l

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

Short explanation of the final output :
- connectors are listed with the results of diagnostics. Explanation is available here (https://gitlab.com/groovyarcade/tools/gatools/blob/master/video/video.sh#L505-510). A s may precede x e r o or l if you made a switchres EDID dongle with my version of switchres (witch sets the monitor name instead of the Serial number). Quite useful hehehe
- the script makes a proposition of what you should append to your kernel command line. In the example above (which is a copy/pase of 2 different cases, so the kernel recommandation doesn't correspond to the connectors tests), the script detected a LCD panel on HDMI-A-1. The last line is the result of detecting an arcade monitor which output must be forced at boot, and applying EDID of the generic_15 monitor preset.

Feedback greatly appreciated. There is a groovy.log that should contain much info on what happened, and the result of decisions taken. I'm also interested in that file.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on December 01, 2019, 04:58:04 pm
So, 2019.12 is out, nothing special about the release. Got mame 0.216, linux 5.3.13 (I wanted to wait for the 5.4.1 release but no ETA, and I've got some plans ...).

Now will start the big work to integrate screen auto detection (with the help of user). Luckily, I'll be able to provide beta isos that anyone can burn on a pendrive.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on December 04, 2019, 01:52:44 pm
Guyz, I'm glad to announce the beta for screen autoconfiguration is open ! Grab your iso at https://github.com/substring/os/releases/tag/16-integrate-gatools-screen-detection-at-boot ! Burn it to a USK key start as BIOS mode, not UEFI

Things to know :
- the boot menu is now quite shortened. Fo those of you who have no 31kHz boot, here is what you miss and need to chooe the right option
- I'm mostly interested in the confirmation sc---reen + your setup, I've attached an example. There is a misleading text that would happen if you have no AMD GPU + LCD screen : it will report EDID emulation is not supported and resolution must be forced. This text is misleading, but technically no resolution will be forced
- If you accept, a few options will be set, including mame and switchres, but part of the magic is done when loading the kernel. So settings will be applied if you install GroovyArcade (which you can do of course, should work, but this is not the object of this beta). Still, you should be able to test the frontend and launch a ROM shipped with the iso.
- If you are on a full 15kHz only rig, fear not! The script will talk to you and will turn on your screen, so you'll have to confirm you do see something. That way, the script knows how to setup the OS.

Finally, here is a little video of the ISO booting in Virtual Box. Well, nothing magic, but that's a good example.

https://youtu.be/evxBP5EIxME

Edit : well sound is totally out of sync of the video, it was supposed to speak after informing about screens turning on and off  :lol Virtual Box did bad recording the video, bummer
Title: Re: Collaborative effort for GroovyArcade
Post by: Banane on December 31, 2019, 11:29:21 am
I“ve been off for  two months because unfortunately I had other stuff do  ... whoa , A LOT happened.

Thank you so much Substring for pushing this forward   ;D :notworthy:.

Damn, today is new year, hopefully tomorrow I'll download your latest ISO and test the script  :cheers:


Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on December 31, 2019, 02:54:25 pm
Glad to see you back :)

The script is still a little buggy but should work overall.

Got some other great news coming soon (I hope)  :D
Title: Re: Collaborative effort for GroovyArcade
Post by: Banane on January 01, 2020, 10:37:32 am
Happy new year  :cheers: . Really looking forward to your updates  ;D
What "channel" is the best for giving testing feedback ?  This thread here, your github-repo or the 'new' gitlab repo ?  :)

Test-Setup (see attached picture)

Test1 / Script Autoconfiguration: : Just used a SVGA-CRT on VGA of PCIe-R230, selected SVGA/LCD. Result see attached picture. (Connector war detected, video card doesnt support EDID, no monitor detected). The same with the HD6450 with DVI2VGA-Adapter.
Is there a shortcut I can use too see the output to tty1 'behind' the graphical menu ? It“s not tty7 (Edited: Oh well, I can parse /var/log/groovy.log ::) )
 

Test2 / GA-Installer on NVMe SSD: :  Autoformat /dev/nvme0n1 doesn“t work. Partitions are created but I guess the root partition (e.g /dev/ nvme0n1p3) is not formatted correctly. When I repeat the setup, use the auto applied partition layout from the last step and install to root partition (/dev/ nvme0n1p3) manually, arch is installating correctly and I can boot from HDD.  What script is called here? In what logfile can I see the output (or again, is there a shortcut to see the output on tty1? ). The Installer says it“s copying the files to /dev/nvme0n13 instead of  /dev/nvme0n1p3 - so I guess it“s just a parsing error of the script  :applaud: )
-------------------------------------------------------------
(Edited: I'm no developer, but I got this far:

grep -rnw '/' -e 'Copying Groovy'
nano /opt/gasetup/core/procedures/interactive
--> worker_auto_partition()
--> line: mkfs.ext4 -F -O ^64bit -q ${DEVICE}${ROOTNUM}


which leads to /dev/nvme0n13

How about ?:
ROOTPART=$(fdisk -l ${DEVICE} | awk '{print $1}' | grep ${ROOTNUM})
mkfs.ext4 -F -O ^64bit -q ${ROOTPART}

which would lead to /dev/nvme0n1p3
-------------------------------------------------------------






Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 02, 2020, 03:49:33 am
Hey Banane thank you for your feedback ! And Happy new year ;)

For test 1, there is a minor bug that has been solved since : the final result should have said "Connector VGA-1 was detected". I've fixed this bug a little while ago, haven't pushed yet the changes. What I'd like you to confirm is :
- have you heard the voice speaking ? You may not have turned your speakers on haha
- has your monitor been turned off, turned on and you could confirm it was your arcade monitor ?
For the "video card doesn't support EDID", it means you're not using a AMD/RADEON card, but this seems false. I think there was also a bug regarding this that I haven't pushed yet ... Now a small question : do you know if your GPU uses the amdgpu or radeon driver ? Don't rely on the lsmod result, I load nouveau i915 amdgpu and radeon from initramfs to get the splash logo. Have a look at dmesg.
Next thing I'd like you to test is starting the frontend right after the monitor setup.
Just for a general information : SVGA/LCD means a monitor tha has EDID (or DDC) capabilities ;)

Regarding test 2, I've already filled an issue on my side regarding the non detection ov NVMe SSD. I wouldn't mind you try the command listed there (https://gitlab.com/groovyarcade/gasetup/issues/4) and give me the result. Regarding the partition name, it's just a display, so it's a minor bug ;) But your fix looks right. I haven't done much in gasetup for a while
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 02, 2020, 04:32:22 am
Happy News Year everyone :)

Been working hard on linux kernel patches during December, leaving GroovyArcade a little aside ... I'll go in a few technical details for people who are interested into that.

So, while testing this beta release, I was looking for a way to dynamically force an EDID. After some kernel code reading, a few commands here and there : bingo! This IS possible. But this wasn't possible everytime and got me quite confused, until I narrowed down to the precise case where forcing EDID doesn't exist : using the 15k modelines patched into kernel. It took me a few weeks of debugging + kernel compilation + patching to find the root cause of that. And the root is indeed the 15k patch. Despite it provides some 15kHz resolution, it has 2 major drawbacks : it blocked the EDID on-the-fly loading + the 15k modeline wasn't "advertised" by DRM. Although most people wouldn't care about EDID reloading, the second problem mislead everyone to believe that setting EDID at boot time was the way to go (see http://forum.arcadecontrols.com/index.php?topic=140215.0).

A little patching here and there in the kernel code confirmed that the 15k patch was a little too brutal and had to fit better how DRM processes resolutions. So I've rewritten the 15k patch and results are great : I have plug'n'play X when I use a switchres resolution at boot time! That's a major leap forward for 2 reasons. The 1st reason is that this new patch is much better integrated into the kernel, cleverly handles situations where the kernel fallbacks to old GTF resolutions when none was found. The second reason is that it respects modelines validation (at DRM level, and at driver level), so in the end, DRM advertises the 640x480i (or any other resolution the 15k patch handles) at sysfs level, making it available to any software including X. Xorg gets the 640x480i resolution from the kernel and natively uses it, no need to go anymore the EDID way!

But in Linux we're facing another major problem. Although Radeon GPUs (please note I'm not saynig AMD GPUs, we have no clue on them yet) have always been considered the best for 15k display (and this is true), Intel or NVIDIA are a much different story. 15k resolutions are rejected by the drivers. It's hard to tell if it's because Intel or NVIDIA decided 31.5kHz would be the minimum horizontal frequency, or if it's to avoid some hardware problems (like a DAC that can't handle such low resolutions, or refuses interlace), but I'm also digging on how to make them work. Looks like I could get this done for NVIDIA, gotta test in Intel too. Once again, when this seems like it can be tested, I'll publish a beta ISO :)

So, not much happened on GroovyArcade itself, but there are some major breakthroughs that GA will soon benefit hopefully :)
Title: Re: Collaborative effort for GroovyArcade
Post by: Banane on January 03, 2020, 07:34:16 am
For test 1, there is a minor bug that has been solved since : the final result should have said "Connector VGA-1 was detected". I've fixed this bug a little while ago, haven't pushed yet the changes. What I'd like you to confirm is :
- have you heard the voice speaking ? You may not have turned your speakers on haha
- has your monitor been turned off, turned on and you could confirm it was your arcade monitor ?
For the "video card doesn't support EDID", it means you're not using a AMD/RADEON card, but this seems false. I think there was also a bug regarding this that I haven't pushed yet ... Now a small question : do you know if your GPU uses the amdgpu or radeon driver ? Don't rely on the lsmod result, I load nouveau i915 amdgpu and radeon from initramfs to get the splash logo. Have a look at dmesg.
Next thing I'd like you to test is starting the frontend right after the monitor setup.

I“ve tested it on a regular LCD monitor now, you“re right, it“s just the output which is not correct. The monitor itself is detected, the config is created. I will just wait for your update/pushes  :)
Quote
Regarding test 2, I've already filled an issue on my side regarding the non detection ov NVMe SSD.
I answered the issue in gitlab :). Thanks

Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 03, 2020, 09:16:03 am
Wow, thank you for all that positive feedback. My kernel hacking is almost over, so I'll spend more time on groovyarcade now.

Thanks to your report on gitlab, I know that I can safely detect all hard drives. For the worker_auto_partition(), I'll see how to solve that part. Your code has a little problem with devices like mmcblk3 or nvme0n3 if such ever exist. And I wouldn't use fdisk for that, blkid is a much better tool in that case ;) Can you try as root (or just sudo blkid):
Code: [Select]
DEVICE=/dev/sda
ROOTNUM=3
blkid | cut -d ":" -f1 | grep -oE "${DEVICE}[[:alnum:]]?${ROOTNUM}$"

Looks fine on my side.

Title: Re: Collaborative effort for GroovyArcade
Post by: Banane on January 03, 2020, 10:01:26 am
I totally agree, blkid is better, not doing the same mistake again  ;)

Code: [Select]
[arcade@GroovyArcade ~]$ DEVICE=/dev/nvme0n1
[arcade@GroovyArcade ~]$ ROOTNUM=3
[arcade@GroovyArcade ~]$ blkid | cut -d ":" -f1 | grep -oE "${DEVICE}[[:alnum:]]?${ROOTNUM}$"

/dev/nvme0n1p3

Even better - works  :)

And again, big thumps up for the kernel debugging you made (the big message just before)  :notworthy:

I'm fully pleased:
:applaud:

Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 03, 2020, 11:49:34 am
Thank you for your encouragements :) this keeps me motivated for GA :)

I'd like to say that, even if they don't say much and some people tend to believe they have other stuff to do, Calamity, Doozer and KeilMillerJr also work as much as they can on their side. It's not becuse they are not as "talkative" as me here that they lost their interest for the project ;) Things are still going, ideas here and there, a few of them are even quite ambitious, but I think we can make it  8)
Title: Re: Collaborative effort for GroovyArcade
Post by: keilmillerjr on January 03, 2020, 07:55:49 pm
Im always interested, and try to follow the conversation every day. Honestly, much of what you and calamity talk about is over my head. Hence me just reading. Hope your new years was good! I took a 1 week break from attract.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 05, 2020, 03:10:51 pm
Hey!

New version released at https://github.com/substring/os/releases/tag/16-integrate-gatools-screen-detection-at-boot.

Major changes:
- should detect NVMe drives
- should properly handle partition numbers for whichever disk device
- screen configuration should be fixed

Remaining known bugs:
- if a drive has a space name, it will be split over 2 lines. Just select the one starting with /dev/...
- even if GA was configured with user help, the installer still requires to set the monitor type.
Both of them should be fixed soon (I hope)
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 06, 2020, 05:51:10 am
Remaining known bugs:
- if a drive has a space name, it will be split over 2 lines. Just select the one starting with /dev/...
- even if GA was configured with user help, the installer still requires to set the monitor type.
Both of them should be fixed soon (I hope)
fixed and available at the same link above
Title: Re: Collaborative effort for GroovyArcade
Post by: Banane on January 06, 2020, 02:39:38 pm
Thank you very much, the output of the autodetection script is fine now.  Monitor goes off and on and I can start the frontend right afterwards  :)

The NVMe drive issue I commented here : https://gitlab.com/groovyarcade/gasetup/issues/4
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 06, 2020, 05:53:32 pm
Issue amended with some comments, but luckily QEMU can emulate NVMe drives, so I could test on my side and it should be fixed by now. Anyway, I've updated the iso, if you can confirm the fix :)
Title: Re: Collaborative effort for GroovyArcade
Post by: Banane on January 08, 2020, 02:33:56 pm
I replied to the issues again. format and creation of filesystem now works fine (stepping forward  ;) ), but there might be another parsing error afterwards (pacstrap, mkinitcpio, grub  or so).

Both boot and root partition stay empty.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 08, 2020, 03:53:25 pm
My bad, should be fixed now
Title: Re: Collaborative effort for GroovyArcade
Post by: Banane on January 09, 2020, 01:33:26 pm
Perfect - it is :D. Thank you !
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 09, 2020, 03:00:12 pm
Nice ! If you ever have time to test with arcade monitors and different GFX cards, I'd appreciate ;)
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 09, 2020, 05:05:31 pm
New monthly release at https://github.com/substring/os/releases/tag/2020.01 !

All updates are listed on the release, but here are the main features :
- linux 5.4.8
- fixed installation on NVMe drives (thank you Banane for your help)
- interactive monitor setup at boot. You can't beat this with Windows hahaha
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on February 07, 2020, 07:11:41 am
I'm interested in trying this out, is it still limited to Radeon cards? Also how is sync being handled? Can I expect a csync signal on the VGA hsync line?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 07, 2020, 07:42:03 am
I'm interested in trying this out, is it still limited to Radeon cards? Also how is sync being handled? Can I expect a csync signal on the VGA hsync line?

Hey there !

Radeon cards: yes and no. They are the best so far because they allow low dotclocks, whereas Intel and Nvidia refuse any modeline which pixel clock is lower than 25MHz, which makes it hard for a genuine 15kHz without some dirty tricks. Intel are probably the worst case as it's hard to have a full control of the hardware chain between a iGPU and the VGA connector. Resultts can pretty much vary. Although I've made a patch to circumvent the 25MHz limit, this can have side effects on some specific hardware, so it's pretty risky as of now, and not shipped.

Sync is handled like normal VGA sync, so you have both HSync and VSync on  their respective line.

One more word to make the difference with windows setups : no need to configre modelines one by one. Just configure your monitor type, groovymame will always choose the closest resolution to th original hardware. Look at the video I made earlier concerning autoconfiguration, you'll see it's pretty easy for a basic setup. Configure your screen, then you're ready to play free roms shipped with GA :)
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on February 07, 2020, 08:25:21 am
Well, the situation with Intel and Nvidia on Linux is probably not as dark as painted by Substring, specially with Nvidia. Intel Iris has been reported to work with low dotclocks just fine. The 25 MHz limitation is not a problem as long as you use super resolutions in GM, which is the way to go nowadays anyway.

The problem, from the user point of view, is more in the fact that GA was designed assuming that you had no low dotclock limitations, so it will boot on 640x480 by default, and forcing it to boot on a double width mode such as 1280x480 in order to bypass dotclock limitations requires some non-trivial user input, as it is now.

So I'd say GA supports all GPUs, it's only that with Radeons things are more plug and play.
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on February 07, 2020, 02:27:35 pm
Maybe I'm an idiot, but what's a good way to get csync from a GA setup? Even with the old ga I couldn't do it and it was frustrating because that's what my monitor wants.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 07, 2020, 04:15:52 pm
I'm.not so much into signals, but how isnit different from combining hsync and vsync ?
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on February 07, 2020, 04:53:45 pm
Everything I've read online is people getting all armchair-expert and saying it's not as simple as just bridging the H and V sync lines, but haven't been about to figure out why or how these people expect it to be done properly.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 07, 2020, 05:48:04 pm
well, for 10€, my spanish VGA2SCART does the most basic CSYNC and it does work.

@Calamity of course nvidia and intel can work, but never at the original resolution, or even something hardly close. Unless fancying with super resolutions the same mess as on windows, but I don't think it's really usable the same way as on windows, are thse GPUs worth ?
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on February 07, 2020, 06:31:08 pm
Quote from: Substring
@Calamity of course nvidia and intel can work, but never at the original resolution, or even something hardly close. Unless fancying with super resolutions the same mess as on windows, but I don't think it's really usable the same way as on windows, are thse GPUs worth ?

Super resolutions work the same way on Linux, and it's anything but a mess. Intel gpus are crap and Nvidia is a horrible company but they can run GM on Linux with zero compromises. You do have compromises regarding frame buffer and desktop resolutions, which will make setup harder unless you know how to bypass the issues.

Since you can scale horizontally to meet dotclock requirements, as long as you keep the vertical resolution, you're still "pixel perfect". One might have a valid objection to using super resolutions because of fractional scaling, but in Linux you can be smarter by just setting -dotclock_min 25.0, which will automatically promote the horizontal resolution to the first multiple that meets the dotclock, and still use integer scaling. Signal-wise, the result is identical to using "native" resolutions, it's absolutely the same thing. And the advantage is that geometry is better in general since the granularity for adjusting blanking gets much finer.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 07, 2020, 07:22:01 pm
FEBRUARY 2020 UPDATE

A major change will hit the reopsitory:
KERNEL: this one is a big change. I've started rewriting the 15kHz patch to make it more flexible, more "kernel compliant" and respectful of resolutions handling. This opens the kernel for easier hacking later, but has a major drawback for people who have an existing rig with groovyarcade: upgrading to 5.5.x means editing /boot/syslinux/syslinux.cfg and manually edit the video=... param. Here is the rule:
  - remove c or z, replace it with S
  - you must specify if the resolution is interlace b adding an i after the resolution
  -> examples:
      video=320x240ec becomes video=320x240eS
      video=640x480ec becomes video=640x480eiS
See https://github.com/D0023R/linux_kernel_15khz#since-55

feel free to ask any question

Title: Re: Collaborative effort for GroovyArcade
Post by: Recapnation on February 08, 2020, 08:00:11 am
but in Linux you can be smarter by just setting -dotclock_min 25.0, which will automatically promote the horizontal resolution to the first multiple that meets the dotclock, and still use integer scaling. Signal-wise, the result is identical to using "native" resolutions, it's absolutely the same thing.

I don't see myself ever using LX, but really glad to read that!
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 08, 2020, 09:08:54 am

I don't see myself ever using LX, but really glad to read that!

Not trying to convince you, but I'm curious to know why, what you'd expect from an arcade linux distro, and what could make you consider giving a try.
Title: Re: Collaborative effort for GroovyArcade
Post by: Recapnation on February 09, 2020, 07:08:25 am
Here's just a few reasons:

(http://geedorah.com/postback/extra/misc/not_on_linux_a.png)
(http://geedorah.com/postback/extra/misc/not_on_linux_b.png)
(http://geedorah.com/postback/extra/misc/not_on_linux_c.png)


You really need a 15-kHz set-up to properly play some of the best action games for WIN (much like you need another for 31-kHz, but I'll stop there), not to mention some key emulators MAME just can't compete with at the moment and have no LX version (how's Retro Arch on LX?). So there's no point (for now, at least) in messing also with LX for anyone interested in this stuff (and I really see no reason for not being interested if you are in MAME, but maybe that's just me).
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 09, 2020, 07:48:17 am
Which key emulators are missing ?

Regarding linux mame that can't compete vs win mame, i'm not so sure. Sadly no one with GILT has tested input lag in linux. But although linux seemed to have always been 1 frame behind windows, i think we've found the reason.

Now, a few cons fir linux if you have a good 15k setup (which means Radeon gpu):
- takes less than 10 minutes to install, configure and play your first rom. You can even test without installing
- no need for super resolutions, all mame games are played at native resolution
- no limits on the number of 15k possible resolutions, except if they come from your hardware
- no need to boot in safe mode, tweak anything that is driver related

What one could tell me is that the linux task scheduler is not made for gaming, which can result in worse performance than windows. This has been proved. Nevermind, i can add a real time kernel to linux and test again. But please, no prejudices, just facts. Missing emulator is a fact, mame in linux sounded more like a prejudice.

I'm really not stating that linux is better than windows, i need some true facts that would lead me on how to shrink the gap
Title: Re: Collaborative effort for GroovyArcade
Post by: Recapnation on February 09, 2020, 09:13:35 am
I never said anything regarding MAME for LX vs. MAME for WIN (I even thought that it was already proven that they're equal when measuring input lag, at this point). I'm in no position to discuss about that, and honestly, my hope is to never be. But if you ask me why WIN is better than LX (in the context of "15/31-kHz gaming", what else), I have reasons for the whole day.

As for key emulators without LX version, you need the Retro Arch cores for decent FC/NES, SFC/SNES, MCD and PCE emulation. Some would say that even PS and GBA. Not sure how the LX version of RA performs on 15-kHz systems. PC-88 Mark II SR, PC-9800 series and FM Towns do require standalone emulators as of now. Sega's Model 2 and Model 3 (and Sony's ZN?) seem to also benefit from standalone emulators against MAME.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 09, 2020, 09:26:32 am
I never said anything regarding MAME for LX vs. MAME for WIN (I even thought that it was already proven that they're equal when measuring input lag, at this point). I'm in no position to discuss about that, and honestly, my hope is to never be. But if you ask me why WIN is better than LX (in the context of "15/31-kHz gaming", what else), I have reasons for the whole day.

As for key emulators without LX version, you need the Retro Arch cores for decent FC/NES, SFC/SNES, MCD and PCE emulation. Some would say that even PS and GBA. Not sure how the LX version of RA performs on 15-kHz systems. PC-88 Mark II SR, PC-9800 series and FM Towns do require standalone emulators as of now. Sega's Model 2 and Model 3 (and Sony's ZN?) seem to also benefit from standalone emulators against MAME.

RA works fine in Linux for 15kHz. Ben Templeman (aka alphanu) developped the 15kHz for both win and linux. It's based on super resolutions, not the xrandr lib but shell calls to the xrandr binary (last time I checked), but it does work. More on his YT channel (https://www.youtube.com/channel/UCT73WExrpXVzgeo33hOvvYw/videos).

Regarding Nintendo consoles, higan runs on Linux. Sega consoles emulation is WIP, haven't tested it tbh.

Sega Model 3: supermodel runs on linux
Sega Model 2: windows only unless you go the mame way

I was expecting some "user experience is dreadful on linux" ;) Which is true, but I'm doing my best to make things as easy as windows to be used.
Title: Re: Collaborative effort for GroovyArcade
Post by: Recapnation on February 09, 2020, 10:11:55 am
Yeah, sorry for not being of help there; I wish you luck.

Higan is not the one to pick for action games (or for a low-res display, last I checked). RA's BSNES cores with Brunnis' fixes for better lag figures.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 09, 2020, 10:19:19 am
Anyway, thank you for your opinion  :)
Title: Re: Collaborative effort for GroovyArcade
Post by: sterbehilfe1980 on February 10, 2020, 10:10:11 am
very cool project!  :applaud: will give the latest release this weekend a try. i got a AMD RX560 and a iiyama freesync monitor with W10 in my cab...will freesync work with groovyarcade? because once you go freesync you cant go back!  :notworthy:
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 10, 2020, 11:35:58 am
1st things first : no idea how freesync will behave with Linux. But AMD docs (https://www.amd.com/en/support/kb/faq/gpu-754) specify how one can reach that. The best is probably to remotely do this through SSH while the front end is running.

I'd be quite interested in the results of the various commands you're supposed to run to check and/or enable.

By the way, Calamity added a low input lag in MAME since 0.217 iirc that can be activated with -lowlatency on command line. Works best with VRR monitors.
Title: Re: Collaborative effort for GroovyArcade
Post by: sterbehilfe1980 on February 10, 2020, 12:54:49 pm
1st things first : no idea how freesync will behave with Linux. But AMD docs (https://www.amd.com/en/support/kb/faq/gpu-754) specify how one can reach that. The best is probably to remotely do this through SSH while the front end is running.

I'd be quite interested in the results of the various commands you're supposed to run to check and/or enable.

By the way, Calamity added a low input lag in MAME since 0.217 iirc that can be activated with -lowlatency on command line. Works best with VRR monitors.

thanks for the input. i researched your link and it looks like that amd is at the moment only supporting freesync with displayport. my monitor only has a HDMI port  :hissy: will try groovyarcade anyway...curious to see what you guys allready archived.
Title: Re: Collaborative effort for GroovyArcade
Post by: psakhis on February 11, 2020, 03:52:33 am
Here's just a few reasons:

(http://geedorah.com/postback/extra/misc/not_on_linux_a.png)
(http://geedorah.com/postback/extra/misc/not_on_linux_b.png)
(http://geedorah.com/postback/extra/misc/not_on_linux_c.png)


You really need a 15-kHz set-up to properly play some of the best action games for WIN (much like you need another for 31-kHz, but I'll stop there), not to mention some key emulators MAME just can't compete with at the moment and have no LX version (how's Retro Arch on LX?). So there's no point (for now, at least) in messing also with LX for anyone interested in this stuff (and I really see no reason for not being interested if you are in MAME, but maybe that's just me).

Off topic.
Can you write game title's?   :o

I purpose new topic about CRT Emudriver compatible and non emulated games at low freqs (240p imho).

Thx!
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on February 12, 2020, 04:37:22 pm
Here's just a few reasons:

You really need a 15-kHz set-up to properly play some of the best action games for WIN (much like you need another for 31-kHz, but I'll stop there), not to mention some key emulators MAME just can't compete with at the moment and have no LX version (how's Retro Arch on LX?). So there's no point (for now, at least) in messing also with LX for anyone interested in this stuff (and I really see no reason for not being interested if you are in MAME, but maybe that's just me).

Off topic.
Can you write game title's?   :o

I purpose new topic about CRT Emudriver compatible and non emulated games at low freqs (240p imho).

Thx!

Interestingly enough, most (all? I haven't tested them all) of these games shown are very easy to run on Linux using Proton or Wine with virtually no performance hit, and they should run 15khz no problem too. I'm still dragging my heels on a proper Radeon but there's absolutely no reason these shouldn't work in Linux.
Title: Re: Collaborative effort for GroovyArcade
Post by: rewind22x on February 27, 2020, 02:39:22 am
Just wanted to say thanks for this build.  I'm currently trying to get this to work in an arcade cab.

The 2020.1 build works awesomely with LCD screens.  Currently have it in my arcade1up cab, installed on an Intel cpu / AMD gpu PC, only running MAME.  I tried with the crt cab, but couldn't get it working out of the box.  2020.2, however, does show signs of progress.  I'm able to get to the frontend, everything looks good.  But when i launch a game in MAME, it just goes to black screen.  Probably a resolution error on my part.  Haven't had a lot of time lately to check my settings.  One thing that did break (at least on the three systems I've installed 2020.2 on ) is the history.dat plugin.  Can't get scores to save at the moment.  I'm not looking for a fix or anything, just thought I'd let you know, since it did work in the previous build.

Again, thanks for the images.  I hope you continue to develop this project.  I'm not a linux zealot/windows hater, but I love having a purpose built image that boots right into what I want and not have to spend time ripping out GUI's and dealing with licenses.

Another wish I have is better wifi support.  That seems to be an Arch Linux/adapter issue though.  I can get mine to work, but it won't configure with gasetup.  Need to enable it via the shell.

Cheers!
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on February 27, 2020, 03:27:15 am
Hi rewind22x,

With regards to the black screen after launching MAME, try setting "dotclock_min 25.0" in mame.ini. This will force super resolutions and probably fix the issue.

Wifi support in GA has always been a problem. Hopefully this will be addressed in future versions.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 27, 2020, 06:23:28 am
Hey rewind22x,

Thank you for sharing your experience with us.

Can you give more details about your rig ? That would help diagnose resolutions issue + which config you chose at boot (15/25/31/svga). 2020.1 had some bugs when applying autosetup parameters.

Regarding wifi, yeah it's a real problem for now. Forget any security stronger than WPA, the default network manager can't handle WPA2 or later. I will explore other alternatives with one main requirement : hase a nice GUI for people who like the text setup, and easily editable config files that allow me to script configuration. That's a major feature that will take much time to evaluate and test all network managers with their possible GUIs.
Title: Re: Collaborative effort for GroovyArcade
Post by: rewind22x on February 27, 2020, 11:29:36 am
ASRock B360M-HDV
Intel Core i3-9100F
16 GB DDR4 RAM
AMD Radeon HD 7570
Wells Gardner K7000 (as far as I can tell)
J-Pac
GA 2020.2

It's been a week or so since I set things up, so my memory is probaby off.  But on first boot, I selected 15khz, got into the setup.  It did the autodetect, found the display (DVI > VGA > JPAC > Monitor.  Configured the monitor to Wells Gardner K7000, horizontal, 4:3.

I tried the dotclock settings (both manually editing the mame.ini and using the option in gasetup) but no luck.  The screen goes completely black, like it loses power.  I just tap ESC until I hear the AttractMode music, then hit ESC again, press the down arrow and then Enter.  That gets me to gasetup, which activates the monitor and then I relaunch AttractMode.

I will try installing from scratch tomorrow.  The cab is at work, kind of a 'employer sponsored' pet-project.  We had a Galaga Arcade1Up cab that we gave away at the company xmas party.  It was set up in front of my office door and was pretty popular.  So I convinced my boss we needed a full size cab in the office.  We found someone selling a Marvel vs Capcom cab on craigslist and bought it.  The cab itself is kinda beat, but after some TLC, should look pretty good.  I got it working with Retro-Pie + a Rpi 3+ but wanted something more powerful and reliable.

If you guys have any other ideas, I'd be glad to try them.  I do appreciate the work being put into this project and am fully aware it's a work in progress.  I've had 2020.1 running on my arcade1up cab at home (LCD) and it's been rock solid... except for the black-screen issue.  The joysticks/buttons will not wake it up.  A keyboard press does.  So I tell my kids to just tap the Select button until it launches a game and then the screen appears and they can then decide to play or exit and pick another game.  The JPAC shows up as a keyboard, so no issues with waking on the full size cab here at the office.  Half tempted to just use an iPac2 in the arcade 1up, but at this point, I'm done putting more money into it... until I'm not. lol
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 27, 2020, 12:15:13 pm
This setup should just work out of the box, without even forcing horizontal or 4:3.

Check mame.ini and report the monitor parameter, it could have gone wrong, some older parts of gasetup (the text based tool to configure) may interfere with code I've added. Mame's log (it's up to you to manually start mame, check Calamity's signature) could help understanding which screen resolution was selected, and check if it fits in your screen specs.

Now regarding screen blanking ... So far I couldn't remove it. The Xorg options I tried didn't change a thing, I should dig this further.

Now thanks to your feedback, I could set some priorities on my todo ;) I'm on holidays atm, will get back into coding Sunday ;)
Title: Re: Collaborative effort for GroovyArcade
Post by: rewind22x on February 27, 2020, 04:58:32 pm
Crap, I spaced an important detail.

You are right when you said it worked out of the box.  I just checked the cab out over my lunch break.  I did the 'Force XORG' fix, which borked getting into AttractMode.  Then I went through the Monitor/Orientation/Aspect Ratio setup.  Went back into the fixes and forced the "dot_clock" fix, along withe the "screen tearing" fix. Fired up AttractMode and got it back.  On a whim, i opened a game and it showed up.  Couldn't believe it.  I then fired up another.  It had vertical sync issues, but it still appeared.  Another issue appeared though, upon game exit, AttractMode was half its horizontal width and forced to the left of the screen.  Exiting to gasetup and reopening AttractMode fixes that.  I thought about a plugin that needed to be enabled to restore AttractMode after a game is run that changes the resolution, so I opened the settings and then AttractMode froze.  And then my memory jogged. I remember having this issue with AttractMode freezing.  I did some research and fixed it by setting a progressive video resolution.  But then opening MAME games resulted in a completely black screen.  I never thought to see the link.

So anyway, I'll do a fresh install tomorrow (if i have the usual sleepy Friday at work) and keep track of what I'm seeing, as I've probably jacked things to a point where I'm not sure what's broken or whats fixed.  Thanks again for the help.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 28, 2020, 02:13:54 am
So your steps show a fundamental difference between the original groovyarcade and my fork : i went the xorg.conf-less way. In 2020, Xorg hardly needs a xorg.conf, it's even not recommended anymore to have one. This also means i'm missing some inputs configuration (like wiimotes), but noone complained so far ;)

Regarding your rig, you shouldn't need the dot clock fix, you gfx card can handle low pixel clocks. Just for a test : you should be able to launch any game from the bare iso once screen autosetup is done, without installing to a HDD. Just follow the autosetup and press a key when necessary, then once in gasetup, just start the first default option. It should launch AM flawlessly, and you can give a go to default roms. They should all work.

I feel more concerned about that game not restoring the default resolution once you've quitted mame. Can you give me its name ?
Title: Re: Collaborative effort for GroovyArcade
Post by: rewind22x on February 28, 2020, 11:34:37 am
OK, had some time this morning.  I read your post and booted from the USB installer.  Here's the steps I took and what I observed:

First screen is split and offset (left side aligns center then wraps around)
Choose 15khz
I press "enter' when the prompt screen appears. In the end, it reads: -Connection DVI-I-1 was selected / The arcade monitor couldn't be natively detected, the output will be forced at boot / Do you want to validate these settings?  to which I select YES.
Choose Generic 15khz monitor
Get to gasetup, launch AM
Looks good, launch a game
Black screen/loses any picture
Exiting to AM is also black screen, but i can hear audio
Exiting AM to gasetup restores picture, able to launch AM once again.
Tried multiple games (default roms), all the same result
Changed the monitor to K7000 and 15khz arcade, same result
AM will freeze within a couple of minutes

Is there anything I should be checking with regard to the monitor?
Title: Re: Collaborative effort for GroovyArcade
Post by: Banane on February 28, 2020, 06:41:35 pm
Hey Rewind22x, maybe this leads into a wrong direction, but what“s the status of your J-PAC sync light  when the screen switches off ?
Out of the sudden I“m having trouble with this ....could be related.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 29, 2020, 02:09:10 pm
OK, had some time this morning.  I read your post and booted from the USB installer.  Here's the steps I took and what I observed:

First screen is split and offset (left side aligns center then wraps around)
Choose 15khz
I press "enter' when the prompt screen appears. In the end, it reads: -Connection DVI-I-1 was selected / The arcade monitor couldn't be natively detected, the output will be forced at boot / Do you want to validate these settings?  to which I select YES.
Choose Generic 15khz monitor
Get to gasetup, launch AM
Looks good, launch a game
Black screen/loses any picture
Exiting to AM is also black screen, but i can hear audio
Exiting AM to gasetup restores picture, able to launch AM once again.
Tried multiple games (default roms), all the same result
Changed the monitor to K7000 and 15khz arcade, same result
AM will freeze within a couple of minutes

Is there anything I should be checking with regard to the monitor?

I really need to see your mame.ini, your /var/log/groovy.log, /var/log/Xorg.0.log + a mame log to see what switchres does
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on February 29, 2020, 03:27:01 pm
@rewind, also post the output of xrandr. That black screen can happen for 2 reasons:

1. You have another output active as primary and GM is sending video to that one. This is likely the case, since you're using a jpac and your analog connection goes undetected.

2. A low dotclock issue
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 01, 2020, 12:00:25 pm
looks like there is a bug when using RADEON/AMD cards + monitors that don't have the required load input. Will be fixed asap.
Title: Re: Collaborative effort for GroovyArcade
Post by: beernut on March 05, 2020, 11:06:59 am
A suggestion of a tool to add to your distribution:

Joymap.  Basically joy2key but way easier to use if you need to only map say button17 and 22.  No need for a super long string of blank mappings which are easy to loose track of.

https://github.com/wizlab-it/joymap
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 05, 2020, 04:55:15 pm
Hey thanks ! Will take a look at it :)
Title: Re: Collaborative effort for GroovyArcade
Post by: rewind22x on March 06, 2020, 12:34:13 pm
A suggestion of a tool to add to your distribution:

Joymap.  Basically joy2key but way easier to use if you need to only map say button17 and 22.  No need for a super long string of blank mappings which are easy to loose track of.

https://github.com/wizlab-it/joymap

This may also kinda solve the black-screen/power save issue.  A JPAC configuration will wake because GA thinks a keyboard is being pressed.  If this will take the "button" inputs and let you assign it to the MAME equivalent keyboard button, it may possibly allow it to wake.

Still kinda weird that there's no fix for it.  I've looked all over the web for a solution, and while there are plenty of methods, none seem to work.

I still haven't had a chance to test anything on my cab.  Been busy at the office and some sick kids at home.  Hopefully will get a chance to get some info for you guys early next week.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 06, 2020, 12:52:15 pm
Antimicro is already included as well a qjoypad ;)
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 06, 2020, 01:20:03 pm
just found for DPMS : add to ~/.xinitrc :

Code: [Select]
xset -dpms
xset s off
Title: Re: Collaborative effort for GroovyArcade
Post by: rewind22x on March 07, 2020, 12:07:15 pm
just found for DPMS : add to ~/.xinitrc :

Code: [Select]
xset -dpms
xset s off

Finally!  I swear I entered the same commands in, but i don't think it was within this file.  This worked on my LCD cab at home.  Screen still goes black (wasn't the problem, actually was desired to save the monitor) but will turn back on with a joystick movement.  Bravo!

edit:  i have two lcd setups at home. This worked on 2020.2.  I found this did not work on 2020.1.  In addition, 2020.1 was missing entries in the file, but even when i copied the file over from 2020.2 it still didn't work.  The only reason I'm still on 2020.1 on that setup (Arcade1Up cab) is due to the hi-score still working.

Looking forward to the next build Substring!
Title: Re: Collaborative effort for GroovyArcade
Post by: lettuce on March 08, 2020, 09:35:14 am
Damn this looks impressive and the way to go for anyone trying this in the year 2020?, good work Substring.

I have my 15KHz monitor connected to a J-PAC (to cut out any nasty Signals form the PC) and then going to my PC which has a HD4670 that was flashed with ATOM-15 BIOS about 5 years ago, are these custom BIOS for the GPU even needed nowadays, as didn't super wide resolutions method replace the need for that?.

Considering my setup should this just be plug and play with you ISO image, also can it be installed form a USB stick?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 08, 2020, 09:43:23 am
Damn this looks impressive and the way to go for anyone trying this in the year 2020?, good work Substring.

I have my 15KHz monitor connected to a J-PAC (to cut out any nasty Signals form the PC) and then going to my PC which has a HD4670 that was flashed with ATOM-15 BIOS about 5 years ago, are these custom BIOS for the GPU even needed nowadays, as didn't super wide resolutions method replace the need for that?.

Considering my setup should this just be plug and play with you ISO image, also can it be installed form a USB stick?
First of all : expect a new release today or in the coming days.

Your setup should work just fine. I have a jpac + hd5450 (but bios is not patched), works pretty fine. Anyway, you can just flash the iso to a USB stick and try it without installing it.
Title: Re: Collaborative effort for GroovyArcade
Post by: lettuce on March 08, 2020, 09:48:16 am
First of all : expect a new release today or in the coming days.

Your setup should work just fine. I have a jpac + hd5450 (but bios is not patched), works pretty fine. Anyway, you can just flash the iso to a USB stick and try it without installing it.

So using the USB method it doesn't install it as an OS om the PC???

So having a flashed BIOS on a GPU is no longer need for use with a 15KHz monitor?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 08, 2020, 10:59:47 am
Flashing the video BIOS is a safety for monitors so that at boot time it's 15kHz, not 31. That's all. Your JPAC also has such a protection. Once the linux kernel loads, it handles resolutions.

The USB method is just to test, changes are not permanent.
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on March 10, 2020, 04:24:42 am
I'm interested in trying your build, I just received my Radeon HD card today. However, my monitor will require composite sync, is that supported here? I couldn't get composite sync to work with old GA builds using Nvidia, just wanted to know it's ok with Radeon.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 10, 2020, 05:01:26 am
I'm interested in trying your build, I just received my Radeon HD card today. However, my monitor will require composite sync, is that supported here? I couldn't get composite sync to work with old GA builds using Nvidia, just wanted to know it's ok with Radeon.

Technically speaking, c-sync is possibe, but not out of the box. This also seems to depend on GFX cards, kernel drivers show that only radeon/amd cards seem to support it. All in all: if your GFX card supports it, linux can use it. But there is a major BUT: nothing  in GA is made yet to handle csync. That means none of the kernel fixed resolutions for 15k, nor any script.

Now 2 points:
- can't you output csync by yourself ? This is monitor-dependant. Sometimes just mixing hsync and vsync will work, some time electronics must be involved.
- you're not the first one asking for csync. Although it implies quite some changes, that's something I may consider (but will take months before I spend time on it).

Also remember that it means that switchres must be able to handle csync, which is not (yet ?) the case on Linux. So I think that, for now, the best option is to go the hardware hack path.
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on March 10, 2020, 06:10:40 am
I'll try just tying the wires together to start, if that doesn't work I have another monitor that's HV sync I will try instead.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 11, 2020, 09:32:02 am
2020.03 is out :) Don't upgrade systemd, 245 has issues with the splash boot
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on March 11, 2020, 04:54:41 pm
2020.03 is out :) Don't upgrade systemd, 245 has issues with the splash boot

I'll give it a try once it's done downloading. I'm rigging up my VGA to RGB cable for my IIgs monitor right now as a first test subject.
Title: Re: Collaborative effort for GroovyArcade
Post by: lettuce on March 14, 2020, 10:02:46 am
2020.03 is out :) Don't upgrade systemd, 245 has issues with the splash boot

So if im want to put this on a USB drive (as i dont have a cd drive on my arcade PC) how do i go about going that with the iso file on your github page?
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on March 14, 2020, 02:15:23 pm
Are you going to try to burn the USB from Windows or from Linux? If in Windows, please use Rufus.

https://rufus.ie/

If you are doing it in Linux, that gets a little more complicated and you'll want to see if your distro has a USB writing tool built in. Many do.
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on March 14, 2020, 02:25:08 pm
Well, I seem to be having some weird issues getting this to work. When I boot off the USB, the automatic detection actually works about 50% of the time. If it somehow auto-selects a 240p mode my monitor (an Apple IIgs RGB color monitor) will display without issues, however sometimes it will seemingly pick a 480i mode, which the IIgs monitor doesn't know how to handle, so the image is too tall but is otherwise clear and synced. Speaking of sync, this monitor wants composite sync, but is happy with H and V sync just tied together, no issues there.

Once booted successfully I can set things up in gasetup to force 320x240 mode for X, etc, and it plays nicely. However, once I install to the HDD it doesn't remember my settings and I'm not able to get it to display. It picks the wrong output port (DVI-1, instead of VGA-1) and uses the wrong sync, even when I tell it otherwise. Not sure what I'm doing wrong here.

Also, I'm fairly sure the old Phenom II I'm running doesn't have enough muscle for this version of Mame, as World Rally drops to 50% speed most of the time. :P
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 14, 2020, 02:42:03 pm
2020.03 is out :) Don't upgrade systemd, 245 has issues with the splash boot

So if im want to put this on a USB drive (as i dont have a cd drive on my arcade PC) how do i go about going that with the iso file on your github page?
You can burn it on a USB pen, no problem, that's what I do.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 14, 2020, 02:46:33 pm
Well, I seem to be having some weird issues getting this to work. When I boot off the USB, the automatic detection actually works about 50% of the time. If it somehow auto-selects a 240p mode my monitor (an Apple IIgs RGB color monitor) will display without issues, however sometimes it will seemingly pick a 480i mode, which the IIgs monitor doesn't know how to handle, so the image is too tall but is otherwise clear and synced. Speaking of sync, this monitor wants composite sync, but is happy with H and V sync just tied together, no issues there.

Once booted successfully I can set things up in gasetup to force 320x240 mode for X, etc, and it plays nicely. However, once I install to the HDD it doesn't remember my settings and I'm not able to get it to display. It picks the wrong output port (DVI-1, instead of VGA-1) and uses the wrong sync, even when I tell it otherwise. Not sure what I'm doing wrong here.

Also, I'm fairly sure the old Phenom II I'm running doesn't have enough muscle for this version of Mame, as World Rally drops to 50% speed most of the time. :P
So far, you should never boot in 240p unless you flashed an ATI card with ATOM15. When Linux takes the hand, it's 480i all the way unless you manually edit kernel parameters after installation.

You shouldn't force anything for X, GA is meant to be xorg.conf-less now. If you need a resolution, you need a video=<connector>:320x240S or video=<connector>:320x240Se if your monitor wasn't detected by the GX card. I'll remove any setting that touches X conf because it can mess up your configuration.

Please enclose the result of dmesg for your HDD install.
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on March 14, 2020, 03:15:14 pm
Well, I seem to be having some weird issues getting this to work. When I boot off the USB, the automatic detection actually works about 50% of the time. If it somehow auto-selects a 240p mode my monitor (an Apple IIgs RGB color monitor) will display without issues, however sometimes it will seemingly pick a 480i mode, which the IIgs monitor doesn't know how to handle, so the image is too tall but is otherwise clear and synced. Speaking of sync, this monitor wants composite sync, but is happy with H and V sync just tied together, no issues there.

Once booted successfully I can set things up in gasetup to force 320x240 mode for X, etc, and it plays nicely. However, once I install to the HDD it doesn't remember my settings and I'm not able to get it to display. It picks the wrong output port (DVI-1, instead of VGA-1) and uses the wrong sync, even when I tell it otherwise. Not sure what I'm doing wrong here.

Also, I'm fairly sure the old Phenom II I'm running doesn't have enough muscle for this version of Mame, as World Rally drops to 50% speed most of the time. :P
So far, you should never boot in 240p unless you flashed an ATI card with ATOM15. When Linux takes the hand, it's 480i all the way unless you manually edit kernel parameters after installation.

You shouldn't force anything for X, GA is meant to be xorg.conf-less now. If you need a resolution, you need a video=<connector>:320x240S or video=<connector>:320x240Se if your monitor wasn't detected by the GX card. I'll remove any setting that touches X conf because it can mess up your configuration.

Please enclose the result of dmesg for your HDD install.

Hrmmm, well you're right, apparently gasetup can mess with x conf. I was careful to reinstall without touching any of the gasetup options that mess with x conf and now it works off the HDD. Still running slow, but as I said before, I suspect that's more to do with my hardware setup than anything else. I'll continue to play with it and try to take some pics, the IIgs monitor is a nice 12" tube and seems to work great with GA so far.
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on March 14, 2020, 04:23:26 pm
What is the preferred way to load ROMs and edit the file system on this?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 14, 2020, 05:32:22 pm
What is the preferred way to load ROMs and edit the file system on this?
I'm not sure I understand.

I prefer doing all through SSH, but there are network shares to drop roms
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on March 14, 2020, 06:54:15 pm
What is the preferred way to load ROMs and edit the file system on this?
I'm not sure I understand.

I prefer doing all through SSH, but there are network shares to drop roms

Durr. OK, figured that out. With that figured out, the only other things I'm currently chasing are:

1- AttractMode doesn't seem to be very stable with an interlaced resolution, from what I'm reading online, and in fact I find it hangs up often. Is it possible to run it in 240p?
2- The newest and hottest GroovyMAME is obviously too much for my puny Phenom II, so I'll be shopping for a better box soon. Oh well. :P

Other than that, I can't really complain. It's slick. I'm sure I'll find more stuff to bump my head against as I use it more. Meanwhile, it's time for some Neo Turf Masters.
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on March 14, 2020, 11:09:07 pm
Here's some indication of how nicely this is working out for me, and thanks again to all the contributors for their hard work. You made this project incredibly easy for a newb like me.

(https://i.redd.it/v3i6985i1rm41.jpg)
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 15, 2020, 02:29:51 am
I'm glad you've been through that easily :)

AM can run at 240p. The kernel even has a 640x240 progressive. Someday I think I'll add 384x288@50Hz, which is the best 4:3 progressive resolution you can have.
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on March 15, 2020, 10:41:28 am
I'm glad you've been through that easily :)

AM can run at 240p. The kernel even has a 640x240 progressive. Someday I think I'll add 384x288@50Hz, which is the best 4:3 progressive resolution you can have.

How does one get it to run at that res? Do you need a theme that's specifically for that res? If that's all it takes, I guess I'm gonna go theme shopping.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 15, 2020, 06:48:29 pm
Which res exactly?
Title: Re: Collaborative effort for GroovyArcade
Post by: keilmillerjr on March 16, 2020, 06:42:04 am
I can confirm that attract runs fine at 640x480 interlaced using multiple platforms.

All themes will stretch to the attract window, regardless if you design your theme and set a fixed pixel dimension. The larger issue is when people design a theme without multiple resolutions in mind (not responsive). If you like neogeo, check out my picknmix theme in my attract fork on gitlab.

Easiest way to add files to GroovyArcade is to connect a usb disk and use the command line. It is linux. If GroovyArcade doesn’t auto mount your disk, check out the disk mounting section of my wiki.

https://arcademvs.org/unix/disk-mounting/
Title: Re: Collaborative effort for GroovyArcade
Post by: rewind22x on April 06, 2020, 12:46:13 am
Just wanted to drop in and give thanks for the latest build (GA 18-reorg) really like that it's focused on MAME only.  The hiscore issue that i experienced with previous builds has been resolved.  Doing a little more testing, but will probably install this build on my arcade1up soonish.  Haven't been able to do any testing on the crt cabinet at the office since a week before the pandemic hit.  I go into the office once or twice a week, but just to do some work and then get out of there.  I'm bummed thought, I really want to test this out.  I will try to next time I'm in, at least just test booting from the usb and launching.  That has always failed unless I add some custom settings.

Anyway, thanks again Substring, and anyone else contributing!  Stay safe.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 06, 2020, 05:25:05 am
18-reorg is a WIP, but it's almost the complete April release. Quite much has been done since the March release, I'll give more details once the GM 0.220 and Linux 5.6 are ready, they'll be the kick off for the April Iso. So better wait for thi stable ISO before installing a new cab ;)

What I'd like to state before all, what I strongly believe in, what this GA fork is meant to be: it's open source, team work, collaboration, users tests and feedback. Some members gave much time to the next release, all this work wouldn't be possible without their help (and the covid quarantine ^^). I'll name them very soon :)

And again, thank you for your kind words. GroovyArcade is made for you, for non IT people, even for Linux haters. It focuses on simplicity, 0 knowledge in MAME/Linux. Install, play, don't waste time on configuration!
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 12, 2020, 10:33:09 am
2020.04 IS FINALLY OUT

Grab it here (https://github.com/substring/os/releases/tag/2020.04) !

Quite some changes in this one, hard to list everything without making a full copy/paste of the release itself :
- Attract Mode interlaced is fixed!  Thank you so much oomek!!!
- removed everything that was not mame, so we focus on MAME only
- MAME high scores fixed
- reworked folders structure to gather all useful files in a single place that can be accessed through network. You'll find roms, config files for frontends or emulators, roms. For Windows 10 compatibility, it now requires a user/password: arcade/arcade
- reworked the main menu where I'll remove some unnecessary options with time, rewrite some. The boot resolution menu has been modernized, small bug for now if you have multiple GPUs
- first steps for Intel and Nvidia compatibility. AMD/ATI cards are still better anyway
- mame 0.220, linux 5.6.3

And many thanks to SteelRush, Banane and ghost13500 for the time they've spent with advice, testing, feedback, etc ... for this release. That's the meaning of collaborative at its best !

And I should thank covid19 for allowing us to have more time on our personnal projects at home  ;D
Title: Re: Collaborative effort for GroovyArcade
Post by: donluca on April 12, 2020, 03:53:32 pm
Amazing release, well done!

Although I've not been using GroovyMAME for quite I while (I'm slowly getting all the arcade boards I want) it's nice seeing this progress.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 12, 2020, 04:47:58 pm
Amazing release, well done!

Although I've not been using GroovyMAME for quite I while (I'm slowly getting all the arcade boards I want) it's nice seeing this progress.

Luckily, if you feel like putting your hands into it, you can just flash a USB stick with it to give it a try ;) No need to install to HDD to see if it works or not with your PC ;)
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 13, 2020, 08:00:59 am
For people installing 2020.04, I strongly recommend you
Code: [Select]
sudo pacman -Sy galauncher once installed, otherwise MAME roms will kep an ugly zipfile name
Title: Re: Collaborative effort for GroovyArcade
Post by: TD-Linux on April 25, 2020, 02:25:50 am
Thanks for this build! The syslinux and EFI boot support on the livecd was really handy. As is the gitlab repo for submitting patches :) I'm running on an udoo bolt attached to an arcade CRT.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 25, 2020, 10:23:25 am
Always wanted a udoo bolt ... How does it work ? Are you using a HDMI2VGA ? No low dotclock problem ?

Regarding uefi : well, it boots on UEFI, but that's all for now, there is really much work to do on uefi:
- add the syslinux menu to uefi
- change partitionning from MBR to GPT ... That may not be mandatory, but it's more uefi stylish let's say

All of this means really much work. It's in my todo list, but not top priority I must say.

Afterall, how does your udoo bolt perform with GA ? I'm very curious.
Title: Re: Collaborative effort for GroovyArcade
Post by: TD-Linux on April 26, 2020, 03:35:18 am
The performance is great, however it really behaves identically to most SBCs. For some reason the livecd wouldn't boot in BIOS mode, so I booted it in UEFI, installed to the emmc with BIOS boot, and then switched back to BIOS boot.

I'm using a Tendak HDMI to VGA converter. I wouldn't recommend this one as it draws too much power off the HDMI port for the udoo. I had to crack it open and give it 5V directly.

Yes, the udoo has a 25MHz minimum dotclock, as well as no support for interlaced modes (they get scanned out as though they were progressive). The latter might be fixable. The former is easily solved with groovymame switchres's minimum dotclock setting, however groovyarcade is missing edids that enforce the minimum dotclock.

One downside is the 19V power. It would be nice if it could run off JAMMA power.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 26, 2020, 08:06:18 am
The EDID lead has been left aside in the 2020.04 release, so we xan focus on resolutions. There is one resolution that meets ypur dotclock requirements (but it's interlace): 1280x480iS. I think we should add 1280x240 for people who are allergic to interlace or whose hardware cat handle it
Title: Re: Collaborative effort for GroovyArcade
Post by: ronbin on April 26, 2020, 10:29:29 am
Hello
I don't know if this is the right place for posting this... apologies in advance. Just installed groovyarcade and configured it for my 31khz CRT pc monitor. I've modified mame.ini file with those options
Code: [Select]
unevenstretch             0
effect                    scanlines.png
monitor                   vesa_1024
interlace                 0
doublescan                0
And every arcade game boots perfectly. Some examples
Code: [Select]
SwitchRes: [gng] (1) horizontal (256x224@59.590000)->(512x448@59.590000)
SwitchRes: [sfiii3n] (1) horizontal (384x224@59.599491)->(768x448@59.599491)
SwitchRes: [mk] (1) horizontal (400x254@54.706841)->(800x508@54.706841)
Even console games
Code: [Select]
groovymame genesis -cart /home/roms/SegaGenesis_roms/Sonic\ The\ Hedgehog\ \(USA\,\ Europe\).zip
SwitchRes: [genesis] (1) horizontal (256x224@59.922745)->(512x448@59.922745)
But when I try to load same game with another emulator (mednafen), switchres doesn't work as I expected.
Code: [Select]
switchres genesis --calc --xrandr --monitor vesa_1024 --nodoublescan --nointerlace --emulator mednafen --rom /home/roms/SegaGenesis_roms/Sonic\ The\ Hedgehog\ \(USA\,\ Europe\).zip
# genesis 1280x440@60.00 29.3400Khz
ModeLine          "1280x440x60.00" 46.239840 1280 1304 1424 1576 440 457 460 489 -HSync +VSync

Why doesn't switchres create same modeline for groovymame and mednafen? I would like to use mednafen for sega saturn emulation...
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 26, 2020, 11:26:35 am
I've removed anything console related in my fork of GA for many reasons. One of them being the total randomness of consoles modelines. If you're using VeS' groovyarcade, ask him, but don't expect answers
Title: Re: Collaborative effort for GroovyArcade
Post by: ronbin on April 26, 2020, 12:40:47 pm
OK, thanks for your answer. I'm using your iso, great job by the way.
As I said before, maybe this isn't the right thread to discuss my problem, sorry (I think it's standalone switchres' fault, I shoul ask Calamity).

Thanks again!
Title: Re: Collaborative effort for GroovyArcade
Post by: TD-Linux on April 26, 2020, 01:13:04 pm
The EDID lead has been left aside in the 2020.04 release, so we xan focus on resolutions. There is one resolution that meets ypur dotclock requirements (but it's interlace): 1280x480iS. I think we should add 1280x240 for people who are allergic to interlace or whose hardware cat handle it

Unfortunately you still need an edid if you want to have a config-less Xorg, because the very first thing Xorg does is set the preferred mode from the kernel-supplied edid (at least this is the case for the amdgpu X driver), resulting in a resolution of 1024x768 for example if there was no monitor supplied edid.
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on April 26, 2020, 01:27:28 pm
I've removed anything console related in my fork of GA for many reasons. One of them being the total randomness of consoles modelines. If you're using VeS' groovyarcade, ask him, but don't expect answers

So I suppose asking about support for modelines for WINE games is out of the question? :P I just really want to make a vertical shmup MAME setup that can also play ZeroRanger.
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on April 26, 2020, 02:46:25 pm
Yes, the udoo has a 25MHz minimum dotclock, as well as no support for interlaced modes (they get scanned out as though they were progressive). The latter might be fixable. The former is easily solved with groovymame switchres's minimum dotclock setting, however groovyarcade is missing edids that enforce the minimum dotclock.

Hi TD-Linux,

If you have any idea of how the interlaced support could be added to integrated Vega GPUs, I'm all ears. I have a 2400G sitting on the shelf.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 26, 2020, 03:07:11 pm
The EDID lead has been left aside in the 2020.04 release, so we xan focus on resolutions. There is one resolution that meets ypur dotclock requirements (but it's interlace): 1280x480iS. I think we should add 1280x240 for people who are allergic to interlace or whose hardware cat handle it

Unfortunately you still need an edid if you want to have a config-less Xorg, because the very first thing Xorg does is set the preferred mode from the kernel-supplied edid (at least this is the case for the amdgpu X driver), resulting in a resolution of 1024x768 for example if there was no monitor supplied edid.
That's not true anymore. Since kernel 5.5, I've rewritten (almost from scratch) the kernel patches. And now the resolutions you specify as a kernel argument are added in in a way that respects kernel internals. In other words, they are now added to DRM modes and made public to X. The iso you're using here is xorg.conf-less for 2 months now :)

EDID comes handy when you need resolutions that are not supported by the kernel, which seems your case as of now.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 26, 2020, 03:12:05 pm
I've removed anything console related in my fork of GA for many reasons. One of them being the total randomness of consoles modelines. If you're using VeS' groovyarcade, ask him, but don't expect answers

So I suppose asking about support for modelines for WINE games is out of the question? :P I just really want to make a vertical shmup MAME setup that can also play ZeroRanger.
Supporting this in a vanilla iso and giving you help are 2 different things ;)
What comes to my mind:
- add a system to AM
- adding a wine galauncher (see /opt/galauncher and /opt/galauncher/emulators) could be useful
- if you go the galauncher path, you'd need a small "game to modline" file you'd parse.
- if you don't care about galauncher, your AM emulator should call switchres with --emulator and --rom I guess
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 03, 2020, 10:52:49 am
Quick update : no may iso due to the late release of Mame 0.221, so straight to a June release. No great visible changes, just some files are now in packages rather than shipped in the OS (and can't be updated later)

Using the groovymame-config package, you should now always have a history.dat and mameinfo.dat up to date with the GM version. Who'd want to update to this package will get their mame.ini reinitialised, thus loosing the monitor configuration.

Coming soon should be the 5.7 kernel with a new 1280x240 resolution for GPUs that require a 25MHz clock but that can't do interlace.
Title: Re: Collaborative effort for GroovyArcade
Post by: jcapone on June 13, 2020, 12:20:27 pm
Noob here. Just installed your latest ISO. Looks great so far.

My question, how do I program my USB zero delays? I can't search to see if previously answered
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 15, 2020, 08:51:19 am
Hi !

How do you want to configure it ? Is it seen as a keyboard or a HID device ?

As for now, the OS is configured for default mame inputs, so keyboard only. You must manually reconfigure inside AM and MAME your inputs if they differ.
Title: Re: Collaborative effort for GroovyArcade
Post by: keilmillerjr on June 16, 2020, 07:32:22 am
Noob here. Just installed your latest ISO. Looks great so far.

My question, how do I program my USB zero delays? I can't search to see if previously answered

Zero Delay is a joystick encoder with fixed firmware. You can not "program" it.
Title: Re: Collaborative effort for GroovyArcade
Post by: bouleEtBol on July 12, 2020, 03:53:14 am
Hi,

I tried GroovyArcade 2020.06 a spin but failed to get a display on my CRT (15Khz only) cabinet. I currently have the official GroovyArcade 2019 working in this mamecab.
Here is my setup:
 - Sapphire HD6450
 - JammaASD
 - Asus A320M-K
 - AMD 3 2200g

It seems that GroovyArcade 2020.06 installer can not detect the VGA-0 display.
Here are the several install tests I have performed:

Power on the mamecab plugged on arcade CRT with GroovyArcade 2020.06 on usb key:
No display.

Power on the mamecab plugged on arcade CRT and LCD screen on DVI-0 with GroovyArcade 2020.06 on usb key:
Display on LCD screen only. The installer only detect the DVI-0 but not the VGA-0.
I continue the install on HDD, select generic 15khz as monitor type. Install is fine, then the installer asks for reboot. Then I shutdown the system and I unplug the usk key.

If I disconnect the LCD screen, and power on, the CRT screen does not display anything.

If I reconnect the LCD screen, and power on, the CRT screen does not display anything, display appears on LCD screen as expected. Then I loggin to LXDE and run xrandr. xrandr detects the two devices: VGA-0 and DVI-0.
Then if I go to screen settings in LXDE, I also see the 2 devices but if i check VGA-0 only with 640*480 as resolution the CRT remains black (probably because this resolution is only 31khz compatible).

Could you give me insights to get you distro work with my setup ?
Thanks a lot.






Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on July 12, 2020, 01:17:16 pm
Hi,

GA tests EVERY connector, and forced them even if the OS reports that no screen was found plugged to the connector. So a few things to know :
- which option did you choose at the syslinux boot menu ?
- are you booting in uefi or legacy ? Please try again in legacy if you are unsure, the UEFI boot menu is not yet ready
- did your lcd display in its native mode or a 15kHz resolution ?
- can you list /sys/class/drm ?
Title: Re: Collaborative effort for GroovyArcade
Post by: bouleEtBol on July 13, 2020, 04:06:01 am
Hi Substring,

Thanks a lot for your support and for your great work on GA !
As you nailed it, the issue was solved by booting GA in legacy mode (not trivial though because I had to go in bios setup and change boot order to do that).
Then the VGA display was detected and the install went fine.

One minor issue I had after the install is that I had to edit /boot/syslinux/syslinux.cfg in order to lower resolution to 640x480 which was initially set to 800x600 and caused the jammaASD to filter the output signal.


Other than that everything works fine, excepting an issue with button mapping that activates the underlying windows management keyboard shortcuts:

For example, pressing button 1&2 and right direction display the virtual desktop switch widget.
I removed all keyboard shortcuts present in ~/.config/openbox/lxde-rc.xml file. It works great if I launch attract mode from LXDE, no more window manager interaction.
But If I choose Attract Mode as main window manager, the problem persists.

I guess that there is a file that manage key bindings globally but don't had time to find it yesterday.
I will go on my investigations today but if you know which file I have to edit (or operations steps), please let me know.  :)

Otherwise, thanks for your effort bringing GA better and up to date, that's really much appreciated.
Keep up the good work.

Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on July 13, 2020, 08:35:54 am
Never tried that key combo you've mentionned, no idea yet how to disable it. I don't use attract from LXDE except for a quick test.

That 800x600 is weird, it can't be set for a 15kHz monitor. You could have use the gasetup menu to change the video boot resolution. But looks like you're comfortable with linux, so you've solved it on your own ! congratz ;)
Title: Re: Collaborative effort for GroovyArcade
Post by: Thamiel on July 15, 2020, 04:57:01 am
Hey guys, got this up and running on my 31k JVS cab. Last problem to solve is the controls, I'm using a JVS PAC to interface between the JVS IO and the PC. Works fine in Windows but I have no idea how to get it working in Groovymame. It's supposed to be interpreted by the OS as a normal keyboard with default MAME mappings.

Any ideas? I'm very new to Groovyarcade, previously I was using Groovymame under Windows.

EDIT: I'm an idiot, my wiring harness had come loose. All good. Loving the switch to GA!

Sent from my SM-G950F using Tapatalk
Title: Re: Collaborative effort for GroovyArcade
Post by: katzinator on July 30, 2020, 12:50:28 am
Thanks for all your work on GroovyArcade, Substring. I've been super impressed thus far.

Regarding updating, am I safe to run system updates via "pacman -Syu" or is this not recommended?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on July 30, 2020, 02:49:40 am
Thank you for your kind words :)

You can update using pacman. The most critical package (the default kernel) is disabled and will genuinely update with my 15khz kernel. As it's based on arch linux, it's sometimes necessary to read its main website because some updates require extra commands
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on August 13, 2020, 07:12:49 am
Other than that everything works fine, excepting an issue with button mapping that activates the underlying windows management keyboard shortcuts:

For example, pressing button 1&2 and right direction display the virtual desktop switch widget.
I removed all keyboard shortcuts present in ~/.config/openbox/lxde-rc.xml file. It works great if I launch attract mode from LXDE, no more window manager interaction.
But If I choose Attract Mode as main window manager, the problem persists.

I guess that there is a file that manage key bindings globally but don't had time to find it yesterday.
I will go on my investigations today but if you know which file I have to edit (or operations steps), please let me know.  :)

I am also getting this - pressing button 1 and 2 together and right on joystick brings up the virtual desktop switch widget.

This happens surprisingly often.

Did anyone figure out how to turn this off?  Cheers
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 13, 2020, 08:30:50 am
That's an openbox issue, the fix was explained somewhere. I'll solve this in the next iso
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 15, 2020, 05:02:07 am
For people having combo keys problems, here is a fix to run in a shell:

Code: [Select]
pacman -Sy xmlstarlet
xmlstarlet ed -L -N s=http://openbox.org/3.4/rc -d "/s:openbox_config/s:keyboard/s:keybind[contains(@key, 'C-A') or contains(@key, 'S-A')]" ~/.config/openbox/lxde-rc.xml
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on August 15, 2020, 05:38:29 am
Hi Substring, I couldn't get this to work, looks like the config file doesn't exist: -

Code: [Select]
[arcade@GroovyArcade ~]$ sudo pacman -Sy xmlstarlet
:: Synchronizing package databases...
 groovyarcade is up to date
 core is up to date
 extra is up to date
 community is up to date
warning: xmlstarlet-1.6.1-3 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) xmlstarlet-1.6.1-3

Total Installed Size:  0.48 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring                                                                                                                                   [####################################################################################################] 100%
(1/1) checking package integrity                                                                                                                                 [####################################################################################################] 100%
(1/1) loading package files                                                                                                                                      [####################################################################################################] 100%
(1/1) checking for file conflicts                                                                                                                                [####################################################################################################] 100%
:: Processing package changes...
(1/1) reinstalling xmlstarlet                                                                                                                                    [####################################################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

[arcade@GroovyArcade ~]$ xmlstarlet ed -L -N s=http://openbox.org/3.4/rc -d "/s:openbox_config/s:keyboard/s:keybind[contains(@key, 'C-A') or contains(@key, 'S-A')]" ~/.config/openbox/lxde-rc.xml
failed to load external entity "/home/arcade/.config/openbox/lxde-rc.xml"
[arcade@GroovyArcade ~]$

[arcade@GroovyArcade ~]$ sudo find / -name lxde-rc.xml
[arcade@GroovyArcade ~]$
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 15, 2020, 08:46:03 am
Try with ~/.config/GAop.xml instead, the command I gave is for people using iso 2020.06 only I guess
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on August 15, 2020, 01:29:02 pm
Thanks - I'll have a go later.  I am using the 2020.06 iso though :)

Edit:  Just looked, I don't have a ~/.config/GAop.xml file either.

I also have an empty ~/.config/openbox/ folder.



Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 30, 2020, 05:35:50 pm
Quick update : Arch Linux totally rewrote their iso building tools. It will take me a while to adapt the GroovyArcade to it, so don't expect any new iso soon. But remember you can always run pacman -Syu from the command line to update your GA installation. It may hapen that some things won't update (like GM 0.223 seems to give a hard time to a few people due to some conflicts, or the GA boot animation that is replaced with the default Arch Linux one). So far, minor issues.
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on September 11, 2020, 10:18:57 am
Thanks - I'll have a go later.  I am using the 2020.06 iso though :)

Edit:  Just looked, I don't have a ~/.config/GAop.xml file either.

I also have an empty ~/.config/openbox/ folder.

Hi Substring, did you have any more clues on this?  It's the last thing I need to get my GA setup working perfectly!  Thanks
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 11, 2020, 04:07:25 pm
Ah yeah ... I think this file appeared with the June release, it may be a different file in previous releases.

Anyway i was wondering : do you start mame from attract mode ? Or are you going in desktop ?
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on September 11, 2020, 04:39:54 pm
Hi Substring

I'm running your 2020.06 release.  Running mame directly from AM.  Not gone in desktop at all.

Cheers
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on September 12, 2020, 09:40:46 am
It's really show stopping this issue, I don't know whether it happens when not using a JPAC, but I assume if it's the default mame controls it would happen.

Any games where you press P1 buttons 1 and 2 together (e.g. nemesis) they are totally unplayable.

I have another issue that I just found - do you know how to turn off all power saving?  I have the PC running groovyarcade on a jamma switcher with some other jamma boards.  When I leave the GA to play another jamma board, then come back to it 5-10 mins later, screen is black (game still running, you can hear it) and no joysticks/buttons combo seem to bring it back.  I'm assuming power saving settings because if you're only away for a minute or two it's fine.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 12, 2020, 02:08:48 pm
So the fix is in 2 steps :
- run the command but point to ~/.config/openbox/lxde-rc.xml
- edit ~/.xinitrc and change the openbox etc... Lone by pointing to the same file as above (keep the & at the end)

Just tried this before leaving home, replying on my phone in a bar  :cheers:
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on September 12, 2020, 02:25:40 pm
That worked mate! :)

I *think* the problem before was that I didn't have that lxde-rc.xml file.  After I entered the desktop though, it looks like maybe that created it (?).  Up until this point, I never once even entered the desktop after installing GA.

But my crisis is averted - thanks again!  Enjoy your drink!   :cheers:
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 12, 2020, 02:50:52 pm
Thanks for confirming it the fix ! That's also part of the "collaborative" side of GA :)

I'll fix that in the package. But regarding the iso, it's still much work, and I don't have time for that yet ... Will really do my best tontelease a new iso when I have time
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on September 12, 2020, 04:31:11 pm
Hey don't rush, you already did a stellar job.   :applaud:

I have one other issue that's just arose.  I reprogrammed the J-PAC to remove the shift functionality on the START1 button.  This has worked, but now it seems when GA boots, the image on my 15Khz CRT is out of sync.  AM loads fine, but you can't really see it.  If you then start MAME, screen is perfect, it sets the correct resolution.  When you exit MAME back to AM... out of sync again.  I don't know what's happened - maybe something has reset when I reprogrammed the J-PAC.

However - maybe others have similar generic issue where this happens - can you offer advice on the best way to get either 640x480 interlaced, or (in my case) 640x240 progressive back as the starting resolution when GA boots up, after the resolution has somehow got messed up?

What is the general way of fixing this?  You have to also plug in an LCD in the DVI port and use GASetup? Or can I SSH to set the resolution in a config file?

Thanks!
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 13, 2020, 04:34:13 am
In gasetup (the text menu), you can go to setup > video > video boot options, (not sure of the exact name). There you can select a new resolution. gasetup can be run through SSH (you need sudo)/ The other way round is to edit as root /boot/syslinux/syslinux.cfg and set the resolution in the video=<connector>:xxxxxxx. Resolutions can be 640x480iS, 640x240S, even 1280x480iS which offers an intereting visibility. There is a bug (fixed on my side, not pushed yet) in the video boot menu : if you cancel, the resolution is "erased" from the kernel command line parameter, so you should set one again. Will push the fix soon through a usual update.
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on September 13, 2020, 05:21:20 am
Thanks - ah great that gasetup can be run through ssh!

Yes I have experienced that bug a few times  :laugh2:
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on September 15, 2020, 03:16:01 pm
If I go into gasetup via ssh (sudo'd), as soon as I select "Video Resolution" from the menus, gasetup exits immediately back to command prompt.

Here is my /boot/syslinux/syslinux.cfg : -

Code: [Select]
default arch
timeout 0
prompt 0
#UI vesamenu.c32
menu title Groovy Arcade Linux
menu background GA.png
label arch
menu label GroovyArcade
linux ../vmlinuz-linux-15khz
append root=/dev/disk/by-label/GA rw quiet rd.udev.log-priority=3 splash mitigations=off audit=0 monitor=generic_15 video=VGA-1:e
initrd ../initramfs-linux-15khz.img

If I edit the video=VGA_1:e and instead put video=VGA_1:640x240S then the OS doesn't seem to boot up.  I get a black screen and no audio.  Not a complete crash though as I can still SSH in.

Same if I change to video=VGA_1:640x480iS

:(

Any ideas?  I'm pretty sure I didn't do anything to set/change resolutions - in fact I don't even recall going into gasetup before this happened - all I did was unplug the J-PAC, reprogrammed the shift key, and plugged it back in (jumpers untouched).  The update to the J-PAC has worked fine as I can load MAME from a garbled/out-of-sync AM and get the proper game resolutions.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 15, 2020, 04:00:14 pm
The line should be :

append root=/dev/disk/by-label/GA rw quiet rd.udev.log-priority=3 splash mitigations=off audit=0 monitor=generic_15 video=VGA-1:640x240S
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on September 15, 2020, 04:21:15 pm
Yes that's what I changed it to.  After rebooting with this I get the black screen with no sound.

(edit: sorry just noticed VGA_1 typo in previous post)

To confirm, this happens to me with either "video=VGA-1:640x240S" or "video=VGA-1:640x480iS"

edit again:   when gasetup crashes/exits, I can see a bunch of lines of text fly by briefly in the terminal.  I don't know if they are errors but they're too quick to read and are then gone.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 15, 2020, 04:44:42 pm
Time for some news !

As already said, the tools required to build the iso have evolved. I used to patch them (mostly to handle a different kernel name), this will take me some time to adapt, so no new iso for NOW

BUT !

GroovyArcade is modular, and since GroovyArcade is using the default package manager, some parts can be updated one by one, even through a full sytem upgrade. So here are some news :
- I always make full updates of my test box . So don't be scared to go pacman -Syu. You may face some conflicts (like fonts for the graphics server) : not a problem, accept.
- I finally made a package of the GroovyArcade boot screen ! Just go pacman -Sy plymouth-theme-groovy then sudo plymouth-set-default-theme -R groovy. This way, updating plymouth won't restore the default boot screen
- gasetup : the bug when skipping the video boot resolution should be fixed by now
- galauncher : someone asked me to put the CPU governor in peformance mode when starting groovymame for better frame delay. Server !
- groovyarcade-config : you may have some trouble updating it. I can't test it sadly, but pacman -Sy groovyarcade-config --overwrite /home/arcade/.xinitrc. As a general rule, i strongly recommend you don't edit that file as it may get new updates that would erase your customizations. If required, I'll add a "user" .xinitrc file that can be freely edited and that would be called by the real file.
- groovymame 224 is a little late ;) Talking about that, it's a good idea to also update groovymame-config at the same time. This way, history.dat and mameinfo.dat files are also updated

That's it for now :)
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 15, 2020, 04:45:26 pm
Yes that's what I changed it to.  After rebooting with this I get the black screen with no sound.

(edit: sorry just noticed VGA_1 typo in previous post)

To confirm, this happens to me with either "video=VGA-1:640x240S" or "video=VGA-1:640x480iS"

edit again:   when gasetup crashes/exits, I can see a bunch of lines of text fly by briefly in the terminal.  I don't know if they are errors but they're too quick to read and are then gone.

Then video=VGA-1:640x240eS maybe ? Can't know if the connector needs to be forced to on
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on September 16, 2020, 06:35:11 am
Then video=VGA-1:640x240eS maybe ? Can't know if the connector needs to be forced to on

OK - I have got it working.  I'm still not sure I fully understand what was the problem, but I had to do the following to fix it: -

First I tried video=VGA-1:640x240eS to no avail - still failed to boot.  Then I checked the gasetup source and saw that the regex looks for the entire resolution including the [iS] together, so I moved the "e" to the end as the code looked like it would parse that no problem:   video=VGA-1:640x240Se .

On a reboot AM loaded up garbled/out-of-sync again.  I ssh'd in and ran sudo gasetup. This time I was able to enter the Video Resolution selector screen, and pick "640x240S".  As soon as I picked this/pressed OK, gasetup quit immediately back to terminal.

tailing groovy.log and I saw this: -
Code: [Select]
2020-09-16 18:01:49 - main(140): ################## START OF INSTALLATION ################## -
2020-09-16 18:01:49 - start_process(51): *** Executing worker configure -
2020-09-16 18:01:52 - mainmenu(101): *** Executing worker setup_menu -
2020-09-16 18:01:55 - worker_setup_menu(239): *** Executing worker video_menu -
2020-09-16 18:01:56 - worker_video_menu(37): *** Executing worker kernel_video_boot -
2020-09-16 18:02:11 - main(144): -------------- STOPPING INSTALLATION ---------- -

Upon reboot, everything back to normal and working!

So I'm glad it's working of course, but I'm not sure why the problem existed in the first place, and why gasetup was exiting back to terminal.

So if you want me to run any more tests let me know, it's no problem.

And thanks for your previous post about the updates!  :cheers:
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 16, 2020, 07:19:56 am
First question : have you updated gasetup ? The crash is supposed to be fixed, but maybe I'm missing a test case. Crashes are not reported in the log sadly. As you had posted your syslinux.cfg, I will test it to see what I'm missing.

Hard to understand why it works now, can you post your definitive syslinux.cfg ?

Now, just for a reminder : you should get your resolution way before AM loads. The kernel will switxh to it very early in the boot process, it's hardly a few seconds after syslinux has loaded the kernel into memory, meaning the plymouth boot screen is immediately in the final resolution.

Glad it works on your side, i'm unhappy (with myself) that gasetup is failing too often.
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on September 16, 2020, 08:14:06 am
Hey Substring

I'm running the 2020.06 iso, have not done any updates yet.  I'll fire it up in a while and post the definitive syslinux.cfg.

Yeah I can tell as soon as bootup starts whether it'll work or not as its subtly different, and of course the GA splash screen is either visible or garbled.

Don't worry about things failing... it's part of the process of success :)
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on September 16, 2020, 10:22:54 am
Here's the syslinux.cfg: -
Code: [Select]
default arch
timeout 0
prompt 0
#UI vesamenu.c32
menu title Groovy Arcade Linux
menu background GA.png
label arch
menu label GroovyArcade
linux ../vmlinuz-linux-15khz
append root=/dev/disk/by-label/GA rw quiet rd.udev.log-priority=3 splash mitigations=off audit=0 monitor=generic_15 video=VGA-1:640x240Se
initrd ../initramfs-linux-15khz.img

I remembered something else I did before hand.  When trying to solve the virtual desktop keyboard shortcut issue, I went into the desktop to look if there were any related settings.   As part of this, I couldn't see all dialogs in 640x240 progressive, so within the desktop preferences I changed resolution to 640x480.  Do you think this might have something to do with it, and somewhere along the lines something got confused with conflicting resolutions?
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on September 16, 2020, 10:59:10 am
I also made a simple attractmode layout because I couldn't find a simple one I liked from the ones included.

https://www.youtube.com/watch?v=9Yvn6B-x0l4 (https://www.youtube.com/watch?v=9Yvn6B-x0l4)

It works great with 640x240, probably fine with other resolutions too.

It just uses 1 font, 100% free from dafont.com.  If you want to include it in the next ISO be my guest...

Simple GameRoom AttractMode Layout (https://drive.google.com/file/d/19LPlgvhqbfLl7A_Foz7pzicrOHVzWDDU/view?usp=sharing)

Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 16, 2020, 03:48:17 pm
Nice theme, i'll make a package of it ^^

for resolutions : there is a PAL  progressive resolution available if you feel like having AM at 50Hz hehehe So the vertical resolution is slightly higher, that's the best progressive resolution you can get.
Title: Re: Collaborative effort for GroovyArcade
Post by: strontium on October 19, 2020, 11:58:30 am
couple of quick questions:

1.) Is there any way to disable the plymouth boot screen
2.) What if I want to change the image displayed. Change the groovyarcade image?
3.) Is there a way to rotate the boot screen for vertical monitors?

thanks again for a great build.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on October 19, 2020, 12:52:43 pm
yeah :

1. as root, edit /boot/syslinux/syslinux.cfg and remove the "splash" word. It won't display anymore, but will still be "loaded" in the initramfs and in RAM. Y§ou need to remove plymouth from the hooks in /etc/mkinitpio.conf

2. as of now (but it won't last since the plymouth theme is now a package), you can edit the files in /usr/share/plymouth

3. I'm not sure, but if you set the screen as rotated in gasetup, it might change the rotation of the logo. If not, copy lvr.png/lvl.png over arch-logo.png (if I'm not mistaken)

Once done, you need to regenerate the initramfs (if you update the kernel, it will be done automatically)
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on December 07, 2020, 03:22:39 pm
So, after some hard work, a new beta iso is finally available, I hope to release a new stable version in December!
Title: Re: Collaborative effort for GroovyArcade
Post by: Rion on December 11, 2020, 05:11:16 am
@Substring

Is there any chance to include Emulation Station as an alternative Frontend?

I would also really like to install Retroarch and use Crt Swtichres.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on December 11, 2020, 04:14:24 pm
Hi,

Regarding ES ... Well, can, of course. But which version ? Retropie's ? The original one that is absolutely obsolete ?

Regarding RA : can't say I really want to have it as its CRT implementation is far inferior to groovymame. But someone is working on it, i'll review it and do the polishing before adding it to GA. It's a matter of weeks
Title: Re: Collaborative effort for GroovyArcade
Post by: Rion on December 11, 2020, 08:07:54 pm
Hi,

Regarding ES ... Well, can, of course. But which version ? Retropie's ? The original one that is absolutely obsolete ?

Regarding RA : can't say I really want to have it as its CRT implementation is far inferior to groovymame. But someone is working on it, i'll review it and do the polishing before adding it to GA. It's a matter of weeks

That's excellent news! Can't wait  :)

I know that Retroarch CRTSwitchRes mode is still under heavy development by Benjamin Templeman (alphanu). But it is slowly improving for every version. Sadly Benjamin had a broken knee and is now recovering from surgery.

When it comes to EmulationStation forks i think that Batocera's fork is hand down the best version out there. Lots of configuration option. Its like you took the best parts from both RetroPies fork and Recalbox into one.
https://github.com/batocera-linux/batocera-emulationstation (https://github.com/batocera-linux/batocera-emulationstation)

Again my personal opinion.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on December 12, 2020, 05:56:45 am
Batocera .. Many reasons I don't want it :
- has some batocera specific code
- I know the main dev rather well, as I was working with him on Recalbox for months. But he just stabbed us in the back by forking and stealing Recalbox work countless times. Big ethical no.
- their version is a massive recamp of Retropie's

If you're unhappy with AM (which I can understand), You can try retroFE (good luck for the configuration), mehstation or the only real challenger around (which I do keep an eye on because it's awesome) : pegasus-fe. Not yet very popular, so not many themes available. But it's by far the most promising one, heads and shoulders above ES and AM. The only reason I'm not switching to it yet is that it doesn't update the romlists.

for RA ... Despite alphanu made some interesting work, I can't say the code is neat (far from it in fact). I'm personnaly against adding RA, but I understand some people feel comfortable with it and are used to it. So es, will add RA. Someone on our discord is working on it.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 18, 2021, 01:20:52 pm
Finally some news!

The new ISO is out, at last! It took me quite a while to adapt to a new version of archiso (the tool behind the creation of the DVD, which is a Arch Linux tool) but at least, now things are done in a much better way, and less hackish than before. There are not that many new features to be honnest, here are the visible ones :
  - you can finally install and use GA with UEFI
  - totally rewrote the wifi configuration
  - includes Calamity's kernel patch to wok on DCN1 Ryzen APU ;)

There is a number of changes under the hood which are not worth to be detailed. But there is on important change (transparent for 2021.01 iso users, but require a small order in steps for people updating their existing install from a previous iso) : if you want to update GroovyMAME, i strongly recommend you update gasetup first, and then GM. If you just went the pacman -Syu way, then simply resintall groovymame again (don't uninstall it). The reason is that there was a big change on what gets triggered when there is a new mame version installed. Please run your updates with the arcade user.

As usual, feedbacks are welcome.

Next big work: rewrite the update system inside the groovyarcade setup menu ! I'd also like to simplify the locale settings (choose a language, a keyboard, set the timezone), got a few leads for some autoconfiguration things if network is enabled.
Title: Re: Collaborative effort for GroovyArcade
Post by: dmckean on January 18, 2021, 06:47:14 pm
Does the new GroovyArcade fork have a name yet?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 19, 2021, 06:47:22 am
Errr no. I started it with a new internal name, but never published it so.

Any idea ? Keeping GroovyArcade in the name is almost mandatory, I'm open to suggestions. I thought about :
- GroovyARCADE-UX
- GroovyARCADE +
- GroovyARCADE-NX
- YAGA (Yet Another GroovyArcade)
Title: Re: Collaborative effort for GroovyArcade
Post by: donluca on January 19, 2021, 08:14:22 am
YAGA sounds good and very traditional in the unix world :P
Title: Re: Collaborative effort for GroovyArcade
Post by: dmckean on January 19, 2021, 11:45:31 am
I also like YAGA.
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on January 19, 2021, 12:00:31 pm
Why a new name? This should be the evolution of the project, not a fork in my opinion.
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on January 19, 2021, 05:20:03 pm
Great work - many thanks! :)  I agree with Calamity btw re the name!
Title: Re: Collaborative effort for GroovyArcade
Post by: donluca on January 19, 2021, 05:39:55 pm
Why a new name? This should be the evolution of the project, not a fork in my opinion.

I believe Substring and Ves are taking different approach and, yes, Substring's work definitely looks like a fork to me.

EDIT: just to make it clear: I agree with you, to me this should be an evolution, but alas...
Title: Re: Collaborative effort for GroovyArcade
Post by: dmckean on January 19, 2021, 06:58:10 pm
Why a new name? This should be the evolution of the project, not a fork in my opinion.

Forking a project and trying to take the name with you never works out well.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 21, 2021, 02:16:37 am
For people who want to suggest/vote for a new name : https://forms.gle/X7KwVri5LF3CC2dZA
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on January 21, 2021, 04:24:54 pm
So I'm using the newest 2021 ISO as of this writing, and I have a few issues:

First off, I'm using Radeon on a regular VGA CRT, and both the 31khz high resolution arcade option and 31khz 120hz PC CRT options work out of the box more or less for me. Great! Couple questions:
1- Does the 31khz 120hz PC CRT option include BFI?
2- I can use gasetup to pick a vertical monitor orientation, but neither attractmode or groovymame display vertically after doing so. Manually editing /home/arcade/shared/configs/mame/mame.ini has no effect either. Ideas?
3- not related to the GA Iso, but I can't join the GA discord, it just shows as "no text channels" and frequently crashes my client. I understand this may be an issue on Discord's end, but just wanted you to know it's happening.

Thanks!
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 21, 2021, 05:21:18 pm
So I'm using the newest 2021 ISO as of this writing, and I have a few issues:

First off, I'm using Radeon on a regular VGA CRT, and both the 31khz high resolution arcade option and 31khz 120hz PC CRT options work out of the box more or less for me. Great! Couple questions:
1- Does the 31khz 120hz PC CRT option include BFI?
What I can tell is that nothing is done for BFI. I just hope BFI is not a windows specific feature, nead to ask Calamity sama
Quote
2- I can use gasetup to pick a vertical monitor orientation, but neither attractmode or groovymame display vertically after doing so. Manually editing /home/arcade/shared/configs/mame/mame.ini has no effect either. Ideas?
AM has no setting for rotating the layout, it's definitely a per layout thing, so not something I can configure on my side.
Regarding MAME, I just set "orientation". I you wanted a "force any game for a vertical setup", then you have to force it yourself. This has been tested, in case you doubt ;)
Quote
3- not related to the GA Iso, but I can't join the GA discord, it just shows as "no text channels" and frequently crashes my client. I understand this may be an issue on Discord's end, but just wanted you to know it's happening.

Thanks!
The invitation on my signature has been used almost a 100 of times, so I'd say it's a discord temporary problem.
Title: Re: Collaborative effort for GroovyArcade
Post by: arfink on January 21, 2021, 05:38:37 pm
It's not a matter of doubt, I can provide video proof that changing the gasetup monitor orientation has no effect on how games display in groovymame, and the ini file I listed has no effect on that even if manually edited.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 21, 2021, 05:44:25 pm
replied to your issue on github ;) could be on my side indeed. Will fix it by the end of a week, will simply require a gasetup update.
Title: Re: Collaborative effort for GroovyArcade
Post by: rewind22x on January 24, 2021, 04:58:06 pm
First off, thank you so much for keeping this project alive.  The pandemic put the brakes on my office project http://forum.arcadecontrols.com/index.php/topic,160023.msg1708425.html#msg1708425 (http://forum.arcadecontrols.com/index.php/topic,160023.msg1708425.html#msg1708425), but I will soon be diving back into that.  This weekend, I replaced the vertical LCD in my arcade1up cab with a 19" lcd, horizontally mounted (required making a new mount and bezel).  Took the opportunity to install the new build.  Very please with how little fuss it took to get wifi working... and stay working.  Kudos!

One issue I ran into though... not sure if this is where to post it, but here goes:  Setting 'Exit Hotkey' in AM will not close the game.  It exits you back to AM, but the game continues to run in the back ground.  It was driving me nuts why the machine would get progressively slower and slower.  And when you would select a new game, you get a half second view of the previous game running before the new game starts loading.

Long story short, I cleared the Exit Hotkey option in AM and just set it in MAME itself. (UI CANCEL).  That seemed to do the job.  And, who knows, maybe it's always been this way and I've forgotten.  But I seem to recall the AM "Exit Hotkey" was the way to go.

I'm having some audio issues (some games, that previously had audio, now do not (X-MEN COTA, VS SMB), but I suspect that it's a MAME/hard ware issue.

Thanks again!

*update*

so I did a clean install- to rule out the possibility that I messed something up the first time araound, but still have issues with audio.  I can't prove it, but it's like AM keeps control of the audio (and runs in the background) while a game is running.  I then performed a clean install of 2020.06 and everything is working fine (sans wifi-  thank you for that!). Again, no clue if this in on your end or an issue with GA or AM or what.  Just reporting what I'm experiencing.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 25, 2021, 05:07:58 am
First off, thank you so much for keeping this project alive.  The pandemic put the brakes on my office project http://forum.arcadecontrols.com/index.php/topic,160023.msg1708425.html#msg1708425 (http://forum.arcadecontrols.com/index.php/topic,160023.msg1708425.html#msg1708425), but I will soon be diving back into that.  This weekend, I replaced the vertical LCD in my arcade1up cab with a 19" lcd, horizontally mounted (required making a new mount and bezel).  Took the opportunity to install the new build.  Very please with how little fuss it took to get wifi working... and stay working.  Kudos!
Glad to see you're happy with it and that WiFi works fine :) Out of curiosity : Did you use the traditionnal SS/Dpassword combo or tried WPS? ?
Quote
One issue I ran into though... not sure if this is where to post it, but here goes:  Setting 'Exit Hotkey' in AM will not close the game.  It exits you back to AM, but the game continues to run in the back ground.  It was driving me nuts why the machine would get progressively slower and slower.  And when you would select a new game, you get a half second view of the previous game running before the new game starts loading.

Long story short, I cleared the Exit Hotkey option in AM and just set it in MAME itself. (UI CANCEL).  That seemed to do the job.  And, who knows, maybe it's always been this way and I've forgotten.  But I seem to recall the AM "Exit Hotkey" was the way to go.
ESC is UI_CANCEL by default.

The AM side worries me more, AM would be supposed to kill the process, but looks like it's failing. Will talk about that with one of AM devs, I don't use that feature myself, but gotta see if it's not a problem with the script that launches GM ...
Quote
I'm having some audio issues (some games, that previously had audio, now do not (X-MEN COTA, VS SMB), but I suspect that it's a MAME/hard ware issue.

Thanks again!

*update*

so I did a clean install- to rule out the possibility that I messed something up the first time araound, but still have issues with audio.  I can't prove it, but it's like AM keeps control of the audio (and runs in the background) while a game is running.  I then performed a clean install of 2020.06 and everything is working fine (sans wifi-  thank you for that!). Again, no clue if this in on your end or an issue with GA or AM or what.  Just reporting what I'm experiencing.
That worries me more. Someone reported audio disappearing after a few seconds to a few minutes. I experienced that once. My first intuition would be that it's on MAME side. A few ways to test that : use the 2020.06 iso and update everything BUT groovymame, or just switch to the real MAME ... many ways to check that. You could also just download the 226 binary from Calamity's repo and test (beware, there are some mame.ini parts that changed between.226 and .227, and they concern switchres)
Title: Re: Collaborative effort for GroovyArcade
Post by: rewind22x on January 25, 2021, 12:01:24 pm
For the wifi connection I'm using SSID / PW authentication (Unifi waps).
It was also nice that the ethernet interface grabbed an ip automatically as well.

Yeah, I was aware that ESC is the default. Hitting that would actually kill the process.  But this was to configure joystick buttons to kill the game and go back to AM.  I vaguely remembered setting that in AM (EXIT HOTKEY), but just decided to set it in MAME (UI_CANCEL) and that fixed that issue.  Then I kept experiencing the issue I posted in my *update*.

I'll give the updating 2020.06 a try.  Just run the updating scripts in gasetup, correct?

*update*  I'm doing all this on an modded Arcade1Up (LCD) at the home, so don't need to worry about switchres for the moment.

*2nd update*  I must be doing something wrong, with regards to updating.  I've confirmed that I'm connected to the internet, I go to gasetup and run all the options to update the various things but there nothing available to update under everything option, with the exception of gasetup.  but that fails

I also try via the desktop/terminal 'sudo pacman -Syu' but it also fails (can't import the PGP key).  Another issue I'm experiencing (which is weird because I'm almost positive I've been running build 2020.06 on this hardware since it released up until this past weekend) is that once I get the build installed to the hard drive and copy over some ROMs, test some out- if i reboot, GA will no longer recognize my joysticks nor buttons.  Keyboard only.  AM will recognize the joysticks and buttons.  Super weird. I'm going to try a straight install and then reboot without changing anything to see if I can reproduce it.  It's probably some hardware issue on my end.  Frustrating tho.

I'm pretty novice with linux, so don't feel you need to spend a lot of time (or any) troubleshooting these issues.  Thanks again.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 26, 2021, 01:05:33 pm
forget about the update scripts in gasetup, they are worth out of date, I'm about to start rewriting them.

To update everything go for sudo pacman -Syu --ignore=groovymame which will fully update the OS.
Title: Re: Collaborative effort for GroovyArcade
Post by: rewind22x on January 26, 2021, 01:24:00 pm
just posted an update.. lol.

will do, thanks man.

*update

still getting the Import PGP key error.

*update 2

nevermind. I just did a clean install and went straight to the desktop and it updated.  I must have been doing something to jack it up before. sorry.

* update 3

So, I've been messing with previous builds to update from.  reading up on arch, pacman, and just doing a bunch of trial and error learning.  2020.06 was great except that once I powered off or rebooted the machine, the joysticks/buttons would no longer be recognized in GA.  so weird.  Then I moved back to 2020.04.  That build worked well except it wouldn't get proper mame names in AM.  It would list the filename.... stupid issue, I know... and since resolved.

So on a whim, I just reinstalled 2021.1.  Left AM alone, fired up a game, set some buttons for coin/start/ui_cancel.  Noted that the audio was not present, as before.  AM does have audio.

So I got the idea to jump out to the command line, I updated while there, and then ran groovymame.  Went into the Audio options, set samples rate to 41000hz and external samples to off.  Reloaded AM, loaded a game and the audio worked!  I then tested with several other games with the same result.  Rebooted and checked again- still working.  I then went back to the command prompt, ran groovymame, and set the Audio settings back to default (48000hz and external samples on).  Got back into AM, ran a game and audio still was working.  Rebooted, checked more games; still working.

So you are probably right that it's something to do with GM, but maybe just needed to be reset by changing the audio settings?  Maybe it needed to be initialized? I did both, but it very well could just be one of the setting that needs to be changed (either Sample rate or External samples).  I'm happy either way.  The last lingering issue that i see- and it's really petty, is that, often, when you run a game from AM, you get a brief "loading", then black screen, then a few seconds of the "loading" screen again before the game initializes.  I believe previous builds jumped straight the game more seamlessly.

Anyway,  dude, thanks so much for this build and your advice.  Bare minimum, it's such a great option for those who just want arcade games.  Looking forward to putting this on the CRT cab at the office and use if for what it was truly made for.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 28, 2021, 05:48:43 am
The joystick fix has been given a few posts above : add the arcade user to the input group and you're fine.

Could also switch to SDL audio, but it's said to have more lag than portaudio
Title: Re: Collaborative effort for GroovyArcade
Post by: atohmdiy on February 03, 2021, 11:25:13 am
Hello,
I am new to groovy arcade. I assemble a small pc with spare parts, ryzen 1700 and R5 230. I have a sony bvm 20f1e crt. Between the pc and crt i use a sync combiner as i was pretty sure the output from my 230 will be HV sync and not composite.
I tried the last iso, the livecd started, i got a nice 480i resolution. First strange thing, it says my graphic card doesn't support low pixel clock... it's suppose to support it well that is why i use this card.

I select standard 15.7khz crt. I install ga to my pc ssd, when i reboot i got this :

https://www.casimages.com/i/210203052655882835.jpg.html

I tried to make retroarch to work with another install (manjaro) and get similar thing when i activate the 15 khz mode.

Another question, is there any way to activate csync out ? It is suppose to have this option in crt emudriver windows driver.

Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 04, 2021, 02:19:48 am
Hi!

First: no csync out. Would require some more kernel patching as well as GM/switchres evolution. Not done so far, not even sure it would work as expected.

Now for your problem, I need a few answers :
- which HFreq have you enabled when booting the iso ?
- have you tried the livecd part on the iso ? Was it working good (attract mode + groovymame) ?
- once installed, does the boot splash screen display correctly ? (The one with the GA logo + progress bar) ?

Last technical details :
- VGA is RGBHV (as of now)
- I didn't enable low dotclocks for your GPU since I wasn't dure at that moment the driver would support it. Pretty easy to fix, need to edit 2 files.
Title: Re: Collaborative effort for GroovyArcade
Post by: atohmdiy on February 04, 2021, 01:14:07 pm
Hello,

- which HFreq have you enabled when booting the iso ?
I don't know. When i boot the iso it asks to press enter two times, then i select standard 15 khz display. Then there is the menu.

- have you tried the livecd part on the iso ? Was it working good (attract mode + groovymame) ?
I just try with the live-cd option, it works, but the interface in "attract mode" is very slow, i need 5-6 second when i hit up or down to move.
Except that i try to start a game and it works. The load screen also works fine. It seems to stay in interlaced resolution however, i'd prefer a nicer 240p, at least for the games.

- once installed, does the boot splash screen display correctly ? (The one with the GA logo + progress bar) ?
No it don't. It is obvious the resolution is too high. At start there seems to be a menu, but it's unreadable so i just press start, then the boot splash and then interface is in the wrong res.

I can ssh to my ga installation, i guess i need to modify a file somewhere to force 240p ?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 04, 2021, 04:27:10 pm
Hello,

- which HFreq have you enabled when booting the iso ?
I don't know. When i boot the iso it asks to press enter two times, then i select standard 15 khz display. Then there is the menu.
The question was rather right after the BIOS. I guess you chose 15kHz
Quote
- have you tried the livecd part on the iso ? Was it working good (attract mode + groovymame) ?
I just try with the live-cd option, it works, but the interface in "attract mode" is very slow, i need 5-6 second when i hit up or down to move.
Except that i try to start a game and it works. The load screen also works fine. It seems to stay in interlaced resolution however, i'd prefer a nicer 240p, at least for the games.
I suspect Attract Mode not going too well with Ryzen. The fix is complicated sadly and you're pretty much on your own : https://gitlab.com/groovyarcade/support/-/wikis/2-HowTo/2.4-Troubeshooting#no-keyboard-input-in-attract-mode-frontend-high-cpu-usage-on-single-coresthreads
AL is in interlaced by default, yes, i don't set 240p as default beacuse text messages are almost impossible to fit
Quote
- once installed, does the boot splash screen display correctly ? (The one with the GA logo + progress bar) ?
No it don't. It is obvious the resolution is too high. At start there seems to be a menu, but it's unreadable so i just press start, then the boot splash and then interface is in the wrong res.

I can ssh to my ga installation, i guess i need to modify a file somewhere to force 240p ?
then go for sudo nano /boot/syslinux/syslinux.cfg and change 1280x480iS to 320x240S. You can do that from the text menu, in the video options
Title: Re: Collaborative effort for GroovyArcade
Post by: atohmdiy on February 05, 2021, 07:15:11 am
I already tried that, nano said "[ Directory '/boot/syslinux' does not exist ]", i then realize this is the EFI directory (/boot/EFI/syslinux).

I got this in my syslinux conf, there is no 1280x480iS that i can change for 320x240S

default arch
timeout 0
prompt 0
#UI vesamenu.c32
menu title Groovy Arcade Linux
menu background splash.png
label arch
menu label GroovyArcade
linux /vmlinuz-linux-15khz
append root=/dev/disk/by-label/GA rw quiet rd.udev.log-priority=3 splash mitigations=off audit=0
initrd /initramfs-linux-15khz.im
Title: Re: Collaborative effort for GroovyArcade
Post by: musclepower on February 05, 2021, 09:55:51 am
Hello, I have been using GroovyMAME and CRT Emudriver on Windows for a while and wanted to try GroovyArcade. I used groovyarcade-2021.01-x86_64.iso with Rufus to make a bootable USB stick. It booted fine, I was able to select 15 kHz mode and get to the splash screen with the black loading bar. However nothing happens after the loading bar is full. Am I missing a prerequisite to boot from USB ?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 05, 2021, 01:50:44 pm
I already tried that, nano said "[ Directory '/boot/syslinux' does not exist ]", i then realize this is the EFI directory (/boot/EFI/syslinux).

I got this in my syslinux conf, there is no 1280x480iS that i can change for 320x240S

default arch
timeout 0
prompt 0
#UI vesamenu.c32
menu title Groovy Arcade Linux
menu background splash.png
label arch
menu label GroovyArcade
linux /vmlinuz-linux-15khz
append root=/dev/disk/by-label/GA rw quiet rd.udev.log-priority=3 splash mitigations=off audit=0
initrd /initramfs-linux-15khz.im

You've chosen SVGA at boot. I'd need to know the linux connector name not to force a 15kHz resolution on all of them.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 05, 2021, 01:51:22 pm
Hello, I have been using GroovyMAME and CRT Emudriver on Windows for a while and wanted to try GroovyArcade. I used groovyarcade-2021.01-x86_64.iso with Rufus to make a bootable USB stick. It booted fine, I was able to select 15 kHz mode and get to the splash screen with the black loading bar. However nothing happens after the loading bar is full. Am I missing a prerequisite to boot from USB ?

Try etcher, some people reported that burning the ISO to USB had various results.
Title: Re: Collaborative effort for GroovyArcade
Post by: atohmdiy on February 05, 2021, 02:23:03 pm
I already tried that, nano said "[ Directory '/boot/syslinux' does not exist ]", i then realize this is the EFI directory (/boot/EFI/syslinux).

I got this in my syslinux conf, there is no 1280x480iS that i can change for 320x240S

default arch
timeout 0
prompt 0
#UI vesamenu.c32
menu title Groovy Arcade Linux
menu background splash.png
label arch
menu label GroovyArcade
linux /vmlinuz-linux-15khz
append root=/dev/disk/by-label/GA rw quiet rd.udev.log-priority=3 splash mitigations=off audit=0
initrd /initramfs-linux-15khz.im

You've chosen SVGA at boot. I'd need to know the linux connector name not to force a 15kHz resolution on all of them.

I am using the vga output, strangelu xrandr show no output (Can't open display )

So i use this command :
[arcade@GroovyArcade ~]$ find /sys/devices -name "edid"
/sys/devices/pci0000:00/0000:00:03.1/0000:0c:00.0/drm/card0/card0-HDMI-A-1/edid
/sys/devices/pci0000:00/0000:00:03.1/0000:0c:00.0/drm/card0/card0-VGA-1/edid
/sys/devices/pci0000:00/0000:00:03.1/0000:0c:00.0/drm/card0/card0-DVI-D-1/edid


So i guess it's the VGA-1 interface.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 05, 2021, 05:36:18 pm
I am using the vga output, strangelu xrandr show no output (Can't open display )

So i use this command :
[arcade@GroovyArcade ~]$ find /sys/devices -name "edid"
/sys/devices/pci0000:00/0000:00:03.1/0000:0c:00.0/drm/card0/card0-HDMI-A-1/edid
/sys/devices/pci0000:00/0000:00:03.1/0000:0c:00.0/drm/card0/card0-VGA-1/edid
/sys/devices/pci0000:00/0000:00:03.1/0000:0c:00.0/drm/card0/card0-DVI-D-1/edid


So i guess it's the VGA-1 interface.
Better check the value of status rather than the presence of the edid. That said, now you should append "video=VGA-1:320x240S" to syslinux.cfg (on the line starting with append=). Still 640x240 or 640x480i give better font reading, or a wider display that make things easier to display and read
Title: Re: Collaborative effort for GroovyArcade
Post by: musclepower on February 06, 2021, 11:16:41 am
Hello, I have been using GroovyMAME and CRT Emudriver on Windows for a while and wanted to try GroovyArcade. I used groovyarcade-2021.01-x86_64.iso with Rufus to make a bootable USB stick. It booted fine, I was able to select 15 kHz mode and get to the splash screen with the black loading bar. However nothing happens after the loading bar is full. Am I missing a prerequisite to boot from USB ?

Try etcher, some people reported that burning the ISO to USB had various results.

Same result with etcher. 2020.06 is working though.

Edit: removing UEFI boot in my computer boot menu did the trick, now 2021.01 is loading correctly from USB flash drive.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 07, 2021, 05:56:21 am
UEFI can be very picky. Things like "Fadt boot" can also make booting fail
Title: Re: Collaborative effort for GroovyArcade
Post by: atohmdiy on February 07, 2021, 09:08:25 am
I am using the vga output, strangelu xrandr show no output (Can't open display )

So i use this command :
[arcade@GroovyArcade ~]$ find /sys/devices -name "edid"
/sys/devices/pci0000:00/0000:00:03.1/0000:0c:00.0/drm/card0/card0-HDMI-A-1/edid
/sys/devices/pci0000:00/0000:00:03.1/0000:0c:00.0/drm/card0/card0-VGA-1/edid
/sys/devices/pci0000:00/0000:00:03.1/0000:0c:00.0/drm/card0/card0-DVI-D-1/edid


So i guess it's the VGA-1 interface.
Better check the value of status rather than the presence of the edid. That said, now you should append "video=VGA-1:320x240S" to syslinux.cfg (on the line starting with append=). Still 640x240 or 640x480i give better font reading, or a wider display that make things easier to display and read

Hello,

Ok it is working fine. Now i need to make the sound to work and it should be fine. I need to use the spdif toslink out of my motherboard, but it is not working. There is nothing in the menu to select what sound output to use, i try to activate the spdif out with alsamixer and set the hd audio as default as describe here : https://www.alsa-project.org/wiki/Setting_the_default_device
The other device in my system is the hdmi out of the r5 230 graphic card that i won't use.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 07, 2021, 12:15:01 pm
alsa is the worst pita back from the dinoraurs time of Linux ... The only thing I can suggest is to make sure the output is enabled in Alsa and not muted. Then, you'd have to edit ~/.asoundrc to set the right sound output
Title: Re: Collaborative effort for GroovyArcade
Post by: atohmdiy on February 07, 2021, 01:50:19 pm
Alsa is fine, this is this interface that is a damn catastrophy, to be able to choose the audio output is a very basic feature. I would rather have a simple text interface to choose the rom.
Title: Re: Collaborative effort for GroovyArcade
Post by: atohmdiy on February 09, 2021, 07:33:02 am
Hello,
Thank you anyway for your help, i manage to make it work. I modify ~/.asoundrc and not the one in /etc/... and it works fine now.

I tried some rom but a few games just crash at startup. I tried some irem m92 and it works fine, but neither metal slug 6 or cps2 games are working. Also wanted to try demon front but again it is crashing at startup.

From what i remember metal slug 6 is terribly emulated in mame, i tried it on flycast and it was working fine. I guess the problem is that it's a 480p native game, but in flycast it is possible to downscale in 240p. I am no specialist but i guess the atomiswave should have some kind of 15 khz compatibility mode as 15 khz cab was the majority back then.

For demon front it's strange aspect ratio if i remember, it's 400x200 or something so it's a 2 of aspect ratio. Not sure if this game support a standard 4:3. Anyway it crash at startup.

For cps2 games it's strange, i remember it is also a specific aspect ratio but it is strange it crash.
Title: Re: Collaborative effort for GroovyArcade
Post by: atohmdiy on February 10, 2021, 12:56:43 pm
Well it's me who is stupid, i forget the bios archives  :banghead:

Did someone have any tips to run metal slug 6 in 15 khz ?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 10, 2021, 01:06:31 pm
You can't compare Flycast and Mame. Flycast is really dedicated to the dreamcast hardware, where Mame is like a big truck definitely not optimised for such a single system. But I think MS6 was plain 480p, so mame would run it at 480i.

Demon Front is 448x224@59.185606 Hz (http://adb.arcadeitalia.net/dettaglio_mame.php?game_name=dmnfrnt&arcade_only=0&autosearch=1). No probs on CPS2 here.
Title: Re: Collaborative effort for GroovyArcade
Post by: atohmdiy on February 11, 2021, 07:20:38 am
In flycast it is possible to force 240p in the option, and when you start ms6 it's obvious it's downscale. I don't know if it's flycast that downscale or an original function of the hardware. Problem is, when i try with retroarch (15 khz crt mode enabled) and flycast, even if i set the 240p in flycast, their resolution utility want to start the game in 480p. In mame the game indeed start in 480i, but it freeze at the difficulty selection.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 11, 2021, 08:52:23 am
Retroarch ... Sorry, can't help with that for now, it uses its own switchres code that needs quite some cleaning
Title: Re: Collaborative effort for GroovyArcade
Post by: Nikoh on February 15, 2021, 01:45:43 pm
Retroarch ... Sorry, can't help with that for now, it uses its own switchres code that needs quite some cleaning
And that don't work with 2 or more monitors....  :banghead:
Title: Re: Collaborative effort for GroovyArcade
Post by: Nikoh on February 15, 2021, 01:54:45 pm
By the way... hi everyone, i'm new here, i'm very happy i found this place, i'm carefully reading all your posts and i'm learning so many things (and i'm consolidating the things i already knew) and i'm starting to do "two + two".
I will immediately start asking you something on this forum ;-)
Congratulations to all for your commitment and for your knowledge (and sorry for my bad english, it's my limit  :dunno)
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 16, 2021, 07:25:46 am
Welcome on board, this is your captain speaking :)

Your english is more than good so we understand you. I'm not a native english speaker as well ;)
Title: Re: Collaborative effort for GroovyArcade
Post by: DanielBohrer on February 26, 2021, 08:07:01 pm
Hey guys!

This is my first post here. I just started messing with GroovyArcade a few weeks ago and it's really great to have such a robust tool available for free, thank you everyone involved in developing and maintaining this.

I'm running build 2021.01 on my CRT-based arcade cabinet (via Jpack). I was able to install/configure everything, load Attract Mode, it all works.

I have two problems:

1. the system doesn't recognize/find any drives I plug into the system with Roms on them (tried NTFS and FAT32 USD drives as well as an internal SATA HD)

2. No matter, as I was able to FTP into the system and add roms to the shared/roms/mame folder.

This is where I have a problem: As soon as I edit the rom folder (be it adding or deleting roms) when I boot Attract mode back up the list is empty (I have the UI but no names or snaps show up) and I can't load any games "blindly" either.

Sorry if this is a common error/question, but any insights would be much appreciated as my searches have not been successful.

Thanks!!

Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on February 27, 2021, 04:51:39 am
Hi there! Welcome onboard!

Hey guys!

This is my first post here. I just started messing with GroovyArcade a few weeks ago and it's really great to have such a robust tool available for free, thank you everyone involved in developing and maintaining this.

I'm running build 2021.01 on my CRT-based arcade cabinet (via Jpack). I was able to install/configure everything, load Attract Mode, it all works.

I have two problems:

1. the system doesn't recognize/find any drives I plug into the system with Roms on them (tried NTFS and FAT32 USD drives as well as an internal SATA HD)
Indeed, nothing is made to auto mount drives. I may add that to the next release. The thing is : there is no such a thing by default in Arch Linux. The solution I may implement : https://wiki.archlinux.org/index.php/Udev#Mounting_drives_in_rules
Quote
2. No matter, as I was able to FTP into the system and add roms to the shared/roms/mame folder.

This is where I have a problem: As soon as I edit the rom folder (be it adding or deleting roms) when I boot Attract mode back up the list is empty (I have the UI but no names or snaps show up) and I can't load any games "blindly" either.
FTP or Windows network shares work with user arcade/arcade. Roms aren't autorefreshed nor autoscraped, you need to press TAB, go to the emulator, then generate the romlist + scrape from there
Title: Re: Collaborative effort for GroovyArcade
Post by: DanielBohrer on February 27, 2021, 12:10:28 pm
Hey Substring,

gotcha, thanks for the answers! I was conflicted with some things I read online and youtube videos I've seen with older releases and how to mount drives, but now that I understand a bit (I think :lol) the different branches of GA it makes sense.

The FTP works great and I'll follow the instructions you sent to generate the rom list.

Cheers!
Title: Re: Collaborative effort for GroovyArcade
Post by: DanielBohrer on March 01, 2021, 07:07:47 pm
Hey guys!

Ok, got the game list generated and scraped artwork, so that's working great. However, when I load a game, it shows me the progress window (loading machine) but when it's done loading it goes back to the menu and doesn't load a game. I have thus far tested:

- Games of different sizes/ages like arkanoid and guiltygear from the same romset (split 0.220)

- FF3 3rd Strike no CHD release (not sure what mame version it was made for)

Is it a version issue? Any leads would be much appreciated.

Thanks!
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 02, 2021, 03:52:22 am
Check the log in shared/logs/mame.log, I guess your romset is not valid.
Title: Re: Collaborative effort for GroovyArcade
Post by: DanielBohrer on March 04, 2021, 10:02:51 pm
Thanks again Substring.

The log has some good info. Each game seems to be missing different things, but it's a great resource to google deeper and figure out what. Seems more of an issue now between my roms and mame, but I need to understand better all that goes into mame and/or specific rom requirements (like bios files, etc.).

Cheers!
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 05, 2021, 04:51:41 am
Let me give you a little background explanation.arcade games are eletronic boards with chips. These chips are dumped and put together in a zip file to "reflect" a board as precisely as possible. Unlike console emulators that are way more lenient on these roms, mame needs the exact dumps and identifies them with some crc like hash. With time, new dumps appear, some chips are redumped, and mame needs to adapt to those changes.

Let's take a very sample : wrally that is shipped with GA. In with mame 227 or 228, there was a new file for the rom. Mame considered that the wrally rom needs that new file, and therefore considers roms that miss that new file as unusable.

There are tools to validate a romset (the most famous one being clrmamepro on windows). Such tools use a mame dat/lx file (which lists roms mame knows with the exact detauls of the dumps required), and will check your roms to tell you if they are valid or not.

That's the "Arcade emulation 101" ;)
Title: Re: Collaborative effort for GroovyArcade
Post by: DanielBohrer on March 17, 2021, 10:51:09 pm
Hey Substring,

sorry for the late reply here. That's great info! Thank you for taking the time to explain the basics, this does help a lot.

Cheers!
Title: Re: Collaborative effort for GroovyArcade
Post by: Prog on March 18, 2021, 11:01:21 pm
Here are a few things I learned in my GroovyArcade excursion. I am running on an old Dell Inspiron 530 with an Intel Core 2 Quad Q6600 and an Ultimarc ArcadeVGA 5000 that I ordered a couple years back.

"Issue #0" was that I needed CSync for my modded TV and the ArcadeVGA only output HV sync. Thankfully, eventually this (https://www.retrorgb.com/building-a-passive-sync-combiner.html) article was posted to RetroRGB about how to build a simple sync combiner. It won't always work but I built it on a breadboard and it works well for this application. (Protip: Make sure you have a strong ground connection between both sides of the VGA connection! Loose breadboard holes alone simply won't do!)
The first issue I encountered was that I kept getting booted to the emergency terminal. At first I thought this was related to errors I encountered trying to change the default res in GASetup. Later I found out that my fstab file had allocated my installation pendrive as sda and my HDD as sdb, so when I unplugged the flash drive, syslinux couldn't find the OS as the HDD then became SDA. My fault for not heeding "be sure to remove the installation media."
The second one was that I couldn't get internet. Luckily, a gaming PC I had on hand had an unused wifi card which worked out-of-the-box with Arch. You won't always be so lucky.
Third is that my sound would occasionally drop-out mid game. It would always work after I exited MAME, and I could even initiate audio playback in the background of MAME. With some troubleshooting I determined that the sound would not do this if I had another sound file playing in the background, and I deduced that, for whatever reason, the sound card was entering some kind of power-saving mode in MAME. I found a solution online to disable power saving in my particular sound card's kernel module (snd_hda_intel). The configuration files on GroovyArcade are in a deprecated location, according to the Arch wiki, but for now, it worked. If you need me to track down more details of how I fixed this, lmk.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 27, 2021, 03:16:26 pm
Hey everyone !

The March 2021 iso is out!

What's new:
- fixed 31kHz boot
- new update menu
- usb drives automount
- afew bugs fixed here and there

To download: https://github.com/substring/os/releases/tag/2021.03
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on March 28, 2021, 05:41:37 am
Thanks Substring, I hope to try this out in the next week or two.   :applaud:

Question though.. the previous version uses an older version of groovymame I am assuming?  I think .221 ?  I have about 100 roms on my cab.  I am guessing some of these will need updating, or is there an easy way to revert to the older version of groovymame?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 28, 2021, 02:46:37 pm
We're always moving forward, no easy way to roll back to a previous version of mame (but it's technically possible)
Title: Re: Collaborative effort for GroovyArcade
Post by: Prog on March 28, 2021, 04:42:48 pm
Noob question, but will all this stream down to me if I update via pacman? Or do I need to do something with the iso
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 29, 2021, 02:45:23 am
Noob question, but will all this stream down to me if I update via pacman? Or do I need to do something with the iso
Depends what part you want the most :
- 31kHz boot : that's rather at installation, but choosing the video resolution could work, I haven't tried
- usb automount : can be added manually
- new update menu : you'd need to (manually) update gasetup, it takes 1 command
- bug fixes : they are all over the place
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on April 05, 2021, 01:04:28 pm
Hey Substring,

I'm having problems running choplifter (rom choplift) with your 2020.06 release.  When the guys say "thank you" at being picked up by the chopper, the game slows right down like the speech is causing it to pause.  This seems to be the only game I've come across that does this.

I'd like to get a groovymame log, but not sure how to do that on your collab release of grroovyarcade.  If I exit to command prompt and try running "groovymame choplift > choplift.txt" from there I just get a Segmentation fault.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 05, 2021, 05:35:50 pm
To make a REAL log :
in AM, press TAB > EMulators > MAME, edit "Command Arguments" and append -v so it should look like "groovymame arcade [name] -v"
The log is in /home/arcade/shared/logs/mame.log
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on April 06, 2021, 03:14:56 pm
Thanks substring, have submitted a report in the appropriate thread.

I wonder if you could help me with something else.  I'm trying to get my groovyarcade setup to write the mame highscore files out to a mounted usb flash drive on shutdown (as an ongoing backup), but I can't get it to work.

First I got the drive to mount on boot up, which seems to work fine, by adding the following line to /etc/fstab: -
Code: [Select]
UUID=7593-B46C /media auto nosuid,nodev,nofail 0 0
Then I added the following file "/usr/lib/systemd/system-shutdown/hiscores.shutdown" and chmod +x'd it, and set its contents to: -
Code: [Select]
#!/bin/sh
sudo cp /home/arcade/shared/configs/mame/hi/*.* /media

Nothing seems to be written to the mounted partition on shutdown though.  It works if I call the command directly from shell.

Anything you can suggest?  Thanks
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 06, 2021, 05:31:56 pm
try https://unix.stackexchange.com/a/41756

Make a logfile as well, this would help to debug what's wrong
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on April 06, 2021, 06:22:43 pm
Thanks - got it working!   :cheers:
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on April 06, 2021, 06:46:33 pm
Do you know if there's any way to get rid of the visible error messages on shutdown (which was happening before I attempted to run a script to backup the mame/hi folder).

I tried to upload a photo but the forum isn't letting me.

This comes up every time I shut down...

sd-umoun[2757]: Failed to unmount /oldroot: Device or resouce busy
sd-umoun[2758]: Failed to unmount /oldroot/dev/pts: Device or resouce busy
sd-umoun[2759]: Failed to unmount /oldroot/dev: Device or resouce busy
shutdown[1]: Failed to finalize file systems, ignoring.
reboot: Power down


It doesn't *seem* to break anything, but it's ugly as heck.

Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 07, 2021, 04:50:15 am
Oldroot ? There is no such folder, or maybe something linked the initramfs ?
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on April 07, 2021, 05:35:18 am
Yeah I don't understand it either.... can't think of anything I've done/tweaked to cause this message.  Odd.
Title: Re: Collaborative effort for GroovyArcade
Post by: jonnyapps on April 10, 2021, 09:35:12 am
Thanks so much for this project and all the hard work. It's amazing.

I have no idea about development and this is my first time using Linux, so I'm not able to contribute to the work, but wondered if there's a way to donate to the project?

This project is the only way I've found that easily lets me use the CRT without much faff, so I'm wondering if there's a way I can add Retroarch to it? Happy to learn how to do it, but would be grateful of a pointer on where to start.

Thanks again for all the work
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 10, 2021, 02:09:24 pm
If you need to donate, Calamity is the one deserving everything. I'm doing that for free, for my own geek pleasure, ad I'm glad people enjoy it.

For RA ... Well ... Their switchres implementation is whacky, so nothing done on my side. Someone on Discord made some work but it' needs quite some polishing.
Title: Re: Collaborative effort for GroovyArcade
Post by: donluca on April 29, 2021, 07:40:29 am
Just a heads up for Calamity/Substring: the new linux Kernel has now Intel's adaptive sync supported.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on April 29, 2021, 05:02:53 pm
Does this fix the crappy intel vsync which tears so much ?
Title: Re: Collaborative effort for GroovyArcade
Post by: donluca on April 29, 2021, 05:47:22 pm
Could be, could be... guess only one way to know :P
Title: Re: Collaborative effort for GroovyArcade
Post by: AmokSolderer on May 07, 2021, 09:46:47 am
First of all: Great project!
I remember how much work it was to set up my arcade machine 15 years ago. I have no idea how many modelines I calculated back then.
And when the PC died some years ago I didn't want to go through that again. So my machine stood there until I found your project and with this it was almost no work to make Mame work again - Thanks for that.

But now that I'm hooked I also want to run my old Amiga games again. FS-UAE runs fine but not in the native Amiga resolution. Therefore my question is what is the best way to run an emulator like fs-uae in a certain resolution?

I thought I'd found the answer here https://github.com/antonioginer/switchres (https://github.com/antonioginer/switchres), but these arguments do not work with the switchres version of GroovyArcade. Do I really have to compile a newer switchres version and is there a risk to mess up my working Mame setup when doing so?

Thanks in advance
Title: Re: Collaborative effort for GroovyArcade
Post by: wigginjs on May 07, 2021, 12:56:51 pm
Hi all,  super excited about using this project for my arcade build!  Thank you so much to Calamity, Substring, and the community for this project.

I've put the GroovyArcade 2021.03 release on a USB key and I'm using it with my an HP desktop that has an i5-3470 processor and 4GB memory.  This system has onboard video out (DVI and VGA), but I've also installed a AMD Radeon HD 5450 card in the PCI-e slot.  I'm using a HDMI -> Component transcoder to connect to my standard def Sony Wega (KV-36FS130).  The transcoder looks like this one ( https://www.joom.com/en/products/5aff9eea8b451301c9b8f471 (https://www.joom.com/en/products/5aff9eea8b451301c9b8f471) ) and I'm also using it with a Raspberry Pi 3, outputting 240p to this TV with no issues.

I can get video to display by using the HDMI output of the Radeon and selecting the NTSC option during USB key boot.  I'm able to use this to complete the GroovyArcade install to my hard drive.  But, when I boot from the hard drive, I just get grabbled video from Attract Mode and even when I hit ESC and go to the text configuration menu.  I was able to start getting video output from the text configuration menu by editing the  /boot/EFI/syslinux/syslinux.cfg file and specifying 640x240S as the resolution.  It was blank before this.  I've also tried going into a game from the Attract Mode menu, but I still get grabbled video.  Any idea what I might be doing wrong?



Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on May 08, 2021, 01:23:54 pm
First of all: Great project!
I remember how much work it was to set up my arcade machine 15 years ago. I have no idea how many modelines I calculated back then.
And when the PC died some years ago I didn't want to go through that again. So my machine stood there until I found your project and with this it was almost no work to make Mame work again - Thanks for that.

But now that I'm hooked I also want to run my old Amiga games again. FS-UAE runs fine but not in the native Amiga resolution. Therefore my question is what is the best way to run an emulator like fs-uae in a certain resolution?

I thought I'd found the answer here https://github.com/antonioginer/switchres (https://github.com/antonioginer/switchres), but these arguments do not work with the switchres version of GroovyArcade. Do I really have to compile a newer switchres version and is there a risk to mess up my working Mame setup when doing so?

Thanks in advance

Hey! Glad you like it :)

FS-UAE is ... complicated. I've already looked in how to get SR implemented inside, but it's really really complicated. As the Amiga could output almost any resolution, using a loader like switchres won't help much, but here is how you should do it !
is an example for 320x288 on a PAL system (as the Amiga is mostly PAL)
[/list]

That's a starter point, ask for more help if you need
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on May 08, 2021, 01:30:36 pm
Hi all,  super excited about using this project for my arcade build!  Thank you so much to Calamity, Substring, and the community for this project.

I've put the GroovyArcade 2021.03 release on a USB key and I'm using it with my an HP desktop that has an i5-3470 processor and 4GB memory.  This system has onboard video out (DVI and VGA), but I've also installed a AMD Radeon HD 5450 card in the PCI-e slot.  I'm using a HDMI -> Component transcoder to connect to my standard def Sony Wega (KV-36FS130).  The transcoder looks like this one ( https://www.joom.com/en/products/5aff9eea8b451301c9b8f471 (https://www.joom.com/en/products/5aff9eea8b451301c9b8f471) ) and I'm also using it with a Raspberry Pi 3, outputting 240p to this TV with no issues.

I can get video to display by using the HDMI output of the Radeon and selecting the NTSC option during USB key boot.  I'm able to use this to complete the GroovyArcade install to my hard drive.  But, when I boot from the hard drive, I just get grabbled video from Attract Mode and even when I hit ESC and go to the text configuration menu.  I was able to start getting video output from the text configuration menu by editing the  /boot/EFI/syslinux/syslinux.cfg file and specifying 640x240S as the resolution.  It was blank before this.  I've also tried going into a game from the Attract Mode menu, but I still get grabbled video.  Any idea what I might be doing wrong?

Mmmmmmhhhhh when the USB booted and GA went through the detection of the screen, did you choose the right monitor from it ? Because having video= empty is not normal. Or I have a bug with digital outputs (which is possible because I didn't test them, really, I only care about analog outputs). That said, grabbled output is probably because it was outputing 1024x768 as video= wasn't specified. Try with 640x480iS or 720x480iS (which is the value of the NTSC option on the iso). Are you sure your TV is NTSC only ?
Title: Re: Collaborative effort for GroovyArcade
Post by: wigginjs on May 08, 2021, 03:36:06 pm
Thanks, Substring!  I’ll try that when I get home. Yes, the TVs I’m using a standard def US televisions with component input. Is GroovyArcade typically only used with real arcade monitors and not standard def televisions?  I’m curious how most people are transcoding RGBHV to YPbPr if they are using a standard def television. I’ve found some transcoders, but they are much more expensive than the HDMI to YPbPr device I’m using.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on May 08, 2021, 04:12:55 pm
I don't have much knowledge about TVs in USA, and if thy can only do pure ntsc or they have some tolerance. The purpose of my words was rather to say that Games will be forced to the exact NTSC vertical refesh rate. Games like rtype or mortal kombat won't feel like the exact original.

Although GA is indeed for arcade cabs, tvs are supported. Just know the limits of a tv compared to an arcade cab ;)
Title: Re: Collaborative effort for GroovyArcade
Post by: AmokSolderer on May 09, 2021, 01:30:01 pm
The repo you've mentionned can somehow be implemented inside GA by installing the switchres-git package.

Apparently something is wrong with the switchres-git package in Pacman. Looks like I have to install it manually.
I'm an Ubuntu-User in normal life, so I have to find out first what's the best way to do this in Arch-Linux.

I'll keep you posted.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on May 09, 2021, 02:14:25 pm
Apparently something is wrong with the switchres-git package in Pacman. Looks like I have to install it manually.
I'm an Ubuntu-User in normal life, so I have to find out first what's the best way to do this in Arch-Linux.

I'll keep you posted.

Nothing wrong with it, it just conflicts with the regular switchres package as both can't exist together. Just say Yes, it will install.
Title: Re: Collaborative effort for GroovyArcade
Post by: AmokSolderer on May 09, 2021, 05:08:05 pm
Nothing wrong with it, it just conflicts with the regular switchres package as both can't exist together. Just say Yes, it will install.

The problem occurs after I say yes. Then Pacman prepares the installation and tells me that the package cannot be found.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on May 09, 2021, 05:49:37 pm
just pacman -Sy switchres-git, the repos must have changed since your last update
Title: Re: Collaborative effort for GroovyArcade
Post by: MonkeyJug on May 11, 2021, 06:43:26 am
hey guys - i'm a linux noob.

i've installed this version onto a 120gb ssd - i can boot fine and play the free selection of games.

I want to install loads more roms so i've bought a 1tb ssd, but i can not find a way to initialise/format the new drive.  it used to be right there in the old groovyarcade iso version...

can anyone help, please?
Title: Re: Collaborative effort for GroovyArcade
Post by: AmokSolderer on May 11, 2021, 11:48:18 am
Oops, I had a typo in my pacman command, hard to spot on the arcade monitor.  :embarassed:

Now I have the new switchres installed, but it doesn't do much good..

It seems like the favourite resolution of fs-uae is 692x540 @50Hz which could fit the original res of PAL Amigas including borders. So I ran the following command to run it with this resolution:

switchres 692 540 50 -s -l "fs-uae"

But the result is not as expected, the whole picture is shifted to the right.

When I run fs-uae from the desktop (with running X-server) then everything is almost right, it's just a bit too wide as the resolution is 640x480 instead of 692x540.
How can I change the resolution of the groovy arcade desktop to 692x540?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on May 11, 2021, 04:26:44 pm
You can't change your desktop resolution to the one you'd like. And the resolution you expect is out of reach for 15kHz, so I wonder what is your source for that. You can't run the command from a terminal, it would imply fs-uae runs on KMS which I'm not sure of. Better reach the desktop and try the same command. But really, this resolution looks weird to me.
Title: Re: Collaborative effort for GroovyArcade
Post by: AmokSolderer on May 12, 2021, 10:57:51 am
This seems to be the default resolution of FS-UAE.
I admit that the 50Hz is confusing, because it's an interlace mode.
When I calaculate it with switchres, I can see that the frequencies are right.

Code: [Select]
switchres 692 540 50 -c
Switchres: Modeline "696x540_50i 15.675000KHz 50.000000Hz 14.170200 696 724 791 904 540 565 571 627 interlace -hsync -vsync

BTW, when I run the switchres command from the desktop I don't have this shift to the right. I guess I'm going to play a bit with the resolutions from there.

Thanks for your help
Title: Re: Collaborative effort for GroovyArcade
Post by: Sledge on May 15, 2021, 07:24:22 pm
So is this ready for prime time?
I'm considering trying Linux/GM for one of my machines to see how it compares to windows...
Is there a guide for linux newbies like me to follow on how to do this?
Cheers
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on May 16, 2021, 04:33:13 am
Hi!
My only advice would ve to burn the iso on a usb stick, boot on it and try a rom that is shipped with the distro. What's your setup ? CPU, video card, monitor
Title: Re: Collaborative effort for GroovyArcade
Post by: Sledge on May 16, 2021, 05:29:36 am
E8500/ATI 3850/Nanao MS9
Or there abouts
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on May 16, 2021, 06:10:53 am
I suppose it should work, despite these parts are really old. What worried me the most was your CPU that could ve 32bits only but hopefully not, it is 64bit (GA doesn't work on 32bit)
Title: Re: Collaborative effort for GroovyArcade
Post by: makya on May 23, 2021, 12:39:12 pm
Hi All,

Could you please let me know whether it is possible to install GA as dual boot with windows (only one HDD)?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on May 24, 2021, 03:01:47 am
It's technically possible, but the installer is not made for this situation. In other words : you're on your iwn, and it requires sure some knowledge
Title: Re: Collaborative effort for GroovyArcade
Post by: makya on May 24, 2021, 05:25:17 am
Thanks for your quick answer. So I will try installing GA first and then windows, as I would not know how to do it the other way around.
Title: Re: Collaborative effort for GroovyArcade
Post by: Sledge on May 24, 2021, 06:38:12 am
Might help?
https://www.techsolveprac.com/install-windows-after-ubuntu-dual/
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on May 24, 2021, 08:26:31 am
Not that much ... Things to care about :
- disks size
- uefi or bios
- which Os to install first (most probably GA)

You may install GA in second, but then you have to do everything by yourself, which includes creating and formating partitions, install the OS (it's mainly copying files to specific folders). The most complicated part is the bootloader.
Title: Re: Collaborative effort for GroovyArcade
Post by: makya on May 25, 2021, 02:30:50 pm
Thank you both!

It's been a trial and error process but finally got it working.

GA installed first using GAsetup option. This method use the whole HDD so I had resize the linux partition (booted on another live linux and used gparted).
Then installed Win10. Once done had to make a new boot entry (using easyBCD) because Windows did not take care of the existing linux of course.
Title: Re: Collaborative effort for GroovyArcade
Post by: robbbby on June 15, 2021, 04:12:18 pm
So I tried installing this version of GA and am still having a hard time getting a picture on my CRT.

Previous to this I was running windows and groovymame, everything worked fine, I changed nothing except for booting off the usb and formatting the main harddrive.

When installing version of GA the voice goes through all outputs on card 1 which is my motherboard, it finds my lcd monitor.  Next it goes through all the outputs on card 0, which I can only assume is my radeon.

When it gets to the DVI-I and DVI-D ports it says no screen found, then it says "forcing analog".
When it does that my CRT comes to life, and it says "Press enter if you can see this".
I hit enter and the screen once again goes black, afterwards nothing happens, it just sits with no picture on both my CRT and LCD hooked up to motherboard vga.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 16, 2021, 04:03:29 am
It's supposed to ask you which output will be used for CRT, and then select a monitor type. Connectors that have to be forced to ON are turned to on before any selection happens. Can you provide the file located in /home/arcade/shared/logs/groovy.log ? (or could be /home/arcade/shared/log/groovy.log)

It should even say "Turning <connetor> to ON as required"
Title: Re: Collaborative effort for GroovyArcade
Post by: robbbby on June 16, 2021, 07:16:59 am
It's supposed to ask you which output will be used for CRT, and then select a monitor type. Connectors that have to be forced to ON are turned to on before any selection happens. Can you provide the file located in /home/arcade/shared/logs/groovy.log ? (or could be /home/arcade/shared/log/groovy.log)

It should even say "Turning <connetor> to ON as required"

I'm not sure where to find this log file, this is all while booting off usb so nothing has been installed to any drives.  I cannot find any log files on the usb key either.

I tried again, this time at boot with my LCD plugged into motherboard vga, I selected 15kHz, then I promptly unplugged the monitor.
I figured if it does not detect a monitor on that port it would force the analog DVI-I on my video card.

So again, it went through all outputs, when it forces analog on DVI-I I get a screen on my arcade monitor.  I select OK, but after it finishes with video port scan the screen stays black.
I hit enter a couple times hoping something would happen but nothing does.

Something interesting I did find though, when I hit the power button for the computer to power down or reboot so I can try again, I get the groovyarade splash screen popup on my arcade monitor.
Title: Re: Collaborative effort for GroovyArcade
Post by: robbbby on June 18, 2021, 07:00:55 am
Anything else I can try?
I've given it a go another dozen times or so and it's always the same thing.
Display works for me to select ok when analog on dvi-i is forced and works when powering computer down. 
Otherwise screen is always black.
Title: Re: Collaborative effort for GroovyArcade
Post by: Calamity on June 18, 2021, 12:27:55 pm
@robbbby,

You won't get this working with your motherboard gpu enabled, it sounds like X is sending the output to the wrong gpu. Try disabling it or at least not allowing the lcd to be detected on boot (i.e. unplug it, then turn the computer on).
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 18, 2021, 02:09:36 pm
There is no X at this moment.

Robbbby, do you have network on your pc cab ?
Title: Re: Collaborative effort for GroovyArcade
Post by: robbbby on June 18, 2021, 04:15:52 pm
@robbbby,

You won't get this working with your motherboard gpu enabled, it sounds like X is sending the output to the wrong gpu. Try disabling it or at least not allowing the lcd to be detected on boot (i.e. unplug it, then turn the computer on).

Good idea. I will try disabling onboard gpu and only going off the Radeon just to see if that changes anything.


There is no X at this moment.

Robbbby, do you have network on your pc cab ?

The network port is enabled in the motherboard bios but it is not hooked up to my network.
If need be I can easily connect it.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 20, 2021, 05:11:04 pm
need network to get what's happening. How familiar are you with linux ? We'll need you to get a software called putty to type some remote commands. The logs I need can be obtained through windows network shares
Title: Re: Collaborative effort for GroovyArcade
Post by: robbbby on June 21, 2021, 06:29:10 pm
need network to get what's happening. How familiar are you with linux ? We'll need you to get a software called putty to type some remote commands. The logs I need can be obtained through windows network shares

I know how to use putty and ssh/telnet into another machine.  As far as linux I only know the very basic of commands to get around the filesystem.

I did however get groovyarcade installed.  I disabled the onboard gpu like was recommended and it worked fine.
Now I need to figure out how to do everything else  :o
Title: Re: Collaborative effort for GroovyArcade
Post by: robbbby on June 21, 2021, 09:06:25 pm
Already ran into issues.

I followed the GA wiki and ran pacman to do a full system upgrade.  I think it went fine, but after reboot it doesn't load attract mode, just the main GA menu.  When I go into the options, select attract mode as the front end, then try and start the front end, nothing happens.

Not sure if this helps but this is the attract.log

Quote
*** Initializing display: 'MAME'
 - Loaded master romlist 'MAME' in 1 ms (60 entries kept, 0 discarded)
 - Constructed 2 filters in 0 ms (120 comparisons)
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
Sound file not found: sloop.mp3
Failed to get output info for.primary monitor position
Sound file not found: sstart.mp3
 - Loaded layout: /home/arcade/shared/frontends/attract/layouts/Basic/ (layout.nut)
 - Working directory: /home/arcade/shared/configs/mame/
*** Running: /opt/galauncher/galauncher.sh groovymame arcade wrally
Switchres: Modeline "368x232_60 15.660000KHz 60.000000Hz" 7.485480 368 383 418 478 232 238 241 261   -hsync -vsync
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
tibpal20l8-25cnt.b23 ROM NEEDS REDUMP
gal16v8-25lnc.h21 NOT FOUND (NO GOOD DUMP KNOWN) (tried in wrally)
tibpal20l8-25cnt.h15 ROM NEEDS REDUMP
WARNING: the machine might not run correctly.
Unable to create history.db

Unable to create history.db

Unable to create history.db

Average speed: 100.02% (48 seconds)
Failed to get output info for.primary monitor position
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
Failed to get output info for.primary monitor position
Sound file not found: sloop.mp3
 - Loaded layout: /home/arcade/shared/frontends/attract/layouts/Basic/ (layout.nut)
Attract-Mode v2.6.1 (Linux, SFML 2.5.1 +FontConfig +Xinerama +SWF +7z +Curl)
avcodec 58.54.100 / avformat 58.29.100 / swscale 5.5.100 / avutil 56.31.100 / swresample 3.5.100


And one other stupid question.  I've searched and cannot find anything, and when I was running GM under windows it worked out of the box.... How do I map my joysticks?  None of the controllers or buttons work.  I have a JPAC PC to Jamma.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 22, 2021, 03:29:26 am
For the big update that has problems with AM not loading, just run sudo chmod +s /usr/lib/Xorg.wrap (it's a bug on Arch side, they haven't replied yet)

Joysticks do work on Linux GM. That they were mapped automatically is a different thing ;) When you press TAB and go the the input settings, your pads are not responding ?
Title: Re: Collaborative effort for GroovyArcade
Post by: robbbby on June 22, 2021, 08:06:33 am
For the big update that has problems with AM not loading, just run sudo chmod +s /usr/lib/Xorg.wrap (it's a bug on Arch side, they haven't replied yet)

Joysticks do work on Linux GM. That they were mapped automatically is a different thing ;) When you press TAB and go the the input settings, your pads are not responding ?

Awesome, got it up and running and some Roms imported.
My romset is 0.232, GM is 0.229.  Will I have issues or should GM be upgraded.

When I go to input controls in GM my joysticks and buttons still aren’t working. Is there anyway to see if the JPAC is recognized via the USB connection?

Thanks
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 22, 2021, 12:13:34 pm
I'm working on the groovymame update, I hope to release it in the next 24h
Title: Re: Collaborative effort for GroovyArcade
Post by: b4nd1t0 on June 23, 2021, 06:16:49 am
hi @substring, one question, to compile the groovy for your distro, from the github repo, i need to remove the d3d9ex patch included or will it work anyway?
Thanks in advance.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 23, 2021, 07:48:28 am
Hey b4nd1t0!

Last time I read you here, you had problems with your cab when you tried GroovyArcade hehe

Calamity's GM repo already provides a linux binary (which is the one I ship in the groovymame package, takes too long to build a full GM on the poor little Atom server I use). It builds the full GM code, without any distinction. The Windows code is not compiled since it's not used on Linux.

GM 232 is almost done, I need to test the update on my test rig this evening and then I'll release it.
Title: Re: Collaborative effort for GroovyArcade
Post by: b4nd1t0 on June 23, 2021, 08:50:32 am
Hey b4nd1t0!

Last time I read you here, you had problems with your cab when you tried GroovyArcade hehe
it's true, after a bit of testing, however, I managed to make it work perfectly, currently, however, I am without a cab, I hope to be able to make another one in the coming months and surely the distro that I will mount will be yours, in the meantime I enjoy doing some test with my crt and the dedicated pc.

So if i understand correctly i can use the linux source on calamity guthub that doesn't have the d3d9ex patch applied, is that correct?
Thanks as always for your availability.
Title: Re: Collaborative effort for GroovyArcade
Post by: sonik on June 25, 2021, 01:51:21 pm
Been trying to use GroovyArcade 2021.03 Live with no success.

My system have 3 GPUs:

Nvidia GTX 1070
ATI HD 5450
Intel onboard

ATI have native VGA out and I use a VGA to SCART RGB cable.

Tested output on all cards. On Nvidia and Intel I had to use an active DVI digital to VGA.

Intel have some image with minor sync problem on top. Works during the boot menu then black screen.
ATI have menu image but rolling. Then black screen.
Nvida no screen at all.


It's supposed to work at least with the ATI card right?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 25, 2021, 05:28:01 pm
On what monitor ? The rolling image is just tuining the pots on your monitor. I use GA on a CRT TV, a Hantarex m9110 and a lcd, all work well
Title: Re: Collaborative effort for GroovyArcade
Post by: sonik on June 26, 2021, 05:12:40 pm
15k on a sony pvm.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 27, 2021, 06:42:18 pm
don't PVM need CSYNC ?
Title: Re: Collaborative effort for GroovyArcade
Post by: sonik on June 28, 2021, 12:30:01 pm
Yes it does.
I can use two solutions for it.

VGA to SCART (with csync), then SCART to 4xBNC.
VGA to 5xBNC and use an Y connector on the sync.

Tested with both.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on June 30, 2021, 03:52:39 am
An ever rolling picture is a VSync problem, but I'm really not experienced into that
Title: Re: Collaborative effort for GroovyArcade
Post by: sonik on June 30, 2021, 10:54:48 am
I think the problem is linked to having multiple GPUs.
Other linux distros I tested have same problem.
Title: Re: Collaborative effort for GroovyArcade
Post by: robbbby on July 01, 2021, 06:16:14 am

GM 232 is almost done, I need to test the update on my test rig this evening and then I'll release it.

Hey substring, how is testing going with the new release?

I have finally got everything running and setup and am much happier than I was with the windows setup.
Only thing I’ve noticed is that I have quite a few roms that don’t load and default back to attract more screen.
Is there a way to check if it’s just a compatibility issue between .232 roms and .229 GM?

Thanks!
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on July 01, 2021, 11:43:58 am
GM232 is available, although there is a minor problem with GM not finding the ui.ini file

Regarding roms, do I beed to mention clrmamepro ?
Title: Re: Collaborative effort for GroovyArcade
Post by: robbbby on July 01, 2021, 03:24:22 pm
GM232 is available, although there is a minor problem with GM not finding the ui.ini file

Ahh sorry, I misunderstood.  I thought you were testing a new release of GA that included GM232.
I will do a bit of research on how to update GM
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on July 01, 2021, 05:11:58 pm
Updating the os is available from gasetup
Otherwise simply : sudo pacman -Syu groovymame groovymame-tools
Title: Re: Collaborative effort for GroovyArcade
Post by: robbbby on July 13, 2021, 08:18:28 am
Finally got around to updating the OS, I did it through gasetup menu.

Now when GA boots up the front end doesn’t load.
When I try selecting start front end from the main ga menu nothing happens.
Cursor sort of freezes for about 10 seconds before giving me control back.

Any advice how I can get attract mode going again?

Thanks
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on July 13, 2021, 09:22:38 am
Yup, it might be listed somewhere above. The command is pinned on discord, I don't have it at hand right now. Just know it's a bug on Arch Linux, not my fault (for once hehe)

Edit: sudo chmod +s /usr/lib/Xorg.wrap
Title: Re: Collaborative effort for GroovyArcade
Post by: snappleman on July 15, 2021, 11:25:22 pm
Not sure if this is the right topic to ask in, but I'm building a new GA setup on a SCART capable TV and I just need confirmation that only the sync coming out of the GPU is TTL level and the RGB lines are 0.7vpp 75ohm? So far I've only ever done this on arcade monitors or component video converters.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on July 16, 2021, 02:30:06 am
I test everything I do on GA on a TV with this cable : http://retrocables.es/tienda/index.php?id_product=55&controller=product&id_lang=4 and it works just great
Title: Re: Collaborative effort for GroovyArcade Great Work
Post by: Giddygoon on August 11, 2021, 11:55:31 am
I have just downloaded the pre release GA and it has fixed the freezing problem that I had with the March release, Amazing results, never seen the games run so well on my Sega Net City

Well done to all involved  !!!
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on August 12, 2021, 03:50:37 am
I have a noob question

I have just come over from Windows 10 and I am now using GA on Linux. everything is running great but how do you enable the no nag option, I tried copy MKChamps no nag commands into my new GA ini txt file didn't work

I thought i read that the Substring version GA was already patched with the no nag.

Sorry to ask but I still getting used to the new platform, very impressed tho  ( :
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 12, 2021, 03:55:38 am
GM is not compiled with the nonag patch as per Calamity's wish. The reason is to avoid people screaming for a game working bad whereas the info screen would have stated it clearly
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on August 12, 2021, 08:06:51 am
Ok, Thanks for the update ....  that makes sense
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on August 12, 2021, 10:22:34 am
GA has just frozen again, did somebody on here say that it is the mp4 videos that make the front end freeze, it a major PITA I will add a video at a time and see which videos cause the Attract mode to freeze, if anybody has any advice, thanks again

My videos are from emumovies

Also where is Groovymame located in LDLX system ?? I can't remember if thats the name of the basic system sorry

Thanks again for any advice
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 12, 2021, 12:34:18 pm
There are hundreds of references to AM freezing with video snaps when using an ATI card at an interlaced resolution.

There are several steps to "fix" that :
- use a progressive resolution (will always work)
- disable power_saving functionnality in AM (although it should be default)
- don't use video snaps :D

Other solutions will come with time, but they are mostly workarounds as the original problem is within AMD drivers.

Quote
Also where is Groovymame located in LDLX system ?? I can't remember if thats the name of the basic system sorry
I'm afraid I don't understand your question. What is LDLX ?
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on August 12, 2021, 04:11:36 pm
Sorry, I mean the linux operating system I was going to replace regular GM with a Linux no nag from B4nd1tO's repository ..... it will probably break GA but I just wanted to see what happens
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on August 12, 2021, 04:12:11 pm
Thanks for the help btw  ( :
Title: Re: Collaborative effort for GroovyArcade
Post by: MK3FANATIC on August 12, 2021, 06:09:13 pm
I would like to thank you for GA, I really appreciate the system. The ISO august-2021, in the patch notes says that Retroarch was added, but I didn't find it, and I can't even download it through the terminal. I also tried the setup/emulators setup and also couldn't. What is the procedure to install it?
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on August 12, 2021, 07:12:18 pm
Ok, I went back to snaps again ( all works well )

But like try and get around AMD issue

You said use a progressive resolution (will always work)

How do I set GA to 640x480p

I have installed the GA cd install

Thanks again
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 13, 2021, 01:42:16 am
Gasetup > setup > video > boot resolution
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on August 13, 2021, 03:52:00 am
I have tried Gasetup > setup > video > boot resolution but on my setup its just Monitor, Orientation, Resolution, I don't see boot resolution? I went into Resolution but it just says you don't need to change the resolution

I have a NanoMS31 arcade monitor at 31KHZ

Also I have just done a test and used Handbreak on Imac and converted some of the videos to MP4 constant video, not variable and it looks like the AMD freeze has not happened yet.... still on test Machine will be on all day today

Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 13, 2021, 06:25:21 am
Which iso version are you using, what gpu ? I'm in the last steps to release the 2021.08 one
Title: Re: Collaborative effort for GroovyArcade
Post by: MK3FANATIC on August 13, 2021, 07:07:50 am
Which iso version are you using, what gpu ? I'm in the last steps to release the 2021.08 one

so that's why i'm looking for retroarch and it's still not there?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 13, 2021, 07:43:41 am
Which iso version are you using, what gpu ? I'm in the last steps to release the 2021.08 one

so that's why i'm looking for retroarch and it's still not there?
Retroarch won't be shipped with the iso (and probably never will). But installing it through gasetup will be possible with gasetup 1.8.0. This version is already in the testing repo. Anyway, with Retroarch, you'fre good for a full system upgrade
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on August 13, 2021, 08:34:39 am
I using a HD5450 with an i3 and 8gb ram and a SSD
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 13, 2021, 01:35:28 pm
I using a HD5450 with an i3 and 8gb ram and a SSD
You forgot to mention the groovyarcade version
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on August 13, 2021, 05:20:35 pm
Oh yeah, 2021.08 pre release GA
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 13, 2021, 05:26:31 pm
It's video resolution, not boot resolution, sorry
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 18, 2021, 03:41:57 pm
Finally the new 2021.08 iso is available ! Little changes here and there, but the main one is: you can install and configure Retroarch from the setup menu ! Just for a reminder : switchres 2.0 has been integrated into Retroarch since 1.9.5 (1.9.7 is available at the moment). Final Burn Neo standalone is also available (I need to push a fix for super resolutions).

As usual, GroovyArcade provides the minimum settings to make it work for CRT, and leaves as much flexibility as possible to hardwore power users.

For those of you who wonder "Can I upgrade my existing install to get Retroarch ?" the answer is YES! But it all depends on you :
- if your version has system updates from gasetup, just go ahead
- if not, reach a terminal and run sudo pacman -Sy galauncher gasetup gatools. Then run again gasetup, go to the setup menu and Retroarch will be available

One note though: installing Retroarch or Final Burn Neo will force you to make a full system update (because some libraires may become incompatible, so let's not take the risk). If you need assistance, just ask here or on our discord!

Get it at https://github.com/substring/os/releases/tag/2021.08
Title: Re: Collaborative effort for GroovyArcade
Post by: MK3FANATIC on August 19, 2021, 06:45:58 am
@Substring These new additions were amazing, now everything is very easy to add console systems, everything is pre-configured. Thanks and congratulations for the excellent work!
Title: Re: Collaborative effort for GroovyArcade
Post by: Cucurbitacée on August 22, 2021, 01:59:00 pm
Hi everybody,

It's a pleasure to see that GroovyArcade is still going forward. So, I decided to give it a try and replaced my old 2017 install with the 2021.08. And as I expected, so many things don't work. Before I start to explain more, is this the right thread? If not, could a good soul point me towards the right one?

Thanks. :)
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 22, 2021, 04:07:33 pm
Here or on discord, as you wish
Title: Re: Collaborative effort for GroovyArcade
Post by: Cucurbitacée on August 22, 2021, 04:29:19 pm
Thanks. I've only used discord once so far. So I'll try my luck here. :)

My hardware is quite antique by now, the graphic card is an ATI Radeon X300. According to hwinfo, the driver is "radeon".
The card has 3 output (DVI, S-Video and VGA), it is connected to a Sony 55cm TV with a homemade VGA - SCART cable. This setup was working really well with older versions of GroovyArcade.
I used Generic15 in GASetup.


Other than that. Congrats on the work so far, I found the idea of the voice to guide the user while the screen got no signal very clever!
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 23, 2021, 03:59:58 am
Thanks. I've only used discord once so far. So I'll try my luck here. :)

My hardware is quite antique by now, the graphic card is an ATI Radeon X300. According to hwinfo, the driver is "radeon".
The card has 3 output (DVI, S-Video and VGA), it is connected to a Sony 55cm TV with a homemade VGA - SCART cable. This setup was working really well with older versions of GroovyArcade.
I used Generic15 in GASetup.

  • First problem: Attract Mode freezes quite often. I had the problem in the past, and if remember correctly, I got rid of it by compiling Attract Mode myself. This is a minor problem for now. But if anyone knows why, I'd gladly take the explanation.
  • Second problem: it seems only 640x480i is working. If I launch a game from Attract Mode (I tried a dozen of them), the TV goes out of sync. If I launch a game directly from the command line, the screen flip back to 640x480i with a more lot stretched image, depending on the game.

Other than that. Congrats on the work so far, I found the idea of the voice to guide the user while the screen got no signal very clever!

1/ Do you use video snaps ? Depending on the hardware, they tend to make AM freeze on interlaced resolutions (which is the default). Bug in the AMD Xorg drivers ... So your solutions : check in AM options that power saving is disabled, set a progressive resolution in gasetup > setup > video > video resolution, or get rid of the video snaps ...
2/ are you sur ethe generic_15 is a good profile for your TV ? GroovyMame does modeswitch. Needs more logs, you can find them in shared/logs (the mame.log is helpful here)
Title: Re: Collaborative effort for GroovyArcade
Post by: Cucurbitacée on August 23, 2021, 04:32:47 am
Thanks!
Title: Re: Collaborative effort for GroovyArcade
Post by: Cucurbitacée on August 23, 2021, 12:19:41 pm
So here are the logs:
attract.log, please ignore the "Failed to create texture" errors, it's the sprite sheet for my layout that is too big.
Code: [Select]
Attract-Mode v2.6.1 (Linux, SFML 2.5.1 +FontConfig +Xinerama +SWF +7z +Curl)
avcodec 58.134.100 / avformat 58.76.100 / swscale 5.9.100 / avutil 56.70.100 / swresample 3.9.100

Config: /home/arcade/shared/frontends/attract/attract.cfg

*** Initializing display: 'MAME'
 - Loaded master romlist 'MAME' in 190 ms (5072 entries kept, 0 discarded)
 - Constructed 2 filters in 0 ms (10144 comparisons)
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
Sound file not found: sloop.mp3
Sound file not found: sstart.mp3
Failed to create texture, its internal size is too high (2304x30, maximum is 2048x2048)
Failed to create texture, its internal size is too high (2304x30, maximum is 2048x2048)
 - Loaded layout: /home/arcade/shared/frontends/attract/layouts/MultiSpin/ (layout.nut)
Attract-Mode v2.6.1 (Linux, SFML 2.5.1 +FontConfig +Xinerama +SWF +7z +Curl)
avcodec 58.134.100 / avformat 58.76.100 / swscale 5.9.100 / avutil 56.70.100 / swresample 3.9.100

Config: /home/arcade/shared/frontends/attract/attract.cfg

*** Initializing display: 'MAME'
 - Loaded master romlist 'MAME' in 82 ms (5072 entries kept, 0 discarded)
 - Constructed 2 filters in 0 ms (10144 comparisons)
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
Sound file not found: sloop.mp3
Sound file not found: sstart.mp3
Failed to create texture, its internal size is too high (2304x30, maximum is 2048x2048)
Failed to create texture, its internal size is too high (2304x30, maximum is 2048x2048)
 - Loaded layout: /home/arcade/shared/frontends/attract/layouts/MultiSpin/ (layout.nut)
 - Working directory: /home/arcade/shared/configs/mame/
*** Running: /opt/galauncher/galauncher.sh groovymame arcade joust
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
cat: /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor: No such file or directory
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
Switchres: Modeline "296x240_60 15.685096KHz 60.096153Hz" 6.023076 296 308 336 384 240 242 245 261   -hsync -vsync
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
Unable to create history.db

Unable to create history.db

Unable to create history.db

Average speed: 207.52% (6 seconds)
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  7 (RRSetScreenSize)
  Value in failed request:  0x128
  Serial number of failed request:  2117
  Current serial number in output stream:  2118
Attract-Mode v2.6.1 (Linux, SFML 2.5.1 +FontConfig +Xinerama +SWF +7z +Curl)
avcodec 58.134.100 / avformat 58.76.100 / swscale 5.9.100 / avutil 56.70.100 / swresample 3.9.100

Config: /home/arcade/shared/frontends/attract/attract.cfg

*** Initializing display: 'MAME'
 - Loaded master romlist 'MAME' in 190 ms (5072 entries kept, 0 discarded)
 - Constructed 2 filters in 0 ms (10144 comparisons)
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
Sound file not found: sloop.mp3
Sound file not found: sstart.mp3
Failed to create texture, its internal size is too high (2304x30, maximum is 2048x2048)
Failed to create texture, its internal size is too high (2304x30, maximum is 2048x2048)
 - Loaded layout: /home/arcade/shared/frontends/attract/layouts/MultiSpin/ (layout.nut)
Warning: could not locate rom.  Best guess: /home/arcade/shared/roms/mame/tceptor2.zip
 - Working directory: /home/arcade/shared/configs/mame/
*** Running: /opt/galauncher/galauncher.sh groovymame arcade tceptor2
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
cat: /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor: No such file or directory
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
Switchres: Modeline "552x224_60 15.636363KHz 60.606060Hz" 11.211272 552 574 627 717 224 232 235 258   -hsync -vsync
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
Unable to create history.db

Unable to create history.db

Unable to create history.db

Average speed: 111.49% (3 seconds)
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
cat: /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor: No such file or directory
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
/opt/gatools/include/includes.sh: line 34: /home/arcade/shared/logs//groovy.log: Permission denied
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
Sound file not found: sloop.mp3
Failed to create texture, its internal size is too high (2304x30, maximum is 2048x2048)
Failed to create texture, its internal size is too high (2304x30, maximum is 2048x2048)
 - Loaded layout: /home/arcade/shared/frontends/attract/layouts/MultiSpin/ (layout.nut)

groovy.log
Code: [Select]
2021-08-23 20:11:20 - main(181): ################## START OF INSTALLATION ################## -
2021-08-23 20:11:20 - start_process(51): *** Executing worker configure -
2021-08-23 20:11:21 - mainmenu(101): *** Executing worker setup_menu -
2021-08-23 20:11:24 - worker_setup_menu(240): *** Executing worker video_menu -
2021-08-23 20:11:33 - worker_setup_menu(241): *** Executing worker audio_menu -
2021-08-23 20:11:34 - worker_audio_menu(645): *** Executing worker set_volume -
2021-08-23 20:11:47 - worker_audio_menu(644): *** Executing worker default_card -
2021-08-23 20:11:48 - set_config_value(219):  OK  - Successfully set alsa=0 in /home/arcade/.config/ga.conf
2021-08-23 20:11:54 - mainmenu(100): *** Executing worker start_fe -
2021-08-23 20:16:08 - main(181): ################## START OF INSTALLATION ################## -
2021-08-23 20:16:08 - start_process(51): *** Executing worker configure -
2021-08-23 20:16:12 - mainmenu(102): *** Executing worker start_lxde -

mame.log, a fresh one, with only one game launched, for clarity.
Code: [Select]
Switchres: Modeline "296x240_60 15.685096KHz 60.096153Hz" 6.023076 296 308 336 384 240 242 245 261   -hsync -vsync
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
Unable to create history.db

Unable to create history.db

Unable to create history.db

Average speed: 207.52% (6 seconds)
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  7 (RRSetScreenSize)
  Value in failed request:  0x128
  Serial number of failed request:  2117
  Current serial number in output stream:  2118
Switchres: Modeline "552x224_60 15.636363KHz 60.606060Hz" 11.211272 552 574 627 717 224 232 235 258   -hsync -vsync
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
Unable to create history.db

Unable to create history.db

Unable to create history.db

Average speed: 111.49% (3 seconds)

I suspect "X Error of failed request:  BadValue (integer parameter out of range for operation)" could be a clue, but it doesn't mean much to me. :( There seem to be a couple of permission issues too, but not sure how relevant they are.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 24, 2021, 06:10:33 am
Some people have had that X error lately, we're investigating. Sadly I'm not concerned (yet?) by this error
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on August 25, 2021, 03:35:45 am
Hi Substring,

You said change the resolution " It's video resolution, not boot resolution, sorry " I have set two arcade cabs with GA both running 31khz monitors both running on AMD 5450 cards

How do I change the resolution in GA set up? When I try it says don't change resolution, I can't see how I can select anything else or do you mean pick another monitor from the monitor type

I still get the freezing now and again on Attract Mode menu, it seems if you scroll up to the top and down to the bottom of the list on first boot then it tends not to freeze after that ... thats my work round but it would nice if I could this great set-up 100%
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 25, 2021, 04:29:27 am
Hi Substring,

You said change the resolution " It's video resolution, not boot resolution, sorry " I have set two arcade cabs with GA both running 31khz monitors both running on AMD 5450 cards

How do I change the resolution in GA set up? When I try it says don't change resolution, I can't see how I can select anything else or do you mean pick another monitor from the monitor type

I still get the freezing now and again on Attract Mode menu, it seems if you scroll up to the top and down to the bottom of the list on first boot then it tends not to freeze after that ... thats my work round but it would nice if I could this great set-up 100%

My bad, changing the resolution is only available for 15 or 25kHz monitors, 31kHz default to progressive 640x480. And to be honnest, you're the first one having freezes with a 31kHz setup, it really only happened so far for 15kHz setups. Can you, from the command line, give me the output of cat /proc/cmdline ?
Title: Re: Collaborative effort for GroovyArcade
Post by: Cucurbitacée on August 25, 2021, 01:36:01 pm
Some people have had that X error lately, we're investigating. Sadly I'm not concerned (yet?) by this error
Good to know it's been investigating. If you need any help for testing, let me know. I have another cabinet with a similar setup (but with a nVidia, card, I think).
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on August 26, 2021, 03:48:40 am
Hi Substring

I am working away from home at the moment but I will get the information from output of cat /proc/cmdline and post it here, it would nice to know what triggers this it does not always do it.

it seems that if it is going to freeze then it will most likely do it from a cold boot and if you manage to move up and down attract menu and successfully select and run a few games then attract mode seems to be ok. I re-encoded all my mp4 videos on my vertical cab thinking that would help but it still freezes now and again so I didn't bother encoding my videos on horizontal cab, my videos come Emumovies.

GA is such a rock solid idea with the best results i seen in years as I have come from Groovymame running on Win 7 and Win 10 but I stumped on this intermittent freeze bug 
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on August 27, 2021, 03:19:06 am
I was playing the vertical Sega Net City last night and it crashed and on re-boot it had all this code on a black screen where the GA splash screen used to be then goes to menu

It works fine but I can't get rid of the code at start up, on another try it the GA screen flashing in between a black screen or code it looks a little like this but this not it I coped this from another post in here to give an example,  any ideas on how to fix this, I think this normally hidden

Also is there a way to defrag or disk clean the LX OS ?

sd-umoun[2757]: Failed to unmount /oldroot: Device or resouce busy
sd-umoun[2758]: Failed to unmount /oldroot/dev/pts: Device or resouce busy
sd-umoun[2759]: Failed to unmount /oldroot/dev: Device or resouce busy
shutdown[1]: Failed to finalize file systems, ignoring.
reboot: Power down

Also where do I get this information from  ?   ( Can you, from the command line, give me the output of cat /proc/cmdline ? )
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on August 27, 2021, 06:55:33 am
Ok, very strange switched on the vert cab and the GA splash screen is returned, code gone or hidden = Good

also is there a way of hiding the GA splash screen so its just boots from bios to blank screen to Atrract mode menu ?

Sorry for all the questions  ( :
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on August 28, 2021, 06:16:29 am
I was playing the vertical Sega Net City last night and it crashed and on re-boot it had all this code on a black screen where the GA splash screen used to be then goes to menu

It works fine but I can't get rid of the code at start up, on another try it the GA screen flashing in between a black screen or code it looks a little like this but this not it I coped this from another post in here to give an example,  any ideas on how to fix this, I think this normally hidden

Also is there a way to defrag or disk clean the LX OS ?

sd-umoun[2757]: Failed to unmount /oldroot: Device or resouce busy
sd-umoun[2758]: Failed to unmount /oldroot/dev/pts: Device or resouce busy
sd-umoun[2759]: Failed to unmount /oldroot/dev: Device or resouce busy
shutdown[1]: Failed to finalize file systems, ignoring.
reboot: Power down

Also where do I get this information from  ?   ( Can you, from the command line, give me the output of cat /proc/cmdline ? )

I'm not sure I understand. Did it boot till the end or not ? These are some messages from the initramfs. As long as the new root is mounted, they shouldn't matter.

For the command I requested : go to a terminal (simply exit gasetup, the text menu) and type the command

Ok, very strange switched on the vert cab and the GA splash screen is returned, code gone or hidden = Good

also is there a way of hiding the GA splash screen so its just boots from bios to blank screen to Atrract mode menu ?

Sorry for all the questions  ( :
I usually press the up arrow to show what's behind the splash screen. If you want to permanently disable it, you need to remove the splash keyword from the kernel parameters. The file to edit depends on whether you've installed with UEFI boot or BIOS boot. For bios, the file is /boot/syslinux/syslinux.cfg (needs to be edited as root). For UEFI it should be /boot/EFI/syslinux/syslinux.cfg
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on September 02, 2021, 03:24:48 am
Thank you, i will try and remove the splash screen, mine is installed as bios

and I will will go to terminal and get that log

I still get get the freeze menu bug from time to time
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on September 12, 2021, 03:38:00 am
is it possible to run GM in Groovyarcade with a no nag patch like windows ?

and if yes any pointers on where to find such a version

I know this version not patched

will this work groovy017o + nonag - linux from b4nd1t0's ??

Thanks for any help
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 12, 2021, 05:49:45 am
you can run a no nag patched GM but keep in mind that :
- updating GM will be complicated, even updating your full OS will be complicated. The reason is that GM will be updated and will erase your version. And you rely on someone publishing an updated linux binary, and have to install it yourself
- some old roms are still not well emulated (we had a case with kung fu master a week ago, and its emulations became even more demanding whereas it's still unperfect), so you loose that information. This is problematic when you ask for support on a particular game and you skipped that precious information

The original nonag patch source is at http://mamestuff.lowtrucks.net/MKChamp/ but it hasn't been updated in months
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on September 14, 2021, 03:44:07 am
Thanks for the update, maybe i'll just stick with GA as it is, i rather the updates in sync with the release
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on September 20, 2021, 01:42:39 pm
Where does Groovyarcade keep Groovymame as I wt to experiment with a no nag version of GA

I have looked around but I am not sure, is it programs, users etc ?



Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 20, 2021, 04:46:14 pm
out of my head : /usr/lib/mame/groovymame
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on September 21, 2021, 02:45:25 am
Thank you ( :
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on September 25, 2021, 04:10:07 am
Well, this worked =  groovy017o + nonag - linux from b4nd1t0

Thanks for help

still have this menu freeze problem, just a noob question, I know that its an AMD driver error with videos but what  if i changed my ATI Radeon HD 5450 a different say ASUS HD5450 would this solve the problem or is it a case of change to a different card and if yes to a new card

what would be the best closet option that does not freeze Attract Mode

Thanks for any help
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 26, 2021, 01:28:38 pm
It's a driver problem, therefore software problem, not hardware.

Switching to some GFX card that uses the amdgpu driver instead of the radeon one should help
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on September 27, 2021, 03:27:21 am
Thanks for that, time to start looking for another suitable card
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 27, 2021, 08:50:48 am
depending on your linux knowledge, there may be some other alternatives (they are just not yet ready and fully integrated, but they technically do exist)
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on September 28, 2021, 03:57:14 am
I did google ATI driver freeze and did see some work arounds but nothing simple and tbf beyond my knowledge so I just jumped on ebay and bought ASUS Radeon R7 240 Graphics Card 2GB DDR5 PCI-E VGA HDMI DVI - Low Profile for Sega Blast City.

Hopefully no more freeze menu problems as it it is PITA every time my kids want to play the the machines and the menu freezes and i have to restart the cabinet.

Other than that the GA is perfect, so pleased with the end results, never seen the games look so good

Just one more thing, will Demul ever with work GA ?? can I add others emulators other than retro arch
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 28, 2021, 01:30:35 pm
The problem is not adding emulators, it's to have them perfectly fitting your monitor like RA and GM do. I'm only concernd by such emulators (those that integrate switchres), others don't matter.
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on September 29, 2021, 03:52:34 am
that makes sense for CRT accuracy, just waiting for my new GPUs, I report the progress on menu freezing on Attract mode  ( :
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on September 30, 2021, 03:53:53 am
I tried setting the AMD ASUS Radeon R7 240 Graphics Card 2GB DDR5 PCI-E VGA HDMI DVI - Low Profile for Sega Blast City. last night and GA Iso  ( your version )  is having difficulty finding the VGA output,  it did it twice but later the blast city monitor went black and Mame was displayed on the hdmi lcd display instead.

I tried from scratch again and it could only find the hdmi lcd display and I didn't validate the setting tried again  it then said this card has a low dot clock set to super resolutions.

then had a split screen on the blast city.

btw the my monitor is a 31KHz only monitor... So gave up last night but will try again tonight... it did work about twice last night but after a reset black screen, it like GA is not sure where the VGA is.

Any advice on making this work
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 30, 2021, 02:04:20 pm
having 2 screens plugged while playing is not yet "autoconfigured". This can be somehiow manually tweaked but there are a few prerequisites. If your monitor is 31kHz, you don't need a LCD at all ...
Title: Re: Collaborative effort for GroovyArcade
Post by: Giddygoon on September 30, 2021, 03:16:12 pm
Hi Substring, I am not trying to play two monitors at the same time.

I am just using the LCD screen for set up  i.e bios set to UEFI USB for full install but when it auto checks the video cards it can't find the VGA for the Sega Blast city CRT but it does find the HMDI for the LCD.

It did work for ATI 5450 card but that gave me the ATI freeze bug

Now I can't get past the auto detect stage also I bought two of these cards MD ASUS Radeon R7 240 Graphics Card 2GB DDR5 PCI-E VGA HDMI DVI - Low Profile  and Its the same result...

is there a way you can manually set the video outputs ie VGA only
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on September 30, 2021, 04:22:04 pm
At the part where the computer speaks, informing you of what it is doing, it will force analog outputs to ON if the OS doesn't report any connected screen to it
Title: Re: Collaborative effort for GroovyArcade
Post by: hearttinker on October 05, 2021, 06:36:45 am
Hi Substring.
I have tested GA2021.8 iso on one of my systems, which composed with i3-9100F & Radeon HD 7750.
There were frequent soft or hard freezing when groovymame or retroarch playing with default frontend atractmode, but when I tested groovymame and retroarch using commandline without attractmode, both of them well worked. Especially Sonic 2 with retroarch shows really nice progressive-interlace mode change.

Radeon HD 7750 is one of GCN1 cards. I have seen your comment in other thread that a patch is applied for GCN1&2 from previous your GA iso. I think amdgpu driver might be applied for this HD 7750. is it right? I have other cards like Radeon r5 240 & HD 8490 & HD 5450. Is there any better alternative?

Anyway, this is not main problem. I'll try with other alternative frontend like advancemenu plus. I think advmenup is better for mame roms because of fast 2D rom navigation and easy clone roms selection.


Main question is below.
When I tested retroarch using GASetup installation, there was no core for FC-FX.
Moreover, I wanna use Mednafen core for Sega Saturn.

There are two (or more) options.
1. Use pacman, main package manager of Arch linux.
2. Retroarch internal core download system, hidden option.

I'll follow your recommendation.

Additionally, how can I turn off frequency change popup message during Retroarch playing?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on October 06, 2021, 06:05:14 am
Hi Substring.
I have tested GA2021.8 iso on one of my systems, which composed with i3-9100F & Radeon HD 7750.
There were frequent soft or hard freezing when groovymame or retroarch playing with default frontend atractmode, but when I tested groovymame and retroarch using commandline without attractmode, both of them well worked. Especially Sonic 2 with retroarch shows really nice progressive-interlace mode change.
Sonic2 is one of the best roms to test ingame modeswitching, as it genuinely switches to interlaced on 2 players games (if you enable the right option) ;)
Can you give more details on those "soft and hard freezing" ? I don't see what you mean.

Quote
Radeon HD 7750 is one of GCN1 cards. I have seen your comment in other thread that a patch is applied for GCN1&2 from previous your GA iso. I think amdgpu driver might be applied for this HD 7750. is it right? I have other cards like Radeon r5 240 & HD 8490 & HD 5450. Is there any better alternative?
The patch is for some specific Vega chips. I can't recall any other GPU patch. There are a number of ways to list which driver you're using, the easiest being "lspci -k" then find the display adapter. You'll have 2 lines regarding the kernel : the possible drivers, and the current drivers. Some cards are handled in both amdgpu and radeon drivers.

Quote
Anyway, this is not main problem. I'll try with other alternative frontend like advancemenu plus. I think advmenup is better for mame roms because of fast 2D rom navigation and easy clone roms selection.
You can install pegasus if you want a modern FE, retroFE is also available. I find the others too ... ugly ... And I don't ship advmenuplus anymore with GA.

Quote

Main question is below.
When I tested retroarch using GASetup installation, there was no core for FC-FX.
Moreover, I wanna use Mednafen core for Sega Saturn.

There are two (or more) options.
1. Use pacman, main package manager of Arch linux.
2. Retroarch internal core download system, hidden option.

I'll follow your recommendation.

Additionally, how can I turn off frequency change popup message during Retroarch playing?

I don't have GA at hand right now but you can't select a core through gasetup if the system emulated has a simple core available. If there is a single core than can emulate a system, then it should be automagically set. If not, there is a bug I need to dig

Now, for updating cores it rather depends on your knowledge of RA, hence the normal/advanced mode when configuring RA :
  - the normal mode simply uses the libretro group from Arch, so it has a limited number of cores, and doesn't allow updating them from the RA GUI
  - the advanced mode leaves full control to the user, and enables the core downloader from the RA GUI. That's for people who have a good knowledge of RA. When you set the advanced mode from gasetup, GA downloads ALL available cores, sets default for single core systems. For systems that have several possible cores, there is a new menu entry when in advanced mode. Maybe that's what you need to use the mednafen core for Saturn ?
  - for the refresh rate change : it's somewhere in the RA notifications parameters. Some people asked me to remove this but ... Let's say that my philosophy is to ship ba bare emulator configuration with just what it takes to have CRT enabled, I leave the full configuration fun to users. GA cares about having a CRT working with any emulator, not to preconfigure too much for rookies.
Title: Re: Collaborative effort for GroovyArcade
Post by: contemplator on October 10, 2021, 05:12:12 pm
Little tip for everyone experiencing Attract mode freeze bug - on my old GA2019 setup I had the same problem occasionally and I "unfreezed" it just by switching linux consoles Ctrl-Alt-F2, then back to Ctrl-Alt-F1.

No need to reboot the machine etc. You can of course manage the processes from the 2nd console.. Anyway, the bug seems to be gone (at least in my case) in GA 2021.08.
Title: Re: Collaborative effort for GroovyArcade
Post by: hearttinker on November 09, 2021, 07:08:18 am
Hi Substring.
I have tested GA2021.8 iso on one of my systems, which composed with i3-9100F & Radeon HD 7750.
There were frequent soft or hard freezing when groovymame or retroarch playing with default frontend atractmode, but when I tested groovymame and retroarch using commandline without attractmode, both of them well worked. Especially Sonic 2 with retroarch shows really nice progressive-interlace mode change.
Sonic2 is one of the best roms to test ingame modeswitching, as it genuinely switches to interlaced on 2 players games (if you enable the right option) ;)
Can you give more details on those "soft and hard freezing" ? I don't see what you mean.

Sorry to late response.
Currently, most of freezings are disappeared after hardware cleaning and updates.
I think some of hard freezings (no response of any key input and need to force 4 sec of powder botton push to powerdown then reboot) are due to a kind of hardware problem previously hidden.
One remained freezing type is below.
After escaping from some groovymame games like Tokimeki Memorial Taisen Puzzle-Dama Sonic The Hedgehog 2 (bootleg version), no screen & key response.
At this situation, pushing power button shows safe powerdown sequence.


Quote
Quote
Radeon HD 7750 is one of GCN1 cards. I have seen your comment in other thread that a patch is applied for GCN1&2 from previous your GA iso. I think amdgpu driver might be applied for this HD 7750. is it right? I have other cards like Radeon r5 240 & HD 8490 & HD 5450. Is there any better alternative?
The patch is for some specific Vega chips. I can't recall any other GPU patch. There are a number of ways to list which driver you're using, the easiest being "lspci -k" then find the display adapter. You'll have 2 lines regarding the kernel : the possible drivers, and the current drivers. Some cards are handled in both amdgpu and radeon drivers.

Drivers are easily checked following your comment.
HD 7750 worked with radeon driver, not amdgpu driver.
Currently, I'm using amdgpu driver with some configuration changes but it seems unstable for HD 7750 in some groovymame games.
I'll test with RX 460.


Quote
Quote
Anyway, this is not main problem. I'll try with other alternative frontend like advancemenu plus. I think advmenup is better for mame roms because of fast 2D rom navigation and easy clone roms selection.
You can install pegasus if you want a modern FE, retroFE is also available. I find the others too ... ugly ... And I don't ship advmenuplus anymore with GA.

I saw some sentenses about pegasus and retroFE in a shell script file so I'll wait their including in next (or next next...) GA version.
I installed advmenup in GA2021.8 and used alternately with AtractMenu.
After a few days testing, I agreed with your opinion about advmenup that no need to include GA further because it is somewhat old and it doesn't fit current GA system well.


Quote
Quote

Main question is below.
When I tested retroarch using GASetup installation, there was no core for FC-FX.
Moreover, I wanna use Mednafen core for Sega Saturn.

There are two (or more) options.
1. Use pacman, main package manager of Arch linux.
2. Retroarch internal core download system, hidden option.

I'll follow your recommendation.

Additionally, how can I turn off frequency change popup message during Retroarch playing?

I don't have GA at hand right now but you can't select a core through gasetup if the system emulated has a simple core available. If there is a single core than can emulate a system, then it should be automagically set. If not, there is a bug I need to dig

Now, for updating cores it rather depends on your knowledge of RA, hence the normal/advanced mode when configuring RA :
  - the normal mode simply uses the libretro group from Arch, so it has a limited number of cores, and doesn't allow updating them from the RA GUI
  - the advanced mode leaves full control to the user, and enables the core downloader from the RA GUI. That's for people who have a good knowledge of RA. When you set the advanced mode from gasetup, GA downloads ALL available cores, sets default for single core systems. For systems that have several possible cores, there is a new menu entry when in advanced mode. Maybe that's what you need to use the mednafen core for Saturn ?
  - for the refresh rate change : it's somewhere in the RA notifications parameters. Some people asked me to remove this but ... Let's say that my philosophy is to ship ba bare emulator configuration with just what it takes to have CRT enabled, I leave the full configuration fun to users. GA cares about having a CRT working with any emulator, not to preconfigure too much for rookies.

With advanced mode, everything is very easily done.
PC-FX was opened with Mednafen PC-FX (Bettle PC-FX).
The mednafen core for Saturn (Beetle Saturn) shows great perfomance.
When i checked RA configuration options for notifications, it seems really easy so no need to preconfiguration also.
Title: Re: Collaborative effort for GroovyArcade
Post by: psakhis on November 09, 2021, 07:23:55 am
Quote
With advanced mode, everything is very easily done.
PC-FX was opened with Mednafen PC-FX (Bettle PC-FX).
The mednafen core for Saturn (Beetle Saturn) shows great perfomance.
When i checked RA configuration options for notifications, it seems really easy so no need to preconfiguration also.
For PCEngine, PC-FX, PSX and Saturn, your bet is Mednafen every day.
Title: Re: Collaborative effort for GroovyArcade
Post by: hearttinker on November 09, 2021, 07:34:12 am
Hi Substring.

I tried to center the screen of frontends and lxde but failed.
In Ves's old GA 2020.4, I modified modline in xorg.conf file, but your GA 2021.8 use different way.

I checked some files in iso.
Swichres seems to make modline for frontends and lxde also but I cannot fully understand.
Crt_range 0 in swichres.conf (linked in home folder), mame.ini, and swichres.ini (in /etc, related to Retroarch) was filled with custom values then all games are centered but frontends are not.

Let me know if there was helpful previous comment then I'll follow it.
Title: Re: Collaborative effort for GroovyArcade
Post by: hearttinker on November 09, 2021, 07:47:28 am
Quote
With advanced mode, everything is very easily done.
PC-FX was opened with Mednafen PC-FX (Bettle PC-FX).
The mednafen core for Saturn (Beetle Saturn) shows great perfomance.
When i checked RA configuration options for notifications, it seems really easy so no need to preconfiguration also.
For PCEngine, PC-FX, PSX and Saturn, your bet is Mednafen every day.

Simply, I tested three cores for Sega Saturn with Galaxy Fraulein Yuna REMIX.
Yabause and Kronos shows poorly in opening movie but mednafen based Beetle Saturn shows good quality.
And no other choice for PC-FX.

For PCEngine, situation is somewhat different because I use MiSTer FPGA also...
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on November 09, 2021, 10:57:01 am
Quite much to reply to ... I may miss some questions, just ask again!

GA freezing after some roms: known problem, caused by SDL2 + Xorg. As of today, 2 possible solution : increase th eminimum dotclock (6.0 should be enough), or rollback SDL2 to 2.0.14 (n which case you'll miss next updates, and as I'm starting to patch SDL2 for later purpose, I don't recommend that solution anymore). I can help you on how to set this up.

Frontends: despite I but all my hopes on PegasusFE, I just hate its roms indexing system, really. So I don't plan yet to make things "easier", even more when the FE is still alpha afte ryears of development. So yes, there are a few lines here and there to be ready for a different FE than AM, but I'm not adding anything more yet to ease life.

Screen centering: with all respect to VeS work, I just totally disagree with how he did things, even if it means less "flexibility" for the user. In other words: the days where you needed ot edit Xorg config files are way over for ages, and I don't want to add myself anymore burden with maintaining some code to play with X configuration files. No way. So it works as it should work : X gets the modelines from the kernel. And there is no other choice as to write these modelines in the stone, no way to patch them. A possible solutio is to write your own ocrt_range ad then ask switchres to generate the approriate EDID + install it in the initramfs and configure the kernel to use it.

RX460 + amdgpu: no one tried yet, can't tell how it will behave. Most chances that interlaced resolutions will be refused by the driver, not even talking about the fact the video card probably has no analog connector (VGA, DVI-I)
Title: Re: Collaborative effort for GroovyArcade
Post by: hearttinker on November 15, 2021, 03:42:09 am
Quite much to reply to ... I may miss some questions, just ask again!

GA freezing after some roms: known problem, caused by SDL2 + Xorg. As of today, 2 possible solution : increase th eminimum dotclock (6.0 should be enough), or rollback SDL2 to 2.0.14 (n which case you'll miss next updates, and as I'm starting to patch SDL2 for later purpose, I don't recommend that solution anymore). I can help you on how to set this up.
I will try to make individual ini setup file of mame with minimun dotclock option.

Quote
Frontends: despite I but all my hopes on PegasusFE, I just hate its roms indexing system, really. So I don't plan yet to make things "easier", even more when the FE is still alpha afte ryears of development. So yes, there are a few lines here and there to be ready for a different FE than AM, but I'm not adding anything more yet to ease life.
Most of people use default frontend so it is no problem. Someone who wanna use other frontend should try himself or will be better to call to other friend.

Quote
Screen centering: with all respect to VeS work, I just totally disagree with how he did things, even if it means less "flexibility" for the user. In other words: the days where you needed ot edit Xorg config files are way over for ages, and I don't want to add myself anymore burden with maintaining some code to play with X configuration files. No way. So it works as it should work : X gets the modelines from the kernel. And there is no other choice as to write these modelines in the stone, no way to patch them. A possible solutio is to write your own ocrt_range ad then ask switchres to generate the approriate EDID + install it in the initramfs and configure the kernel to use it.
Last weekend I tried screen centering based on your comment.
I followed arch wiki document of https://wiki.archlinux.org/title/kernel_mode_setting
EDID is much more elegant way than before. Easily done with switchres, intramfs, and kernel command line. Very satisfied because console and gasetup screen are also centered.

Quote
RX460 + amdgpu: no one tried yet, can't tell how it will behave. Most chances that interlaced resolutions will be refused by the driver, not even talking about the fact the video card probably has no analog connector (VGA, DVI-I)
Interlace resolution... bad new. I already ordered an active adaptor of HDMI to VGA but it seems useless now for GA. Currently I'm finding used R7 260X or 360.
But as time goes by, current HD 7750 seems not bad.
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on December 26, 2021, 03:27:20 pm
I've just installed the latest GA 2021.08, and having issues again with video snaps in attractmode.

I'm using the emumovies mame HQ videos, which I've had running on another virtually identical groovyarcade install just fine.

The videosnaps take almost 10 seconds to load before they play, and AM freezes until they're loaded.
Once loaded they play fine until they reach the end where they stop instead of looping.
Each time I change a game to a new one in the list, this happens.

I've got a fast Ryzen 3600 CPU, more than enough RAM, and a Radeon HD6450 card.

It's basically the exact same setup I'm running in my other cab with I believe 2020.06 version of GA.  Videos from same source.  Same AM theme except I am using the plugin to rotate the screen as this is for a vertically mounted monitor.

I am also getting an issue where I exit a game from mame, and I just get a black screen, it doesn't take me back to AM's gamelist. :(

Any ideas?

Thanks

UPDATE:   The video issue seems to be random... some times I boot GA and it's fine, videos loading immediately (still not looping though), and others it takes up to 10 seconds to load each video.    Also, in "General" settings of AM, I only have to choose from either blank or "software" as the video decoder.  Neither makes a difference.  The videos are the 640x480 mp4's from emumovies.

UPDATE 2:   After some more testing, I think the randomness of the video issue happening may be something to do with the timing of attractmode loading.  On a few occasions I have booted up into attractmode where the issue happens, then I quit attractmode into gasetup, then instantly run the frontend again from gasetup, and the issue is gone, videos load fine (however they still don't loop!).

UPDATE 3:   The rotationcontrol plugin has nothing to do with it, it still does this regardless of using this plugin.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on December 28, 2021, 02:18:18 am
First of all : update your system (can be done from the text menu). This will fix the freeze on mame exit for certain games.

For AM freezing, read https://gitlab.com/groovyarcade/support/-/wikis/4-Issues-and-Troubleshooting/4.2-Known-Issues#attract-mode-frontend-freezes + the item before the one linked (which requires you to compile on your own)
Title: Re: Collaborative effort for GroovyArcade
Post by: Jimbo on December 29, 2021, 06:18:13 am
Thanks mate, I fixed it in the end by choosing the correct sound card.

For convenience (I thought!) I am using a J-PAC into a supergun to set this up before I put it in my cab.  I didn't get time to solder the pc stereo to mono cable for jamma so I was testing without sound.  Turns out the GA install defaulted it to HDA-ATI, and this seems to be what was causing all the pausing, non-looping videos, and crashing in AM.  After changing it to HD-Audio-Generic, it worked perfectly.

Thanks again.
Title: Re: Collaborative effort for GroovyArcade
Post by: MK3FANATIC on January 01, 2022, 06:13:26 pm
I'm trying to use an xbox one control in groovyarcade and I'm not getting it, in retroarch I get the following message: "microsoft xbox one S pad (1118/746) not configured", the control vibrates, but it is not possible to configure the buttons and neither even the directional pad works. Are there any settings or drivers I need to install to make it work?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 02, 2022, 04:35:10 am
With you keyboard, navigate through the RA menus to download the joypad configurations. It should be in the online updater. If that menu is not available, you should switch to Advanced mode in retroarch setup in gasetup
Title: Re: Collaborative effort for GroovyArcade
Post by: MK3FANATIC on January 02, 2022, 08:18:15 am
I updated the control and now I get the message "microsoft xbox one S pad configured in port #1". But the control still doesn't work. I noticed something, the central control light is not on. And connecting this same control, on the same PC and on the same USB port, but using another hd with windows 10 the control light is on and it works normally. Would there be any other settings on the system that I could try?
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 02, 2022, 03:50:32 pm
Sounds like the device is technically recognised, but no inputs come. You should try using evtest to check if Linux does register the controls or not. If you need any help, join the GA discord and ping me
Title: Re: Collaborative effort for GroovyArcade
Post by: Tithis on January 07, 2022, 11:55:23 pm
Just can't win with this machine.

So I had some video issues with Win7 + Attractmode + Groovymame I posted about here http://forum.arcadecontrols.com/index.php/topic,166012.0.html (http://forum.arcadecontrols.com/index.php/topic,166012.0.html)

So i switched to GroovyArcade (the old release before yours) and everyone worked 100% video and gameplay wise, only issue was attract mode would freeze in videos, threads here said it was some issue with the interlaced modes and solution was to force attract mode to a progressive mode or wait for a fix in the future.



So finally decided today to install your latest version and while my attract mode issue is  finally fixed, I'm now having video issues :/ Game that works fine is Pacman, one that isn't working is Burger Time.

Screen turns into a total mess and with very thin looking scanlines and a squashed horizontal size. Audio is super sped up and the logs say its running at over 10x normal speed.

edit: After messing with switchres I saw when I told it to make a 240 x 240 @ 57hz mode it switched to 1920 x 240 @ 57. I went into the mame.ini  file and added a minimum dotclock of 25, just cause I've seen that used for cards that need super resolutions and now the game is working fine and generating 1920 x 240 when starting burgertime.



Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 08, 2022, 02:10:03 pm
Need a little more information about your hardware ;)
Title: Re: Collaborative effort for GroovyArcade
Post by: Tithis on January 08, 2022, 03:17:46 pm
Need a little more information about your hardware ;)

The graphics card is a Sapphire Radeon HD 7770

Although like I said the issue is seemingly fixed by putting in a minimum dotclock in mame.ini.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 09, 2022, 10:33:12 am
you may try to lower the dotclock to 8.0, some GPUs do have a hardware limit, no need to go to 25.0 to solve the issue
Title: Re: Collaborative effort for GroovyArcade
Post by: Tithis on January 09, 2022, 11:42:00 am
That was just my starting point, I ended up lowering 7 I think. Figured if its an issue for 240 wide games but not 256 wide games than the minimum still had to be fairly low.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on January 23, 2022, 10:16:22 am
New 2022.01 ISO out !

I can't say there are THAT big changes. A few here and there of course, but there is only 1 thing to remember : KMS modeswitching is available for GroovyMAME and Retroarch. And that, dear fellows, was a challenging move !

Calamity has already talked about KMS modeswitching on the GM topic. RA can also modeswitch on KMS but it's not as efficient sadly. The reason is that RA internals are not really suited for modeswithing, and having a better optimized KMS modeswithing would require much work for all video backends (gl, glcore, vulkan etc ...). But at least it's possible !
Title: Re: Collaborative effort for GroovyArcade
Post by: makya on January 23, 2022, 05:55:55 pm
Looks great ;D
Thanks a lot!
Title: Re: Collaborative effort for GroovyArcade
Post by: b4nd1t0 on February 02, 2022, 10:19:54 am
great work, thanks Substring  :cheers:
Title: Re: Collaborative effort for GroovyArcade
Post by: cornerstone on March 03, 2022, 01:38:51 pm
Have there been any options to allow mouse control in mame with Groovyarcade? I’ve got an older version and tried to find a spot to configure mame to allow for the USB spinner. No luck. It should be able to be accessed in mame.ini, but I know nothing about Linux.
Title: Re: Collaborative effort for GroovyArcade
Post by: Substring on March 04, 2022, 02:49:49 pm
It's just confiuring the mame.ini. You can edit it through network shares
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: toastboy on March 31, 2022, 01:55:33 pm
I know groovyarcade isn't designed for this, but I've managed to get it working on an HP ProBook 4720S laptop's VGA output.

The trick was to perform the livecd tests, select LVDS as display, then install to hard disk as normal.
Once installed, reboot into groovyarcade, exit to shell or desktop and change /boot/syslinux/syslinux.cfg kernel arguments.
video=LVDS-1:640x480iS
to
video=VGA-1:640x480iS

This worked perfectly on a 14"CRT via scart for testing. The LCD shows low-res and only part of the game's playfield, but that's OK, it's CRT output we care about.

BUT - When connected to a Hantarex Polo2 arcade CRT, there was no picture on the CRT and the LCD reverted to native res.
To fix this I modified the video parameter like this :-
video=VGA-1:640x480ieS
To force the VGA port to be enabled when no monitor is detected.

Now it works, and I can replace the old windows XP PC guts of my cab with a small quiet laptop that has 15khz support.  :)

I've since tried this on an older Dell XPS too, and it works exactly the same.

Groovyarcade really is excellent, thanks so much to the guys working on it.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on April 01, 2022, 01:43:33 pm
Great experience! Glad you like it :)
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: liva123 on April 16, 2022, 09:56:58 am
Hello. Substring.
This is my first visit to this forum.
My system is Asrock Deskmini x300+2400g+pvm-14m2.
I installed GroovyArcade 2022.01 version, but I have a problem.
In Attractmode UI & LXDE desktop, the screen is split into two.
However, in-game and gasetup screens are displayed normally.
What's the problem?
How can I fix this?
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on April 16, 2022, 05:34:23 pm
Hi,

What do you mean with "split in 2" ?
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: liva123 on April 16, 2022, 07:15:48 pm
Hello.
I can see the same screen on the left and right.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: donluca on April 17, 2022, 09:59:54 am
I think he's at 640x480 (31khz) when on Desktop, that's why he's seeing the image split and repeated side by side.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on April 17, 2022, 11:04:38 am
Hello.
I can see the same screen on the left and right.

Can you go to gasetup, then run menu 4 "Troubleshoot" ans send me the resulting link by PM ? You must be connected to internet to do that. I suspect you've missed when installing.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: liva123 on April 17, 2022, 09:48:48 pm
I'm on a business trip, but I'll do it as soon as I get back. thank you.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on April 18, 2022, 12:08:10 pm
You may need to plug a LCD though
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Calamity on April 19, 2022, 04:33:25 am
The Deskmini needs to force 15 kHz edid in boot line, otherwise you get a default 31 kHz mode that dumb soft will pick.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: liva123 on April 20, 2022, 10:08:30 am
Hello Substring.
I sent PM. Thank you.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: liva123 on April 20, 2022, 10:11:53 am
Hello Calamity. Thank you for your reply.
How can I force 15khz edid in boot line?
Please let me know or I would appreciate if you could let me know a post that I can refer to.
Thank you.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on April 20, 2022, 01:58:07 pm
you need to manually edit the boot configuration file and force an edid. In your case, I wonder how you could even install it ... Did you plug another monitor to install ?

Steps you should do :
- if you're on legacy BIOS boot mode : sudo nano /boot/syslinux/syslinux.cfg
- remove the text video=DP-2:640x480iS
- instead put video=DP-2:e drm.edid_firmware=DP-2:edid/generic_15.bin
- CTRL+X to save and exit, say yes twice
- type reboot
- keep us informed
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: liva123 on April 23, 2022, 05:27:44 am
I didn't have enough time, so I tested it simply. I modified the boot configuration, but this time, it comes out as two  screen in the gassetup. I can't even enter the front end.

When I install,

1. I plug LCD monitor(hdmi) and I set install usb to first boot sequence and power off.
2. I plug PVM monitor(vga) and I install to ssd.

When installed in the same way as above, there was no problem with other systems.( i7 7700, z270, r5 430)
I'll try reinstalling it.

ps. Can I use nvme or m.2 type ssd?
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on April 23, 2022, 06:32:48 am
considering your mobo and APU, you will need the changes I've told you. Once this is done, run again the troubleshoot thing I told you about and send me the link by pm so I can see some details.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Calamity on April 23, 2022, 09:43:17 am
In my Deskmini the VGA is DP-3 (not DP-2).
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: liva123 on April 24, 2022, 09:44:17 am
Hello, Substring.
I sent a PM. When I plug LCD monitor(hdmi), It entered the front-end normally, but not when connected to the PVM monitor(VGA).
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: liva123 on April 24, 2022, 09:44:43 am
Hello, Calamity.
It was recognized as DP-2 when first installed.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on April 24, 2022, 04:44:03 pm
Hello, Substring.
I sent a PM. When I plug LCD monitor(hdmi), It entered the front-end normally, but not when connected to the PVM monitor(VGA).

You made a small mistake : drm.edid_firmware=DP-2:edid/generic.bin -> drm.edid_firmware=DP-2:edid/generic_15.bin
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: liva123 on April 25, 2022, 01:56:37 am
Hello, Substring.
I corrected the mistake, I saw good screen. Thank you.^^

I have two questions.

1. I see this error message at booting. Is there any way to fix this? Also, I wonder if this could cause other problems.
https://drive.google.com/file/d/1pcYTMD6W2heja5NuhscTiT5dsK1Vc3-w/view?usp=sharing
I couldn't attach a picture, so I linked google drive url.^^;;

2. Can I use nvme or m.2 type ssd? There are people who say yes and there are people who don't.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on April 26, 2022, 12:55:37 pm
Hello, Substring.
I corrected the mistake, I saw good screen. Thank you.^^

I have two questions.

1. I see this error message at booting. Is there any way to fix this? Also, I wonder if this could cause other problems.
https://drive.google.com/file/d/1pcYTMD6W2heja5NuhscTiT5dsK1Vc3-w/view?usp=sharing
I couldn't attach a picture, so I linked google drive url.^^;;
Not a big deal, got that on one of my rigs since I changed the mobo. Nothing to worry about
Quote
2. Can I use nvme or m.2 type ssd? There are people who say yes and there are people who don't.
Yes you can !
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: liva123 on April 27, 2022, 10:39:21 am
Thank you, Substring.
Have a nice day.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: ronbin on May 09, 2022, 10:19:54 am
Hi

I' m trying to install groovy arcade into a deskmini A300 with a Ryzen 3400G.
I can boot the liveusb using this option
Code: [Select]
LABEL [EDID Interlaced]
MENU LABEL [EDID Interlaced]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash mitigations=off audit=0 drm.edid_firmware=edid/generic_15_super_resi.bin video=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_2022.01

Everything works perfect. But after installing to the hard disk I try to boot and this is what I get
https://www.dropbox.com/s/k6qpmrmsdmmbitr/groovy.jpg?dl=0

Syslinux is configured like this
Code: [Select]
label arch
menu label GroovyArcade
linux /vmlinuz-linux-15khz
append root=/dev/disk/by-uuid/b66c89a0-42ab-4c16-a3d4-9e64953b0c45 rw quiet rd.udev.log-priority=3 splash mitigations=off audit=0 monitor=generic_15 drm.edid_firmware=DP-1:edid/generic_15_super_resi.bin
initrd /initramfs-linux-15khz.img

As I can see, there are two parameters missing: "video=e" (in the LINUX line) and "/groovyarcade/boot/amd-ucode.img" (in the INITRD line).
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Calamity on May 09, 2022, 11:36:23 am
Use this (works for me):

video=DP-3:e drm.edid_firmware=DP-3:edid/generic_15.bin
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on May 09, 2022, 02:10:20 pm
Hi

I' m trying to install groovy arcade into a deskmini A300 with a Ryzen 3400G.
I can boot the liveusb using this option
Code: [Select]
LABEL [EDID Interlaced]
MENU LABEL [EDID Interlaced]
LINUX /groovyarcade/boot/x86_64/vmlinuz-linux-15khz quiet rd.udev.log-priority=3 splash mitigations=off audit=0 drm.edid_firmware=edid/generic_15_super_resi.bin video=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_2022.01

Everything works perfect. But after installing to the hard disk I try to boot and this is what I get
https://www.dropbox.com/s/k6qpmrmsdmmbitr/groovy.jpg?dl=0

Syslinux is configured like this
Code: [Select]
label arch
menu label GroovyArcade
linux /vmlinuz-linux-15khz
append root=/dev/disk/by-uuid/b66c89a0-42ab-4c16-a3d4-9e64953b0c45 rw quiet rd.udev.log-priority=3 splash mitigations=off audit=0 monitor=generic_15 drm.edid_firmware=DP-1:edid/generic_15_super_resi.bin
initrd /initramfs-linux-15khz.img

As I can see, there are two parameters missing: "video=e" (in the LINUX line) and "/groovyarcade/boot/amd-ucode.img" (in the INITRD line).
Absolutely, you need video=DP-1:e
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: liva123 on May 10, 2022, 08:20:55 am
Hello, Substring.
I have two questions.

1. What additional work do I need to do to see Korean in Attract mode?
I saw that there was a 'kr.msg' file translated into Korean.
I put a Korean font in the path in the attract mode settings and tried to change the font name, but when I select Korean, it comes out as ㅁㅁㅁ.

2. Can I connect a standalone pcsx2 to attract mode?
I installed it as it is on this website.
https://wiki.pcsx2.net/Setting_up_Linux_version
When I played with standalone pcsx2 rather than the core included in Retroarc, it was much smoother even on a low-spec PC.

Thanks to Groovyarcade 2022, I am having a good time every day. Thank you.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: ronbin on May 10, 2022, 03:17:02 pm
Use this (works for me):

video=DP-3:e drm.edid_firmware=DP-3:edid/generic_15.bin
Works perfectly!

Absolutely, you need video=DP-1:e
Thanks for your GREAT work and support
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on May 10, 2022, 03:31:33 pm
Hello, Substring.
I have two questions.

1. What additional work do I need to do to see Korean in Attract mode?
I saw that there was a 'kr.msg' file translated into Korean.
I put a Korean font in the path in the attract mode settings and tried to change the font name, but when I select Korean, it comes out as ㅁㅁㅁ.

2. Can I connect a standalone pcsx2 to attract mode?
I installed it as it is on this website.
https://wiki.pcsx2.net/Setting_up_Linux_version
When I played with standalone pcsx2 rather than the core included in Retroarc, it was much smoother even on a low-spec PC.

Thanks to Groovyarcade 2022, I am having a good time every day. Thank you.

1. I'll ask the AM dev. Which font have you used ?

2. Of course you can, just read the syntax of the emulators -> check shared/frontends/attract/emulators/MAME.cfg for example
The emulator is launched with a script called galauncher which is not aware of PCSX2, so start pcsx2 the way you did it on commandline + substitute the rom name with predefined variables in AM.
There is an archlinux package for pcsx2, just run sudo pacman -Sy pcsx2
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: liva123 on May 10, 2022, 08:57:17 pm
Hello, Substring.
I'll try to run standalone pcsx2 and report then.

I installed this font, 'noto-fonts-cjk'.(maybe Google font?)
'sudo pacman -S noto-fonts-cjk'
but, not work.

Also, I copied various fonts to this path(/shared/frontends/fonts<-attractmode basic fonts path) and tried to change them, but, not work.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: DrAlves on May 11, 2022, 10:10:10 am
Hi!
Can i put this in a megatouch maxx?
I try but apeears No Boot Device Found or something else...
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on May 12, 2022, 04:13:48 pm
Hello, Substring.
I'll try to run standalone pcsx2 and report then.

I installed this font, 'noto-fonts-cjk'.(maybe Google font?)
'sudo pacman -S noto-fonts-cjk'
but, not work.

Also, I copied various fonts to this path(/shared/frontends/fonts<-attractmode basic fonts path) and tried to change them, but, not work.
I can only point you to https://wiki.archlinux.org/title/Localization/Korean and install the proposed packages, one by one (not the AUR ones)
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on May 12, 2022, 04:14:16 pm
Hi!
Can i put this in a megatouch maxx?
I try but apeears No Boot Device Found or something else...
Can you give more details about your configuration ?
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: DrAlves on May 17, 2022, 06:58:36 am
Yup:

- Motherboard Mitsubishi
- PhoenixBIOS 4.0 Release 6.0
- CPU - WinChip IDT C6 200mhz
- 128MB Ram
- IDE 2 SD adapter
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Sonny_Jim_Pin on May 18, 2022, 08:34:10 am
I'd be amazed if it could run on something that old.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: donluca on May 18, 2022, 01:02:04 pm
It won't even boot with 128MB of RAM.

I can't remember what you guys used for GroovyArcade, did you make a busybox with something like Yocto?
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on May 19, 2022, 01:51:16 pm
GroovyArcade = ArchLinux, not yocto or buildroot. Which also means it only supports 64bits x86 architectures
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: donluca on May 19, 2022, 05:25:45 pm
Probably it won't even boot on 128MB of RAM.

EDIT: I've been favoring Alpine Linux over Arch lately. I've found it nicer for "one purpose" situations like MAME emulation.
It also has a compatibility layer for glibc.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on May 20, 2022, 06:08:57 pm
musl also has some issues ...
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: donluca on May 21, 2022, 08:51:25 am
I can imagine it has, but so far I haven't really found anything to complain about.

Most stuff that broke or didn't work out was due to the glibc compatibility layer.

Just a random thought to throw out there anyway. :P
Title: Re: GroovyArcade live-CD 2022 (collaborative effort
Post by: edomatic on May 24, 2022, 04:10:41 pm
Kudos to substring and calamity and eveyone that contributes to this groovyarcade 2022!!

Just replac3d my (old) 2016 groovy-setup on windows 7 with mame217 with this 2022 build with latest mame on this bare arch and i must say im very impressed! Almost 95% worked out of the box including p1 and p2 controls , attract mode, no booting issues.. no hickups ,perfect scaling..wow! My astro city shines like new thanks to your hard work
2 thumbs up guys 😎👌!
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on May 25, 2022, 03:21:03 am
I can imagine it has, but so far I haven't really found anything to complain about.

Most stuff that broke or didn't work out was due to the glibc compatibility layer.

Just a random thought to throw out there anyway. :P
The glibc compatibility is a problem, alpine is more of a niche OS than something suited for our case. A number of people want to install Kodi or Steam. Kodi (back in 2019) wouldn't work with musl.

But, in case you didn't know, Alpine natively ships GroovyMAME instead of MAME ;)

Kudos to substring and calamity and eveyone that contributes to this groovyarcade 2022!!

Just replac3d my (old) 2016 groovy-setup on windows 7 with mame217 with this 2022 build with latest mame on this bare arch and i must say im very impressed! Almost 95% worked out of the box including p1 and p2 controls , attract mode, no booting issues.. no hickups ,perfect scaling..wow! My astro city shines like new thanks to your hard work
2 thumbs up guys 😎👌!

Glad you got it working like a breeze :) Now you can join us on discord and talk with users !
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: donluca on May 25, 2022, 08:06:51 am
But, in case you didn't know, Alpine natively ships GroovyMAME instead of MAME ;)

No friggin way! Are you serious?


EDIT: https://pkgs.alpinelinux.org/package/edge/testing/x86/mame

Holy crap! That's quite the surprise!
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: ronbin on May 29, 2022, 04:39:04 pm
Hi

I can't run latest groovymame in drmkms. I'm using debian bullseye with 15khz patched kernel, and groovymame downloaded from github releases page.
Version 242 and 243 work fine, but 244 tries to use X11 (which is not installed) even if I append "-switchres_backend drmkms"
Quote
Attempting load of mame.ini
Attempting load of mame.ini
Attempting load of mame.ini
Attempting load of mame.ini
Setting SDL videodriver 'x11' ...
Could not initialize SDL x11 not available
Am I the only one with this problem?
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Calamity on May 30, 2022, 04:02:49 am
This is a regression in baseline MAME. By now, it will work forcing this option: -videodriver kmsdrm

More info: https://github.com/mamedev/mame/issues/9852
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on May 30, 2022, 09:47:18 am
Hi

I can't run latest groovymame in drmkms. I'm using debian bullseye with 15khz patched kernel, and groovymame downloaded from github releases page.
Version 242 and 243 work fine, but 244 tries to use X11 (which is not installed) even if I append "-switchres_backend drmkms"
Quote
Attempting load of mame.ini
Attempting load of mame.ini
Attempting load of mame.ini
Attempting load of mame.ini
Setting SDL videodriver 'x11' ...
Could not initialize SDL x11 not available
Am I the only one with this problem?
I've pushed a fix in the testing repo until it's fixed upstream. Will push it to stable soon I guess
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Dancorp on June 01, 2022, 04:19:45 pm
On Calamity's advice, I would like to know if my configuration is supported by GroovyArcade.
Mini PC HP EliteDesk 705 G3, equipped with AMD APU 10 Pro 8770 (GPU Radeon R7 Series)
https://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=2037#p2037

Indeed, Windows 10 drivers do not allow (yet) to enable interlaced resolutions on some AMD APUs.

I have obviously tested but nothing appears on the screen when I select PAL or Arcade 15kHz mode.

Thanks in advance

Dan
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Sonny_Jim_Pin on June 04, 2022, 04:46:41 am
Apologies if this is an oft-repeated question but I checked the docs and couldn't see anything.

I'm setting up a new PC tomorrow for a cabinet with a vertical monitor, is there an option or setting during installation that will set the menus/games to be the right orientation?
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on June 04, 2022, 06:07:50 pm
yes sir! Just install, then once installed, in the text menu : setup > video > Monitor rotation
This part will get some slight improvements very soon
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Sonny_Jim_Pin on June 05, 2022, 12:05:10 am
Awesome.  Just fired it up on a $50 PC from Marketplace and after some initial teething troubles (forgot to select Nvidia 15kHz) it's working fine, thanks!

I did notice that the initial GA boot screen (I think it's Plymouth) is still horizontal along with the Attract Mode video, once I've finished updating/loading ROMs/playing the thing for a bit I'll have a look to see if I can't knock up something for a vertical monitor.

Thanks for your hard work on this project, it's very much appreciated.

EDIT:  Also I couldn't seem to get the vertical - inverted option to work, the screen was always the same orientation (90 deg instead of the 270 I wanted).  In the end I just moved the plug on the chassis.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on June 05, 2022, 08:23:33 am
Plymouth yeah. It's rotation is fixed in the dev branch of gasetup.
The AM layout is rotated, but looks awful since it's stretched. Oomek is working on that, so it will be part of AttractPlus, not AttractMode
For the inverted stuff: only has effecton mame, I never tried the reflect_x/reflect_y video kernel options
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Sonny_Jim_Pin on June 05, 2022, 09:19:34 am
The vertical - inverted was an option within Attract Mode, but all it seemed to do was the same as rotate right.  WRT the AM intro video, I found an option within AM to rotate it.

AM looks awful by default although I managed to find a really nice vertical layout called 'Verticools Deluxe'

http://forum.attractmode.org/index.php?topic=3387.0

EDIT:  I did make a vertical plymouth splash and it worked fine when I did plymough --show-splash but on boot it always uses the original one rather than my modified one?  Is it in a different location to /usr/share/plymouth/themes/groovy ?

EDIT2:  Putting this info here in case I forget it.  The "THT 1P Arcade Controller" needs a USB quirk adding otherwise only one controller appears:

echo "options usbhid quirks=0x16c0:0x05e0:0x040" > /etc/modprobe.d/tht_arcade_controller.conf
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on June 06, 2022, 09:39:41 am
The best to rotate plymouth without doing anything nasty in the theme is simply to use the panel_orientation of the video= option. This is part of the next gasetup update (you can still install gasetup-git if you want it NOW)

If you wanna test by yourself: https://docs.kernel.org/fb/modedb.html
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Sonny_Jim_Pin on June 06, 2022, 10:02:55 pm
Yep that works great and a lot easier than recoding the progress bar so it goes up instead of sideways ;)  Thanks.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Sonny_Jim_Pin on June 09, 2022, 02:17:14 am
Ok so I've got a very strange problem and I'm pretty sure it's EFI / secure boot related.  I would just turn it off but apparently you can't turn off EFI on a Veriton X4620G.  I think what's happened is this:

Installed GA when 1 HDD was in the system
Added a 2nd drive to copy some ROMs across, then I think syslinux reinstalled/upgraded when the system had 2 drives attached.
Now it'll only boot if both drives are attached, if I remove the ROM drive it fails to boot, I get the GA progress bar but it seems to be trying to fsck the missing ROM drive and gives up booting when it can't find it.

Now I'm waiting for an SSD to turn up so I'll probably just copy my config off and reinstall GA again, but I'm wondering if there's some way I can reinstall/reconfigure syslinux so it'll boot with just the one drive attached.  Any ideas?
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on June 10, 2022, 05:15:20 pm
This scenario is hard to believe nor explain
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Sonny_Jim_Pin on June 11, 2022, 04:05:59 am
I think what's happened is that I installed GA with two HDDs attached to the system, when I remove one Groovyarcade fails to boot as it tries to fsck the missing disk.  The disk isn't in /etc/fstab, there must be another table syslinux uses.

I gave up trying to figure out what was going on and decided to just wait for the new drive to turn up.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on June 14, 2022, 04:09:50 pm
It's just the root= parameter, it uses the drive GUID
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Sonny_Jim_Pin on June 23, 2022, 07:20:01 am
I've had a bit more time to investigate my booting issue and it seems to be overzealous EFI security on the particular motherboard I have.  I can boot a USB key and install GA just fine.  For some reason, as soon as my motherboard boots something else other than the drive that GA was installed to, it'll refuse to boot GA again.  I'm guessing it's some security feature to stop office people booting their own USB keys at work.

Right now I'm trying to figure out a way to make vertical games look good on a vertical 15kHz 9:16 monitor.  Setting 'aspect 16:9' in mame.ini seems to do the trick, as it'll display most games at the proper 3:4 resolution but with black bars at the top and bottom.  I am currently trying to create a layout file that will use the unused space (all 100 or so pixels of it), but I'm having a few difficulties with resolution.

So I boot up a game, lets say Time Pilot and go to machine information:

(https://i.imgur.com/hIWjl2z.png)

If I'm reading that right, it says the native res of Time Pilot is 224x256 and the current videomode is 224x344.  So I generate a 224x344 PNG to use as a bezel and the following layout file:

Code: [Select]
<!-- timeplt.lay -->
<mamelayout version="2">
  <element name="bezel">
    <image file="timeplt.png" />
  </element>
  <view name="Bezel Artwork">
    <bezel element="bezel">
      <bounds left="0" top="0" right="224" bottom="344" />
    </bezel>
    <screen index="0">
      <bounds left="0" top="0" right="224" bottom="256" />
    </screen>
  </view>
</mamelayout>

But when I load up MAME with the resulting files it decides to change the resolution from 224x344 to 244x464 and adds in another set of black bars:

(https://i.imgur.com/uKozAJZ.png)

My hunch is that the aspect 16:9 in mame.ini is forcing the black bars each time, but I'm not really sure how to fix it/make it work.

EDIT:  Yep, needed to set 'aspect 4:3' on the games I want to use bezel artwork with.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: edomatic on June 25, 2022, 09:13:31 am
Hi guys,

How does one adjust for overscan in games on groovyarcade 2022?

i dont want to fiddle with the Tv setup as its used for consoles too, but something i noticed is mame now have in video options something like zoom to screen area but its greyed out


Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on June 26, 2022, 09:02:16 am
Vertical overscan ? you can't.
Horizontal overscan -> https://gitlab.com/groovyarcade/support/-/wikis/4-Issues-and-Troubleshooting/4.7-Image-Centering
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: edomatic on June 29, 2022, 08:53:13 am
thanks Substring after reading i understand that:

we cannot so the vertical ( unless hardware adjust with pots in TV or service menu of tv or video slider option in mame but causing artifacts in game)
It seems we can do horizontal centering ( also possible in mame video sliders without causing artifacts), but not horizontal width-adjustements of the screen without creating game artifacts  using those same video sliders in mame
 
The issue i always have is that we have games like awesome games like r-type that have a resolution as such that we end up with standard generic_15 with a huge overscan in comparison to other games

My current workaround for this issue is to adjust my overscan for a game like r-type (as it is often the biggest overscan of all games as for me at least) ,after that change, most arcade games that i play (15khz) will have no overscan after this change, but the game-screen will not fill the entire screen

Is there another way to do this properly, how are you guys dealing with this on your setups ? Do you have another aproach to have all games full screen with no overscan?


Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Calamity on June 29, 2022, 09:41:59 am
Is there another way to do this properly, how are you guys dealing with this on your setups ? Do you have another aproach to have all games full screen with no overscan?

No. You need to adjust the hardware for correct vertical size.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: edomatic on June 29, 2022, 10:28:48 am
Hi Calamity,

thanks

So that means all games cannot run fullscreen, as you can only adjust vertical in hardware to match a certain resolution ( like R-type since big overscan there), but then the other games have black borders up and down the screen as their resolution is "smaller" as opposed to R-type's res.
It would make sense i guess, as in the arcades you never had all games on one monitor either

I just wanted to check how other are dealing with this when you do want to play f.i. all horizontal arcade games on one CRT TV.

The way i do it now, is i adjust both vertical and horizontal width in TV menu for playing games in groovymame, but i have to switch those values back to original when i play my original consoles games (saturn,snes,pc engine..)


Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on June 29, 2022, 04:08:26 pm
You're using a TV, not an arcade monitor. Feel the limits of such a setup ... I'm not saying this in a punishing way, just that playing on a TV has its limitations regarding screen positionning, screen centering and size.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: edomatic on July 01, 2022, 05:51:59 pm
Hi Substring,

Question:
If i change my graphics card in groovyarcade 2022 from hd5450 to an R9 270x, do i need to re-install for this change in hardware to take effect?

PS: I do own an astro city as well, and i have the same issue of overscan there, meaning i had to scale for one of the biggest overscan game ( R-type) to make all the games fit the screen more or less. That also means R-type is the only full screen game, the rest has some black bars top and bottom. You could also choose the opposite approach and scale overscan for some resolution "in between" but in the end you never get all horizontal games full screen due to this unless you manually change the vertical and horizontal pots on your arcade screen (like i can do but dont do on my astro) and like i do in geometry-menu on my TV.

I do realize that this seems to be the trade-off we got to live with, i was just wondering how the rest of us are handling this

Big eternal kudos to you and all who contribute to this! this distro really is a gamechanger! :applaud:


 
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on July 02, 2022, 02:56:10 pm
Hi Substring,

Question:
If i change my graphics card in groovyarcade 2022 from hd5450 to an R9 270x, do i need to re-install for this change in hardware to take effect?

PS: I do own an astro city as well, and i have the same issue of overscan there, meaning i had to scale for one of the biggest overscan game ( R-type) to make all the games fit the screen more or less. That also means R-type is the only full screen game, the rest has some black bars top and bottom. You could also choose the opposite approach and scale overscan for some resolution "in between" but in the end you never get all horizontal games full screen due to this unless you manually change the vertical and horizontal pots on your arcade screen (like i can do but dont do on my astro) and like i do in geometry-menu on my TV.

I do realize that this seems to be the trade-off we got to live with, i was just wondering how the rest of us are handling this

Big eternal kudos to you and all who contribute to this! this distro really is a gamechanger! :applaud:

no need to reinstall, but you may have to edit the kernel command line to fix the connector name
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: edomatic on July 02, 2022, 05:14:54 pm
Ok thanks, i will give that a try hoping i don’t have to go there 😉
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Sonny_Jim_Pin on July 05, 2022, 07:23:54 am
Would it be possible for the vertical setup option in gasetup to include the following line in .xinitrc (maybe another place might be more appropriate):

Code: [Select]
xrandr -o right

It means that the screen is orientated properly when the desktop environment is run.

EDIT:  Oops, just realised that this rotates attract mode as well, will have to find somewhere that gets run when the window manager starts
EDIT2:  Like in ~/.config/lxsession/LXDE/autostart
Code: [Select]
@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
@xscreensaver -no-splash
xrandr -o right
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on July 05, 2022, 04:48:08 pm
what do you need that line for ?
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Sonny_Jim_Pin on July 06, 2022, 07:22:39 am
Rotates the desktop environment (ie LXDE) so it's the right way round on a vertical monitor.  Sorry, probably forgot to make that part clear.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on July 06, 2022, 01:28:53 pm
Doesn't adding it to .xinitrc cause conflict with the AM/GM rotation ?
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Sonny_Jim_Pin on July 07, 2022, 10:03:03 am
Exactly, which is why I updated my post to add it to ~/.config/lxsession/LXDE/autostart
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Silverwind on August 11, 2022, 12:54:30 am
Thanks for GroovyArcade, guys!  :applaud: :cheers:

Rejuvenated my cabinet from old hardware on windows xp.

Betson 27" CRT
radeon HD 4890
Ryzen 5600
GroovyArcade install!
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on August 11, 2022, 12:44:16 pm
 :cheers:
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Toonces on October 02, 2022, 12:42:44 am
Thanks for the great updates! I recently decided to upgrade my Namco Cyberlead setup from a P4 2.4Ghz w/AGP ArcadeVGA & JPAC running Windows XP/GameEx to a more modern system. I've been toying with the idea of GroovyMAME and GroovyArcade for a while and finally bit the bullet and grabbed a cheap IBM SFF p82 i5-3570 system with a Radeon R7 240 low profile card. I initially installed the 2022.01 ISO and went through setup just fine and I selected the Nano MS9 monitor to match the monitor I have. On reboot, it would always go to 25K or something other than 15Khz as the screen was just a mess and not doubled like it does with a 31Khz signal. I tried the pre-release ISO next and wasn't able to select anything other than generic 15Khz and it's perfect! In reflection, I assume the problem is that I selected the actual monitor I have and the system tried to use the maximum resolution and maybe the JPac's protection caused it to not sync? Not really sure but it works great with the Generic 15Khz profile and I am able to update my Cyberlead!

When I first built the Cyberlead, it took me 6+ months to get everything right. I added LED buttons (Original CP was already hacked for american buttons when I got it), GGG LED-WIZ and wired my cabinet to the ATX power supply so the entire cabinet could be turned on and shut down from a single button on the rear of the cabinet. I haven't gotten the new setup 100% yet but it didn't even take the weekend to get up and running with the excellent pre-release GA ISO. I'm taking the time to do some deconversions and removing the LED buttons since I was able to find an original control panel and will be decasing the system and mounting it in place of the old P4 mobo on the sliding wood panel in the cabinet. I'm hoping I can have the startup and shutdown wired up correctly where the power button will cause a proper shutdown of the system. AM+ was easy to find a nice theme and instead of having 6000+ mame titles on this, I am just going for my favorites and hopefully get Daphne (or whatever is current LD emulator) for DL/Space Ace.

Thanks for making it easy!  :cheers:
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on October 02, 2022, 12:51:56 pm
After 1.5 month of work, a new ISO has been released ! There a numerous changes that looks like drops in the sea, but among changes, worth noting :
- New logo ! This was a nice collaborative effort of a few members on the discord channel
- faster HDD installation
- Time to leave X11 behind a make KMS default. Emulators that can't work on KMS can still be launched in X11 through the AM
- Imroved the transition time between the boot splash and the frontend. On newer configurations, it's almost instant
- AttractMode is living its last bits of life, now AttractMode+ is the default frontend
- DCN2 GPU support for interlaced has been added

Enjoy !
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: b4nd1t0 on October 03, 2022, 03:15:15 am
Always a great work, thansk Substring for your time.  :applaud:
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: gnrulez on October 05, 2022, 10:06:35 am
Anyone know if this version of mame has the option to "enable composite sync". bc I have a sony pvm and I would need that option. Now I am using windows groovymame + crt emudriver on my pvm enabling that option.  thank you
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: ronbin on October 05, 2022, 11:06:30 am
After 1.5 month of work, a new ISO has been released ! There a numerous changes that looks like drops in the sea, but among changes, worth noting :
- New logo ! This was a nice collaborative effort of a few members on the discord channel
- faster HDD installation
- Time to leave X11 behind a make KMS default. Emulators that can't work on KMS can still be launched in X11 through the AM
- Imroved the transition time between the boot splash and the frontend. On newer configurations, it's almost instant
- AttractMode is living its last bits of life, now AttractMode+ is the default frontend
- DCN2 GPU support for interlaced has been added

Enjoy !
That's GREAT news!
I'm downloading the iso right now. Thank you!
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on October 06, 2022, 02:11:49 am
Anyone know if this version of mame has the option to "enable composite sync". bc I have a sony pvm and I would need that option. Now I am using windows groovymame + crt emudriver on my pvm enabling that option.  thank you
We've experimented CSYNC on Linux with some kernel patching. It just doesn't work, and probably never will. You must use a hardware sync combiner if you go Linux sadly.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: insx on June 15, 2023, 07:38:54 am
Hi

Any ideas about these errors? I have an internet connection, tested by successfully pinging amazon.com in the shell.

Any attempts to update result in "Couldn't update the package database. Aborting."
System Settings, Front-End/Window Manager > "Couldn't update the pacman database, aborting"

Thanks in advance.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on June 23, 2023, 05:58:47 pm
Can you give a full output of what sudo pacman -Syu returns ?
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: insx on June 28, 2023, 05:48:48 pm
Can you give a full output of what sudo pacman -Syu returns ?

To cut a long error message short, "certificate is not yet valid", which made me realise that my computer clock is wrong.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: insx on June 28, 2023, 06:21:39 pm
After running the GroovyArcade specific update, my front end (attractplus) no longer runs. If I change the front end to GroovyMame it will run. Any idea what the update has broken?

Here's the output of my attract.log:


Attract-Mode Plus v2.6.2 (Build 0) (Linux, SFML 2.6.0 +FontConfig +7z +Curl)
avcodec 59.37.100 / avformat 59.27.100 / swscale 6.7.100 / avutil 57.28.100 / swresample 4.7.100

Config: /home/arcade/shared/frontends/attract/attract.cfg

*** Initializing display: 'MAME'
 - Loaded master romlist 'MAME' in 8 ms (24 entries kept, 0 discarded)
 - Constructed 2 filters in 0 ms (48 comparisons)
[ALSOFT] (EE) Could not query RTKit: No such file or directory (2)
[ALSOFT] (EE) Could not query RTKit: No such file or directory (2)
Sound file not found: sloop.mp3
Sound file not found: sstart.mp3
 - Loaded layout: /home/arcade/shared/frontends/attract/layouts/Basic/ (layout.nut)
Attract-Mode Plus v2.6.2 (Build 0) (Linux, SFML 2.6.0 +FontConfig +7z +Curl)
avcodec 59.37.100 / avformat 59.27.100 / swscale 6.7.100 / avutil 57.28.100 / swresample 4.7.100

Config: /home/arcade/shared/frontends/attract/attract.cfg

*** Initializing display: 'MAME'
 - Loaded master romlist 'MAME' in 0 ms (24 entries kept, 0 discarded)
 - Constructed 2 filters in 0 ms (48 comparisons)
[ALSOFT] (EE) Could not query RTKit: No such file or directory (2)
[ALSOFT] (EE) Could not query RTKit: No such file or directory (2)
Sound file not found: sloop.mp3
Sound file not found: sstart.mp3
 - Loaded layout: /home/arcade/shared/frontends/attract/layouts/Basic/ (layout.nut)
attractplus-kms: error while loading shared libraries: libavformat.so.60: cannot open shared object file: No such file or directory
attractplus-kms: error while loading shared libraries: libavformat.so.60: cannot open shared object file: No such file or directory
attractplus-kms: error while loading shared libraries: libavformat.so.60: cannot open shared object file: No such file or directory
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on July 11, 2023, 06:05:16 am
looks like ffmpeg wasn't updated. Try updating again but FULL OS update. Specific updates are hardly worth
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: insx on July 18, 2023, 11:46:33 am
Thanks, Substring.

If I upgrade my motherboard/processor, do I need to change anything or will it just sort itself out (going from AMD to Intel, graphics card will not change)?
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on July 21, 2023, 04:36:50 pm
should work with no change
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Deathblow81 on August 29, 2023, 03:00:55 pm
Hi All,

If I am starting out with a fresh ROM set, what number should I start with to then update to 256, keeping in mind this version of groovyarcade comes with 256.

Should I D/L 0.255 and then update to 256, or go back further?

Any help much appreciated, I've coming at this from all angles and literally wish to play 5 games on a naomi cab

Thank you for the effort that has gone into making this possible  :notworthy:
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: PL1 on August 29, 2023, 04:27:55 pm
If I am starting out with a fresh ROM set, what number should I start with to then update to 256, keeping in mind this version of groovyarcade comes with 256.

Should I D/L 0.255 and then update to 256, or go back further?

Any help much appreciated, I've coming at this from all angles and literally wish to play 5 games on a naomi cab
If you can find a v0.256 ROMset, use that.

If not, try the nearest version that you can find.
- MAME will run fine just fine if the ROMs/BIOSes/device files for the five games you want to play haven't been redumped, renamed, or otherwise updated between the two versions.  The more games you want to play and further apart the versions are, the more likely something you need in the ROMset will have changed.
- If MAME doesn't run all of the games you want you'll need to find an incremental update (?) ROMset that has just the new files for each version of MAME.  For example, if you start with a v0.254 ROMset, you would copy over the new files for v0.255 then the new files for v0.256.
- The other approach is to look for the individual files that MAME complains about.  You can see what files have changed on http://adb.arcadeitalia.net (http://adb.arcadeitalia.net).  For example, if you scroll down to the "Files" section of the Naomi BIOS (http://adb.arcadeitalia.net/dettaglio_mame.php?game_name=naomi) entry, you'll see that these files haven't been updated between v0.250 and v0.257.  It also has the CRC value for the individual ROMset files so you can tell if you have the right version.   ;D


Scott
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Deathblow81 on August 30, 2023, 04:41:02 pm
Awesome thank you Scott!!!

Has helped me finally understand how CLRmame etc works

(I did write a long winded response, which has disappeared)

Thanks again!
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: spedinfargo on August 31, 2023, 09:46:57 am
Thank you for putting this note in here - I was installing to a computer that hadn't been turned on in a few years and the CMOS battery had died.  Once I got the date and time entered in the BIOS things started working much better all around...

Can you give a full output of what sudo pacman -Syu returns ?

To cut a long error message short, "certificate is not yet valid", which made me realise that my computer clock is wrong.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Deathblow81 on September 13, 2023, 02:31:56 pm
Just wanted to say thank you to all involved!

Got everything working and its amazing  :notworthy: :notworthy: :notworthy:

Everything looks amazing and plays super well (apart from Soul calibur, bit slow/choppy)

Gonna throw an arcade party at some point with friends.

Again, thank you for the time and effort this has taken, I can't code for toffee!

 :cheers:
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring 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
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Deathblow81 on September 21, 2023, 05:18:43 pm
I look forward to it!

 :cheers:
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: meestermole 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  :) :)

Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring 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 !
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Diogo 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
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring 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 ?
Title: Do I need to update?
Post by: Diogo 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)
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Diogo 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.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring 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
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Diogo 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.
Title: Re: Conect net
Post by: Diogo 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...
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Diogo 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.
Title: Re: Conect net
Post by: Substring 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
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: pigzaj2 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
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Calamity 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
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring 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
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: pigzaj2 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.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: pigzaj2 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 (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.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring 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
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: pigzaj2 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.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Calamity on January 12, 2024, 12:38:20 pm
pigzaj2, try booting on a progressive mode (non-interlaced).
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: pigzaj2 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.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring on January 13, 2024, 06:50:24 am
in the video setup, use the geometry tool
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: ondafly 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.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring 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.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: ondafly 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 ?
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring 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
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: intealls 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.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring 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
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: intealls 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
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring 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
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: intealls 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.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Substring 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
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: ondafly 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 !
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: intealls 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.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Calamity 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.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: intealls 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.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: Calamity 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.
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: intealls 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).
Title: Re: GroovyArcade live-CD 2022 (collaborative effort)
Post by: intealls 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.