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

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

  

Author Topic: Collaborative effort for GroovyArcade  (Read 13053 times)

0 Members and 1 Guest are viewing this topic.

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #40 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 ^^
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #41 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

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.
« Last Edit: July 14, 2019, 08:40:02 pm by Substring »
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #42 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
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #43 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:
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

keilmillerjr

  • Trade Count: (+5)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1830
  • Last login:Today at 09:58:34 am
  • Web Developer.
Re: Collaborative effort for GroovyArcade
« Reply #44 on: November 02, 2019, 04:47:27 pm »
Im excited for the progress.

b4nd1t0

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 82
  • Last login:June 30, 2020, 06:06:08 am
    • b4nd1t0's repository
Re: Collaborative effort for GroovyArcade
« Reply #45 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?
« Last Edit: November 04, 2019, 10:54:00 am by b4nd1t0 »

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #46 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 :)
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #47 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
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6909
  • Last login:Today at 07:27:03 am
  • Quote me with care
Re: Collaborative effort for GroovyArcade
« Reply #48 on: November 06, 2019, 02:37:39 am »
Great job Substring!

One question: will you release an actual, ready to burn iso?
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead or pasting it.

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

b4nd1t0

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 82
  • Last login:June 30, 2020, 06:06:08 am
    • b4nd1t0's repository
Re: Collaborative effort for GroovyArcade
« Reply #49 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:

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #50 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.
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6909
  • Last login:Today at 07:27:03 am
  • Quote me with care
Re: Collaborative effort for GroovyArcade
« Reply #51 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.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead or pasting it.

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

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #52 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.
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #53 on: November 06, 2019, 03:44:47 am »
Consider adding that link to the first post in this thread.
Done :)
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

b4nd1t0

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 82
  • Last login:June 30, 2020, 06:06:08 am
    • b4nd1t0's repository
Re: Collaborative effort for GroovyArcade
« Reply #54 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
« Last Edit: November 06, 2019, 04:41:01 am by b4nd1t0 »

Doozer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 497
  • Last login:June 29, 2020, 01:47:30 am
  • Z80 ERROR
Re: Collaborative effort for GroovyArcade
« Reply #55 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 ....

Doozer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 497
  • Last login:June 29, 2020, 01:47:30 am
  • Z80 ERROR
Re: Collaborative effort for GroovyArcade
« Reply #56 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.


Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #57 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  ;) 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.
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Doozer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 497
  • Last login:June 29, 2020, 01:47:30 am
  • Z80 ERROR
Re: Collaborative effort for GroovyArcade
« Reply #58 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)


Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #59 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 I bought and flashed with a switchres EDID. It does have the required resistors. They are 150 Ohms each. Here 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)
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #60 on: November 07, 2019, 10:20:32 am »
So, 2019.11 is released, catch it here. 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)
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

b4nd1t0

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 82
  • Last login:June 30, 2020, 06:06:08 am
    • b4nd1t0's repository
Re: Collaborative effort for GroovyArcade
« Reply #61 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

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #62 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 :
  • replace video=DVI-I-1:640x480ec with video=DVI-I-1:e
  • append to the same line drm.edid_firmware=edid/arcade_15.bin

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.
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

keilmillerjr

  • Trade Count: (+5)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1830
  • Last login:Today at 09:58:34 am
  • Web Developer.
Re: Collaborative effort for GroovyArcade
« Reply #63 on: November 07, 2019, 04:49:10 pm »
ArcadeMVS discord (chat server): https://discord.gg/tJmWCgf

b4nd1t0

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 82
  • Last login:June 30, 2020, 06:06:08 am
    • b4nd1t0's repository
Re: Collaborative effort for GroovyArcade
« Reply #64 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

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #65 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.
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

b4nd1t0

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 82
  • Last login:June 30, 2020, 06:06:08 am
    • b4nd1t0's repository
Re: Collaborative effort for GroovyArcade
« Reply #66 on: November 13, 2019, 05:55:20 am »
the monitor is generic-15, the arcade it doesn't work for me

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #67 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 ?
« Last Edit: November 13, 2019, 06:25:28 am by Substring »
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

b4nd1t0

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 82
  • Last login:June 30, 2020, 06:06:08 am
    • b4nd1t0's repository
Re: Collaborative effort for GroovyArcade
« Reply #68 on: November 13, 2019, 06:37:06 am »
do you mean the same monitor works in the original Groovy Mame ?
yes, exactly

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #69 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)
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #70 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.
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Doozer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 497
  • Last login:June 29, 2020, 01:47:30 am
  • Z80 ERROR
Re: Collaborative effort for GroovyArcade
« Reply #71 on: November 28, 2019, 04:50:22 am »

Well done Substring, thank you for your time and efforts. Much appreciated :)

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6909
  • Last login:Today at 07:27:03 am
  • Quote me with care
Re: Collaborative effort for GroovyArcade
« Reply #72 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.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead or pasting it.

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

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #73 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" ;)
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6909
  • Last login:Today at 07:27:03 am
  • Quote me with care
Re: Collaborative effort for GroovyArcade
« Reply #74 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.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead or pasting it.

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

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #75 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. 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.
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #76 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.
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #77 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.



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
« Last Edit: December 04, 2019, 02:14:22 pm by Substring »
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home

Banane

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 24
  • Last login:March 08, 2020, 10:11:34 am
  • I want to build my own arcade controls!
Re: Collaborative effort for GroovyArcade
« Reply #78 on: December 31, 2019, 11:29:21 am »
Ive 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:


« Last Edit: December 31, 2019, 11:30:55 am by Banane »

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 393
  • Last login:Today at 04:57:42 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: Collaborative effort for GroovyArcade
« Reply #79 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
GroovyMAME / GroovyArcade discord: https://discord.gg/YtQ6pJh
GroovyArcade doc: https://gitlab.com/groovyarcade/support/-/wikis/home