Hi, I am try to run a self-compiled (from GitHub head) version of advmame on a raspberry pi 3 running Raspberry PI OS without an X environment (direct to framebuffer) on a HDMI 1920x1080 lcd screen.
It is my understanding that in this very specific use case I am not supposed to fiddle too much with AdvMame configuration. I should just launch a rom and it should be working.
Unluckily this is not true in my case: if I launch advmame with default configuration I get: "No valid video mode available".
The situation slightly improves by artificially launching advcfg and setting a CRT 60hz NTSC screen with a 1920x1080 resolution. The game is rendered on the upper left half the screen (The other half still show my terminal instance)
My framebuffer in general looks working fine, if I do:
cat /dev/urandom > /dev/fb0
I get a full screen static image like I am supposed to.
For that matters: the exact same thing happens if I compile for x86_64 and launch the executable on my X-less machine with working framebuffer.
Am I missing something here?
Last edit: Gennaro Iorio 2025-04-19
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I had the same problem. Turns out that the new Raspberry Pi 3 generation requires you downgrade the firmware to tap into the framebuffer driver. You'll have to do that twice before everything runs clean on framebuffer as it should. It's worth the extra effort though, since there is no substitute for running AdvanceMAME straight from the command line (or AdvanceMENU) in framebuffer. Check out my tutorial here to see how it's done step-by-step on the current (new) generation of Raspberry Pi 3 B+'s . . .
Check the install.txt documentation. It contains some useful info for Raspberry. Anyway, ensure to use the older Raspbian "stretch", and not the more recent ones.
👍
1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi, I am try to run a self-compiled (from GitHub head) version of advmame on a raspberry pi 3 running Raspberry PI OS without an X environment (direct to framebuffer) on a HDMI 1920x1080 lcd screen.
It is my understanding that in this very specific use case I am not supposed to fiddle too much with AdvMame configuration. I should just launch a rom and it should be working.
Unluckily this is not true in my case: if I launch advmame with default configuration I get: "No valid video mode available".
The situation slightly improves by artificially launching advcfg and setting a CRT 60hz NTSC screen with a 1920x1080 resolution. The game is rendered on the upper left half the screen (The other half still show my terminal instance)
My framebuffer in general looks working fine, if I do:
cat /dev/urandom > /dev/fb0I get a full screen static image like I am supposed to.
For that matters: the exact same thing happens if I compile for x86_64 and launch the executable on my X-less machine with working framebuffer.
Am I missing something here?
Last edit: Gennaro Iorio 2025-04-19
I had the same problem. Turns out that the new Raspberry Pi 3 generation requires you downgrade the firmware to tap into the framebuffer driver. You'll have to do that twice before everything runs clean on framebuffer as it should. It's worth the extra effort though, since there is no substitute for running AdvanceMAME straight from the command line (or AdvanceMENU) in framebuffer. Check out my tutorial here to see how it's done step-by-step on the current (new) generation of Raspberry Pi 3 B+'s . . .
https://www.arcade-projects.com/threads/almost-pixel-perfect-arcade-emulation-on-raspberry-pi-with-advancemame.7777/post-445580
Check the install.txt documentation. It contains some useful info for Raspberry. Anyway, ensure to use the older Raspbian "stretch", and not the more recent ones.
Just realized that you want to use with the fixed resolution of your LCD screen, and not with an arcade monitor.
Try disable the SDL support. Like with ./configure --disable-sdl --disable-sdl2 and to comment the "dtoverlay=vc4-fkms-v3d " in /boot/config.txt.
This is what I do to use my LCD TV, and it works with buster and bookworm.
No need to use advcfg as it tries to use customized video mode. It's intended for CRT monitors.
Anyway, in the next weeks I plan to release a ready to use distribution for Raspberry 3/4 with everything preinstalled.