Building a Linux Gaming Console

Salams,

I had an idea for a long time to build a microconsole for Linux, something like OUYA, but Linux based. Yeah, nothing hardcore commercial, just for fun. It’s a way to get my kids to play my games (I just need controller support …)

After reading about the scooter computer, this became more of a solid idea. The current plan is a chopped-down box with Logitech F310 and/or XBox 360 controller support. It’s for my games (literally), which are, uh, let’s say not requiring major CPU/GPU powerz. It could probably also run Steam, according to the official GitHub Steam/Linux docs GitHub repo.

  • Hardware: $40 mini-PC from Ali Express. Dual-core A10/A20 1.5GHz CPU, integrated GPU, 2GB of RAM, 40GB spinning-disk HD
  • Software: Lubuntu or Xubuntu (the latter seems less resource-intensive)
  • Custom game launcher that runs on startup (lists a bunch of games)
  • Logitech F310 controller support (should work out of the box)
  • (Bonus) XBox 360 controller support
  • My simple game (Pyglet, Pygame, or HaxeFlixel)

What I really want advice on is:

  1. Does something like this exist?
  2. Does the choice of Linux distro make sense?

Windows is expensive and eats memory, so that’s out. Lubuntu is just Ubuntu with a lighter UI app and far less pre-installed apps, so it should work with the F310.

I summon thee Linux, legends of olde! @asad3ainjalout @AbrarSyed

P.S. I’m going for cheap and easy, if this works out I may buy a beefier box next time once I know what I’m doing

1 Like

Walaikum Assallam Warahmattullahi Wabrakatuhu

I know you only wanted answers to certain questions but I figured I woudl give advice on everything as well as answer your questions.

First off all I would recommend a steam controller over an xbox controller for a couple of reasons.

  1. More flexible allowing you to not only make more interesting games using the wider variety of control, but also to play existing games you made that where designed for a mouse and keyboard.
  2. It has a standalone open source driver https://github.com/ynsta/steamcontroller which can be installed on any linux machine, even ones that do not or can not have the steam client installed
  3. The controllers can be either wireless or wired, when wired they use a usb to micro usb, so basically any android phone charger, making it really easy to replace lost or damaged wires etc.

A link to that mini pc woudl be awesome. In terms of a small computer for games, I know a raspberry pi can work really well just so you have that in your options.

I dont know if there are any premade but there are a ton of guides out there, especially for the raspberry pi.

I would recommend looking at puppy linux, very light weight distribution. In fact, there is one designed specifically for tiny gaming pc’s like you mentioned. This
http://www.everydaylinuxuser.com/2014/04/puppy-arcade-11-portable-retrogaming.html

If you are looking into setting up this gaming thing on a raspberry pi, or other arm device, then check this out.

Thanks for the candid feedback @asad3ainjalout. Sadly:

  • I think I’m going with Lubuntu because it’s Ubuntu-like. That means I have a familiar environment (production is similar to development environment). Easy to install/test drivers, etc.
  • Raspberry PI, if I recall, you were the one who said it has crap CPU/GPU powers. So, I wrote that off from the start. Besides, I’m not into building hardware.
  • I don’t have a link to the $40 mini-PC yet (still have to research which one to buy)

Thanks for the tips.

Also, Steam Controller breaks my budget. I’ll probably support this if/when I buy one.

Budget?
There are some real tiny cases out there, the sizes of routers. Gimme a budget and I can give you a build.
I just recently built myself an overkill home theater PC and console replacement: https://pcpartpicker.com/list/pXF8bj

Regarding OS… There is always SteamOS. Lubuntu or Xubuntu is fine i guess, it will probably work better than fedora. I of course am partial to Arch Linux. But Arch will not give you anything out of the box.

I highly recommend against Lubuntu, or any distro aimed at being a desktop distro as for what you are planning, especially on cheap hardware, will only get in they way. If you really want to stick with a debian based system (which ubuntu is) I recommend getting the stable version of debian and doing a minimal install and than adding the packages you need/want.

Yes, that was before they came out with the Raspberry Pi 3 Model B. Plus for the 2d games you are making the raspberry pi’s can handle this amazingly well. They actually have a video chip for 2D 1080p graphics. The only restriction is that it is arm architecture so you will have to compile your games for the platform, but since you own the source code, not a problem. It will use low power, and its really small so you can fit it in nicely anywhere you want.

https://www.raspberrypi.org/products/raspberry-pi-3-model-b/

Who said anything about building hardware. Heres what you need to run a raspberry pi. It’s power cable, and hdmi cable, and sd card (for the OS) and your choice of input device. Heck, if you dont want to make a case it does not need one, want a case and dont feel like making one/ building one out of legos, buy one, there are tons of raspberry pi cases out there (one of the pros of using a popular hobbiest hardware

Makes sense about the stream controller, I still recommmend looking at it as a possible upgrade.

@AbrarSyed budget is $50 tops for now. This is an experiment.

@asad3ainjalout Raspberry Pi fits in nicely to that, but I’m hesitant. I want something all-in-one, not “hey get your kids to build a case out of lego … srsly”

I’m also not into tweaking distros. I don’t want to strip-down a distro to make it run (I can save that for phase two). I’d rather use an OOTB distro like Lubuntu which works with 256-384MB of RAM (I’m probably getting a box with 2GB RAM). Steam OS is also out, as it requires 4GB+ of RAM. D’oh.

Although you say Debian systems will get in my way, I see the opposite: I’ve used Ubuntu for a couple of years. I’ve built a bunch of games on it. I know how it works, and what to expect. To say "develop this on an Ubuntu system and ship it on a similar system with a different front-end and slightly less pre-installed apps makes a lot of sense to me. It will probably Just Work.

Remember, this is an experiment for me: I’m not selling 1000 of these a month. I’m cobbling something together quickly that will just work. Anything I can get For Free (eg. a real case, pre-packaged distro) saves me time and effort and is an obvious choice.

It may not be optimal; I don’t care at this point (I just want to see if I can make it work, and how well). You are probably right; I will probably come back to this thread and say “yep, Asad forsaw this problem, good thing he mentioned the solution.”

About the Pi 3: it’s missing two key things:

  • VGA graphics (sad, but true, I need it for my old, non-HDMI monitors on my dev machine)
  • 2GB of RAM. I want to reserve up to 1GB for the OS; 2GB means “hey any game that runs in 1-1.5GB of RAM is good”, which is reasonable IMO for HDMI games (I’ve never made one before though).

I hope I’m not on the side of “too fast and sort of doesn’t work well” in my quest to avoid “spend a few more hours and get it perfect.”

One thing then on the OS of choice, I will once again push debian stable. Ubuntu is built on debian stable. When it comes to a system you only want to do a set number of tasks, and do that very well for a while, debian stable is the way to go. Yes, you may not be super used to it, but once you get it setup, it will never break. Ubuntu is less than reliable.

I don’t want to beat a dead horse. I haven’t had issues with Ubuntu other than VM GPU drivers.

All I’ll say is: I want to develop on the same OS (or as close to possible) as what runs on the console. Ubuntu can handle my dev tools. Debian, eh, probably… I guess I should try

Ubuntu is built on Debian stable, FYI

You keep saying that :slight_smile:

This infographic sums it up well. Debian fits more into my open-source philosophy (I didn’t know Ubuntu was privately maintained), and it has 256MB minimum RAM, so I’m cool with that.

Please don’t turn this into a “Debian vs. X” thread. Let this be the final post on this topic, and let it die, or else start a new thread.

Debian is out – a basic installation, reboot with nothing running, consumes around 600MB. Which is not to speak of multiple extra steps I had to take to even get Virtual Box Guest Additions running – ugh.

Lubuntu clocks in around 300MB, which is a significant win for me (since I may get stuck on a 1GB RAM box for my first cut …)

WINNAR: Lubuntu

I was not going to argue after my last suggestion lol, but if you got debian plain running at 600 MB your doing something wrong bro :smiley:

It looks like this is not achievable within my target price range ($50USD or less). There’s nothing available with even a gig of RAM (most give 512MB).

Here’s a link to Ali Express mini-PCs. I did several searches and came up mostly empty – 512MB RAM, or 4GB HD. That’s not usable.

Option B is Raspberry Pi, but it seems like a fair amount of work to get it to boot a chopped-down Linux version. Ubuntu/Lubuntu have images, but they’re community-supported and require lots of manual steps.

This one and X3 over here seem like the only viable options. They seem to have only 4GB of space (Flash drives), though, so I’m not sure how to make this work. Lubuntu does seem to fit into only 3GB.

On the other hand, there are these two “FL500” vendors: 1.6GHz dual-core CPU, 1GB RAM (same as OUYA, apparently), and 8GB Flash-based HD. Plus, “all the fixtures” (VGA, headphone jack, HDMI) for dev and hooking it up to my TV.

If I’m going to pay that much, I might as well get something reputable like a Raspberry Pi. If history is any indication, they will probably release a new version next month.

i recommend you google raspberry pi 3 retro gaming console and go from there.

It would be outside of your budget once you consider additional hardware, but I have always been a fan of the Ordoids from Hardkernel.

I set myself a similar project a few months back to make a linux based hand-held using a SBC.
My computing platform is the OrdoidC2, which is sitting around $40 USD

  • Amlogic ARM® Cortex®-A53(ARMv8) 1.5Ghz quad core CPUs
  • Mali™-450 GPU (3 Pixel-processors + 2 Vertex shader processors)
  • 2Gbyte DDR3 SDRAM
  • Gigabit Ethernet
  • HDMI 2.0 4K/60Hz display
  • H.265 4K/60FPS and H.264 4K/30FPS capable VPU
  • 40pin GPIOs + 7pin I2S
  • eMMC5.0 HS400 Flash Storage slot / UHS-1 SDR50 MicroSD Card slot
  • USB 2.0 Host x 4, USB OTG x 1 (power + data capable)
  • Infrared(IR) Receiver
  • Ubuntu 16.04 or Android 5.1 Lollipop based on Kernel 3.14LTS

I currently have myself 2x Odroid C1+ and 2x Odroid C2.
I have a C2 attached to my TV running android so I can watch Youtube and Netflix on the larger screen.
Considering setting it up with a SNES emulator. I have seen videos of people using it for PS1 emulators.

I used to have a few of the higher power XU models, but they have depreciated, the current is XU4 @ $70 USD.

  • Samsung Exynos5422 Cortex™-A15 2Ghz and Cortex™-A7 Octa core CPUs
  • Mali-T628 MP6(OpenGL ES 3.0/2.0/1.1 and OpenCL 1.1 Full profile)
  • 2Gbyte LPDDR3 RAM PoP stacked
  • eMMC5.0 HS400 Flash Storage
  • 2 x USB 3.0 Host, 1 x USB 2.0 Host
  • Gigabit Ethernet port
  • HDMI 1.4a for display
  • Size : 82 x 58 x 22 mm approx.(including cooling fan)
1 Like

The ODroids look much more cost-effective than Pi. For the same price as a Raspberry Pi board, I can get an ODroid board and a case. That’s a win for me. Plus, 2GB of RAM – all my worries melt away. It’ll be more than enough. And Ubuntu’s already supported, officially.

Thanks @Severok, I really appreciate the pointer. The C2 looks excellent.

I’m new to this whole SD card thing, but it sounds like I just need to plug the SD card into my PC, drop the OS ISO on it, plug it into the device, and then … do something (unpack and invoke execution?) Hopefully, it’s (almost) as easy as booting from an ISO.

Let me make istikhara (again …) and figure out what to buy.

ODroid-C2 looks like the winner. I’m almost ready to pull the trigger and buy it. But first … some questions if you don’t mind @Severok :

  1. I need to get the C2, case, and a 5V/2A PS. Let’s say I go with MicroSD cards. Do I just need a micro-SD card with the right Ubuntu image on it, or do I actually need some sort of card-reader? This thread looks scary, and suggests Transcend’s “SD card reader masquerading as a USB port” as a solid option.

  2. If I decide to go with eMMC, Will I need something more than just the boot media?

  3. What’s the actual installation process like? Do I need to do anything more than plugging in the right media and powering it up? Here are some instructions that seem to be for getting the .img file onto the card to begin with.

Sorry for the late reply.

The 1st step is extracting the iso onto the SD card, or you can buy a preloaded SD card with Ubuntu when you buy the odroid.

The odroid forums is the place to for various images to suit your application as well as tutorials on setting up just about anything you could need for using the odroid. It is pretty active and friendly.

Flash the image to your SD card as per the instructions you posted earlier then put the SD in the odroid. If the os is detected on boot, a blue led will start flashing like a heart beat to show the system is live.

Initial configuration is usually done using the console accessed via the 4pin serial connection. You will need a USB to Rs232 Cable, if you don’t have one the odroid store has a max232 adaptor board that will do the job.

Just attach the board to your laptop via USB (will enumerate as a CDC device) and access it through a terminal like putty or teraterm. Connect and you will have a terminal login screen, username password odroid:ordoid.

Just log on and there should be a script file in the odroid home directory, odroid_config.Sh. Just run this and it will let you resize the partition to fill your SD card and set your display size.

From this point on you can treat the board as a regular machine using HDMI and USB mouse/keyboard

Cable ordered, thanks for the instructions. Will check in inshaAllah as soon as I get it and my device.

Meanwhile … I must update Dajjal’s Minions to work with controllers :slight_smile:

I got my ODroid today. This is going to be a real “jihad” (struggle) for me to set up – I’m a programmer, not an engineer.

I unboxed it and put it in the case without breaking case or board (there was a horrible cracking sound, but the case seems intact). The board booted up fine with the HDMI cable (I already ordered the serial cable from MonoPrice, d’oh).

It took me over an hour to fix the overscan from my TV. I couldn’t even see the launcher/bars/etc. and struggled to open a terminal. Alhamdulillah, that’s now solved (I just need to update /etc/init.d to always do this on boot up).

Next step is to get my wireless adapter to work and download DM via GitHub. I have a full-screen game launcher already set up that I can use too; controller integration works on PC at least.