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: ATI Proprietary Driver in GroovyMAME LiveCD  (Read 2629 times)

0 Members and 1 Guest are viewing this topic.

infariot25

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 33
  • Last login:March 13, 2012, 01:16:44 am
  • I want my own arcade controls!
    • Nerd Palace
ATI Proprietary Driver in GroovyMAME LiveCD
« on: October 03, 2011, 11:23:53 am »
Hello again,

Sorry to keep making new topics but I thought this one justified its own. I was tinkering with GroovyMAME liveCD and noticed that a lot of games that *should* run full speed on my hardware, do not. I've seen similar problems before and I think it is because the open source `radeon` driver is being used (which isn't known for its openGL performance).

My question is: How tied to the `radeon` driver is groovyMAME, switchres and the included utilities? I was thinking of taking the liveCD distro, installing it to hard disk and then installing the ATI proprietary driver. Would it be worth my efforts? I've seen some articles on installing the ATI proprietary driver in Gentoo but I am not sure how "customized" the LiveCD distro is and whether those articles will work when using this custom distro and the bleeding edge kernels etc. For my tests, I am using a Radeon 9800 Pro (AGP) with AMD 64 3000+. Does the open source `radeon` driver perform on par with the proprietary driver using openGL on other ATI cards?

Anyway I am able to get much higher framerates when setting the video mode from "opengl" to "soft" but I lose a lot of the enhancements groovyMAME provides via openGL. I also get screen tearing using the "soft" video mode. Any help would be appreciated.

Regards,
Brett

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6723
  • Last login:Today at 01:56:57 am
Re: ATI Proprietary Driver in GroovyMAME LiveCD
« Reply #1 on: October 03, 2011, 11:41:46 am »
Hi infariot25,

I think your problems are not related to video driver's performance but to something else (monitor setup). Indeed, leaving HLSL aside, MAME performance is not highly influenced by your videocard performance but for scaling processes, that should not be relevant when using arcade monitors.

A lot of vertical games won't run at 100% of it's speed if you run them rotated on a horizontally mounted CGA monitor using waitvsync, as the actual refresh achieved by our modeline generator won't reach 60 Hz or whatever the original game speed is, in case the total number of lines exceeds a given figure.

If that is the case, paste some logs of the games concerned using -v -md 4 params so we can see if there's something you could tweak, as well as some info on your monitor.
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

infariot25

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 33
  • Last login:March 13, 2012, 01:16:44 am
  • I want my own arcade controls!
    • Nerd Palace
Re: ATI Proprietary Driver in GroovyMAME LiveCD
« Reply #2 on: October 03, 2011, 01:44:30 pm »
Thank you for the reply. As for my monitor configuration, I'm using a D9200 and the D9200 setting in gasetup. I was benchmarking a couple of vertical games in vertical mode so the video modes should be good (they looked darn good even though my head was rotated 90 degrees!). Battle Garegga (bgaregga) *should* run at full speed on my hardware but I was getting 90-100%, average 95%. Turning off the throttle using F10 didn't increase the framerates. I also tested a couple of horizontal games in horizontal mode.

When I said I've seen similar problems before, I was referring to my laptop - when using the open source `radeon` driver, mame framerates were significantly less than when using the proprietary ATI driver under Linux.

I'm going to try those command line switches and post the results.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6723
  • Last login:Today at 01:56:57 am
Re: ATI Proprietary Driver in GroovyMAME LiveCD
« Reply #3 on: October 05, 2011, 05:10:14 pm »
I tested bgaregga in WinXP and I'm getting periodic slowdowns too, my test computer is not the fastest one anyway...
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

infariot25

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 33
  • Last login:March 13, 2012, 01:16:44 am
  • I want my own arcade controls!
    • Nerd Palace
Re: ATI Proprietary Driver in GroovyMAME LiveCD
« Reply #4 on: November 12, 2011, 03:22:25 pm »
Hello,

Sorry for the delay. I got some time today to mess around with GroovyMAME liveCD. I've installed it to the hard drive (fresh install) and am using the D9200 settings with ALSA. The video looks GREAT and the sound works AOK. I'm still experiencing slow downs (fluctuates between 95-100%) as I mentioned before. Computer specs are:

AMD Athlon 64 3000+ Socket 754
512MB 333MHz RAM
ATI Radeon 9800 Pro

First the output of /proc/cpuinfo in case it's needed
Code: [Select]
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 4
model name : AMD Athlon(tm) 64 Processor 3000+
stepping : 8
cpu MHz : 2014.367
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow up
bogomips : 4028.73
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

The relevant parts of lspci -k
Code: [Select]
00:0b.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 05)
Subsystem: Creative Labs CT4620 SBLive!
Kernel driver in use: EMU10K1_Audigy
Kernel modules: snd-emu10k1
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R350 [Radeon 9800 Pro]
Subsystem: ATI Technologies Inc Device 0002
Kernel driver in use: radeon
01:00.1 Display controller: ATI Technologies Inc Radeon R350 [Radeon 9800 Pro] (Secondary)
Subsystem: ATI Technologies Inc Device 0003


The output of groovymame -v -md 4 bgaregga
Code: [Select]
Parsing mame.ini
Parsing mame.ini
SwitchRes: Found output connector 'VGA-0'
SwitchRes: Monitor: d9200 Orientation: vertical Aspect 4:3
SwitchRes: MonitorLimits 15250.00-16500.00,40.00-80.00,2.187,4.688,6.719,0.190,0.191,1.018,0,0,288.0,448
SwitchRes: Setup monitor limits min=184x84 max=0x784
SwitchRes: Starting with Horizontal freq of 15.719 and Vertical refresh of 60.00
SwitchRes: # 15.250Khz -> 16.500Khz: ( Perfect Resolution )
SwitchRes: # bgaregga [0] 320x240@60.00 15.7200Khz
SwitchRes: ModeLine          "320x240x60.00" 6.539520 320 336 368 416 240 243 246 262 -HSync -VSync

SwitchRes: MonitorLimits 23900.00-24420.00,40.00-80.00,2.910,3.000,4.440,0.451,0.164,1.048,0,0,384.0,768
SwitchRes: Setup monitor limits min=184x132 max=0x1152
SwitchRes: Starting with Horizontal freq of 15.996 and Vertical refresh of 60.00
SwitchRes: Increased horizontal frequency from 15.996 to 23.900
SwitchRes: Increasing 1 line from horizontal freq 23880.000 to 23940.000
SwitchRes: Using 119 lines padding
SwitchRes: # 23.900Khz -> 24.420Khz: ( | Hfreq Change | Vpad +119 lines | )
SwitchRes: # bgaregga [16] 320x240@60.00 23.9400Khz
SwitchRes: ModeLine          "320x240x60.00" 10.342080 320 352 384 432 240 310 314 399 -HSync -VSync

SwitchRes: MonitorLimits 31000.00-32000.00,40.00-80.00,0.636,3.813,1.906,0.318,0.064,1.048,0,0,576.0,768
SwitchRes: Setup monitor limits min=184x172 max=0x1520
SwitchRes: Starting with Horizontal freq of 15.751 and Vertical refresh of 60.00
SwitchRes: Increased horizontal frequency from 15.751 to 31.000
SwitchRes: Using 233 lines padding
SwitchRes: # 31.000Khz -> 32.000Khz: ( | Hfreq Change | Vpad +233 lines | )
SwitchRes: # bgaregga [31] 320x240@60.00 31.0200Khz
SwitchRes: ModeLine          "320x240x60.00" 12.408000 320 328 376 400 240 366 368 517 -HSync -VSync

SwitchRes: MonitorLimits 37000.00-38000.00,40.00-80.00,1.000,3.200,2.200,0.020,0.106,0.607,0,0,600.0,768
SwitchRes: Setup monitor limits min=184x220 max=0x1856
SwitchRes: Starting with Horizontal freq of 15.062 and Vertical refresh of 60.00
SwitchRes: Increased horizontal frequency from 15.062 to 37.000
SwitchRes: Using 350 lines padding
SwitchRes: # 37.000Khz -> 38.000Khz: ( | Hfreq Change | Vpad +350 lines | )
SwitchRes: # bgaregga [45] 320x240@60.00 37.0200Khz
SwitchRes: ModeLine          "320x240x60.00" 15.400320 320 336 384 416 240 416 420 617 -HSync -VSync

SwitchRes v0.013: [bgaregga] (1) vertical (320x240@60.00)->(320x240@60.00)->(320x240@60.00)
SwitchRes: # bgaregga 320x240@60.00 15.7200Khz
SwitchRes: ModeLine          "320x240x60.00" 6.539520 320 336 368 416 240 243 246 262 -HSync -VSync
SwitchRes: Setting Option -redraw 0
SwitchRes: Setting Option -rotate
SwitchRes: Setting Option -autorol
SwitchRes: Setting Option -nothrottle
SwitchRes: Setting Option -refreshspeed
SwitchRes: Setting Option -waitvsync
SwitchRes: Xrandr ADD VGA-0: ModeLine          "320x240x60.00" 6.539520 320 336 368 416 240 243 246 262 -HSync -VSync
SwitchRes: Running 'xrandr  --newmode      "320x240x60.00" 6.539520 320 336 368 416 240 243 246 262 -HSync -VSync'
SwitchRes: Running 'xrandr  --addmode VGA-0 320x240x60.00'
SwitchRes: Setting Option -resolution 320x240x32@60.000000
Setting SDL audiodriver 'dsp' ...
Build version:      0.143 (Jun 29 2011)
Build architecure:  SDLMAME_ARCH=
Build defines 1:    SDLMAME_UNIX=1 SDLMAME_LINUX=1
Build defines 1:    LSB_FIRST=1 DISTRO=generic SYNC_IMPLEMENTATION=tc
SDL/OpenGL defines: SDL_COMPILEDVERSION=1214 USE_OPENGL=1 USE_DISPATCH_GL=1
Compiler defines A: __GNUC__=4 __GNUC_MINOR__=4 __GNUC_PATCHLEVEL__=4 __VERSION__="4.4.4"
Compiler defines B: __unix__=1 __i386__=1
Compiler defines C: __USE_FORTIFY_LEVEL=0
SDL Device Driver     : x11
SDL Monitor Dimensions: 648 x 480
Enter sdlwindow_init
Using SDL single-window OpenGL driver (SDL 1.2)
Leave sdlwindow_init
 648x 480 -> 0.001757
 320x 240 -> 2.000000
Loaded opengl shared library: <default>
OpenGL: DRI R300 Project
OpenGL: Mesa DRI R300 (R350 4E48) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2
OpenGL: 1.5 Mesa 7.9.1
OpenGL: texture rectangle supported
OpenGL: non-power-of-2 textures supported (old method)
OpenGL: vertex buffer supported
OpenGL: pixel buffers not supported
OpenGL: framebuffer object supported
OpenGL: GLSL not supported
OpenGL: max texture size 2048 x 2048
Keyboard: Start initialization
Input: Adding Kbd #0: System keyboard
Keyboard: Registered System keyboard
Keyboard: End initialization
Mouse: Start initialization
Input: Adding Mouse #0: System mouse
Mouse: Registered System mouse
Mouse: End initialization
Joystick: Start initialization
Input: Adding Joy #0: Logitech Logitech USB Keyboard
Joystick: Logitech Logitech USB Keyboard
Joystick:   ...  0 axes, 54 buttons 0 hats
Joystick:   ...  Physical id 0 mapped to logical id 0
Joystick: End initialization
Audio: Start initialization
Audio: Driver is dsp
Audio: frequency: 48000, channels: 2, samples: 512
sdl_create_buffers: creating stream buffer of 114688 bytes
Audio: End initialization
ouput: unable to open output notifier file /tmp/sdlmame_out
Searching font Liberation Sans in -fontpath
WARNING: Couldn't find/open TrueType font Liberation Sans, using MAME default
Starting Driver Device 'root'
  (missing dependencies; rescheduling)
Starting 68000 'maincpu'
Starting Z80 'audiocpu'
Starting Video Screen 'screen'
Starting GP9001_VDP 'gp9001vdp0'
Starting Speaker 'mono'
  (missing dependencies; rescheduling)
Starting YM2151 'ymsnd'
Starting OKI6295 'oki'
Starting NMK 112 'nmk112'
Starting Driver Device 'root'
  (missing dependencies; rescheduling)
Starting Speaker 'mono'
Starting Driver Device 'root'
OpenGL: VBO supported
OpenGL: FBO supported
OpenGL: using vid filter: 0
GL texture: copy 1, shader 0, dynamic 0, 320x240 320x240 [PALETTE16, Equal: 0, Palette: 1,
            scale 1x1, border 0, pitch 432,320/2048], colors: 65536, bytes/pix 4
GL texture: copy 1, shader 0, dynamic 0, 320x240 320x240 [PALETTE16, Equal: 0, Palette: 1,
            scale 1x1, border 0, pitch 432,320/2048], colors: 65536, bytes/pix 4
Average speed: 96.88% (204 seconds)
sdl_kill: closing audio
Sound buffer: overflows=0 underflows=1228
Joystick: Start deinitialization
Joystick: End deinitialization
Enter sdlwindow_exit
Leave sdlwindow_exit
SwitchRes: Xrandr REMOVE VGA-0: ModeLine     320x240x60.00
SwitchRes: Running 'xrandr  --delmode VGA-0 "320x240x60.00"'
SwitchRes: Running 'xrandr  --rmmode "320x240x60.00"'

Please let me know if you need anything else and thank you so much for looking!
-Brett

infariot25

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 33
  • Last login:March 13, 2012, 01:16:44 am
  • I want my own arcade controls!
    • Nerd Palace
Re: ATI Proprietary Driver in GroovyMAME LiveCD
« Reply #5 on: November 13, 2011, 05:43:18 pm »
Hello,

I did some more testing. For some reason, MAME just doesn't run as well on my AMD 64 3000+ (2.0GHz) than it does on my Pentium 4 2.4GHz CPU. The AMD is about 400MHz slower as far as clock speed goes but it's much newer than my Pentium CPU. To give an idea of age of the Pentium CPU, it still uses RDRAM. I suppose that when it comes to MAME, clock speed plays a larger role than I thought.

I tried both 32-bit and 64-bit versions of GroovyMAME LiveCD with my AMD and while I got slightly better performance with the 64-bit version, the Pentium 2.4GHz running the 32-bit version still performed better giving me pretty much constant 100% frame rate on bgaregga.

I suppose you can consider this issue solved. Thank you for your help!



Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6723
  • Last login:Today at 01:56:57 am
Re: ATI Proprietary Driver in GroovyMAME LiveCD
« Reply #6 on: November 15, 2011, 01:01:18 pm »
That's interesting infariot25, thanks for posting it.

Quote
AMD Athlon 64 3000+ Socket 754
512MB 333MHz RAM

I think I have the exact same machine in one of my cabs. I'll test bgaregga and report here.
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