[ Linux, Digital Exploration and Embedded Systems ]

Main menu

Post navigation

Overclocking a MK808B plus (Amlogic S805) to run LAKKA.

Hello blog. It was many years sins I made a post on this blog, but I guess now its the time again.

I bought a MK808B plus with the Amlogic S805 chip onboard a while ago, I really like this SOC. Its efficient and quite powerful for its size.

Sins my sister requested a NES Classic Mini for the kids for Christmas, I thought that it was better to create a Emulator-console instead. And I think that they have a hard time to appreciate a 8 bit console now days 😛

Sins they already got a MK808B plus with android ( Yes I installed it a year a go so they could stream Youtube and watch movies with Kodi) I saw the perfect plan to pimp this computer a little bit.

I noticed that this computer has support for LAKKA. A lightwight Distro with Retroarch on top. And it worked out great. Check it out here: http://www.lakka.tv/

I bought a couple of cheap china ps3 wireless gamepads on ebay witch had support in the distro.

I took a while until I figured out Retroarch worked. The first thing was that I could not add my games to the library. Seems like they where not from the correct release. Looking at the retroarch page, they refer to support the No-Intro releases, and after some googling I found a torrent with all the No-Intro releases packed into a big bundle.

I also wanted the boxcovers for the games. I manually installed them in the thumbnails folder because I had some problem to download this directly in retroarch. It was just to extract them in the folder with the correct name. you find them here.

Said and done. Everything seems to work out quite well. Snes, Nes, SegaMS and Sega Genesis. and even PS1 seems to work. But I didn’t got the N64 to work, which was my main console that I wanted to work. Mainly because they have many games for kids, likplaying, seems to work okay for about 5 minutes and after that it was thermal throttling. The day before Christmas I bought a 50mm fan and solder it to a USB cable. It was working. The SOC did not throttle anymore and the N64 games worked out, a bit laggy thought with some slowdowns running Mario Kart.

The Kids loved the christmas gift, and we where playing Mario Kart the whole evening, and they did not care about the slowdowns. But I did. 🙂

So long story short. I wanted to overclock this SOC and see if I could get a more smooth gameplay in the N64 console. I thought it was wierd that it was thermal throttling because its not hot at all. All my other SOM computers have been much warmer.

Said and done. At first I cloned the src from github.

git clone https://github.com/libretro/Lakka-LibreELEC

And after that run the magical make command.

PROJECT=S805 SYSTEM=MK808B-Plus ARCH=arm make image -j4

The Lakka/LibreELEC should have super cred for the amazing build scripts. Every thing worked out without any breaks which often happens in big project like this. 🙂

6 hours later the build-process was complete and we got a nice image to deploy to the target. It worked out perfect. Now was the time to experiment and see if we could get some more performance out of the Amlogic SOC.

After some researching i found out 4 files that I had to modify to overclock the S805 in the Linux kernel.

/arch/arm/boot/dts/amlogic/meson8b_mk808bplus.dtd

The device tree file contains all board specific data. Here I found the voltage regulation depending on which frequency we are using. I needed to bump the voltage a little bit to get it stable… by writing 1f instead of 1c, I get 1,17 volt instead of 1,14v. This made the trick.

After some tuning, It worked out perfectly. Mario Kart are now runnning smooth. Without slow-downs, and Super Mario 64 also works great. So the overclock made a big difference here. With the fan 50mm fan connected to 5v its running @ max 75C, stable.

If you want to try the modded kernel you can download it here including the modified source-code. Just replace your current kernel.img and kernel.img.md5 on your lakka partition. Disclamer: Your device will overheat if you dont use a fan.