Hardware support

Computers

This page is a compilation of remarks that will help you to choose the best hardware for your use case. Please remember that Lakka have been made to transform a dedicated machine into a game console.

Raspberry Pi

CPU: BCM2835
GPU: VideoCore VI

Pros: Silent with no fan. Cheap like $35. Very good compatibility with TVs. Open source video api. Hype. Well documented. Uses the normal HDMI cable. Powered with micro USB. Uses SD or microSD cards. Easy to setup a dual boot.

Cons: Weak, can’t even run snes9x_next at full speed. Obsolete since the RPi2 is out. No SATA. No eMMC. No NAND. No WiFI. No Bluetooth.

Conclusion: Buy a RPi 2

Raspberry Pi 2

CPU: BCM2836
GPU: VideoCore VI

Pros: Powerful enough to run most SNES games with snes9x_next at full speed. Silent with no fan. Cheap like $35. Very good compatibility with TVs. Open source video api. Hype. Well documented. Uses the normal HDMI cable. Powered with micro USB. Uses SD or microSD cards. 4 USB ports. Easy to setup a dual boot. Officially supported by OpenELEC.

Cons: Still weak, can’t run mupen64plus at full speed. Some CPS3 arcade games are slow. No SATA. No eMMC. No NAND. No WiFI. No Bluetooth. The RPi Foundation is not friendly, they don’t reply to our mails about including Lakka on NOOBS.

Conclusion: A good choice for beginners who want a cheap hardware and a lot of documentation.

Generic PC

CPU: Various Intel
GPU: Intel/Nvidia/Radeon

PCs can work very well. In fact, performance depends on your hardware.

Nvidia and Intel graphic cards should work. If you have to choose, choose Intel HD graphics for now.

On PC, you will have to flash a USB drive. This drive can be used as a live environment, allowing you to try Lakka on your hardware without installing it. The drive can also be used to install Lakka on your PC, but does not support dual boot so you’d better use a dedicated machine like a NUC.

Pros: Can virtually run any core. The live USB mode is convenient. The shaders can work well. Modular. Officially supported by OpenELEC.

Cons: Can be noisy. IO can be slow if not using an SSD. Very expensive. You will see a lot of messages on boot, like the BIOS and the syslinux bootloader. Not easy to setup a dual boot. Not easy to unplug the hard drive to mount it on your laptop.

Conclusion: If you want to build the ultimate emulation console and don’t care about money, choose PC.

Cubieboard

CPU: A10
GPU: Mali-400

Pros: Can run some SNES games with snes9x_next, some arcade games. Cheap. Silent.

Cons: Obsolete, use the Cubietruck or the Banana Pi instead. Powered by a barel.

Conclusion: More powerful than a RPi1, but still weak.

Cubieboard2, Cubietruck and Banana Pi

CPU: A20
GPU: Mali-400

RetroArch works on the Cubieboard2, Cubietruck and Banana Pi. However, the bad quality of MALI GLES userspace drivers provided by sunxi make it a bad choice for gaming. The kernel is also stuck at 3.4, version not supported by systemd. Lakka is being ported to these boards anyway and games are playable.

Pros: Some of these devices have Wifi, Bluetooth, SATA, and NAND. Powered by microUSB. Uses the normal HDMI port. Silent.

Cons: Old kernel, difficult to maintain. Wifi and bluetooth will not work. The Mali blobs are leaked. Only 2 USB ports.

Conclusion: Don’t buy chinese crap, prefer a RPi2.

Hummingboard and Cubox-i

CPU: i.MX6 i2ex to i4
GPU: Vivante GC2000

Very good ARM boards. Their price is higher than RPi2 and Odroid-C1, but Lakka runs very well on them. Runs full speed PSX games, and some PSP games are playable. No vsync bugs. However, only two USB ports.

Pros: Good quality. Powerfull. Silent. Pretty good support of TVs. Powered by microUSB. Uses the normal HDMI port. The SolidRun team have been friendly enough to send us free samples. Officially supported by OpenELEC. Silent. The microSOM makes it modular.

Cons: Expensive. Hot CPU. mupen64plus bugs on it. The menu is not always 60fps, sometimes 55fps. Only 2 USB ports.

Odroid-C1 and Odroid-C1+

