Running MAME from PB

I’ve been working on a project involving the PocketBeagle running as a miniature arcade cabinet, but I’m running into a brick wall getting MAME to run. I have the device tree overlay set up so that it will output to an Adafruit 1.8" TFT screen over SPI (based on the dts file here: https://www.hackster.io/65300/pocketbeagle-simple-gaming-demo-f96db4), but I can only get as far as having the terminal showing on the screen.

I’m ssh into the PB, and have installed AdvMAME per the instructions here: https://github.com/notro/fbtft/wiki/MAME

However, I receive error messages when I invoke the specified command to set the display mode

FRAMEBUFFER=/dev/fb1 advv

No active video driver is able to program your video board.

Ensure to use the 'device_video_output auto' option.
Ensure to have a Frame Buffer driver (other than VESA) in your Linux kernel.
Try to run this program in a TERM=linux terminal.

Or to start AdvMAME (using circus ROM as an example)
FRAMEBUFFER=/dev/fb1 advmame circus

Unable to initialize the video driver. The errors are:
fb: Works only with TERM=linux terminals.
sdl: Unable to intialize the SDL library, Unable to open a console terminal.

Now, it has been a while since I used Debian from the command line, so I admit that I am rusty (and likely missing something rather obvious--
other than simply not being able to initialize a graphical output from the terminal emulator), but I can't--for the life of me--figure out what I'm 
doing wrong. I've even tried to run the program via a shell script on boot, but I still only get the login prompt on the display. I've been working on 
various permutations of this workflow for a few days now, and haven't made it past this point.

Any help is appreciated, thank you!

I’ve been working on a project involving the PocketBeagle running as a miniature arcade cabinet, but I’m running into a brick wall getting MAME to run. I have the device tree overlay set up so that it will output to an Adafruit 1.8" TFT screen over SPI (based on the dts file here: https://www.hackster.io/65300/pocketbeagle-simple-gaming-demo-f96db4), but I can only get as far as having the terminal showing on the screen.

I’m ssh into the PB, and have installed AdvMAME per the instructions here: https://github.com/notro/fbtft/wiki/MAME

However, I receive error messages when I invoke the specified command to set the display mode

FRAMEBUFFER=/dev/fb1 advv

For me, the device shows up as /dev/fb0. Do an ‘ls /dev/fb*’ to see what devices show up. Also, be sure to post the output of ‘dmesg’. Getting on a network and doing ‘dmesg | pastebinit’ can be helpful.


No active video driver is able to program your video board.

Ensure to use the 'device_video_output auto' option.
Ensure to have a Frame Buffer driver (other than VESA) in your Linux kernel.
Try to run this program in a TERM=linux terminal.

For me, it said to add ‘device_video auto’ to my advmame.rc. I’ve got that stored in /home/debian/.advance/advmame.rc. Adding that line made this method for invoking ‘advv’ work:

sudo HOME=/home/debian advv

Use ^C to exit. Not all that familiar with how to use advv, but I managed to select a video mode that worked for the advmame.rc I stored in my gist. https://gist.github.com/jadonk/1b6a3c17059fe5a1977f3d1e5d12f916#file-advmame-rc


Or to start AdvMAME (using circus ROM as an example)
FRAMEBUFFER=/dev/fb1 advmame circus

Unable to initialize the video driver. The errors are:
fb: Works only with TERM=linux terminals.
sdl: Unable to intialize the SDL library, Unable to open a console terminal.

I do something like:

sudo HOME=/home/debian FRAMEBUFFER=/dev/fb0 advmame circus

Did you do any of the installs of things like the .service files or the example .sh file? I get that the gist at https://gist.github.com/jadonk/1b6a3c17059fe5a1977f3d1e5d12f916 doesn’t really spell out how to do any of that, but I’m wondering if you tried.


Now, it has been a while since I used Debian from the command line, so I admit that I am rusty (and likely missing something rather obvious--
other than simply not being able to initialize a graphical output from the terminal emulator), but I can't--for the life of me--figure out what I'm 
doing wrong. I've even tried to run the program via a shell script on boot, but I still only get the login prompt on the display. I've been working on 
various permutations of this workflow for a few days now, and haven't made it past this point.

I think the big thing is you MUST have an advmame.rc to get much of anything to work.