lv_gba_emu
Possibly the cleanest GBA emulator port:
FASTSHIFT/lv_gba_emu: LVGL Game Boy Advance Emulator (github.com)
Feature
- The emulator kernel is based on vba-next and does not depend on any third-party libraries.
- Decoupled from the OS, only relying on lvgl’s memory allocation and file access interface.
- Support to use GBA framebuffer directly as lv_canvas buffer, zero copy overhead.
To be completed
- Audio output support.
- Frame rate control support.
- Optimize key mapping and decouple from linux event device.
- Virtual key support.
- Memory usage optimization.
4 Likes
Very nice! Is there a video maybe? 
Thanks!
LVGL is only providing a canvas, right? Or is there anything else you do with LVGL?
LVGL provides the canvas, virtual keys, file access interface, and dynamic memory allocation.
Audio output needs to rely on other interfaces, such as SDL2.
1 Like
Thanks for the link! It looks very neatly done. I especially like that the core is based on vba-next and doesn’t rely on third-party libraries—this really simplifies porting to different platforms.
Support for using the GBA framebuffer directly as an lv_canvas buffer with zero copy is a huge performance boost. I’m looking forward to the addition of audio and keybinding optimizations—that would be really cool.
This seems to be one of the cleanest and most minimalistic GBA emulators out there.