CPU: Amlogic S805
GPU: Mali-450

Pros: Powerfull CPU able to run some PSP games. Cheap like $35. The C1+ Model uses the big HDMI port, and can be powered by microUSB. Supports eMMC and microSD. The Hardkernel team is friendly, they sent us 2 free samples, and they love emulation. 4 USB ports.

Cons: Doesn’t try to detect the resolution of TVs. Vsync or tilling bug that causes flickering on the right top of the screen.

Conclusion: If there were not those display issues, it would be way better than the RPi2.

Odroid-XU3

CPU: Exynos GPU: Mali-T628

Pros: $74 for an octa core is cheap. Very powerful CPU able to run most PSP games. No vsync issue, no tearing. The board supports eMMC. 4 USB ports. Friendly team, they provided two C1, one XU3 and one XU4 for free.

Cons: The fan is noisy on the XU3. Uses his own barel power supply. Uses micro HDMI. Only 2 USB ports on the XU4.

Conclusion: A good and cheap alternative to PC.

WeTek_Play

CPU: Amlogic GPU: Mali

Pros: Box provided. Powerful CPU. Good quality for the GPU BLOBs able to run mupen64plus at full speed. The WeTek team have been nice with us, they sent us a free sample. Officially supported by OpenELEC.

Cons: No access to the bootloader. Resolution fixed to 720p. No way to disable their white bootsplash that stays behind the game viewport.

Conclusion: If you are a N64 fan, and you have a 720p TV, and are not annoyed to play with a white background, it can be OK.

Which systems are supported?

This table shows which systems can be emulated on each of our supported hardware.
Please note that the hardware of a PC can vary a lot, and performance accordingly.

  RPi RPi2 a10 a20 imx6 C1 XU3 PC
2048 A (2048) A A A A A A A
3DO - (4do) - - - - - - A
Atari 2600 A (stella) A A A A A A A
Atari 7800 - (prosystem) - - - - - - A
Atari Jaguar ? (virtualjaguar) ? ? ? ? ? ? A
Atari Lynx A (handy) A A A A A A A
Cave Story B (nxengine) A ? A A A A A
Dinothawr A (dinothawr) A A A A A A A
Doom A (prboom) A A A A A A A
FB Alpha C (fba) B ? B A A A A
FFmpeg D (ffmpeg) ? ? ? C C B B
Game Boy A (gambatte) A A A A A A A
Game Boy Advance B (gpsp) B ? B A A A A
Game Boy Color A (gambatte) A A A A A A A
Game Gear A (picodrive) A A A A A A A
Lutro ? (lutro) ? ? ? ? ? A A
Master System A (picodrive) A A A A A A A
Mega Drive A (picodrive) A A A A A A A
NES B (fceumm) A A A A A A A
Neo Geo Pocket - A ? A A A A A
Nintendo 64 - C ? C C B A A
Nintendo DS - - - - - - - A
PCEngine A (beetle-pce) A ? A A A A A
PCEngine CD B (beetle-pce) A ? A A A A A
PC-FX - - - - - - - A
PlayStation - B ? A A A A A
PSP - - - - C C B A
Quake ? ? ? ? ? ? ? ?
Sega 32X ? (picodrive) A ? ? A A A A
Sega CD ? ? ? ? ? ? A ?
SuperNES C (pocketsnes) B B B A A A A
Vectrex A (vecx) A A A A A A A
Virtual Boy - ? ? ? ? ? ? A
WonderSwan Color - ? ? ? ? ? ? A

Please note that Nintendo 64 fails on 32 bit PC for now.

Meaning of grades:

A = Most games are playable at full speed
B = Sometimes lag, or can need overclocking, or need a little frameskipping
C = Slow, but some games are playable, could be improved in the future
D = Very slow, but at least one game is playable
- = Not packaged, or will never be playable, or have a huge bug preventing playing

Joypads

All USB joypads can be configured with some efforts.

The most common USB joypads are pre configured, and you will just need to plug them and they will work automatically.

Here is the list of auto configured joypads so far:

https://github.com/libretro/retroarch-joypad-autoconfig/tree/master/udev

Joypads with no central button can use a L3+R3 combo to trigger the menu.

The best joypads to use with Lakka are, in descending order: