Steam Deck Emulation Done Right
Tuesday, Sep 19, 2023Show Notes
In this episode:
- Alan is consolidating multiple services onto a dedicated server
- Mark is contributing to a large open source project
- Martin is retro gaming on a refurbished Steam Deck with RetroDECK, ScreenScraper, and ZeroTier
You can send your feedback via show@linuxmatters.sh or the
Contact Form. If you’d like to hang out with other listeners and share your feedback with the community, you can
join us on:
- The Linux Matters Chatters on Telegram.
- The Linux Matters Subreddit.
If you enjoy the show, please consider supporting us.
Transcript
Alan Pope 0:00
Do I need to consolidate some services? And I might need your
Martin Wimpress 0:07
help? Are these financial services or legal services
Mark Johnson 0:11
into one affordable monthly payment by any chance?
Alan Pope 0:15
One affordable, large monthly payment? No, I have realised that I’m spending a
little bit too much on internet services, as in VPS is on staff. And I haven’t been choosy enough
with the pricing. So I went and found somewhere that was a bit cheaper that could provide me with
Internet services. But that means I’m gonna have a new service somewhere. And I need to migrate
some existing stuff in there. And I can’t quite decide how to do this. And I might need a bit of
your help to convince me Okay,
Martin Wimpress 0:48
okay, so you’re actually not talking about where, but how you want to
run the services? Is that the gist of this?
Alan Pope 0:56
Yes, I’ll outline what those services are. Right. Okay. So my own personal
website is on a bit folk VPS that I’ve had for like a decade or more, it’s at No 432 bit, I
can’t really upgrade it anymore. It’s running out of space constantly. I need some I need to
do something. Yes, I could pay for a new VPS from bit folk. And I love bit folk, and I want to support
him. But I can’t justify that. Because I also have a server at Linode. Running what I call Popey
spades, it’s open spades and online game. It’s running a couple of servers, but it’s
the tiniest of tiny loads. Those aren’t the problem. The big problem is Ubuntu dot social, which
is a chunky box at Linode. And Linode, is relatively expensive. And I’ve shopped around, and I
found something cheaper. And it’s a dedicated box at Hetzner, Germany. Now, brief sidebar, signing
up for Hetzner was a challenge in and of itself. You go to their website, and there’s loads and
loads of options for all different sizes of machines, right? And the machines are either in Finland or
Germany or somewhere else. I don’t really care. It’s the internet, it’s all the same.
And I clicked a button and was like by that, please. And it said, Okay, you need to sign up. So I sign
up. It says, Okay, you need to put in a payment method. So I put in my credit card details. And as soon
as I did that, it said we’ve detected some kind of bizarre behaviour. And we’ve deleted your
account. Wow. Oh, yes. So as soon as I put in my credit card details, I was persona non grata. And I
thought, well, that’s not a good start. It was all resolved by shouting at them on Twitter. And
they deemed me and I went through their customer support and told them, I am a genuine human being who
wishes to purchase services from you. Even after this, I still want to purchase services from you.
Sidebar, because you’re quite cheap. So I have a server, and it’s a chunky box. It’s
cheaper than everything. And and if I consolidate all these things together, now, that’s the end
of the sidebar. I’ve got a box.
Martin Wimpress 3:08
Okay, so you say you’ve got a box? I think you said you were got
you’d got like two VPS is and a chunky box. So were any of those bare metal? And is this new
thing? A big VPS? Or is it actual server?
Alan Pope 3:23
It’s an actual server? Uh huh. The VPS is two of them. The bid for VPS is a
Zen domain, I think is the implementation, but it doesn’t really matter. It’s just a small,
I’ve got a small part of a small box. And the Linode puppy spades is like the smallest shared
machine you can get. It’s tiny. It’s like a giga RAM or something. It’s super tiny.
Right? Those aren’t the real problems. The big one is I need to move the whole Mastodon thing now.
I have moved Mastodon in the past, you may remember, it used to run on a server in my office. And I use
nginx on the outside world to proxy into and tunnel into and it worked fine for small number of users,
right? Were small numbers one me and now there are more users and I want to put it on Sunday but beefy.
Now, I could migrate the same way that I did last time. And that is hand wavy, arcing all the files
across. Set up the config instal all the stuff, shut it down at the old place, backup everything make do
one last Our Sync, backup the database, restore the database, make sure the conflict works, yada yada
yada. You know, that’s it’s not hard to move services from one place to another. It’s
manual, and I’ve got documentation and I’ve done it before and it isn’t like super
hard, but it’s time consuming. But what I would also like to put on that box is my personal
website, and Popey spades. And all of that is currently on the inverted commas bare metal. There’s
no containerization of any kind. Now, I don’t like Docker. We know this You’re aware, you
are aware, dear listener, that I’m not a fan of the Dockers. And so I am not quite sure what to
do. Should I do that? Should I create these containers? And put everything in its own container?
Mark Johnson 5:14
is what I would do. But it depends on why you don’t like it.
Martin Wimpress 5:18
And other container runtimes are available. Yeah.
Mark Johnson 5:21
Is it that you don’t like containers? Or is it specifically something about
Docker that you don’t like doing stuff with it, and you’d be happy building a container in a
similar way. But running on something else?
Alan Pope 5:32
I don’t know is that the mental model of Docker? Docker is a bit weird for me,
because it’s kind of inside a thing that’s a bit like a VM. But it’s not a full VM.
And I’ve had problems with it in the past where I couldn’t, I couldn’t quite grok.
What was inside and what was outside?
Mark Johnson 5:49
Yeah, I certainly had that problem at first. Yes. Right.
Alan Pope 5:52
So there’s a bit of a learning curve there. And part of me thinks Alan just
man up, it’s 2023.
Mark Johnson 5:59
I mean, he doesn’t get around a lot of the problem of having to migrate the
data, because the data that you’d be asking about is the stuff that doesn’t live inside the
container. So you still need somewhere, sort of permanent for the data to live as well, which then gets
mounted on the container. So even if you have the software nicely packaged and easy to deploy, you still
have to think about where is all of the stuff going to live that it uses.
Alan Pope 6:27
So that’s interesting, I hadn’t thought that I thought it would all be
inside this box inside a box somewhere in Germany. But if that’s the case, then I don’t
really see the advantage, because I’m already pretty okay with administering Mastodon, and
Postgres and all the other bits and bobs and Ruby and everything. The thing is that they’re not
containerized yet. And so, you know, I will have a web server running my personal website, which is just
a static website, it’s only Hugo. But then there’s this Mastodon thing on the same box. But
then there’s also open space, which actually is running as snaps right now, I built a snap of open
space. So those are containerized. Games. Yeah.
Mark Johnson 7:09
So the advantage that you get there, if you move them all to containers is you
don’t risk them accidentally stomping all over each other when you’re upgrading things or
installing things. Like if you’ve got the Macedon stuff all in its own container, you’ve got
another container, which is just a web server, and then you’ve got something possibly snaps
possibly another container of some sort with, with the open space stuff in and you don’t have to
worry about them conflicting with each other.
Alan Pope 7:36
Yeah, well, that’s true. They already aren’t going too much, because my
own website is all static HTML and CSS and images and stuff. And that’s, that’s not hard
work. And there’s nothing active, and there’s no PHP or anything. And open spades, like I
said, is inside a snap. And so everything that has to do with it is inside a confined directory. Yeah.
I’m finding it really hard to justify the effort. But I know everyone is shouting at me, you
should do it. And I can hear it over the internet, people telling me I should use containers. It’s
the right practice to do. But yeah, I’m finding it really hard to justify it.
Martin Wimpress 8:15
I have a sort of kind of middle ground for you. So first of all, I’m
going to say anyone that’s listening to this, and they’re about to send us feedback and the
words Kubernetes are in that feedback. Don’t bother Alan isn’t going there. Right. This is
this is not the direction of travel, we are headed in
Alan Pope 8:34
so I’m not I’m not spinning up 20 boxes for Kubernetes, no hyperscale.
But
Martin Wimpress 8:40
what you might like is if you use Proxmox, which is the operating system that
runs on the metal, and it has got a web front end, which enables you to create visualise, and you can
deploy in the usual way containers. I’m going to say Docker containers, but you know, OCI
containers using Docker or pod man or whatever, and also virtual machines. So you could use something
like that, because I think that would help overcome this sort of inception visualisation? Sort of block
that you have with what is this thing? And where is it if you can actually see through like, you know, a
management interface, here are all of my containers that are running and this is what they are. And here
are also the virtual machines. And I would also say that whilst Yes, containers are definitely the sort
of de facto, it’s okay to use virtual machines. If you find that easier, and in some respects for
something like Mastodon that may be advantageous because you could define the size and scope of the
virtual machine instance more easily in order to constrain it so it doesn’t overwhelm other things
that you’re running on your box.
Alan Pope 10:00
So that is a very fair point, I could rein it in a little bit with disk space and
see, give it only a small number of CPUs, for example, yeah, because it is quite a beefy box is got like
more CPUs than I need. And that’s actually something I should consider. I think what I need to do
is make some notes and maybe put it in a blog post, and let people know what I’m thinking and then
solicit the opinions of our listeners and anyone else who passes by and tells me I’m doing it
wrong. And I’m I should do it differently.
Mark Johnson 10:35
I’m sure people will have opinions. This is the internet after all,
Alan Pope 10:38
how good Linux matters is part of the late night Linux family. If you enjoy the
show, please consider supporting us and the rest of the late night Linux team using the PayPal or
Patreon links at Linux matters.sh/support. For $5 a month on Patreon, you can enjoy an ad free feed of
our show for $10 get access to all the late night Linux shows ad free, you can get in touch with us via
email show at Linux matters.sh, or chat with other listeners in our telegram group. All the details are
at Linux matters.sh/contact.
Mark Johnson 11:17
There’s a major Moodle release coming up next month. And at work
I’ve been making some of my weightiest contributions so far to the upstream Moodle project. And
when I mentioned this in our telegram channel, someone suggested that I talk a bit about what the
process of contributing to Moodle looks like. So I thought I might have a bit of a chat about that and
and give people some perspective on contributing to a large and established open source project
Alan Pope 11:46
is the first question What on earth is Moodle? Ah, now that is
Mark Johnson 11:49
a very good question. So Moodle, you will probably have encountered it if
you’ve been to university or possibly a college in the past decade or so. It’s a virtual
learning environment is the generic term VLE. It is, I think that provides webpages for teachers to put
learning content on and run online activities with their students. The idea of it in its conception was
it was built around this idea of social constructivism, which is where people learn together and teach
each other. So it’s very focused to collaborative online activities. But it also works for dumping
a load of PDFs on a web page and things like that.
Alan Pope 12:34
That’s been my experience of really is my my son would get told your work for
the week is on the VLE. This was during the event, when via leads were coming into their own quite a
bit. And it was just a dumping ground for PowerPoints and links and stuff like that. It’s got to
be more than that, right?
Mark Johnson 12:53
Yeah, Moodle is a very powerful and varied and extensible platform. These days,
it’s referred to more as an online learning platform rather than specifically as a VLE.
It’s, it’s designed to hook into other things. And there’s a lot you can do with it.
But that’s a whole other segment, I think, on on what you can do with Moodle. But it’s been
around a long time, it’s over 20 years old. It was written in PHP four, originally, I think, which
was before PHP had things like object oriented programming and the concepts we’re familiar with
today. And it’s still mostly written in PHP with quite a lot of JavaScript, somewhere in the
region of a million lines of code across those two languages. So it’s quite big. And it can be
quite daunting to to start hacking away on. But the interesting thing is because it’s written in
PHP, if you’re running it, you’ve also got all the source code. And if you want to make a
change, you can just hack on a file and reload the page. And there it is. So what you find in the Moodle
community quite a lot, is that quite a few people who were developers used to be teachers who used
Moodle, and then wanted to make it better. And we’re able to do that quite easily.
Martin Wimpress 14:02
And for an established project of this size. So have you got any idea sort of
what the active number of developers contributing to Moodle? Currently is?
Mark Johnson 14:13
All? That’s a good question. I know that in terms of the sort of rate of
change, there’s somewhere around 40 issues are integrated each week, in terms of the actual number
of developers actively involved. It’s not that easy to put a number on that, I don’t think
because as well as the core project, you’ve also got a community of plugins around them, and
people who are active on those, and people working in house on it. But there’s quite a few people
working on it. Let’s put it that way. The conferences are always well attended by developers,
Alan Pope 14:46
and you’ve contributed to this before but there’s what you’re
talking about today is a more significant contribution.
Mark Johnson 14:52
Yeah, so my first job where Moodle was about 15 years ago, and I did my first
contribution which was a Online change to fix a CSS bug, although the bug was actually in PHP code,
that’s another story. My main my first one line change then. But yes, these are much more
significant. So there’s there’s an area of Moodle called the question bank, which is how it
manages questions used for quizzes. It has some quite advanced features for that. But the UI was looking
a bit dated. So why work recently has been around refreshing that and making it a bit more modern, and a
bit more usable and accessible and things like that, you know, to have some of the features you expect,
when you see a table on a page in an interface, you expect to be able to do things like resize the
columns and move things around and filter the results and stuff like that. So I’ve made two fairly
significant contributions in that regard.
Alan Pope 15:49
And so was this stuff that you decided it needed to be done, or someone else
decided it needed to be done, and you went, Oh, grab that.
Mark Johnson 15:57
So actually, interestingly, this is a bit of a bit of a unique source for this
contribution is actually come from a group of universities who got together and said, we’d like to
make this area better. And so they clubbed together some money, and did some design work, and then
basically hired my company to do the development work, because we’re a Moodle partner company. And
we’ve got a lot of experience working with Moodle, with our clients. And if people need Moodle
development done, we can do it. And in this case, they wanted us to do the development for them, but
contribute it upstream, rather than giving it to them in house as it were,
Alan Pope 16:35
when you initially giving it to them. So they could iterate on the design or work
on it with you, and then go upstream.
Mark Johnson 16:42
Yes. So yeah, so it’s been a sort of, I’ve been working with them
throughout the process and getting early feedback. It’s been a, an agile, and agile development
process for your buzzword bingo cards, which, you know, stuff like this is generally best done that way.
Anyway, just because the way that you think someone’s going to work never ends up being the way it
actually works in what you specify can always end up being wildly different from what you decide is
going to work in the end. So it’s always good to work that way, if you can. So yeah, I wanted to
talk a bit about once you’ve got your thing made, how do you actually get that into a project like
Moodle. So Moodle has a bug tracker, which is Jira, or gyro, however you like to say it, which has been
quite heavily configured, let’s say, for Moodles purposes, so works quite well for their workflow.
And it’s been that way, since I’ve been involved, I don’t know if they ever had
something different before. And as with most projects using Git for version control, I think I started
just as they were transitioning to get they previously used CVS, which was fun. But fortunately, I
didn’t, I never really had to learn that. So once you’ve got your bug, you set up your local
development environment and fix the issue. So it’s a It’s Php. So you set up a LAMP stack
locally, and whichever text editor or IDE you prefer, write your code. And there’s a coding style,
which you follow, there’s tools for making sure you follow the coding style, as part of a
development that you’re contributing upstream, you’re also expected to write and run
automated tests. So there’s unit tests, which test the PHP code in isolation. But there’s
also a tool more widely known as cucumber. But the PHP implementation is called Behat, which actually
runs a web browser and executes functions within the web interface, and tests that it does what
you’re expecting it to do. So you need to write tests like that, to prove that what you’re
doing is doing what you’re saying it’s doing. So once you’ve got your code ready, and
you’ve got all of this done, you then push it up to GitHub, and you link it to the issue on the
tracker. So they don’t do pull requests via GitHub pull requests method, they do it separately.
And when you push it up to GitHub, it will run using GitHub actions, it runs a bunch of these automated
checks, runs all of the unit tests across all of Moodle, which makes sure that you don’t break
other things, which is really important part of writing these automated tests, because you’re
basically saying once you’ve contributed it, the community is maintaining this now. And part of
your responsibility there is making sure that people know if something they’re going to do is
going to break it. There’s also some checks on the tracker side to make sure that you’ve
done everything there that you’re meant to do, like writing a test script that explains how this
is going to be tested. And once that’s all good, and you’ve got the green light, you then
submit it for peer review.
Martin Wimpress 19:42
So you said you don’t create pull requests. So I imagine you’ve
forked the Moodle repository. Yes, from GitHub, to your own GitHub. org. And that brings over all of the
CI CD workflows. and test infrastructure. So when you push your code to your fork, all of that test
infrastructure runs, yes. And you link from your project that you have forked to the issue tracker. And
that triggers the link, the awareness, the notification that you are working on something over here, and
you intend for it at some point to be brought into the main project. Exactly. Okay.
Mark Johnson 20:30
And they also have some separate CI stuff, and their Behat test runner, which is
all separate from GitHub, because that’s a massive thing running on Jenkins somewhere, which uses
the tracker to say, these are the branches I need to test against. Okay, so peer review in the Moodle
community can basically be done by anyone. And of course, when something can be done by anyone, that
means it’s often done by no one. This is where it helps to work for a company which which employs
other Moodle developers. But generally, you have to go out unless someone is actively looking for this
to be fixed, you need to go out and find someone who’s going to peer review this for you. But it
doesn’t have to be someone specific with specific credentials. It just has to be someone who knows
the process and is willing to follow it for you. They do publish guidelines and a checklist of the sorts
of things that you’re checking. And it’s you know, things like has the coding style be
followed, which should be automatically checked, looking out for any security issues, looking out for
any efficiency issues, making sure that the test script that you’ve written is sufficient and
covers everything. And the automated tests cover everything, because it’s fine. Say, yo,
I’ve written a test script. But there’s a difference between writing a test script and
writing a test script that tests things well, and all of these sorts of things. And once they’ve
done that, they can stick the ticked off checklist on the issue, and say, this is now ready for
integration. And integration in Moodle is a second round of review, which is done by a member of Moodle
HQ, which is the the affectionate name for Moodles main sponsor company. They are the ones who run all
of this infrastructure, they own the Moodle trademark, and they employ the Moodle, core developers, who
are the people who provide the integration review. So aside from this high level peer review,
they’re there to really look into your code and say, Is this of sufficient quality to go into
Moodle? And is it a good fit? Does this you know, following the architectural direction that we’re
going in? Is this following the latest best practices that we’re adhering to? And is this
something that we definitely want in Moodle core, as opposed to as a Moodle plugin?
Martin Wimpress 22:44
So those conversations don’t necessarily happen up front, then this,
this is sort of a after you’ve done the work, is there some way you can discuss like ideas for
changes you want to make so you don’t work on something? And go through the first two steps of
contribution? And then get told? Actually, no, we’re not interested? Yes.
Mark Johnson 23:05
And it has been a bit of a bumpy road with some of the stuff I’ve been
working on recently in that regard. But yes, there’s the Moodle forums, there is the issue tracker
where you can discuss things up front before you start working on them. And there’s the Moodle
matrix channel where you can discuss things with our developers,
Alan Pope 23:19
did anything get rejected, or you have to rework anything?
Mark Johnson 23:22
Yes, I’ve been doing quite a lot of rework on on one of them, because
basically, it wasn’t following the there’s been a lot of work into the user experience,
consistency and modernisation of Moodle. And some of the work I’ve done was not well aligned with
the direction that was going in. So after some conversations, we agreed that I’d sort of date the
the Moodle HQ, UX team gave me some designs, to adjust my work to follow better what they’re going
to be doing in the future, so that we don’t end up with two completely different things in
different parts of the system. So your work has landed now is in the process of landing, one of the big
changes has landed, it’s in the process of landing. And the release is I think, just at the start
of October. So we’re in code freeze now, which means everything’s been submitted to
integration. And yet my second big change is going through the integration process as we record, which
is on the fifth of September. I should just put that note in there. So depending on when you’re
listening to this, it may already be out it’ll hopefully be out in Moodle 4.3.
Alan Pope 24:29
Nice. I guess the more important question is, Are your customers happy?
Mark Johnson 24:33
I think so. We can email it unless it let us know if they’re not.
Martin Wimpress 24:40
I purchased one of those refurbished steam decks from Valve. And after two
weeks of ownership. I’m here to tell you if your retro gaming on the Steam deck, you’re
doing it wrong. We’re here to tell you how to do it right.
Alan Pope 24:56
We are here to tell you are we
Martin Wimpress 25:00
Yeah, I’m totally throwing you under the bus with this one, Alan. So I
finally capitulated I’m fully signed up host to the Linux matters podcast for it now to own a
steam deck. That seems to be about 60% of our content. So I felt I should get one so I can join in the
fun. So here we are with my first steam deck segment for the for the podcast.
Mark Johnson 25:24
Welcome to the cult. Yes, yes.
Martin Wimpress 25:27
So I will say if anyone’s wondering about refurbished steam decks,
it’s just like a proper not refurbished one. Everything appears absolutely brand new. The one
difference is is that all of the little boxes that it comes in all have the words refurbished, actually
imprint properly made not stuck on with stickers. It’s all very professional.
Alan Pope 25:49
It did look just like a brand new device. Like yeah, so when you unpacked it was
like, no different than mine.
Martin Wimpress 25:54
Yeah. Identical other than the addition of the word refurbished on all of the
paper pull outs and all the rest of it. And when people cottoned on to the fact that I’d got a
steam Deck, the first recommendation I got from of several people was you should instal em you deck
because that’s how you do retro gaming on the Steam deck. And I was going to resist getting into
retro gaming on the Steam deck, because I was going to keep it for PC gaming. But then, Alan, you went
and found something and you totally ruined, ruined that for me.
Alan Pope 26:28
I apologise. I have not been a fan of emu deck ever. All due respect to the
developers. It’s a bag of spanners. And I don’t like it and I don’t like the way it
instals And I recently nuked my Steam deck, I wiped the OS completely, and start again. And when I
started again, I thought, oh, I can probably play some retro stuff on here, here. What’s this?
This is not a new deck, this is something else completely different. And so I found a thing called retro
deck. And I installed that. And they mentioned it to Martin, and he won’t shut up about it now.
Martin Wimpress 27:06
Yes, so retro deck is what I’m here to tell you about. And it is
fabulous. So there’s a few things I really like about retro deck. The first is it’s not a
bag of spanners. It’s distributed as a flat pack, which you can find in flat hub. So everything is
integrated in this one bundle. It is all of the things you need to run emulators, and one instal. And
you’re done. And it’s all isolated together there. So that’s really tasty. I like that
a lot. But then the actual architecture for how this works currently, and also where they’re
going. I really like the first thing I like is it’s really easy to use, unlike some of the sort of
emulation framework platforms which expose the retro arch user interface, which I am not a fan of it
overwhelms me, I don’t understand what all the options are. And also, I don’t really want to
know what all the options are, I just want to play some games. And retro deck does that. It just shows
you the games you can play and hides all of that complicated stuff away underneath. So in terms of how
it presents, it’s kind of like a Netflix like user interface. Which gets better when you download
metadata. And I’ll talk about that in a little bit. But it’s very easy to use, I
haven’t needed to dive into the underpinnings of retro arch and all the rest of it all of the
stuff that I’ve needed to change has been exposed through its own interface.
Mark Johnson 28:54
I have played with me deck. And I agree with your sentiments. But one of the
things that I do like about it is that includes a tool, which finds all of the stuff you’ve gotten
set up with me deck and adds it into your steam launcher interface. And at that point, you just go into
steam and you say launch this and it’s just like you’re playing a game through Steam, you
don’t feel like you’re going into a new deck to play it. Does retro deck do the same sort of
thing? Or is it all through its own interface?
Martin Wimpress 29:23
I don’t think it does. But I don’t know, for sure, because I
haven’t looked for that feature.
Alan Pope 29:28
I don’t think it does. And I don’t want it to do that. And
Martin Wimpress 29:31
I agree with that. I
Alan Pope 29:32
don’t want my Steam cluttered up with a whole bunch of spanners. I want the
one thing to launch it and then I’ve got a view on all of the emulators and all the games that I
want to play. And it was the whole integrating all of these little spanners in steam UI that really put
me off a new deck. And that’s the thing I love about retro deck, you launch one thing and
you’re now in all the emulators and you could just go into each one
Mark Johnson 30:00
Is that launcher launched through the steam interface?
Alan Pope 30:03
Yeah, it’s add one item, and you only have one thing to add to steam and
you’re done.
Martin Wimpress 30:08
Yeah. So there is one game in steam called retro deck. And then it’s a
beautiful launcher. And it really is very beautiful. So some other things that I liked about it is, this
was an interesting one, when you push the two buttons to quit a game, for whatever reason, when you
start that game, at some point in the future, it automatically creates an autosave points so that when
you start that game next time, you’re immediately bang back in the game exactly where you left it,
which took me by surprise a couple of times that I realised it was doing. I liked that, because when I
just do pick up and play, this is grateful, right, I’m going to put this down, I may come back to
in a couple of days time, but I can pick up power and carry on from where we were. And then it also has
retro achievements, which I’ve never dabbled with before. But I can totally see that I could
become a retro Achievement Hunter. As a result of how nicely integrated that is into retro deck,
including, like notification toasts appearing over the game as you hit certain achievements.
Mark Johnson 31:16
So that hooks into various retro games and tracks when you do certain things in
them. Yeah, huh. That’s quite neat.
Martin Wimpress 31:23
Yeah, is it’s pretty cool. Not every game is supported, because
obviously, there’s 10s of 1000s of retro games that you can lob on these things. But all the big
ones tend to have some kind of achievements. And it’s quite a lot of fun actually doing that.
Alan Pope 31:37
The user interface that you’ve mentioned, is very beautiful. It’s based
on Emulation Station, or a fork of Emulation Station, because I think that died off at some point. Yeah,
which is the same UI that I’ve got on my PI Kade. My tabletop pi arcade thing. Emulation Station
has been around a while. But this with themes and stuff, it’s taking it to the next level,
it’s so nice to use.
Martin Wimpress 31:58
Yeah, so it uses Emulation Station desktop edition, and the retro deck team
are actually contributing retro deck specific features and changes to that project that is only exposed
when it’s running on the retro deck. So they’re sort of working in tandem. So it’s all
very seamlessly integrated. And this is one of the things I like about like, the way the project is
being led and the direction it’s headed in. Because it has got some rough edges, they signpost,
those rough edges and make it very clear. This is the way it is right now. For example, there’s
some zenity popups, and things like this at the moment, they fully intend to integrate into either their
own UI or into the Emulation Station desktop. But it’s all been very thoughtfully put together.
And the project itself is still betta. So whilst I’ve had no issues running this, I’m by no
means a hardcore retro gamer. I don’t know what is shouldn’t be working on what platforms
aren’t enabled, for example, I know that their intention is to enable everything that retro arch
supports. I don’t think everything is right now. But I like the way they’re sort of
signposting where they’re headed with this in the future. And here’s one of the things I
absolutely love about this is because it’s a flat pack, you can run it on desktop, Linux, too. So
actually, I’ve been mostly running it on my desktops, because I can, and I’ve got sync
things sat in the background, automatically syncing my game library, between all of my machines that
have retro deck installed, and all of my configuration, and save states and meta data and all of that
stuff is consistent across all of these devices, including the steam deck because I did a little hack.
And I got zero tear working on the Steam deck. So all of this synchronisation works between the steam
deck and my desktop machine so I can manage my library in one place, one virtual place and all of these
machines pick it up.
Alan Pope 34:10
You mentioned briefly that artwork. There’s a whole bunch of stuff to do with
scraping as well. There is you showed me? Yeah,
Martin Wimpress 34:18
yeah, so there’s two providers that provide artwork and meta data. One
of them is called Screen Scraper. It’s a French website. And there’s the other one which is
the TV database. I’d never used this French one, I’ve signed up and I’m using that
it’s quite slow, but it gives you a really great results because it gives you videos, and all of
the cover art and all of the history behind all of the games so it very much is like Netflix when you go
to a game. It has a rolling video. The theme that I’m using has like arcade cabinets that match
the originals or TV sets that era accurate for the games consoles, and it’s just a very beautiful
experience and in invites you to want to play these games because each time you switch to the next one,
it’s colourful, and sounds great, looks amazing. And you just want to play. So, there it is.
It’s retro deck, it’s retro deck.net. We’ll have links to all of this in the show
notes, including my instructions on how to instal zero tear on the Steam deck, which is also a nice
generic way to have persistent software installations from the arch repos on a steam deck that survive
steam OS updates.

