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

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

  

Author Topic: ArcadeVGA 3000, UEFI, and Nanao 2931 (with a helping of J-PAC)  (Read 6949 times)

0 Members and 1 Guest are viewing this topic.

wesbrown18

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:October 24, 2018, 09:29:23 pm
  • I want to build my own arcade controls!
Howdy, y'all,

I'm having a devil of a time getting my setup working.  I'd just gotten a Blast City cabinet with a Nanao 2931 tri-sync monitor, and it works beautifully with the test PCB, SNK's Street Smart.  Not that great a game, but it shows off the monitor really well and shows that the harnesses work and that JAMMA is function as it should.

I'd assembled a PC with various parts that I have on hand, and parts that I'd ordered -- the relevant details are:

* Asus F1A75-M Pro with 16GB DDR3
* AMD Llano A8-3870K
* ArcadeVGA 3000
* Ultimarc J-PAC

First problem, and this is more an issue for the Ultimarc folks -- UEFI BIOSes really really want to be at a higher resolution than 640x480 and appear to tell the ArcadeVGA card to use a higher resolution.  This is irritating, and I may get a Supermicro server board just to have a non-EFI BIOS.  This may help give a little more context, as the ArcadeVGA card might be switched into a mode.

When I boot off the GroovyArcade ISO image, I am presented a menu with various options.  Here's where a little bit of confusion occurs -- which is which?  I have a VGA port and a DVI port, but no dongle for the DVI port.  Connecting my Nanao 2931 straight to the VGA port on my ArcadeVGA yields no signal, probably due to the above UEFI issues.

So that I can see anything and interact with GroovyArcade, I hook up an older DVI monitor to the DVI port -- but even with the Nanao 2931 hooked up to the VGA port, no option that I select has GroovyArcade using the VGA port on boot.  To further compound the issue, kernel modesetting kicks in -- and forces the resolution to higher than 15khz/30khz ranges!

Even if I try to disable it with 'nomodeset' from the GRUB command line, it appears to still force modsetting on -- probably because of the initrd forcing it on.  Pretty big problem when you're trying to work with both monitor ports.  So, my first question is -- how do I tell the LiveCD to use 640x480, 15khz or 31khz, no matter what?

In the video setup menu any option that I pick, including the explicit Nanao 2931, and 15khz options doesn't seem to be enforced or set up correctly, because when I start the front end, I get a 31.5khz signal to the monitor when I connect it straight in rather than via the JPAC.

This is huge progress over the hell I had trying to get 15khz working via the JPAC -- I'd get a Sync In, and Sync OK signal, but nothing on the monitor itself -- this is most probably because the monitor doesn't do 31.5khz via JPAC -- so I'm giving up on feeding a signal via the JPAC for now.

I'd also noticed that there are more options when I install, such as setting the video card output kHz -- so I went ahead and hooked up a SSD, and did the install.  Problem is, right after the GroovyArcade splash screen, I get a blank screen and then nothing.

I'm going to tackle this project some more -- I'll probably get the network connection up and running, so I can ssh in and work with this, if the GroovyArcade install actually works, but just doesn't have a display.  I have also ordered a Sapphire Radeon HD 5450 1GB from Amazon, arriving tomorrow, just in case the issue is the ArcadeVGA 3000 card.  I have also ordered a DVI-I to VGA adapter, to try on both boards.

So, I guess I'm looking for tips and advice -- especially from those of you who have worked with ArcadeVGA 3000 cards.  Do I need to use the DVI-I port as VGA to get it to correctly behave?  What do I need to set up to ensure that it stays at 15khz?

I'd like to add that I really dig that GroovyArcade uses Arch Linux.  In my $DAYJOB, I've built a supercomputing cluster based on Arch Linux.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: ArcadeVGA 3000, UEFI, and Nanao 2931 (with a helping of J-PAC)
« Reply #1 on: April 04, 2013, 01:02:51 pm »
Hi wesbrown18,

So, I guess I'm looking for tips and advice -- especially from those of you who have worked with ArcadeVGA 3000 cards.  Do I need to use the DVI-I port as VGA to get it to correctly behave?  What do I need to set up to ensure that it stays at 15khz?

I don't remind hearing that AVGA 3000 users needed to set the DVI output to get a display, but at this point I might be wrong. So the first thing I would test is the DVI output through a DVI-VGA adapter.

Second, always, always make sure to only start with the arcade monitor attached. Nowadays drivers tend to think on their own and will do stupid things if they can read an EDID from your other monitor.

Third, get into the 'video grub' menu in gasetup, or just directly in the grub kernel line, and disable the splash screen. This splash screen is known to cause many systems to just hang, for some reason. It should be removed or replaced for something else on future releases.

Quote
I'd like to add that I really dig that GroovyArcade uses Arch Linux.  In my $DAYJOB, I've built a supercomputing cluster based on Arch Linux.

That's great, then you'll find most of the stuff familiar already, hopefully.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

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

wesbrown18

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:October 24, 2018, 09:29:23 pm
  • I want to build my own arcade controls!
Re: ArcadeVGA 3000, UEFI, and Nanao 2931 (with a helping of J-PAC)
« Reply #2 on: April 04, 2013, 01:26:34 pm »
I don't remind hearing that AVGA 3000 users needed to set the DVI output to get a display, but at this point I might be wrong. So the first thing I would test is the DVI output through a DVI-VGA adapter.

This helps -- I'll try that.

Second, always, always make sure to only start with the arcade monitor attached. Nowadays drivers tend to think on their own and will do stupid things if they can read an EDID from your other monitor.

That seems to be a large part of the problem.  I've tried disconnecting the DVI monitor before I hit 'enter' to load up the front end from the setup menu.  But it still does the same thing, so it's as if the EDID was already detected and noted by the kernel before X starts up.

Third, get into the 'video grub' menu in gasetup, or just directly in the grub kernel line, and disable the splash screen. This splash screen is known to cause many systems to just hang, for some reason. It should be removed or replaced for something else on future releases.

Yeah, that's part of the problem for me --  :lol -- there delay between GRUB starting and the kernel booting is practically zero, so I can't pound the tab key fast enough!

Quote
That's great, then you'll find most of the stuff familiar already, hopefully.

It is -- just some of the peculiarities of working with ArcadeVGA, and a Nanao 2931 throw me off.  Hopefully I'll be able to contribute to the GroovyArcade project.

Incidentally, it does appear that part of the issue is the EFI BIOS -- I scavenged my Atom NForce board from my Xterminal and put the ArcadeVGA in.  Once I have a power load on JAMMA, what do you know!  I have a 15hz display at the BIOS.

UEFI is the devil, especially with Microsoft's signed boot key stuff.
« Last Edit: April 04, 2013, 01:32:33 pm by wesbrown18 »

wesbrown18

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:October 24, 2018, 09:29:23 pm
  • I want to build my own arcade controls!
Re: ArcadeVGA 3000, UEFI, and Nanao 2931 (with a helping of J-PAC)
« Reply #3 on: April 04, 2013, 01:36:34 pm »
Tangential issue -- the ArcadeVGA works great at 15hz to the BIOS and GRUB screen on the LiveCD.

However, the selection, whether 15khz VGA-1 or 15khz VGA-2 doesn't seem to be taking, because as soon as the kernel finishes initializing and fires off the initrd, I get a messy desync'ed screen.

Normally at this point, I'd use 'nomodeset', but that doesn't seem to be taking either with KMS.  I'll tinker with this some more, but if you have ideas, that'd be great.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: ArcadeVGA 3000, UEFI, and Nanao 2931 (with a helping of J-PAC)
« Reply #4 on: April 04, 2013, 01:45:28 pm »
That seems to be a large part of the problem.  I've tried disconnecting the DVI monitor before I hit 'enter' to load up the front end from the setup menu.  But it still does the same thing, so it's as if the EDID was already detected and noted by the kernel before X starts up.

Of course, the EDID is read just on boot, make sure to boot your machine with whatever pc monitor unplugged!

Quote
Yeah, that's part of the problem for me --  :lol -- there delay between GRUB starting and the kernel booting is practically zero, so I can't pound the tab key fast enough!

:) I know how you feel. In the "grub video" menu there's an option to edit the delay, at my request.

Quote
However, the selection, whether 15khz VGA-1 or 15khz VGA-2 doesn't seem to be taking, because as soon as the kernel finishes initializing and fires off the initrd, I get a messy desync'ed screen.

Wait a minute. That could be due to the hfreq adjustment in your monitor. If the output selection was wrong, you normally would get a blank screen. Just to double check, have a look at the sync led on the jpac. If it's green, then chances are you can fix it through the hfreq pot.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

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

wesbrown18

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:October 24, 2018, 09:29:23 pm
  • I want to build my own arcade controls!
Re: ArcadeVGA 3000, UEFI, and Nanao 2931 (with a helping of J-PAC)
« Reply #5 on: April 04, 2013, 01:55:23 pm »
However, the selection, whether 15khz VGA-1 or 15khz VGA-2 doesn't seem to be taking, because as soon as the kernel finishes initializing and fires off the initrd, I get a messy desync'ed screen.

Wait a minute. That could be due to the hfreq adjustment in your monitor. If the output selection was wrong, you normally would get a blank screen. Just to double check, have a look at the sync led on the jpac. If it's green, then chances are you can fix it through the hfreq pot.

OK, that helps a lot.  When I hooked up via the J-PAC, I was never able to get the monitor to accept a signal, although the sync LED was green.  I'll check into how I can adjust the hfreq pot.  Right now, I'm connecting straight in from the ArcadeVGA 3000 to the Nanao 2931 via a VGA D-Sub cable.  I wonder if that's part of the issue?  Does the Nanao 2931 report an EDID?

I also found out that my cabinet is behaving as if it wants a 12V or 5V load that the J-PAC doesn't provide reliably -- the monitor syncs and fires up more reliably when I hook it up to a game board.  I may try disconnecting the RGB pins from the JAMMA edge connector and having my game board provide a load.

wesbrown18

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:October 24, 2018, 09:29:23 pm
  • I want to build my own arcade controls!
Re: ArcadeVGA 3000, UEFI, and Nanao 2931 (with a helping of J-PAC)
« Reply #6 on: April 04, 2013, 04:48:47 pm »
So I've been experimenting with things -- it does not appear that the initrd honors the kernel settings passed in, which is mystifying.

My understanding is that at 15khz, most arcade monitors can't get the 640x480 resolution that is specified by the GRUB configuration.  And when I set it to a more ordinary 15khz resolution, it still falls into garbage and snow on the screen when the initrd loads.

Any way to tell GroovyArcade to use BIOS text mode, dammit? :)  Digging around Google now for hints in this area.

wesbrown18

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:October 24, 2018, 09:29:23 pm
  • I want to build my own arcade controls!
Re: ArcadeVGA 3000, UEFI, and Nanao 2931 (with a helping of J-PAC)
« Reply #7 on: April 04, 2013, 07:46:29 pm »
After a few hours of beating my head against the table, I noticed something -- it's when the DRM kernel module loads that the screen goes batshit.  When it can't find a default resolution from the display, it defaults to 1024x768.  Disabling kernel mode setting got the console working perfectly via my ArcadeVGA board.

I'd gotten ssh up and running, so I could investigate logs and dmesg to my leisure.   This in particular was a significant clue:

Quote
[    2.370804] [drm] Radeon Display Connectors
[    2.370814] [drm] Connector 0:
[    2.370821] [drm]   DVI-I-1
[    2.370826] [drm]   HPD1
[    2.370834] [drm]   DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
[    2.370838] [drm]   Encoders:
[    2.370842] [drm]     DFP1: INTERNAL_KLDSCP_TMDS1
[    2.370847] [drm]     CRT2: INTERNAL_KLDSCP_DAC2
[    2.370852] [drm] Connector 1:
[    2.370858] [drm]   DIN-1
[    2.370862] [drm]   Encoders:
[    2.370866] [drm]     TV1: INTERNAL_KLDSCP_DAC2
[    2.370871] [drm] Connector 2:
[    2.370877] [drm]   DVI-I-2
[    2.370881] [drm]   HPD2
[    2.370888] [drm]   DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
[    2.370893] [drm]   Encoders:
[    2.370898] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[    2.370902] [drm]     DFP2: INTERNAL_LVTM1

