Skip to content

video: add HUB75 RGB LED matrix driver - #19321

Open
theromis wants to merge 1 commit into
libretro:masterfrom
theromis:codex/hub75-video-driver
Open

video: add HUB75 RGB LED matrix driver#19321
theromis wants to merge 1 commit into
libretro:masterfrom
theromis:codex/hub75-video-driver

Conversation

@theromis

@theromis theromis commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

I want to play with AliExpress P2 128x64 LED HUB75 matrix panel, I think retroarch feature to play retros games this way pretty fun option, so I'm sharing my progress. Want to know what people think about it.

Summary

  • add an optional HUB75 video driver backed by rpi-rgb-led-matrix
  • support RGB565 and XRGB8888 software frames, RGUI, rotation, and double buffering
  • add fit, fill, stretch, and integer scaling modes
  • add Raspberry Pi panel configuration through HUB75 environment variables
  • integrate native and macOS-to-AArch64 Linux builds through --enable-hub75

Validation

  • strict host compilation with Clang
  • complete AArch64 Linux cross-build and link from macOS without Docker
  • verified AArch64 ELF output and the video_hub75 symbol

Draft status

This is a proof of concept pending testing on a physical Raspberry Pi 5 and 128x64 HUB75 panel. In particular, GPIO initialization, RP1 PIO operation, refresh stability, shutdown behavior, and sustained emulator performance still need hardware validation.

Feedback is also requested on whether RetroArch should bundle rpi-rgb-led-matrix as a submodule or discover a system-installed library.

@LibretroAdmin
LibretroAdmin marked this pull request as ready for review August 2, 2026 03:37
@LibretroAdmin

Copy link
Copy Markdown
Contributor

That's interesting. I'd be willing to merge it.

So it can do RGUI right now, software rendered cores at 16bit/32bit and overlays?

@theromis

theromis commented Aug 2, 2026

Copy link
Copy Markdown
Contributor Author

Thanks! RGUI is supported, as are software-rendered RGB565 (16-bit)
and XRGB8888 (32-bit) core frames.

RetroArch overlays are not implemented yet; the overlay interface is
currently NULL. I can add overlay support if it is desired for the
initial version. Hardware validation on a Raspberry Pi 5 with a
128x64 HUB75 panel is also still pending.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants