Podchaser Logo
Home
Steam Deck Emulation Done Right

Steam Deck Emulation Done Right

Released Tuesday, 19th September 2023
Good episode? Give it some love!
Steam Deck Emulation Done Right

Steam Deck Emulation Done Right

Steam Deck Emulation Done Right

Steam Deck Emulation Done Right

Tuesday, 19th September 2023
Good episode? Give it some love!
Rate Episode

Episode Transcript

Transcripts are displayed as originally observed. Some content, including advertisements may have changed.

Use Ctrl + F to search

0:03

I need to consolidate some services

0:06

and I might need your help. Are these

0:08

financial services or legal services?

0:11

Into one affordable monthly payment by any chance?

0:15

One affordable large monthly payment? No,

0:18

I have realized that I'm spending

0:20

a little bit too much on internet

0:22

services, as in VPSs

0:25

and stuff, and I haven't

0:28

been choosy enough with the pricing, so

0:30

I went and found somewhere that was a bit cheaper that

0:32

could provide me with internet services.

0:35

But that means I'm gonna have a new server somewhere

0:37

and I need to migrate some existing

0:39

stuff in there, and I can't

0:42

quite decide how to do this,

0:45

and I might need a bit of your help to help convince

0:47

me, okay? Okay, so you're

0:50

actually not talking about where, but

0:52

how you want to run these

0:54

services. Is that the gist of this? Yes,

0:57

I'll outline what those services are, right?

1:00

So my own personal website is

1:02

on a BitFolk VPS that I've had

1:03

for

1:04

like a decade or more. It's 1804,

1:07

32-bit, I can't really upgrade

1:09

it anymore, it's running out of space constantly,

1:12

I need to do something. Yes,

1:14

I could pay for a new VPS from BitFolk, and

1:17

I love BitFolk and I want to support him, but

1:20

I can't justify that,

1:22

because I also have

1:24

a server at Linode running

1:27

what I call popey spades, it's open spades,

1:29

an online game. It's running a couple of servers, but it's

1:31

the tiniest of tiny Linodes. Those

1:33

aren't the problem. The big problem

1:36

is Ubuntu.social, which

1:38

is a chunky box

1:40

at Linode, and Linode

1:43

is relatively expensive, and I've

1:45

shopped around and I found something

1:48

cheaper, and it's a dedicated

1:51

box at Hetzner, Germany.

1:54

Now, brief sidebar, signing

1:56

up for Hetzner was a challenge in and of itself.

2:00

You go to their website and there's loads and loads of options

2:02

for all different sizes of machines, right? And

2:05

the machines are either in Finland or Germany

2:07

or somewhere else. I don't really care

2:09

if the internet is all the same. And

2:11

I clicked a button and was like,

2:14

buy that please. And he said, okay, you need to sign

2:16

up. So I sign up. And he says, okay, you need

2:18

to put in a payment method. So I put in

2:20

my credit card details. And as soon

2:22

as I did that, it said we

2:25

have detected some kind of bizarre behavior

2:27

and we've deleted your account. Wow.

2:29

Oh, yes. So as soon as I put

2:31

in my credit card details, I was persona

2:34

non grata. And I

2:36

thought, well, that's not a good start. It

2:39

was all resolved by shouting

2:41

at them on Twitter and they

2:44

DMed me and I went through their

2:46

customer support and told them, I am

2:48

a genuine human being who wishes to purchase

2:50

services from you. Even after this,

2:53

I still want to purchase services from you.

2:55

Sidebar because you're quite cheap. And

2:58

so I have a server and it's

3:00

a chunky box. It's cheaper than everything and

3:03

and if I consolidate all these things together now,

3:06

that's the end of the sidebar. I've got a box. Okay.

3:09

So

3:09

you say you've got a box. I think

3:11

you said you would got you'd got like two

3:13

VPS is and a chunky box. So

3:15

were any of those bare metal and

3:18

is this new thing a big

3:20

VPS or is it actual

3:23

server? It's an actual server. Aha

3:26

the VPS is two of them.

3:28

The Bitfoc VPS is a Zen

3:31

domain. I think is the implementation,

3:33

but it doesn't really matter. It's just a small I've got

3:35

a small part of a small box and

3:38

the Linode Popi

3:40

spades is like the smallest shared

3:43

machine. You can get tiny is like a gig

3:45

of RAM or something. It's super tiny. Right. Those

3:48

aren't the real problems. The big one is I

3:50

need to move the whole masters on thing.

3:52

Now I have moved masters on

