A lot of entertainment news has hit Linux over the years.
From XBMCbuntu some years back to the up and coming SteamOS, Linux is the place to be.

But as I was watching boring old standard TV a few weeks back, with my laptop by my side and the Wii (yes, I like the Wii) next to the TV, I thought to myself: ‘What if I had one place that would rule all of these’.

I mean, XBMC is great for all those movies, and the Wii is great for the old reliable games, and those great titles for the PC are on steam, why don’t I combine that.
The thing is, all of these products are perfect in what they do, but they don’t do all of it (though modern consoles have tried).
But ultimately, all of these can run on Linux. This would be the glue that would bind them.
So if you are intrigued into building the perfect entertainment system, then please read on and follow my journey.
Please note though, that this isn’t a guide, more of post that should spark some inspiration (though there may be an actual guide in the future.)

 

So my goals were simple.
1) I should be able to watch movies
2) I should be able to watch TV Shows
3) I should be able to listen to music
4) I should be able to play console games
5) I should be able to play PC games
6) All should be integrated
7) All should be controlled with a controller (wherever possible)

The first few goals are very simple to do, but the latter (controller), that would be a real challenge, especially considering not all PC games are controller compatible, especially when things must be typed in.
The main aim with the controller would be to play Crusader Kings II with a controller (note that this game is entirely played with a keyboard and mouse for obvious reasons).

Before I begin, it’s worth noting that you need to have some hardware, but the limit is entirely up to you, just note that the better hardware, the more you gain.
In my case I had a spare all-in-one computer, since I wanted to just have that by the bed to be lazy. But, if you are going to use your widescreen TV (you want that right?) then you might opt for a fairly small and not so noisy computer. Something you can hide away behind the TV.
For what I will describe, the Raspberry Pi won’t cut it, unless you are willing to sacrifice some things.

For my Linux platform, I chose Ubuntu 13.04.
My reason is that it is out of the box compatible with most Linux applications, requires least amount of set up and I’m a big Ubuntu fan.
You could also opt for XBMCbuntu which is an Ubuntu spin-off with XBMC as it’s focus. It uses XFCE as it’s Desktop environment (which you will almost never see), so you save on that juice.

After I installed Ubuntu, my first step was to install XBMC.
If you don’t know what XBMC is, let me give it a well-deserved introduction.
XBMC stands for XBox Media Center, and started life of as that, a media center for the original Xbox.
But it soon stood all on it’s own, and is the best (in my opinion) open-source media center which sports not only those features you expect out of the box, but also add-ons created by many people to make it even more powerful.

XBMC is available for free here: xbmc.org

Once XBMC was installed, I first created two folders inside my Videos folder: ‘Movies’ and ‘TV Shows’.
I threw my collection of Movies into the movies folder, and TV shows into it’s corresponding folders, and each individual movie was placed in it’s own folder bearing the name of the movie. For instance ‘Zodiac.mp4’ would go into a folder called ‘Zodiac’ which was located in the Movies folder I had created earlier.
For TV Shows it was essentially the same, except, all episodes of a season were all dropped into a folder with the name of the TV show, not in separate season folders.
I will explain why in a moment.

After this, I dropped all my Music into the Music folder.
I didn’t bother with Pictures.

Once that was done, I selected Movies on the main screen and was asked for a ‘source’ for these files.
At this point, I used XBMC’s file manager to navigate to the Videos>Movies folder, and then, I selected the option that the movies were in the folders by their respective name.
I did the same for TV Shows.
After that was done, it automagically added the movies and tv shows to the list and they were now selectable through the ‘Movies’ or ‘TV Shows’ option at the home screen. And because the titles were in their right folders, it got all the information from the internet, so I was able to see a screenshot, and description of the movies in the list. NICE!

My next step was gaming – retro-style!
I wanted to be able to play all those old classics.
From the original Mario on the NES, Final Fantasy III on the SNES, and even Gran Turismo II on the original PlayStation.
For this to work, I began with the easy bit.
I created a folder in my Home folder called ‘ROMS’, and in there I created the folders ‘NES’, ‘SNES’, and ‘PS1’.

The next step was to get the emulators.
There are a lot to choose from, and to find the one best suited for you, have a look on Google, but here is what I used.
For the NES I installed FCEUX.
For the SNES I installed ZSNES.
And for the PlayStation I installed PCSX.
For more emulators, try this site: http://www.zophar.net/linux.html

Whichever emulator you install, please make a note of where the binary gets placed. They tend to install them in a few different places but if you are unsure, try searching for it using the search feature in Nautilus File Browser, or Google. You will need to know this later.

Ok, so next we go into XBMC and I then selected Programs, then Add-ons.
A list appeared with a few add-ons that were installed, but I selected ‘Get more…’
In that big list that appears, you will want to look for ROM Collection Browser.
Select it, and select install. That’s it.
Next time you go to Programs, it will appear in the list.
So, that’s what I did next.
The thing is, right at that moment, we have no games, and no emulators to even run them on, so it will be blank.
You probably will find that on the first run, it will ask you to create a collection. If not, press ‘c’ on your keyboard and create a new collection.
Here it will ask you some questions, most of which you can leave empty, but you will want to select the correct collection type (NES, SNES, PlayStation) and select the source.
One thing I found unclear, so I will try and save you some confusion is that the screens for the location of the emulator and the roms is identical, and it makes you think it didn’t take your first imput.
So, keep a close eye on the top when you get to this step.
If it asks for the emulator, then that location of the binary you wrote down comes in here, just browse down the location of the binary and click it.
Then when it asks for the location of the ROMS, select ~/ROMS/NES for instance. This is where our games will be.
The rest can be left as it is for now.
It will also ask you for extensions of files.
Have a look through the ROMS or copies of the games you have, and type the asterisk (*) followed by a dot (.) and finally the extenstion. Do this for both upper and lowercase. So for instance, I had two type of files, ones that ended in .bin, and those that ended in .img.
So, here I entered this: *.bin, *.BIN, *.img, *.IMG
Linux is case-sensitive, so by having added both the upper and lowercase, I stop the chances of the files not being added.
Any files inside the ROM folders that don’t have these extensions, will NOT be added to the list.
To add a game at a later date, press ‘c’ on the rom list screen and select ‘import games’, then click on the down arrow on the small box that comes up to change from ‘ALL’ to either ‘NES’, ‘SNES’, ‘PLayStation’ or whatever list you have added and whose game types you want to add.
To make a new list for a new type of console, press ‘c’ and opt for a new collection.

But, the console games aren’t entirely ready just yet.
The problem is that if you start the game now, you might find the controller not to work.
So that’s what I tackled next.

Outside of XBMC, open the emulator, and usually at the top where you have file, edit etc, you want to look for an option for joypads.
Open that up and configure your joystick.
I can’t really help you here since I don’t know which emulator you use, but it should be straight forward.
Whilst you’re there, also set the option for full-screen mode since that was my next step.

Okay, at this point, go on, test it out.
Inside XBMC, open ROM manager, press up on your keyboard to set filtering options, select a game and press enter.
If all was well, like with me, XBMC should go into windowed-mode and a full-screen game should appear.
If you want to go back, simply hit ESC and XBMC goes back to full-screen.

Okay.
Next step was for all those PC games.

This is easy, install Steam if you haven’t already done so, and click on ‘Big Picture’ in the top-right hand corner.
Now Steam looks more like a media center, and next I clicked on the gear at the top to enter the settings, clicked on controller, and then the option to edit the controls.
Just click on the list and configure each button, and at the end click done.
Steam is now compatible and can be controlled with your controller.

But I still have to use my keyboard and mouse when using Crusader Kings II.
I went ahead to fix that next.
For this, I went for AntiMicro.
This application basically maps controller buttons to keyboard input, or mouse input.
I simply created a ‘Crusader Kings II’ profile, then pressed a button on my joypad to see which button that was (it lights up the button you pressed), and mapped that to keyboard keys. I did the same for the digital sticks to map mouse movements, tested, and done! Then saved the file.
Now Crusader Kings works perfectly fine (still not the same as keyboard and mouse but that’s expected).
I could do this for every game I want and fire it up when I play.

The exciting moment came when I installed AutoKey for XBMC.
With this add-on, I was able to start Steam right from XBMC, and when it closed, it would come back to XBMC. Therefore, all integrated.
The details of which I got from here: Integrating Steam and XBMC

But for some bonus points, there was one factor that would limit people, so allow me to share.
I am obliged to say that I tell you this since knowledge is power and all that.
So that out of the way, let’s add even more crunch.

What you might want to do next is add 1Channel to XBMC.
1Channel is an add-on that allows you to watch any movie, or TV Show through XBMC from the internet.
It saves space on your hard-drive, and it still has support of those descriptions and pictures.
If you want to add it, it’s probably better to follow the guide here since it has pictures and does a great job at explaining.

With all this done, I accomplished all my goals.
And since I also mapped AntiMicro for XBMC, I can stay in bed and watch a movie, play a game, listen to music and even talk to my friends without leaving my bed.

Now all I need to do is build a servant robot and I’ll never see daylight again.

I hope to find the time to actually build this again and record the steps, but this was more a sharing of my ramblings.

So, why not have a go too, and show all your friends

Advertisements