Build Your Own Arcade Controls Forum
Main => Monitor/Video Forum => Topic started by: aristotle on January 13, 2005, 11:34:05 pm
-
I am just wondering if anyone has tested the Arcade VGA with Linux. Since it is using a Radeon chipset, I assume there will be some problems getting it working, but I am more concerned about compatibility issues and performance. Any information would be helpful.
Thx :D
-
try posting this on the ultimarc forum
http://www.mameworld.info/ubbthreads/postlist.php?Cat=&Board=ultimarc
these guys may be able to gelp out :D
-
Hi,
The ArcadeVGA works fine in Linux, albeit a bit differently. It uses a built in VESA mode for the console, but you need to configure X and the framebuffer to work at 15Khz. It's prett easy if you're Linux-savvy.
AdvanceMAME in particular works really well. I found that the synching between game and screen refresh was better than using the ArcadeVGA under Windows. No dropped frames or jitter on side scrollers, and of course you can play non-60Hz games properly. Unfortunately AdvanceMAME doesn't display interlace modes correctly with the radeon chipset. I've learned of a possible source-code fix for this, but I haven't had a chance to try it yet.
X does interlace modes, but I personally don't find XMAME's output as good as AdvanceMAME. It has small problems with synching, rather like the results you get with the ArcadeVGA and Windows. Technically it should be possible to create modelines which are perfect, but I still get occasional dropped frames on side scrollers. Not tearing, just a tiny jitter every second or so. The XMAME authors claim that using DGA the synching should be perfect - but they're wrong! (or blind).
-
Hi,
The ArcadeVGA works fine in Linux, albeit a bit differently. It uses a built in VESA mode for the console, but you need to configure X and the framebuffer to work at 15Khz. It's prett easy if you're Linux-savvy.
AdvanceMAME in particular works really well. I found that the synching between game and screen refresh was better than using the ArcadeVGA under Windows. No dropped frames or jitter on side scrollers, and of course you can play non-60Hz games properly. Unfortunately AdvanceMAME doesn't display interlace modes correctly with the radeon chipset. I've learned of a possible source-code fix for this, but I haven't had a chance to try it yet.
X does interlace modes, but I personally don't find XMAME's output as good as AdvanceMAME. It has small problems with synching, rather like the results you get with the ArcadeVGA and Windows. Technically it should be possible to create modelines which are perfect, but I still get occasional dropped frames on side scrollers. Not tearing, just a tiny jitter every second or so. The XMAME authors claim that using DGA the synching should be perfect - but they're wrong! (or blind).
how do you circumvent the pclock min in X, is there an option somewhere or do you have to alter the driver or something.
-
nevermind, i figured it out.
-
I tried running XMAME in DGA mode in order to display to the root window. It worked well until the game was exited; by then it would make the screen go all goofy and the PC would freeze :/ It sounds like the Arcade VGA is a hardware based video card. Sounds like a good deal to me :D Thx :D
desmatic: How did you bypass the pclock minimum?
-
I tried running XMAME in DGA mode in order to display to the root window. It worked well until the game was exited; by then it would make the screen go all goofy and the PC would freeze :/ It sounds like the Arcade VGA is a hardware based video card. Sounds like a good deal to me :D Thx :D
desmatic: How did you bypass the pclock minimum?
I read all the man pages for my driver and X and couldn't find any options, so I just modified the source for my card's driver. I'm using xorg's X11R6.8.1 on a PNY TI 4600.
The nvidia driver had a pclock min of 12000. I simply chaned it to 5000. All the xorg drivers are in ./programs/Xserver/hw/xfree86/drivers.
The variable your looking for is clockRanges->minClock. A simple sed command will do the trick.
sed -i 's/clockRanges->minClock = pNv->MinVClockFreqKHz/clockRanges->minClock = 5000/' \
./programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c
This simply lowers the pclock min for your card. It doesn't mean your card will work at low pclocks, though mine did sure enough. I don't have an arcade monitor right now to test it out on, however, 240 x 240 x 60 worked fine on my PC and this mode runs at a pclock of 9.
So for the radeon driver you would do
sed -i 's/clockRanges->minClock = pNv->MinVClockFreqKHz/clockRanges->minClock = 5000/' \
./programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
and the rage 128 driver
sed -i 's/clockRanges->minClock = pNv->MinVClockFreqKHz/clockRanges->minClock = 5000/' \
./programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c
If you're serious about getting an arcadevga to work on X, let me know, I'll give you a hand. I've been working on a calculator for fixed frequency monitors, so I could supply you with all necessary modelines with little effort.
BTW, your chance of getting an Xmame setup to work correctly is just about 0%. Use AdvanceMAME.
-
The advancemame source contains patches for SVGALib to fix low-res output issues for Radeon chipsets.
Using an ArcadeVGA with AdvanceMAME and SVGALib will give you 100% native modes. Plus your total install is tiny compared to running a complete X server, which is utter bloat for the purpose at hand.
EasyMAMECab has a great tutorial:
http://easymamecab.mameworld.net/html/linux.htm
-
X does interlace modes, but I personally don't find XMAME's output as good as AdvanceMAME. It has small problems with synching, rather like the results you get with the ArcadeVGA and Windows.
-
Any news about this?
XMAME is quite outdated, now the updated thing is sdlmame.
What modelines to use? The one I did see there wasn't for 15KHz.
Do modelines are universal or need to generate my own ones depending on the graphics card? If they are universal, can I use the ones of Soft-15KHz?