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: GM 0.287 new build on Arch 3 issues/questions related to real-time  (Read 4804 times)

0 Members and 3 Guests are viewing this topic.

nix999

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 21
  • Last login:Today at 09:47:08 am
  • I want to build my own arcade controls!
Hi, I am following real-time.md on the very latest Arch. I've just build the very latest of everything. I'll briefly describe to give some context:

The system is currently still attached to an old TFT. I am running the patched 15khz kernel but I still need to update GRUB.
I first want to make everything work as far as possible on the TFT because it is easier to handle.

I compiled SDL3 with the https://gitlab.com/groovyarcade/packages/-/raw/master/package/sdl3/01-Add-custom_modelines.patch?ref_type=heads patch.
The patch mostly applied. The only failure was in src/video/x11/SDL_x11modes.c but I am not using X11 so to me this seems irrelevant for the build.
Then there was a small offset in the KMSDRM hunks because the patch was likely written against a slightly different SDL3 version but applied cleanly anyway.
Next I've build SDL3 with
cmake -S . -B build \
  -DCMAKE_BUILD_TYPE=Release \
  -DSDL_UNIX_CONSOLE_BUILD=ON \
  -DSDL_KMSDRM=ON \
  -DSDL_X11=OFF \
  -DSDL_EXAMPLES=ON
etcetera.

Checked:
pkg-config --modversion sdl3 -> 3.4.8
pkg-config --modversion sdl2 -> 2.32.68 ( this is the compatibility layer )

as GM uses SDL2 it should run ...

Next I synched the mame 0.287 repo, applied GM patches and compiled it with
CC=clang CXX=clang++ PTR64=1 TARGETOS=linux OSD=sdl NO_X11=1 NOWERROR=1 NO_USE_XINPUT=1 NO_USE_XINPUT_WII_LIGHTGUN_HACK=1 NO_OPENGL=0 USE_QTDEBUG=0 DEBUG=0 NO_BGFX=0 REGENIE=1

I have a resulting binary that runs.

Then I went on configuring mame.ini.

I have 3 issues so far, 2 blocking.

1) No crackling audio but the console shows a bunch of errors

Code: [Select]
groovymame
Switchres/SDL2: Detected SDL version 2.32.68
Switchres: Calculating best video mode for 640x480@30.000000 orientation: normal
Switchres: Modeline "640x480_60i 15.690000KHz 60.000000Hz" 13.038390 640 666 727 831 480 483 489 523 interlace  -hsync -vsync                               
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) [error.pcm] Unknown PCM cards.pcm.rear                                                                         
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) [error.pcm] Unknown PCM cards.pcm.center_lfe                                                                   
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) [error.pcm] Unknown PCM cards.pcm.side                                                                         
ALSA lib pcm_route.c:886:(find_matching_chmap) [error.pcm] Found no matching channel map                                                                   
ALSA lib pcm_route.c:886:(find_matching_chmap) [error.pcm] Found no matching channel map                                                                   
ALSA lib pcm_route.c:886:(find_matching_chmap) [error.pcm] Found no matching channel map                                                                   
ALSA lib pcm_route.c:886:(find_matching_chmap) [error.pcm] Found no matching channel map
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
ALSA lib pcm_oss.c:404:(_snd_pcm_oss_open) [error.] Cannot open device /dev/dsp
ALSA lib pcm_oss.c:404:(_snd_pcm_oss_open) [error.] Cannot open device /dev/dsp
ALSA lib pcm_a52.c:1036:(_snd_pcm_a52_open) [error.] a52 is only for playback
ALSA lib confmisc.c:160:(snd_config_get_card) [error.core] Invalid field card
ALSA lib pcm_usb_stream.c:481:(_snd_pcm_usb_stream_open) [error.] Invalid card 'card'
ALSA lib confmisc.c:160:(snd_config_get_card) [error.core] Invalid field card
ALSA lib pcm_usb_stream.c:481:(_snd_pcm_usb_stream_open) [error.] Invalid card 'card'
PART: API ALSA has 17 devices
PART: ALSA: "HDA Intel PCH: CX20632 Analog (hw:0,0)" (default)
PART: ALSA: "HDA Intel PCH: CX20632 Alt Analog (hw:0,2)"
PART: ALSA: "HDA Intel PCH: HDMI 0 (hw:0,3)"
PART: ALSA: "HDA Intel PCH: HDMI 1 (hw:0,7)"
PART: ALSA: "HDA Intel PCH: HDMI 2 (hw:0,8)"
PART: ALSA: "HDA ATI HDMI: 0 (hw:1,3)"
PART: ALSA: "front"
PART: ALSA: "surround40"
PART: ALSA: "surround51"
PART: ALSA: "surround71"
PART: ALSA: "hdmi"
PART: ALSA: "pipewire"
PART: ALSA: "pulse"
PART: ALSA: "speex"
PART: ALSA: "upmix"
PART: ALSA: "vdownmix"
PART: ALSA: "dmix"
PART: API OSS has 0 devices

I've set
part_api                  ALSA
part_device               "HDA Intel PCH: CX20632 Analog (hw:0,0)"

but the console output remains. Followed the real-time.md guide. The sound is 'fine', no crackling but it runs too fast - see 2)
So I think sound cfg is ok but I would like to get rid of the errors/warnings or at least understand them fully.
EDIT: Audio does not work if a frontend is running - that'll be the exclusive access mentioned in the documentation.

2) When bringing up the tearbar the top right corner shows 125% in every game. So every game runs 25% too fast as does the audio as I understand it and I have absolutely no clue why?
Every game needs to run at 100%.

3) kmsraw does not work for me. It shows
groovymame
Switchres: Calculating best video mode for 640x480@30.000000 orientation: normal                                                             
Switchres: Modeline "640x480_60i 15.690000KHz 60.000000Hz" 13.038390 640 666 727 831 480 483 489 523 interlace  -hsync -vsync               
kmsraw: no buffer found!                                                                                                                     
video_init: Initialization failed!

It does not matter if I set
#
# SDL LOW-LEVEL DRIVER OPTIONS
#
videodriver               kmsdrm  (normally I keep it set to auto)

videodriver               kmsdrm  in itself works but not with kmsraw (nor does kmsraw combined with auto)

I really wanted to try the kmsraw as it is what triggered me to build a new system.

So the 125% in itself is the first blocking thing. If that is solved the kmsraw should be fixed. The audio ouput would be a nice to have.

I'd be grateful if somebody could advise please? Point me in the right direction?

Thank you.
« Last Edit: June 08, 2026, 03:55:29 am by Calamity »

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 870
  • Last login:Today at 02:50:54 am
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GM 0.287 new build on Arch 3 issues/questions related to real-time
« Reply #1 on: May 26, 2026, 05:36:37 pm »
Can't help on the GM problems, but for the building and patches part of it, I can. so, in order :
  • the SDL3 patch is not yet throughly tested. It worked fine for me, Calamity had a little more problems than me. That's still on our todo list
  • Anyway, you shouldn't care about SDL3 yet. MAME now has a SDL3 backend, but on the Groovy side, we haven't implemented Switchres for it yet
  • Switchres itself can't drive SDL3 yet neither
  • I don't think you need to bother compiling yourself stuff, just add the GroovyArcade repos (stable and/or testing) and you'll get GM + other patched libs constantly up to date (that is, wen I update stable)

nix999

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 21
  • Last login:Today at 09:47:08 am
  • I want to build my own arcade controls!
Re: GM 0.287 new build on Arch 3 issues/questions related to real-time
« Reply #2 on: May 27, 2026, 01:26:34 am »
Thank you for your answer.

I compiled GM with OSD=sdl (so sdl2). I did notice that GM does not work yet with OSD=sdl3. But I do have SDL3 on the system right now and GM starts compiled with OSD=sdl so it must be using the compatibility layer (pkg-config --modversion sdl2 -> 2.32.68).
It also outputs the switchres lines when started and games do run but I will attach it to a television to confirm if the resolution switching does happen. It might take a few days because I have a busy schedule atm.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7505
  • Last login:June 10, 2026, 02:56:33 am
  • Quote me with care
Re: GM 0.287 new build on Arch 3 issues/questions related to real-time
« Reply #3 on: May 27, 2026, 03:01:21 am »
Hi nix999,

The alsa errors are normal and harmless, just very nasty, I haven't managed to fully remove them here myself no matter the time wasted on it.

125% on all games sounds like it's running at 75 Hz, which may point to a problem with switching video modes. A log from GroovyMAME would confirm that.

