SBC Gaming

33 readers
1 users here now

*** Single Board Computer Gaming *** Retro gaming emulation on single board computers, handheld portables, android devices and more...

founded 1 year ago
MODERATORS
651
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/naju on 2024-08-26 20:40:48+00:00.

652
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/Capital-Common-3510 on 2024-08-26 13:24:30+00:00.


This post is about the development status of getting an open source kernel working on the Powkiddy X51, or any Actions Semi ATM7051/7021 handheld device.

For these who don't know, the Mainline Linux kernel (upstream) is the newest released and under-development version of the Linux kernel. Quite literally github.com/torvalds/linux

A bit of history beforehand: I've been working on SoC and device bringup as a linux kernel hobbyist for a while now (~4 years). 1 or 2 years ago I got my hands on this handheld called Powkiddy X51, cause why not :D. At first sight there wasn't much I could do: it contains all system firmware files on its NAND, and I couldn't find any exposed UART ports. I tried running a small custom ARM assembly binary to write to the FB, but that didn't work as well, so it was a dead end and I abandoned any work for it.

Recently (1 or 2 months ago) I decided to get back at it since a friend of mine also bought the same console. After a lot of digging (keep in mind there's close to NO information about both the SoC and the device, so progress is really hard to keep going), I found the following stuff:

A tool from actions semi that allows flashing individual partitions on the nand as long as a .fw file with a proper partition layout is provided (IH FW Burning tool)

  1. UART5 TX and RX are exposed on the sd card pins
  2. Kernel source for the NeoGeo Arcade Stick Pro (which is using the same SoC, but has an older kernel - 3.4 instead of the newer 3.10 with device trees used on my handheld)
  3. Android firmware files for ATM7051 tablets>! (I'm most likely not gonna put any effort towards that though :P)!<
  4. Schematics for some random ATM7051 device

Proceeding forward, after disassembling the device, soldering a serial-to-usb adapter to the UART5 RX and TX, and finally firing up putty, we get u-boot logs!

And then it was time to do the hard work: get mainline linux booting. The boot flow of the device is as follows:

bootrom -> bl31 -> u-boot -> linux -> userspace

In order to get my own build of the linux kernel booting, we need to replace the downstream closed-source one. It resides in the first fat16 partition of the device, called MISC, so after dumping the whole nand via ADB, I mounted the MISC partition image dump, modified the uenv.txt a bit and started testing/debugging my mainline linux fork by flashing the modified MISC with Actions IH FW Burning Tool.

It took quite a bit of work, but I managed to get the following peripherals working:

  • timer ("actions,atm7051-timer")
  • multi core ("actions,atm7051-smp")
  • serial ("actions,owl-uart")
  • i2c ("actions,s500-i2c")
  • SIRQ (a second interrupt controller besides GIC that provides up to 3 external interrupt lines for devices like MMC and PMIC) ("actions,atm7051-sirq")
  • SPS (Smart Power System, used for managing important CPU-related power gates) ("actions,atm7051-sps")
  • DMA ("actions,s500-dma")
  • partially pinctrl
  • regulators ("actions,atc2603c")
  • SimpleDRM (wooo display via framebuffer)

And BOOM! Arch Linux INITRAMFS with 4 fancy penguins on my handheld:

Of course it was a bit messy at first xD

Here's a few issues though:

  1. Proper pinctrl and clock drivers will be hard to achieve. The drivers coding style has changed a lot not just from SoC to SoC (atm7051 3.4 pinctrl driver is quite different from the 3.10 s500 one), but also in mainline. I'm missing information about pinctrl groups, functions, clock gate and div values, etc etc etc.
  2. There's no NAND driver for any Actions SoC upstream. This means that we'll either have to write one, or stick to working on MMC.
  3. I haven't dug deep into MMC yet since we need clocks first, but there's a decent chance that it's not gonna be controlled via the DMA block (at least according to the 3.10 DTS)
  4. The GPU driver isn't open sourced. We can use proprietary blobs with hacks, but it'll still be annoying.
  5. We can't use both SD card and UART5 at the same time, otherwise we get garbled uart output.

-> I also tried getting the 3.4 compiled and booting. It needs some changes to the board driver files, as MMC isn't wired to SIRQ on our device and that causes a kernel panic. It shouldn't be that hard to get up to initramfs. If anyone wants to work on that, go ahead, it's more doable for usability purposes since it's got more drivers available than my current fork of mainline linux.

-> For the funsies, I got upstream u-boot booting with working UART, which is capable of booting linux via kermit. It could be useful if we ever want to replace the outdated stock u-boot, as long as it doesn't turn out to be signed.

Honestly though, don't have huge expectations for the future. I don't have *that* much motivation to keep working on that SoC, and I'd appreciate any help. My current focus is building up a solid portfolio for a kernel dev job.

I'll be upstreaming my work in the following weeks/months. I also need to write more detailed instructions/explanations on how things work.

Here are a few useful links (NOTE: I AM, IN NO WAY, RESPONSIBLE FOR ANY DAMAGE YOU DO TO YOUR DEVICE BY TRYING TO REPLICATE WHAT I'VE DONE. IF YOU WANT TO EXPERIMENT WITH FLASHING DIRECTLY TO YOUR NAND, PROCEED AT YOUR OWN RISK):

My mainline linux branch with atm7051 commits - (I still have to push device trees and pinctrl support, it needs some cleanup first though)

Useful information for stuff like UART pins and schematics -

The Actions IH FW Burning tool -

653
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/oneheavytitan on 2024-08-26 19:42:58+00:00.

654
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/itomeshi on 2024-08-26 17:07:57+00:00.


BLUF: If you've purchased from the Powkiddy.com web store directly, you should check your credit card transactions.

I use single-use/lockable credit cards (via Privacy.com) for web stores I don't yet trust, and I just saw two transactions alerts on a card I only for PowKiddy.com via the 'Pingpongpay - Production' processor in April 2023.

I've attempted to use Powkiddy's chat function to contact them, but it autoresponded that they will respond during business hours due to the time difference. As such, I wanted to get a warning out.

Please post if you've seen anything.

Mods: Feel free to delete if this isn't appropriate or if there are changes you would recommend.

655
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/Lower-Consequence756 on 2024-08-26 16:36:22+00:00.

656
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/thedanielcueto on 2024-08-26 15:53:05+00:00.


Curious what the take is of people in this group. I have a few handhelds and had to go back into office full time. I feel awkward/guilty having a handheld out and playing it where people can see me. I perform my job well so it’s not like I don’t get my work done. But for some reason I get this level of anxiety having a handheld out but don’t have any issue if my phone is out. What is everyone else take on this and being able to play handhelds at work? Also has anyone felt the way I do and if so what have you overcome this silly fear?!

Edit: I appreciate all the responses and opinions. I should have clarified that I am talking about lunch and breaks lol. I don’t mean just me sitting at my desk playing this thing for 9 hours straight lol. Though wouldn’t that be nice.

657
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/ProofDirection6354 on 2024-08-26 15:49:59+00:00.

658
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/Key-Brilliant5623 on 2024-08-26 12:31:53+00:00.

659
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/lordelan on 2024-08-26 09:17:06+00:00.

Original Title: Man I wish "Super Mario & The Rainbow Stars" was available for our Linux-based handhelds via Portmaster or something! (but given that the FAQ states you even need WINE to run it on Linux, this probably won't happen)

660
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/light8686 on 2024-08-26 08:23:30+00:00.


Photo grabbed from the QQ group showing the colors & comparison with RP2S. From what we know, it is a 3.7 inch 4:3 1280x960 OLED Screen. The chipset is rumored to be a SnapDragon chip that is between D900 and D1100. The potential chipset are SD 855, 850, 782G, 780G, 778G+, 778G, 7S Gen 2, and 7 Gen 1. Additionally, the administrator mentioned RP5 is most likely to be announced during the end of the year at the earliest.

Previously, I was downvoted for guessing the price for RP Mini as I included a 4GB/128GB and 8GB/256GB configuration. I just wanted to clarify that the 8GB/256GB is something I saw from an administrator from the Chinese retro handheld group. From that rumor, I guess that there will be a 4GB/128GB model for the base since it is not viable to only have a 8GB/256GB for a smaller device.

Colors Options

Comparison with RP2S

661
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/boylitdeguzman on 2024-08-26 07:01:15+00:00.

662
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/riverajerry4 on 2024-08-25 20:38:48+00:00.

663
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/Low_Berry_1657 on 2024-08-25 19:03:24+00:00.

664
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/XanXic on 2024-08-25 23:19:23+00:00.

665
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/Shigarui on 2024-08-25 22:25:02+00:00.

666
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/PlatypusPlatoon on 2024-08-25 21:01:56+00:00.


Just a friendly reminder from your mod team that Reddit will automatically delete any post or comment containing a link to AliExpress. This is site-wide behaviour, and isn’t something we on the mod team control.

The way it works is that you don’t get notified that your post or comment is deleted. Instead, it’s visible for you, but hidden for everyone else. While we can see these posts in our mod queue, there’s far too many of them for us to take action on one-by-one.

So your best bet is not to include any links in your content. We still see a ton of people doing this, and thought you should know that Reddit has been silently nuking these for months, if not years.

667
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/supermodi064 on 2024-08-25 16:22:20+00:00.

668
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/jonsan89 on 2024-08-25 18:38:31+00:00.

669
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/Crismon-Android on 2024-08-25 15:31:47+00:00.

670
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/the_express on 2024-08-25 13:52:44+00:00.

671
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/indoorheroes on 2024-08-25 10:10:20+00:00.

672
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/i-like-to-be-wooshed on 2024-08-25 09:26:02+00:00.

673
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/chris_stonehill on 2024-08-25 07:38:53+00:00.

674
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/-ystanes- on 2024-08-25 02:12:00+00:00.

675
 
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/sbcgaming by /u/VanWinkle87 on 2024-08-25 00:50:16+00:00.

Original Title: I bought a used Ayn Odin Lite for $110, and after a little frustration in getting everything set up with Emulation Station and Retro Arch and all that stuff, I'm super happy. My biggest surprise is it's played every Gamecube game I've tried so far at 2x res PERFECTLY!

view more: ‹ prev next ›