Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

dev-0x7C6/meta-retro

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

906 Commits
906 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenEmbedded / Yocto software layer for RetroArch and libretro cores

This layer provides RetroArch front-end and libretro cores emulators recipes for use with OpenEmbedded and/or Yocto.

Raspberry Pi 4 Poky build

Building

You can test this layer and distro (retro) with reference build environment on your host computer

user@localhost:~$ git clone --recursive https://github.com/dev-0x7C6/retro-build-environment.git
user@localhost:~$ cd retro-build-environment
user@localhost:~$ source source.me
user@localhost:~$ MACHINE="raspberrypi4" bitbake retro-image-full

Images

Image (recipe name) Retroarch Libretro cores Shaders Titles Cheats Themes Overlays
retro-image-full ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
retro-image-standard ✔️ ✔️ ✔️ ✔️
retro-image-minimal ✔️ ✔️ ✔️

Recomendation: retro-image-full

Tested platforms

Machine Layer Build against Runtime testing Notice
cubietruck meta-sunxi Often Rarely Unable to run kms with lima(mesa)
intel-core2-32 meta-intel Often Sometimes As pendrive dongle
intel-corei7-64 meta-intel Often Sometimes As pendrive dongle
orange-pi-pc meta-sunxi Often Rarely ---
raspberrypi3-64 meta-raspberrypi Often Sometimes ---
raspberrypi3 meta-raspberrypi Often Sometimes ---
raspberrypi4-64 meta-raspberrypi Always Often ---
raspberrypi4 meta-raspberrypi Always Often ---
rock-pi-4a meta-rockchip Often None Thanks to @MarkusVolk for sending patches

Distro features

Meta-retro introduced a collection of switches that can be set by DISTRO_FEATURES in local.conf or distro.conf

RetroArch and system features:

  • retroarch-automount - added extra automounting in /var/run/media
  • retroarch-autostart - enabling systemd RetroArch startup as main graphics.target
  • retroarch-online - compile RetroArch with online capabilities
  • retroarch-updater - compile RetroArch with update capabilities

Graphical capabilities:

  • retroarch-gles - enable for OpenGLES 2.0 support in retroarch and libretro cores
  • retroarch-gles3 - enable for OpenGLES 3.0 support in retroarch and libretro cores
  • retroarch-opengl - enable for OpenGL >= 2.0 support in retroarch and libretro cores
  • vulkan - enable for Vulkan support in retroarch and libretro cores

Customizable variables

There is a collection of variables that can be set in local.conf or distro.conf:

Default drivers

  • RETROARCH_DEFAULT_INPUT_DRIVER - default is udev
  • RETROARCH_DEFAULT_JOYPAD_DRIVER - default is udev
  • RETROARCH_DEFAULT_VIDEO_DRIVER - default is gl
  • RETROARCH_DEFAULT_VIDEO_CONTEXT - default is kms-egl
  • RETROARCH_DEFAULT_AUDIO_DRIVER - default is pulseaudio or alsathread
  • RETROARCH_DEFAULT_RESAMPLER_DRIVER - default is sinc
  • RETROARCH_DEFAULT_MENU_DRIVER - default is ozone

Configuration

  • RETROARCH_CONFIG_FULLSCREEN - default is true, go for fullscreen mode, this respects initial resolutions (tested with rpi4)
  • RETROARCH_CONFIG_THREADED_VIDEO - default is true, use another thread for renderer
  • RETROARCH_CONFIG_AUDIO_LATENCY - default is 256, stock value is 64, I got better performance with higher values on rpi platforms

Video settings

  • RETROARCH_CONFIG_FONT_SIZE

Themes

  • RETROARCH_CONFIG_XMB_SHADOWS
  • RETROARCH_CONFIG_XMB_THEME_COLOR
  • RETROARCH_CONFIG_XMB_THEME_INDEX

For more information see file: retroarch.inc

Layer dependencies

Layer Sublayer Required Software Recommended BSPs
openembedded-core meta ✔️ ✔️
meta-openembedded meta-oe ✔️ ✔️
↪️ meta-multimedia ✔️ ✔️
↪️ meta-python ✔️ ✔️
↪️ meta-networking ✔️ ✔️
meta-qt5 . ✔️ ✔️
meta-kodi . ✔️
meta-raspberrypi . ✔️ ✔️
meta-raspberrypi-extras . ✔️ ✔️
meta-intel . ✔️ ✔️
meta-rockchip . ✔️ ✔️

Patches

Please submit patches against the dev-0x7C6/meta-retro layer by pull requests.

Adding the meta-retro layer to your build

In order to use this layer, you need to make the build system aware of it.

Assuming the meta-retro layer exists at the top-level of your yocto build tree, you can add it to the build system by adding the location of the meta-retro layer to bblayers.conf, along with any other layers needed. e.g.:

BBLAYERS ?= " \
  /path/to/yocto/meta \
  /path/to/yocto/meta-yocto \
  /path/to/yocto/meta-yocto-bsp \
  /path/to/yocto/meta-retro \
"
Morty Proxy This is a proxified and sanitized view of the page, visit original site.