This is probably related to kmsraw not starting. You should try first with -video accel.

kmsraw depends on a hack over SDL2 that works on the version we currently have in GA but may require some rework on SDL3 (it's hard for me to know what are we actually targeting now due to the compatibilty layer). The final version will hopefully bypass SDL video initialization completely. Unfortunately SDL video initialization is still required for a number of things different to video itself.
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

nix999

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 21
  • Last login:Today at 09:47:08 am
  • I want to build my own arcade controls!
Re: GM 0.287 new build on Arch 3 issues/questions related to real-time
« Reply #4 on: May 27, 2026, 01:59:23 pm »
Thank you for your answer.

I'll investigate some more with the information I've been given in mind. It might take a few days but I will report back.
I'm really curious about the kmsraw mode. I bought a 2nd hand i5 7th gen for it ... Actually I bought two ... they were dirt cheap :-) I couldn't resist.
The audio exclusive access requirement is a bit of a bummer but it does work when all that's running is GM as far as I tested it which isn't very thorough atm. All in all very promising advancements. Top.

nix999

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 21
  • Last login:Today at 09:47:08 am
  • I want to build my own arcade controls!
Re: GM 0.287 new build on Arch 3 issues/questions related to real-time
« Reply #5 on: June 07, 2026, 02:02:44 pm »
Hi, I tested some more. I just got a hold of cute little TV from 1987 :-). I compiled an SDL2 with the force_modes_refresh.patch applied as I had the 80%~100% gamespeed issue that was solved in the first post I made. I am 100% sure gm is using the patched SDL2 now as the speed is now always 100%.
I added alias groovymame='LD_LIBRARY_PATH=/usr/local/lib /home/user/mame/0287/mame0287groovy/mame' to ~/.bash_profile and reloaded it.
If I bring up the tear-bar with F11 I have it rock solid as described in the documentation - the fd number is fluctuating rapidly and speed is always 100% it seems ...

EDIT - I just found rtype running at 98% but it runs at 54Hz that might have something to do with it. If I quit it gm prints 98.15%.

If I set video to 'accel' it works.
If set video to 'kmsraw' it does not work. I still have the 'kmsraw: no buffer found' message.

I created a log for cabal. What is weird is that I do not see any errors in it.
Yet on screen it prints
ksmraw: no buffer found!
video_init: Initialization failed!

I do no see what I am missing. Please advise.

As a side note I also would like to mention that retroarch 1.22.2 segfaults while telling it to use 15khz. I did not investigate any further yet though it functions on an older build on another system.
If anybody has a solution or an idea do share please.

This is the gm log:

Code: [Select]
Attempting load of mame.ini
Parsing mame.ini
Attempting load of mame.ini
Parsing mame.ini
Attempting load of horizont.ini
Attempting load of raster.ini
Attempting load of source/cabal.ini
Attempting load of cabal.ini
Starting plugin data...
Starting plugin layout...
Attempting load of mame.ini
Parsing mame.ini
Attempting load of mame.ini
Parsing mame.ini
Attempting load of horizont.ini
Attempting load of raster.ini
Attempting load of source/cabal.ini
Attempting load of cabal.ini
Available videodrivers: wayland KMSDRM offscreen dummy evdev
Current Videodriver: KMSDRM
Display #0
Desktop Mode:         768x576-32@50
Current Display Mode: 768x576-32@50
Renderdrivers:
    opengl (0x0)
opengles2 (0x0)
  software (0x0)
Available audio drivers:
pulseaudio         
alsa               
sndio               
jack               
pipewire           
dsp                 
disk               
dummy               
Build version:      0.287 (mame0287-dirty)
Build architecure: 
Build defines 1:    SDLMAME_UNIX=1 SDLMAME_LINUX=1
Build defines 1:    LSB_FIRST=1
SDL/OpenGL defines: SDL_COMPILEDVERSION=5268 USE_OPENGL=1
Compiler defines A: __GNUC__=4 __GNUC_MINOR__=2 __GNUC_PATCHLEVEL__=1 __VERSION__="Clang 22.1.5"
Compiler defines B: __amd64__=1 __x86_64__=1 __unix__=1
Compiler defines C: __USE_FORTIFY_LEVEL=0
Enter init_monitors
Adding monitor screen0 (768 x 576)
Adding monitor screen1 (1335606992 x 21967)
Adding monitor screen2 (1335790576 x 21967)
Adding monitor screen3 (1335588672 x 21967)
Leave init_monitors
Enter sdlwindow_init

Hints:
SDL_FRAMEBUFFER_ACCELERATION             (NULL)
SDL_RENDER_DRIVER                        (NULL)
SDL_RENDER_OPENGL_SHADERS                (NULL)
SDL_RENDER_SCALE_QUALITY                 (NULL)
SDL_RENDER_VSYNC                         (NULL)
SDL_VIDEO_X11_XVIDMODE                   (NULL)
SDL_VIDEO_X11_XINERAMA                   (NULL)
SDL_VIDEO_X11_XRANDR                     (NULL)
SDL_GRAB_KEYBOARD                        (NULL)
SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS         (NULL)
SDL_IOS_IDLE_TIMER_DISABLED              (NULL)
SDL_IOS_ORIENTATIONS                     (NULL)
SDL_XINPUT_ENABLED                       (NULL)
SDL_GAMECONTROLLERCONFIG                 (NULL)
SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS     (NULL)
SDL_ALLOW_TOPMOST                        (NULL)
SDL_TIMER_RESOLUTION                     (NULL)
SDL_RENDER_DIRECT3D_THREADSAFE           (NULL)
SDL_VIDEO_ALLOW_SCREENSAVER              (NULL)
SDL_ACCELEROMETER_AS_JOYSTICK            (NULL)
SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK   (NULL)
SDL_VIDEO_WIN_D3DCOMPILER                (NULL)
SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT      (NULL)
SDL_VIDEO_MAC_FULLSCREEN_SPACES          (NULL)
SDL_MOUSE_RELATIVE_MODE_WARP             (NULL)
SDL_RENDER_DIRECT3D11_DEBUG              (NULL)
SDL_VIDEO_HIGHDPI_DISABLED               (NULL)
SDL_WINRT_PRIVACY_POLICY_URL             (NULL)
SDL_WINRT_PRIVACY_POLICY_LABEL           (NULL)
SDL_WINRT_HANDLE_BACK_BUTTON             (NULL)
Leave sdlwindow_init
Enter sdl_info::create
Switchres/SDL2: (sdl2_display): SDL2 video is initialized
Switchres/SDL2: (sdl2_display): kernel modesetting handled by Switchres
Switchres(v2.2.2) add display[0]
Switchres: Monitor range 15600.00-15800.00,49.50-54.00,3.200,4.700,9.750,0.064,0.192,1.056,0,0,192,288,448,576
Switchres: Monitor range 15600.00-15800.00,57.00-61.50,3.200,4.700,9.750,0.064,0.192,0.898,0,0,192,248,448,480
Switchres: display[0] options: monitor[custom] generation[on]
Switchres: Monitor range 15600.00-15800.00,49.50-54.00,3.200,4.700,9.750,0.064,0.192,1.056,0,0,192,288,448,576
Switchres: Monitor range 15600.00-15800.00,57.00-61.50,3.200,4.700,9.750,0.064,0.192,0.898,0,0,192,248,448,480
XRANDR: <1> (xrandr_timing) creation (screen0)
XRANDR: <1> (xrandr_timing) checking X availability (early stub)
XRANDR: <1> (xrandr_timing) X server not found
DRM/KMS: <1> (drmkms_timing) creation (screen0)
DRM/KMS: <1> (init) loading DRM/KMS library
DRM/KMS: <1> (init) version 1.6.0 type i915
DRM/KMS: <1> (init) card 0 connector 0 id 109 name DisplayPort-2 status 2 - modes 0
DRM/KMS: <1> (init) card 0 connector 1 id 120 name HDMI-A-1 status 2 - modes 0
DRM/KMS: <1> (init) card 0 connector 2 id 126 name DisplayPort-3 status 2 - modes 0
DRM/KMS: <1> (init) version 2.51.0 type radeon
DRM/KMS: <1> (init) card 1 connector 0 id 56 name DisplayPort-1 status 2 - modes 0
DRM/KMS: <1> (init) card 1 connector 1 id 58 name DVI-I-1 status 1 - modes 1
DRM/KMS: <1> (init) card 1 connector 1 id 58 name DVI-I-1 selected as primary output
DRM/KMS: <1> (init) desktop mode name 768x576i crtc 44 crtc_idx 0 fb 60 valid 1
DRM/KMS: <1> (init) looking for the DRM master
DRM/KMS: <1> (get_master_fd) DRM hook created on FD 8
DRM/KMS: <1> (get_timing) desktop mode name 768x576i refresh 50 found
Switchres: [  1]  768x 576 @ 50i* : DRMKMS timing "768x576_50i 15.674000KHz 49.996810Hz" 15.627000 768 799 872 997 576 583 589 627 interlace  -hsync -vsync
Switchres: get_mode(0) 256 224 59.600000 1.333333
Switchres: Calculating best video mode for 256x224@59.599998 orientation: normal

Switchres: [ 768]x[ 576]_[50=49.996810Hz]
   rng(0):  768 x 576_49.996810i 15.674000 [fract] scale(3.000, 2.571, 0.839) diff(0.000, 22.222, -9.603)
   rng(1):  out of range

Switchres: (   0)x(   0)_(0=0.000000Hz)
   rng(0):  512 x 224_54.000000p 15.606000 [integ] scale(2.000, 1.000, 0.906) diff(0.000, 0.000, -5.600)
   rng(1):  512 x 224_59.599998p 15.615200 [integ] scale(2.000, 1.000, 1.000) diff(0.000, 0.000, 0.000)

Switchres: normal (256x224@59.599998)->(512x224@59.599998)
   rng(1):  512 x 224_59.599998p 15.615200 [integ] scale(2.000, 1.000, 1.000) diff(0.000, 0.000, 0.000)
Switchres: Modeline "512x224_59 15.615200KHz 59.599998Hz" 11.024330 512 547 599 706 224 235 238 262   -hsync -vsync
Switchres: added DRMKMS timing "512x224_59 15.615200KHz 59.599998Hz" 11.024330 512 547 599 706 224 235 238 262   -hsync -vsync
SwitchRes: Setting option -nokeepaspect
SwitchRes: Setting option -nounevenstretch
SwitchRes: Setting option -nounevenstretchx
SwitchRes: Setting option -waitvsync
SwitchRes: Setting option -syncrefresh
SwitchRes: Setting option -nofilter
emusync: vactive: 224 vtotal: 262 m_vactive_ratio: 0.854962
DRM/KMS: <1> (set_timing) <debug> restore desktop mode
Switchres: success deleting mode DRMKMS timing "512x224_59 15.615200KHz 59.599998Hz" 11.024330 512 547 599 706 224 235 238 262   -hsync -vsync
Enter sdlwindow_exit
Leave sdlwindow_exit
« Last Edit: June 08, 2026, 03:54:52 am by Calamity »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7505
  • Last login:June 10, 2026, 02:56:33 am
  • Quote me with care
Re: GM 0.287 new build on Arch 3 issues/questions related to real-time
« Reply #6 on: June 08, 2026, 04:13:27 am »
Hi nix999,

With regards to R-Type, yes, that's expected as your ranges ban 55 Hz. R-Type will run at 54 Hz instead of 55.

I notice 2 things in your log:

1. It looks like your Intel integrated GPU is enabled and the Radeon is shown as the second GPU. Although Switchres should handle this situation this indeed could be the source of the issue. I'd disable the iGPU in the BIOS for testing.

2. In fact you don't get any errors in the log. But since you get those 2 errors on screen, I wonder if there could be more errors that are sent to the screen rather than redirected to the file. Well it would be great if you could redirect both logs and errors into the same file so we get the time sequence. Anyway:

The problem is that apparently this line isn't reached:

https://github.com/antonioginer/GroovyMAME/blob/834b5554c7503e288b259bb118259c8ce7860891/3rdparty/switchres/custom_video_drmkms.cpp#L1066

So m_map is null and that causes the error: kmsraw: no buffer found!

It'd be of great help to me if you could trace the execution inside drmkms_timing::set_timing and find the point that silently fails.
« Last Edit: June 08, 2026, 04:34:01 am by Calamity »
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

nix999

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 21
  • Last login:Today at 09:47:08 am
  • I want to build my own arcade controls!
Re: GM 0.287 new build on Arch 3 issues/questions related to real-time
« Reply #7 on: June 08, 2026, 08:50:21 am »
Hi Calamity,

I diabled the iGpu - it disappeared from the log too so that's fine.

I attached three files in a zip.

custom_video_drmkms.cpp  : Trace statements were added inside bool drmkms_timing::set_timing(modeline *mode)

compileOutput.txt : custom_video_drmkms.cpp resulting recompilation output - there are some warnings

gmDmp.log : The output of command : groovymame cabal -v > ~gmDmp.log 2>&1 ( groovymame being alias groovymame='LD_LIBRARY_PATH=/usr/local/lib /home/user/mame/0287/mame0287groovy/mame' )

I did not reason about the log file though I would have expected the 'kmsraw: no buffer found!' to appear after the trace statements and it appears before. Of course I am completely unfamiliar with the flow.

...
SwitchRes: Setting option -syncrefresh
SwitchRes: Setting option -nofilter
emusync: vactive: 224 vtotal: 262 m_vactive_ratio: 0.854962
kmsraw: no buffer found!
TRACE: set_timing:955
TRACE: set_timing:964
TRACE: set_timing:968
...

I hope this helps to some degree. If you want me to try some more things or if I approached it the wrong way or did not what you expected just say so.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7505
  • Last login:June 10, 2026, 02:56:33 am
  • Quote me with care
Re: GM 0.287 new build on Arch 3 issues/questions related to real-time
« Reply #8 on: June 08, 2026, 05:31:07 pm »
Do you have the option modesetting enabled in mame.ini?
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

nix999

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 21
  • Last login:Today at 09:47:08 am
  • I want to build my own arcade controls!
Re: GM 0.287 new build on Arch 3 issues/questions related to real-time
« Reply #9 on: June 09, 2026, 02:32:23 am »
I did not but I do now, tried one game, and it works. My apologies. I did not expect the issue to be mame.ini configuration related.
I no longer I have any of the inserted trace calls now so that function is not called anymore it seems.
I added a verbose output log for verification. There are some warnings about a missing ':screen' and subsequently some missing dependency and rescheduling notifications. I don't know what these are. I'll experiment some more with it. I'll also try to find a way to get the audio working in combination with a frontend. Should I find a way I'll create a post.

If something is still not as it should be say so please. I want to get it as perfect as possible.

Code: [Select]
Attempting load of mame.ini
Parsing mame.ini
Attempting load of mame.ini
Parsing mame.ini
Attempting load of horizont.ini
Attempting load of raster.ini
Attempting load of source/cabal.ini
Attempting load of cabal.ini
Attempting load of mame.ini
Parsing mame.ini
Attempting load of mame.ini
Parsing mame.ini
Attempting load of horizont.ini
Attempting load of raster.ini
Attempting load of source/cabal.ini
Attempting load of cabal.ini
Available videodrivers: wayland KMSDRM offscreen dummy evdev
Current Videodriver: KMSDRM
Display #0
Desktop Mode:         768x576-32@50
Current Display Mode: 768x576-32@50
Renderdrivers:
    opengl (0x0)
opengles2 (0x0)
  software (0x0)
Available audio drivers:
pulseaudio         
alsa               
sndio               
jack               
pipewire           
dsp                 
disk               
dummy               
Build version:      0.287 (mame0287-dirty)
Build architecure: 
Build defines 1:    SDLMAME_UNIX=1 SDLMAME_LINUX=1
Build defines 1:    LSB_FIRST=1
SDL/OpenGL defines: SDL_COMPILEDVERSION=5268 USE_OPENGL=1
Compiler defines A: __GNUC__=4 __GNUC_MINOR__=2 __GNUC_PATCHLEVEL__=1 __VERSION__="Clang 22.1.5"
Compiler defines B: __amd64__=1 __x86_64__=1 __unix__=1
Compiler defines C: __USE_FORTIFY_LEVEL=0
Enter init_monitors
Adding monitor screen0 (768 x 576)
Adding monitor screen1 (-1824321968 x 21870)
Adding monitor screen2 (-1824324544 x 21870)
Adding monitor screen3 (-1824323376 x 21870)
Leave init_monitors
Enter sdlwindow_init