3:54

in the past. You may remember it used

3:57

to run on a server in my office. And

4:01

I used nginx on the outside world to

4:03

proxy into and tunnel into

4:06

and it worked fine for a small number of users,

4:08

right? Where small number is one

4:10

me and now there are more users and

4:13

I want to put it on something But beefy now I

4:15

could migrate the same way that I did last time

4:17

and that is Handwavy our

4:20

sink all the files across Set

4:22

up the config install all the stuff

4:25

shut it down at the old place back up everything

4:27

make do one last our sink back up The database

4:29

restore the database make sure the config works. Yeah,

4:32

yeah, yeah, you know, that's not hard

4:34

to move services from one place to another

4:37

It's manual and I've got documentation

4:39

and I've done it before and it isn't like super

4:41

hard, but it's time-consuming but what

4:43

I would also like to put on that box is my personal

4:45

website and poopy spades

4:48

and All of that

4:50

is currently on the inverter commas

4:53

bare metal. There's no containerization

4:55

of any kind now I don't like

4:57

Docker we know this You

5:00

are aware dear listener. I'm not a fan

5:02

of the dockers And so

5:04

I I'm not quite sure what to do. Should

5:07

I do that? Should I? Create

5:09

these containers and

5:12

put everything in its own container It's

5:14

what I would do, but it depends

5:16

on why you don't like it and other

5:18

container runtimes are available

5:21

Yeah Is it that you don't like containers

5:23

or is it specifically something about a docker

5:25

that you don't like doing stuff

5:27

with it and you'd be Happy building

5:29

a container in a similar way, but running

5:31

on something else I don't know is that the

5:34

mental model of docker docker is a bit weird for

5:36

me because it's kind of inside a thing That's

5:38

a bit like a VM, but it's not a full

5:40

VM and I've

5:43

had problems with it in the past where I couldn't

5:45

I couldn't quite grok What was

5:47

inside and what was outside? Yeah, I

5:50

certainly had that problem at first. Yes, right

5:53

So there's a bit of a learning curve there and

5:55

you know part of me thinks Alan just man up. It's 2023

5:58

I just use docker. I mean it doesn't get around

6:00

a lot of the problem of having to migrate the data

6:02

because the data that you'd be are

6:04

thinking about is the stuff that doesn't live inside

6:07

the container. So you still need

6:09

somewhere sort of permanent

6:12

for the data to live as well,

6:14

which then gets mounted on the container. So

6:17

even if you have the software nicely packaged and easy

6:19

to deploy, you still have

6:21

to think about where is all of the

6:24

stuff going to live that it uses.

6:27

So that's interesting. I hadn't thought that.

6:29

I thought it would all be inside this box, inside

6:32

a box somewhere in Germany. But

6:35

if that's the case, then I don't really see the advantage

6:38

because I'm already pretty okay with administering

6:40

Mastodon and Postgres

6:43

and all the other bits and bobs and Ruby and

6:45

everything. The thing is that

6:47

they're not containerized. And so

6:50

I will have a web server running

6:52

my personal website, which is just a static website.

6:54

It's only Hugo, but then there's

6:56

this Mastodon thing on the same

6:59

box. But then there's also OpenSpace,

7:01

which actually is running as snaps. I

7:04

built a snap of OpenSpace. So those are containerized

7:08

games. Yeah. So the advantage that

7:10

you get there if you move them all to containers

7:12

is you don't risk them accidentally stomping

7:14

all over each other when you're upgrading

7:17

things or installing things.

7:19

Like if you've got the Mastodon

7:22

stuff all in its own container, you've got another

7:24

container, which is just a web server. And then

7:26

you've got something possibly snaps,

7:29

possibly another container of some sort with

7:31

the OpenSpace stuff in and you don't have to worry

7:33

about them conflicting with each

7:35

other. Yeah. While that's true, they

7:38

already aren't going too much

7:40

because my own website is all static

7:43

HTML and CSS images and stuff. And

7:46

that's not hard work. And there's nothing active

7:48

in there. There's no PHP or anything. And

7:51

OpenSpace, like I said, is inside a snap.

7:54

And so everything that is to do with it is inside

7:56

a confined

7:58

directory.

7:59

I'm finding it really hard to justify

8:02

the effort but I know everyone

8:04

is shouting at me you should do it and

8:07

I can hear it over the internet people telling me

8:09

I should use containers it's the right

8:11

practice to do but

8:13

yeah I'm finding it really hard to justify it.

8:15

I have a sort of kind of middle ground

8:18

for you so first of all I'm

8:20

going to say anyone that's listening to

8:22

this and they're about to send us

8:24

feedback and the words kubernetes

8:27

are in that feedback don't bother Alan

8:29

isn't going there right this is this is not

8:31

the direction of travel we are

8:33

headed in so I'm not I'm not spinning

8:35

up 20 boxes for kubernetes no hyperscale

8:38

open space but what

8:41

you might like is if you

8:43

use Proxmox which

8:46

is the operating system

8:48

that runs on the metal and

8:51

it has got a web front end

8:53

which enables you to create

8:56

visualize and you can deploy

8:58

in the usual way containers

9:00

I'm going to say docker containers

9:02

but you know OCI containers using

9:05

docker or podman or whatever and

9:07

also virtual machines so

9:09

you could use something like that

9:11

because I think that would help overcome

9:14

this sort of inception

9:16

visualization sort of block

9:19

that you have with what is this thing and where

9:21

is it if you can actually see through

9:23

like you know a management interface here

9:26

are all of my containers that are running

9:28

and this is what they are and here are

9:30

also the virtual machines and I would also say

9:33

that whilst yes containers are

9:36

definitely the sort of de facto

9:38

it's okay to use virtual machines if

9:40

you find that easier and in some respects

9:42

for something like mastodon that

9:45

may be advantageous because you could

9:48

define the size and scope

9:51

of the virtual machine instance more

9:53

easily in order to constrain

9:55

it so it doesn't overwhelm other things

9:57

that you're running on your box

9:59

That is a very fair point. I could

10:02

rein it in a little bit with this space

10:04

and see give it only a small number of CPUs for

10:07

example, yeah, because it is quite a beefy

10:09

box. It's got like more

10:11

CPUs than I need and That's

10:14

actually something I should consider. I think

10:16

what I need to do is make

10:19

some notes and maybe

10:21

put it in a blog post and let

10:24

people know what I'm thinking and then Solicitly

10:27

opinions of our listeners and anyone

10:29

else who passes by and tells me

10:32

I'm doing it wrong and I'm I should do it differently

10:35

I'm sure people will have opinions. This

10:37

is the internet after all

10:42

Linux Matters is part of the late-night Linux

10:44

family

10:45

If you enjoy the show Please consider supporting

10:47

us and the rest of the late-night Linux team

10:49

using the PayPal or patreon links at Linux

10:52

Matters dot sh support

10:55

For $5 a month on patreon you can enjoy

10:57

an ad free feed of our show or

10:59

for $10 get access to all the late-night Linux

11:02

shows ad free You can

11:04

get in touch with us via email show

11:06

at Linux Matters dot sh or chat

11:08

with other listeners in our telegram group

11:10

All the details are at Linux Matters dot sh

11:13

slash contact There's

11:17

a major Moodle release coming up

11:19

next month and at work I've

11:22

been making some of

11:24

my weightiest contributions so far

11:26

to the upstream Moodle project And

11:28

when I mentioned this in our telegram channel Someone

11:31

suggested that I talk a bit about what the process

11:33

of contributing to Moodle looks like

11:35

So I thought I might have a bit of a chat

11:38

about that and and give people some perspective

11:41

on contributing to a

11:43

large and Established open source

11:45

project is the first question what on

11:47

earth is Moodle now that is a

11:49

very good question So Moodle

11:52

you will probably have encountered it if you've

11:54

been to University

11:57

or possibly a

11:58

college in the past

12:00

decade or so. It's

12:03

a virtual learning environment is the generic

12:05

term VLE. It is a thing

12:07

that provides web pages for teachers

12:10

to put learning content on

12:12

and run online activities

12:14

with their students. The idea

12:16

of it in its conception was it was built

12:19

around this idea of social constructivism

12:21

which is where people learn

12:24

together and teach each other. So

12:26

it's very focused to collaborative

12:28

online activities but it also

12:31

works for dumping a load of PDFs

12:33

on a web page and things like that. That's been

12:35

my experience of VLEs. My son would

12:38

get told your work for the week

12:40

is on the VLE. This was during

12:43

the event when VLEs

12:45

were coming into their own quite a bit and

12:48

it was just a dumping ground for PowerPoints

12:50

and links and stuff like that. It's got to be

12:52

more than that right? Yeah my Moodle is

12:54

a very powerful and varied and

12:57

extensible platform. These

12:59

days it's referred to more as an online

13:01

learning platform rather than specifically as a

13:03

VLE. It's designed to hook into

13:05

other things and there's a lot

13:07

you can do with it but that's a whole other

13:09

segment I think on what you can do

13:11

with Moodle. But it's been around

13:14

a long time. It's over 20 years old.

13:16

It was written in PHP 4

13:19

originally I think which was before

13:22

PHP had things like object-oriented

13:24

programming and the concepts

13:26

we're familiar with today. It's still

13:29

mostly written in PHP with quite a lot of JavaScript

13:32

somewhere in the region of a million lines of code

13:34

across those two languages. It's

13:37

quite big and it can be quite daunting

13:40

to start hacking away on. But

13:42

the interesting thing is because it's written in PHP

13:44

if you're running it you've also got all

13:46

the source code and if you want to make a change

13:49

you can just hack on a file and reload

13:51

the page and there it is. So what you find in the Moodle

13:53

community quite a lot is that quite

13:56

a few people who are developers used to be teachers

13:58

who use Moodle and then wanted to make a change. it better

14:00

and we're able to do that quite easily.

14:02

And for an established project of

14:04

this size, have we got any idea sort

14:07

of what the active number

14:09

of developers contributing to Moodle

14:12

currently is?

14:13

Oh, that's a good question.

14:15

I know that in terms

14:17

of the sort of rate of change, there's

14:20

somewhere around 40 issues are

14:22

integrated each week. In terms

14:24

of the actual number of developers actively

14:27

involved, it's not that easy

14:29

to put a number on that, I don't think. Because

14:31

as well as the core project, you've also got a

14:33

community of plugins around them, and

14:36

people who are active on those, and

14:38

people working in house on it. But

14:40

there's quite a few people working on it. Let's put it that

14:43

way. The conferences are always

14:45

well attended by developers. And you've contributed

14:47

to this before. But this what you're talking about today

14:49

is a more significant contribution.

14:52

Yeah, so my first job with

14:54

Moodle was about 15 years

14:57

ago. And I did my first contribution,

14:59

which was a one line change to

15:01

fix a CSS bug. Although the

15:04

bug was actually in PHP code. That's another

15:06

story. I made my first one line

15:08

change then. But yes, these are much

15:10

more significant. So

15:12

there's an area of Moodle called the question

15:15

bank, which is how it manages questions

15:17

used for quizzes. It has some quite

15:20

advanced features for that. But the

15:22

UI was looking a bit dated. So

15:24

my work recently has been

15:26

around refreshing that and making it a bit more modern,

15:29

and a bit more usable and accessible

15:32

and things like that, you know, to have some

15:34

of the features you expect when you see a table

15:36

on a page in an interface, you expect

15:38

to be able to do things like resize the columns and

15:40

move things around and filter the

15:42

results and stuff like that. So I've made

15:45

two fairly significant contributions

15:48

in that regard.

15:49

And so was this stuff that you

15:51

decided needed to be done or someone

15:54

else decided to be done and you went, I'll

15:56

grab that. So actually, interestingly,

15:58

this is a bit of a A bit of a unique

16:01

source for this contribution is actually

16:03

come from a group of universities

16:06

who got together and said, we'd

16:08

like to make this area better. And

16:10

so they clubbed together some money and

16:12

did some design work, and then basically

16:15

hired my company to do the development

16:17

work because we're a Moodle partner company and

16:19

we've got a lot of experience working with Moodle

16:22

with our clients. And

16:24

if people need Moodle development done, we can do it. And

16:26

in this case, they wanted us to do the development for

16:28

them, but contribute it upstream

16:31

rather than giving it to them in-house,

16:34

as it were. Were you initially giving

16:36

it to them so they could iterate on the

16:38

design or work on it with

16:41

you and then go upstream? Yes.

16:43

So, yeah, so it's been a sort of, I've been working

16:46

with them throughout the process and getting

16:48

early feedback. It's been

16:52

an agile development process. For

16:54

your buzzword, bingo cards. Which

16:58

stuff like this is generally best done that

17:00

way anyway, just because the

17:02

way that you think something's going to work never ends up being the

17:04

way it actually works and what you specify

17:07

can always end up being wildly different from what

17:09

you decide is going to work in the end. So

17:11

it's always good to work that way if you can. So

17:14

yeah, I wanted to talk a bit about once you've got

17:16

your thing made, how do you actually

17:19

get that into a project like Moodle? So

17:21

Moodle has a bug tracker, which is Jira

17:24

or Jaira, however you'd like to say

17:26

it, which has been quite heavily configured,

17:30

let's say, for Moodle's purposes.

17:32

So works quite well for their workflow and

17:35

it's been that way since

17:37

I've been involved. I don't know if they ever

17:39

had something different before. And

17:42

as with most projects, it's using Git for

17:44

version control. I think I

17:46

started just as they were transitioning to

17:48

Git. They previously used CVS, which

17:51

was fun. But fortunately,

17:53

I never really had to learn that. So

17:55

once you've got your bug, you

17:57

set up your local development environment and

17:59

fit the issue. So it's a it's

18:02

PHP so you set up a lamp stack locally

18:04

and whichever text editor

18:07

or ID you prefer,

18:08

write your code

18:10

and there's a coding style which

18:12

you follow. There's tools for making sure you

18:14

follow the coding style. As part

18:16

of a development that you're contributing upstream

18:18

you're also expected to write and run automated

18:21

tests. So there's unit tests

18:24

which test the PHP code in

18:26

isolation but there's also a tool

18:29

more widely known as Qcumber but the PHP

18:32

implementation is called Bhat which actually

18:34

runs a web browser and executes

18:37

functions within the web interface and

18:40

tests that it does what you're expecting it to do. So

18:42

you need to write tests like that to

18:45

prove that what you're doing is doing what you're saying it's

18:47

doing. So once you've got your code ready

18:49

and you've got all of this done you then push it up to

18:51

GitHub and you link it to

18:53

the issue on the tracker. So they don't do

18:56

pull requests via GitHub's

18:58

pull request method they do it separately

19:00

and when you push it up to GitHub

19:03

it will run using GitHub actions it runs

19:05

a bunch of these automated checks,

19:08

runs all of the unit tests across all

19:10

of Moodle which makes sure that you don't break other

19:12

things which is really important part of writing

19:15

these automated tests because you're basically saying

19:17

once you've contributed it the community

19:19

is maintaining this now and part of your responsibility

19:21

there is making sure that people know if something

19:24

they're going to do is going to break it. There's

19:26

also

19:27

some checks on the tracker side to make

19:30

sure that you've done everything there that you're meant to

19:32

do like writing a test script

19:34

that explains how this is going to be tested

19:37

and once that's all good and you've got the green

19:39

light you then submit it for peer

19:41

review.

19:42

So you said you don't create pull

19:44

requests so I imagine you've forked

19:47

the Moodle repository

19:50

from GitHub to your own GitHub

19:53

org and that brings over

19:55

all of the CI CD

19:59

workflows and test

20:01

infrastructure. So when you push

20:03

your code to your fork, all

20:06

of that test infrastructure runs. Yes.

20:09

And you link from your

20:11

project that you have forked to

20:14

the issue tracker. And that

20:16

triggers the link,

20:18

the awareness, the notification

20:20

that you are working on something

20:23

over here and you intend for it at some

20:25

point to be brought into the

20:27

main project. Exactly. Okay.

20:29

And they also have some

20:32

separate CI stuff and they're

20:34

the hat test runner, which is

20:36

all separate from GitHub because that's

20:38

a massive thing running on Jenkins somewhere, which

20:41

uses the tracker to say, these

20:43

are the branches I need to test against. Okay.

20:46

So peer review in the Moodle community can basically

20:48

be done by anyone.

20:51

And of course, when something can be done by anyone, that

20:53

means it's often done by no one. Okay.

20:56

This is where it helps to work for a company

20:59

which employs other Moodle developers. But

21:01

generally you have to go out,

21:04

unless someone is actively looking

21:06

for this to be fixed, you need to go out and find

21:08

someone who's going to peer review this for you. But

21:11

it doesn't have to be someone specific with specific

21:13

credentials. It just has to be someone who

21:15

knows the process and is willing to follow

21:17

it for you. They do publish guidelines

21:20

and a checklist of the sort of things that you're checking.

21:22

And it's things like,

21:25

how's the coding style we followed, which should be automatically

21:27

checked, looking out for any security issues,

21:30

looking out for any efficiency issues,

21:33

making sure that the test script that you've written is

21:35

sufficient and covers everything. And the automated

21:38

tests cover everything because it's fine. So I've written

21:40

the test script, but there's a difference

21:42

between writing a test script and writing a test script that

21:44

tests things well, and all

21:46

of these sorts of things. And once they've done

21:48

that, they can stick the ticked

21:51

off checklist on the issue and

21:53

say, this is now ready for integration.

21:55

And integration in Moodle is a second

21:58

round of review, which...

21:59

is done by a member of Moodle

22:02

HQ, which is the

22:05

affectionate name for Moodle's main

22:07

sponsor company. They

22:10

are the ones who run all of this infrastructure. They

22:12

own the Moodle trademark and they employ

22:14

the Moodle core developers, who

22:17

are the people who provide the integration review.

22:19

So aside from this high level peer review,

22:22

they're there to really look into

22:24

your code and say, is this

22:27

of sufficient quality to go into Moodle and

22:29

is it a good fit? Is

22:31

this following the architectural direction

22:33

that we're going in? Is this following the

22:35

latest best practices that we're adhering

22:38

to? And is this something that

22:40

we definitely want in Moodle core as opposed

22:43

to as a Moodle plugin? So those

22:45

conversations don't necessarily happen upfront

22:47

then. This is sort of

22:49

a, after you've done the work, is

22:51

there somewhere you can discuss like

22:54

ideas for changes you want to make so you

22:56

don't work on something and go

22:58

through the first two steps of contribution

23:01

and then

23:01

get told, actually, no, we're not

23:03

interested? Yes.

23:05

And it has been a bit of a bumpy road with some

23:07

of the stuff I've been working on recently in that regard. But

23:09

yes, there's the Moodle forums. There is the issue tracker

23:12

where you can discuss things upfront before you

23:14

start working on them. And there's the

23:16

Moodle Matrix channel where you can discuss things

23:18

with other developers. Did anything get

23:20

rejected or you have to rework anything?

23:23

Yes, I've been doing quite a lot of rework on one

23:25

of them because basically it wasn't

23:27

following the, there's

23:30

been a lot of work into the

23:32

user experience consistency and

23:34

modernisation of Moodle. And

23:37

some of the work I'd done was not

23:39

well aligned with the direction that was going in.

23:42

So after some conversations, we agreed that I'd sort of, you

23:45

know, the Moodle HQ

23:47

UX team gave me some designs

23:50

to adjust my work to follow better

23:53

what they're going to be doing in the future so

23:55

that we don't end up with two completely different things

23:58

in different parts of the system. So your work... has

24:00

landed now? It is in the process of landing.

24:02

One of the big changes has landed. It's in the process

24:05

of landing and the

24:07

release is I think just at the start of October.

24:10

So we're in code freeze now which means everything's

24:12

been submitted to integration and

24:15

yeah my second big change is going through the integration

24:17

process as we record which is

24:19

on the 5th of September. I should just put

24:21

that note in there. So depending

24:24

on when you listen to this it may already be out. It will

24:26

hopefully be out in Moodle 4.3.

24:29

Nice. I guess the more important question

24:31

is are your customers happy? I think

24:33

so. They

24:35

can email in and let us know if they're not.

24:40

I purchased one of those refurbished

24:43

steam decks from Valve and

24:46

after two weeks of ownership I'm

24:48

here to tell you if you're retro gaming

24:50

on the steam deck you're doing

24:52

it wrong and we're here to tell

24:54

you how to do it right. We

24:57

are here to tell you are we? Yeah

25:00

I'm totally throwing you under the bus with this one Alan.

25:02

So I finally capitulated.

25:06

I'm a fully signed up host

25:08

to the Linux Matters podcast for iNow

25:11

to own a steam deck. That seems

25:13

to be about 60% of

25:15

our content so I felt I should get one so I

25:17

can join in the fun. So here we are with my

25:20

first steam deck segment

25:22

for the for the podcast. Welcome

25:25

to the cult. Yes. So

25:27

I will say if anyone's wondering about

25:29

refurbished steam decks it's just

25:32

like a proper not

25:34

refurbished one. Everything appears

25:37

absolutely brand new. The one difference is

25:39

that all of the little boxes that it comes in

25:42

all have the words refurbished actually

25:44

imprint properly made not stuck on

25:46

with stickers. It's all very professional.

25:49

It did look just like a brand new device like

25:51

I saw when you unpacked it. It was like no

25:54

different than mine. Yeah identical other

25:56

than the addition of the word refurbished on

25:58

all of the some paper pullouts

26:01

and all the rest of it. And when people

26:03

cottoned onto the fact that I'd got a Steam Deck,

26:06

the first recommendation I got from

26:08

several people was, you should install

26:11

MU Deck because that's how you do

26:13

retro gaming on the Steam

26:15

Deck. And I was going to resist

26:17

getting into retro gaming on the Steam Deck

26:19

because I was going to keep it for PC gaming. But

26:22

then, Alan, you went and found

26:24

something and you totally ruined that

26:27

for me. I apologize. I

26:29

have

26:29

not been a fan of MU Deck ever.

26:32

All due respect to the developers,

26:34

it's a bag of spanners and

26:36

I don't like it and I don't like the way

26:38

it installs. And I recently nuked

26:41

my Steam Deck. I wiped the OS

26:44

completely and started again.

26:46

And when I started again, I thought,

26:48

huh, I could probably play some retro stuff

26:51

on here. Hey, what's this? This is not MU Deck.

26:53

This is something else completely different. So

26:55

I found a thing called

26:58

Retro Deck and I installed

27:00

that and then mentioned it to Martin

27:02

and he won't shut up about it now. Yes.

27:07

So Retro Deck is what I'm here to

27:09

tell you about and it is

27:12

fabulous. So there's a

27:14

few things I really like about

27:16

Retro Deck. The first

27:19

is it's not a bag of spanners.

27:22

It's distributed as a flat pack, which

27:24

you can find in Flat Hub. So

27:26

everything is integrated in

27:29

this one bundle. It

27:31

is all of the things you need

27:33

to run emulators

27:36

and one install and you're done. And

27:39

it's all isolated together there. So

27:41

that's really tasty. I like

27:43

that a lot. But then the actual

27:46

architecture for how this works currently

27:49

and also where they're going, I really like. The

27:51

first thing I like is it's really easy

27:53

to use. Unlike some of the

27:55

sort of emulation framework

27:57

platforms, which expose the retro.

28:00

Arch user interface, which

28:03

I am not a fan of. It overwhelms

28:05

me. I don't understand what all the options

28:08

are and also I don't really want to know

28:10

what all the options are. I just want to play

28:12

some games. And Retro Deck

28:15

does that. It just shows

28:17

you the games you can play

28:19

and hides all of that complicated

28:23

stuff away underneath. So

28:26

in terms of how it presents, it's

28:29

kind of like a Netflix-like

28:32

user interface, which

28:34

gets better when you download

28:37

metadata. And I'll talk about that in a little

28:39

bit. But it's very easy to use.

28:42

I haven't needed to dive into

28:44

the underpinnings of Retro Arch

28:46

and all the rest of it. All of the stuff

28:49

that I've needed to change has

28:51

been exposed through its

28:53

own interface.

28:54

I have played with Emu Deck. And

28:57

I agree with your sentiments. But one of the things

28:59

that I do like about it is that

29:01

it includes a tool which finds

29:03

all of the stuff you've got set up with Emu

29:05

Deck and adds it into your Steam launcher

29:08

interface. And at that point, you

29:10

just go into Steam and you say, launch this. And

29:12

it's just like you're playing a game through Steam.

29:15

You don't feel like you're going into Emu Deck

29:17

to play it. Does Retro Deck do

29:19

the same sort of thing or is it all through

29:21

its own interface? I don't think it

29:24

does, but I don't know for sure

29:26

because I haven't looked for that feature. I

29:28

don't think it does. And I don't want it to do

29:31

that. And I agree with that. I don't want my Steam

29:33

cluttered up with a whole bunch of spanners.

29:36

I want the one thing to

29:38

launch it. And then I've got a view on all

29:40

of the emulators and all the games that I want to play.

29:43

And it was the whole integrating

29:46

all of these little spanners in

29:49

Steam UI that really

29:52

put me off Emu Deck. And

29:54

that's the thing I love about Retro Deck. You launch one

29:57

thing and you're now in all the emulators and you can just

29:59

go into each one. Is that launcher launched

30:01

through the Steam interface? Yeah, it's

30:04

add one item and you only have

30:06

one thing to add the Steam and you're done.

30:08

Yeah, so there is one game

30:11

in Steam called Retro

30:13

Deck and then it's a

30:15

beautiful launcher and it really

30:17

is very beautiful. So some other things

30:19

that I like about it is, this

30:22

was an interesting one, when you push the two

30:24

buttons to quit a game, for whatever

30:26

reason, when you start that game at some

30:28

point in the future, it automatically

30:30

creates an autosave point so when

30:32

you start that game next time, you're immediately

30:35

back in the game exactly where you left

30:37

it, which took me by surprise a couple of

30:39

times till I realised it was doing it. I

30:42

like that because when I just do pick up and play,

30:44

this is great for, right, I'm going to put this down, I may

30:47

have come back to it in a couple of days time but I can

30:49

pick up and carry on from where

30:51

we were and then it also

30:53

has retro achievements, which I've

30:55

never dabbled with before but

30:58

I can totally see that I could

31:00

become a retro achievement

31:02

hunter as a result of

31:04

how nicely integrated that is into

31:07

Retro Deck, including like

31:10

notification toasts appearing over

31:13

the game as you hit certain

31:15

achievements. So that hooks

31:17

into various retro games and

31:19

tracks when you do certain things in them.

31:22

Yeah. Huh, that's quite neat. Yeah,

31:24

it is, it's pretty cool. Not every game is supported

31:26

because obviously there's tens of thousands of retro

31:28

games that you can

31:29

lob on these things but all the

31:32

big ones tend to have some kind of achievements

31:34

and it's quite a lot of fun actually doing

31:36

that. Yeah, the user interface that you've mentioned

31:38

is very beautiful, it's based on emulation station

31:41

or a fork of emulation station because I think that died

31:43

off at some point, which is the same UI

31:45

that I've got on my PyCade, my

31:48

tabletop Py Arcade thing. Emulation

31:51

station has been around a while but

31:54

with themes and stuff it's taking it to the next

31:56

level, it's so nice to use. Yeah,

31:58

so it uses emulation.

31:59

Station Desktop Edition

32:02

and the Retro Deck Team are

32:04

actually contributing Retro

32:07

Deck specific Features

32:09

and changes to that project

32:12

that is only exposed when it's running

32:14

on the Retro Deck So they're

32:17

sort of working in tandem So it's all very

32:19

seamlessly integrated and this is one of the things I

32:21

like about like the way the project is

32:23

being led And the direction is headed in because

32:26

it has got some rough edges They signpost

32:29

those rough edges and make it very clear.

32:31

This is the way it is right now For example, there's

32:33

some zenity pop-ups and things like

32:36

this at the moment. They fully intend

32:38

to Integrate into

32:40

either their own UI or into

32:43

the emulation station desktop but

32:45

it's all been very thoughtfully put together

32:47

and The project itself

32:50

is still beta. So whilst

32:52

I've had no issues running this I'm

32:55

by no means a Hardcore

32:57

retro gamer. I don't know what shouldn't

33:00

be working or what platforms aren't enabled.

33:02

For example I know that their intention

33:04

is to enable everything that retro arch

33:06

supports I don't think everything is right now

33:09

But I like the way they're sort of signposting

33:11

where they're headed with this in the future And

33:14

here's one of the things I absolutely love about

33:17

this is because it's a flat pack

33:19

You can run it on desktop Linux, too

33:22

So actually I've been mostly

33:24

running it on my desktops

33:28

Because I can and

33:31

I've got sync things sat in the background Automatically

33:34

syncing my game library between

33:37

all of my machines that have Retro-dec

33:41

installed and all of my

33:43

configuration and save states

33:46

and metadata and all of that stuff is consistent

33:48

across all of these devices Including

33:52

the steam deck because I did a little hack

33:54

and I got zero tier working

33:57

on the steam deck So all of

33:59

this synchronize works between

34:01

the Steam Deck and my library

34:06

in one place, one virtual

34:08

place, and all of these machines pick it

34:10

up. You mentioned briefly the artwork.

34:13

There's a whole bunch of stuff to do with scraping

34:15

as well. There is. You showed

34:17

me, yeah. Yeah, so there's two providers

34:20

that provide artwork and metadata.

34:22

One I think is called Screenscraper.

34:24

It's a French website and there's the other one which is the TV

34:27

database. I'd never used

34:29

this French one. I've signed up and I'm using

34:31

that. It's quite slow but it

34:34

gives you a really great result because

34:36

it gives you videos and all

34:38

of the cover art and all of the history behind

34:40

all of the games. So it very much is like

34:42

Netflix. When you go to a game,

34:45

it has a rolling video. The theme

34:48

that I'm using has arcade

34:50

cabinets that match the originals or

34:52

TV sets that are era-accurate

34:54

for the games consoles. It's just a

34:57

very beautiful experience and

34:59

it invites you to want to play these

35:01

games because each time you switch to the next

35:04

one, it's colorful and

35:06

sounds great, looks amazing, and

35:08

you just want to play. So there

35:11

it is. It's RetroDeck. It's RetroDeck.net.

35:14

We'll have links to all of this in

35:16

the show notes including my

35:18

instructions on how to install

35:21

Zero Tier on the Steam Deck which is

35:23

also a nice generic way to

35:26

have persistent software installations

35:28

from the Arch repos on a Steam Deck

35:31

that survive SteamOS updates.

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features