It turns out the the VGA connector on the ArcadeVGA 3000 is actually a DVI-I connector with just the VGA pins connected!  So as far as the card and the kernel is concerned, it was a DVI-I display.  Also, another key point to note is that the DVI-I connector type is *different* from a DVI or LVDS connector type.  When we set the mode from the kernel boot line, it has to *explicitly* be DVI-I-1.

My grub configuration file looks like the following:

Quote
set grub_gfxpayload=640x400
set gfxpayload=keep
default 0
timeout 10
title Groovy Arcade Linux
root (hd0,0)
kernel /boot/vmlinuz-linux root=/dev/disk/by-label/GA video=DVI-I-1:640x400ec video=DVI-I-2:d video=DIN-1:d
initrd /boot/initramfs-linux.img

There's still some apparent mode shifting in between the BIOS video mode and when the KMS kicks in -- apparently related to shifting from 80x25 to 80x30.  But I'll take this!

This makes me think about enhancing the setup utility to detect the various connector types, for the appropriate GRUB setting.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: ArcadeVGA 3000, UEFI, and Nanao 2931 (with a helping of J-PAC)
« Reply #8 on: April 04, 2013, 08:39:14 pm »
 That's great, so you got it working? Maybe you want to write to the guy in the "AVGA 3000 status" thread to compare his logs with yours.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

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

wesbrown18

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:October 24, 2018, 09:29:23 pm
  • I want to build my own arcade controls!
Re: ArcadeVGA 3000, UEFI, and Nanao 2931 (with a helping of J-PAC)
« Reply #9 on: April 04, 2013, 09:33:37 pm »
That's great, so you got it working? Maybe you want to write to the guy in the "AVGA 3000 status" thread to compare his logs with yours.

Beautifully.  I'm stress testing it with Soul Calibur attract mode right now. :)

I searched for that thread, but I don't see a specific 'AVGA 300 status' thread?

Nevermind, found it.
« Last Edit: April 04, 2013, 09:52:27 pm by wesbrown18 »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: ArcadeVGA 3000, UEFI, and Nanao 2931 (with a helping of J-PAC)
« Reply #10 on: April 07, 2013, 07:22:52 am »
Hi wesbrown18,

I'm discussing your case with VeS. We're curious about which specific options you needed to add or remove from the default's kernel line. Are these ones really needed?

set grub_gfxpayload=640x400
set gfxpayload=keep

On the other hand, VeS says that the boot menu on the live CD already specifies DVI-I-1 rather than plain DVI. So why would you need to edit it? Are we missing something? Or was the part where you disable the other outputs explicitly what got it working?

Thanks, we're just trying to add the required options for next release.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

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

wesbrown18

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 73
  • Last login:October 24, 2018, 09:29:23 pm
  • I want to build my own arcade controls!
Re: ArcadeVGA 3000, UEFI, and Nanao 2931 (with a helping of J-PAC)
« Reply #11 on: April 07, 2013, 01:12:23 pm »
Several things -- I'm not sure if it's the modeline that did the trick, or the grub mode, but here's my observations:

  • The text mode GRUB screen appears to be the best course of action when interacting with the ArcadeVGA, rather than a graphical GRUB splash screen.  I was never able to see the LiveCD GRUB screen from my ArcadeVGA board.
  • Splash screen causes issues in that it hangs on boot -- I would like to figure out what's going on.
  • We have a hardcoded entry for swap in /etc/fstab that causes boot stall up to the systemd timeout if the user doesn't create a swap partition
  • The default keyboard on the LiveCD is 'es', which is OK -- but when we drop to the shell to do some manual work, it causes issues and it's not easy to change the keyboard.  Might ask what sort of keyboard the user has on boot.
  • I would really like to eviscerate systemd's use of mode shifting to use a high resolution font -- this can cause a lot of issues and potential damage to a 15khz monitor if you don't get the output setting right.

I will investigate and try to answer your questions explicitly, as I did a lot of thrashing about of the configuration options.  Are the release build scripts available anywhere in a repo that I can work with?  I'd like to contribute some fixes and improvements -- as I do build engineering of a custom Arch Linux platform as part of $DAYJOB. :)
« Last Edit: April 07, 2013, 01:14:40 pm by wesbrown18 »