Hints:
SDL_FRAMEBUFFER_ACCELERATION             (NULL)
SDL_RENDER_DRIVER                        (NULL)
SDL_RENDER_OPENGL_SHADERS                (NULL)
SDL_RENDER_SCALE_QUALITY                 (NULL)
SDL_RENDER_VSYNC                         (NULL)
SDL_VIDEO_X11_XVIDMODE                   (NULL)
SDL_VIDEO_X11_XINERAMA                   (NULL)
SDL_VIDEO_X11_XRANDR                     (NULL)
SDL_GRAB_KEYBOARD                        (NULL)
SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS         (NULL)
SDL_IOS_IDLE_TIMER_DISABLED              (NULL)
SDL_IOS_ORIENTATIONS                     (NULL)
SDL_XINPUT_ENABLED                       (NULL)
SDL_GAMECONTROLLERCONFIG                 (NULL)
SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS     (NULL)
SDL_ALLOW_TOPMOST                        (NULL)
SDL_TIMER_RESOLUTION                     (NULL)
SDL_RENDER_DIRECT3D_THREADSAFE           (NULL)
SDL_VIDEO_ALLOW_SCREENSAVER              (NULL)
SDL_ACCELEROMETER_AS_JOYSTICK            (NULL)
SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK   (NULL)
SDL_VIDEO_WIN_D3DCOMPILER                (NULL)
SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT      (NULL)
SDL_VIDEO_MAC_FULLSCREEN_SPACES          (NULL)
SDL_MOUSE_RELATIVE_MODE_WARP             (NULL)
SDL_RENDER_DIRECT3D11_DEBUG              (NULL)
SDL_VIDEO_HIGHDPI_DISABLED               (NULL)
SDL_WINRT_PRIVACY_POLICY_URL             (NULL)
SDL_WINRT_PRIVACY_POLICY_LABEL           (NULL)
SDL_WINRT_HANDLE_BACK_BUTTON             (NULL)
Leave sdlwindow_init
Enter sdl_info::create
Switchres/SDL2: (sdl2_display): SDL2 video is initialized
Switchres/SDL2: (sdl2_display): kernel modesetting handled by Switchres
Switchres(v2.2.2) add display[0]
Switchres: Monitor range 15600.00-15800.00,49.50-54.00,3.200,4.700,9.750,0.064,0.192,1.056,0,0,192,288,448,576
Switchres: Monitor range 15600.00-15800.00,57.00-61.50,3.200,4.700,9.750,0.064,0.192,0.898,0,0,192,248,448,480
Switchres: display[0] options: monitor[custom] generation[on]
Switchres: Monitor range 15600.00-15800.00,49.50-54.00,3.200,4.700,9.750,0.064,0.192,1.056,0,0,192,288,448,576
Switchres: Monitor range 15600.00-15800.00,57.00-61.50,3.200,4.700,9.750,0.064,0.192,0.898,0,0,192,248,448,480
XRANDR: <1> (xrandr_timing) creation (screen0)
XRANDR: <1> (xrandr_timing) checking X availability (early stub)
XRANDR: <1> (xrandr_timing) X server not found
DRM/KMS: <1> (drmkms_timing) creation (screen0)
DRM/KMS: <1> (init) loading DRM/KMS library
DRM/KMS: <1> (init) version 2.51.0 type radeon
DRM/KMS: <1> (init) card 0 connector 0 id 56 name DisplayPort-1 status 2 - modes 0
DRM/KMS: <1> (init) card 0 connector 1 id 58 name DVI-I-1 status 1 - modes 1
DRM/KMS: <1> (init) card 0 connector 1 id 58 name DVI-I-1 selected as primary output
DRM/KMS: <1> (init) desktop mode name 768x576i crtc 44 crtc_idx 0 fb 60 valid 1
DRM/KMS: <1> (init) looking for the DRM master
DRM/KMS: <1> (get_master_fd) DRM hook created on FD 8
DRM/KMS: <1> (get_timing) desktop mode name 768x576i refresh 50 found
Switchres: [  1]  768x 576 @ 50i* : DRMKMS timing "768x576_50i 15.674000KHz 49.996810Hz" 15.627000 768 799 872 997 576 583 589 627 interlace  -hsync -vsync
Switchres: get_mode(0) 256 224 59.600000 1.333333
Switchres: Calculating best video mode for 256x224@59.599998 orientation: normal

Switchres: [ 768]x[ 576]_[50=49.996810Hz]
   rng(0):  768 x 576_49.996810i 15.674000 [fract] scale(3.000, 2.571, 0.839) diff(0.000, 22.222, -9.603)
   rng(1):  out of range

Switchres: (   0)x(   0)_(0=0.000000Hz)
   rng(0):  512 x 224_54.000000p 15.606000 [integ] scale(2.000, 1.000, 0.906) diff(0.000, 0.000, -5.600)
   rng(1):  512 x 224_59.599998p 15.615200 [integ] scale(2.000, 1.000, 1.000) diff(0.000, 0.000, 0.000)

Switchres: normal (256x224@59.599998)->(512x224@59.599998)
   rng(1):  512 x 224_59.599998p 15.615200 [integ] scale(2.000, 1.000, 1.000) diff(0.000, 0.000, 0.000)
Switchres: Modeline "512x224_59 15.615200KHz 59.599998Hz" 11.024330 512 547 599 706 224 235 238 262   -hsync -vsync
Switchres: added DRMKMS timing "512x224_59 15.615200KHz 59.599998Hz" 11.024330 512 547 599 706 224 235 238 262   -hsync -vsync
DRM/KMS: <1> (set_timing) <debug> existing frame buffer id 60 size 768x576 bpp 32
DRM/KMS: <1> (set_timing) <debug> creating new frame buffer with size 512x224
DRM/KMS: <1> (set_timing) <debug> frame buffer id 61 size 512x224 bpp 32
SwitchRes: Setting option -nokeepaspect
SwitchRes: Setting option -nounevenstretch
SwitchRes: Setting option -nounevenstretchx
SwitchRes: Setting option -waitvsync
SwitchRes: Setting option -syncrefresh
SwitchRes: Setting option -nofilter
emusync: vactive: 224 vtotal: 262 m_vactive_ratio: 0.854962
Audio: Start initialization
Audio: Driver is pulseaudio
Keyboard: Start initialization
Input: Adding keyboard #1: System keyboard (device id: System keyboard)
Keyboard: Registered System keyboard
Keyboard: End initialization
Mouse: Start initialization
Input: Adding mouse #1: System mouse (device id: System mouse)
Mouse: Registered System mouse
Mouse: End initialization
Lightgun: Start initialization
Input: Adding lightgun #1: System pointer gun 1 (device id: System pointer gun 1)
Lightgun: Registered System pointer gun 1
Lightgun: End initialization
Game Controller: Start initialization
Game Controller: End initialization
Searching font Liberation Sans in -. path/s
Matching font: 0x556e93528040
unzip: opened archive file /home/user/.../cabal.zip
unzip: et cetera
Optional memory region ':screen' not found
Starting Cabal (World, Joystick) ':'
  (missing dependencies; rescheduling)
Starting Motorola MC68000 ':maincpu'
Starting Zilog Z80 ':audiocpu'
Starting SEI80BU Encrypted Z80 Interface ':sei80bu'
Starting Video Screen ':screen'
  (missing dependencies; rescheduling)
Starting gfxdecode ':gfxdecode'
Starting palette ':palette'
Starting Seibu Sound System ':seibu_sound'
Starting Speaker ':mono'
Starting YM2151 OPM ':ymsnd'
Starting Seibu ADPCM interface ':adpcm1'
Starting Seibu ADPCM interface ':adpcm2'
Starting OKI MSM5205 ADPCM ':msm1'
Starting OKI MSM5205 ADPCM ':msm2'
Starting Cabal (World, Joystick) ':'
  (missing dependencies; rescheduling)
Starting Video Screen ':screen'
Starting Cabal (World, Joystick) ':'
Attempting to parse: default.cfg
Attempting to parse: cabal.cfg
Average speed: 99.96% (29 seconds)
Enter sdlwindow_exit
DRM/KMS: <1> (set_timing) <debug> restore desktop mode
Switchres: success deleting mode DRMKMS timing "512x224_59 15.615200KHz 59.599998Hz" 11.024330 512 547 599 706 224 235 238 262   -hsync -vsync
Leave sdlwindow_exit
Switchres: exit
« Last Edit: June 09, 2026, 02:48:10 am by nix999 »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7505
  • Last login:June 10, 2026, 02:56:33 am
  • Quote me with care
Re: GM 0.287 new build on Arch 3 issues/questions related to real-time
« Reply #10 on: June 09, 2026, 07:59:11 am »
Hi nix999,

All looks good now, and sorry for the trouble, the requirement for -modesetting should be in the documentation. In GA it's enabled my default so I never experienced this problem.
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