WEBVTT

00:00.000 --> 00:07.000
All right, hi, everyone.

00:07.000 --> 00:10.000
I'm Ed Oliparanoid, and this is post-marketer

00:10.000 --> 00:14.000
S reliability in 2026.

00:14.000 --> 00:17.000
So, last year at first,

00:17.000 --> 00:19.000
we were there too.

00:19.000 --> 00:21.000
I gave a talk about post-marketer's in general,

00:21.000 --> 00:24.000
how it is, how it fits into Linux mobile,

00:24.000 --> 00:26.000
the wider ecosystem that we are building together.

00:26.000 --> 00:28.000
And so on, if you want to know that,

00:28.000 --> 00:30.000
please watch the first talk first.

00:30.000 --> 00:34.000
This is a rather short arc on a specific topic.

00:34.000 --> 00:36.000
Which is last year,

00:36.000 --> 00:39.000
we said that our main goal for 2025 is

00:39.000 --> 00:43.000
improve the reliability of post-marketerS.

00:43.000 --> 00:47.000
And, yeah, improve the reliability.

00:47.000 --> 00:50.000
So, what did we work on since last for them?

00:50.000 --> 00:53.000
There was system D and mother upstreaming,

00:53.000 --> 00:55.000
which gives us better management of services,

00:55.000 --> 00:58.000
logging, and more general predictability

00:58.000 --> 01:02.000
in the behavior of lower levels of the operating system.

01:02.000 --> 01:03.000
We shipped that.

01:03.000 --> 01:05.000
And now, in system D,

01:05.000 --> 01:09.000
259, mother support is actually upstream,

01:09.000 --> 01:10.000
which is awesome.

01:10.000 --> 01:13.000
So, we don't need to maintain patches downstream anymore,

01:13.000 --> 01:15.000
and this was made possible by

01:15.000 --> 01:17.000
U of water, Jane, Casey,

01:17.000 --> 01:19.000
and U by Anna,

01:19.000 --> 01:24.000
Clayton, Focity, PJ, and a lot more people.

01:24.000 --> 01:26.000
Really awesome.

01:26.000 --> 01:30.000
Then we worked on an optional immutable version of post-marketerS,

01:30.000 --> 01:32.000
called Uranium.

01:32.000 --> 01:35.000
This will allow moving from one,

01:35.000 --> 01:37.000
we tested image to another one,

01:37.000 --> 01:39.000
so you don't have the problems that you run the package manager,

01:39.000 --> 01:41.000
and then you screw up your system,

01:41.000 --> 01:42.000
because something happens,

01:42.000 --> 01:44.000
and you have our unique system afterwards.

01:44.000 --> 01:46.000
Whereas the images are like,

01:46.000 --> 01:48.000
this is the one image is tested,

01:48.000 --> 01:50.000
and you move from one image to the next one.

01:50.000 --> 01:52.000
And we are making it optional,

01:52.000 --> 01:54.000
and we can still do everything you want,

01:54.000 --> 01:56.000
if you are a developer,

01:56.000 --> 01:58.000
and just want to mess around with the system.

01:58.000 --> 02:01.000
And this is using system detooling,

02:01.000 --> 02:03.000
so MK OSI,

02:03.000 --> 02:05.000
system D, system D report,

02:05.000 --> 02:07.000
and system D boot,

02:07.000 --> 02:08.000
which fits nicely,

02:08.000 --> 02:10.000
not that we have system D.

02:10.000 --> 02:11.000
And yeah,

02:11.000 --> 02:14.000
the status is that we have a working prototype by now,

02:14.000 --> 02:17.000
so this can already be built for specific devices,

02:17.000 --> 02:18.000
and it can be tested,

02:18.000 --> 02:20.000
and it basically working,

02:20.000 --> 02:22.000
but we need to scale it up,

02:22.000 --> 02:24.000
so it works for all devices and so on.

02:24.000 --> 02:27.000
Yeah, so there are other people to think for,

02:27.000 --> 02:28.000
at App's Clayton,

02:28.000 --> 02:30.000
as the Johannes,

02:30.000 --> 02:34.000
and some more people who made this possible.

02:34.000 --> 02:36.000
Next,

02:36.000 --> 02:38.000
we worked on Lightly Repositories,

02:38.000 --> 02:40.000
in 2023,

02:40.000 --> 02:43.000
we started with one for Plasma Mobile,

02:43.000 --> 02:46.000
which is our spirit, the current code,

02:46.000 --> 02:47.000
that is there every night,

02:47.000 --> 02:49.000
and then developers can run this version.

02:50.000 --> 02:52.000
And afterwards,

02:52.000 --> 02:53.000
last year,

02:53.000 --> 02:54.000
we added Mesa,

02:54.000 --> 02:55.000
and Forge,

02:55.000 --> 02:56.000
and a desktop repository,

02:56.000 --> 02:57.000
which starts,

02:57.000 --> 02:58.000
more than manager,

02:58.000 --> 02:59.000
LIPTMI,

02:59.000 --> 03:00.000
UPUF,

03:00.000 --> 03:01.000
LATPAC,

03:01.000 --> 03:02.000
system D report kit,

03:02.000 --> 03:04.000
the bus and lip camera.

03:04.000 --> 03:07.000
And at the beginning of this year,

03:07.000 --> 03:10.000
KDE will be added as another nightly repository,

03:10.000 --> 03:13.000
and previous Plasma Mobile repository

03:13.000 --> 03:14.000
will be moved there.

03:14.000 --> 03:16.000
So there are some new scripts that work better,

03:16.000 --> 03:18.000
and this will make use of this as well.

03:18.000 --> 03:21.000
And we have a genomic repository also.

03:21.000 --> 03:25.000
And I will show how this all fits together,

03:25.000 --> 03:27.000
shortly,

03:27.000 --> 03:31.000
but the big project that we worked on was CITron.

03:31.000 --> 03:33.000
So you see a graph there,

03:33.000 --> 03:38.000
because what we really want to do is run our tests on real devices,

03:38.000 --> 03:44.000
and CITron is our project that is used by Valve,

03:44.000 --> 03:47.000
who make all these cool games,

03:47.000 --> 03:50.000
and steam them so on.

03:50.000 --> 03:52.000
They use it in Mesa CI actually,

03:52.000 --> 03:53.000
and we figured out,

03:53.000 --> 03:54.000
it looks really nice there,

03:54.000 --> 03:55.000
works nice,

03:55.000 --> 03:58.000
so let's add up to for post-market OS.

03:58.000 --> 03:59.000
And yeah,

03:59.000 --> 04:01.000
so quickly how it works is,

04:01.000 --> 04:03.000
you have your device under test,

04:03.000 --> 04:04.000
which could be a phone,

04:04.000 --> 04:06.000
any device for running post-market OS.

04:06.000 --> 04:08.000
You have power delivery unit,

04:08.000 --> 04:09.000
this video here,

04:09.000 --> 04:10.000
that connects it,

04:10.000 --> 04:12.000
and basically provides an API

04:12.000 --> 04:15.000
that you can press the buttons automatically,

04:15.000 --> 04:17.000
and run an image on it,

04:17.000 --> 04:18.000
and so on.

04:18.000 --> 04:21.000
And we connect this to our GitLab instance.

04:21.000 --> 04:24.000
And this means whenever we change code in our GitLab,

04:24.000 --> 04:26.000
we can run the tests on the real hardware,

04:26.000 --> 04:28.000
and ensure that it really works,

04:28.000 --> 04:31.000
and only then merge it.

04:31.000 --> 04:32.000
And so yeah,

04:32.000 --> 04:33.000
for this in May,

04:33.000 --> 04:36.000
we got the first Salesforce that set up done.

04:36.000 --> 04:38.000
Then two months later,

04:38.000 --> 04:41.000
we were able to run post-market OS,

04:41.000 --> 04:42.000
MK,

04:42.000 --> 04:45.000
and then we ended up as the thing that we built in the drum of us.

04:45.000 --> 04:48.000
Through this thing in QMU at first,

04:48.000 --> 04:52.000
just to prove that the whole setup is working.

04:52.000 --> 04:56.000
And same for the device package,

04:56.000 --> 04:59.000
which means whenever you make a change to the device package,

04:59.000 --> 05:00.000
in PMA port,

05:00.000 --> 05:02.000
then it will run through the whole thing,

05:02.000 --> 05:04.000
boot up the device in QMU,

05:04.000 --> 05:07.000
and check if it's working as expected,

05:07.000 --> 05:09.000
and if there are any regressions,

05:09.000 --> 05:13.000
that we can then fix before we merge this stuff.

05:13.000 --> 05:16.000
And then at the beginning of this year,

05:16.000 --> 05:18.000
like two weeks ago,

05:18.000 --> 05:21.000
we actually had the real first device there,

05:21.000 --> 05:22.000
the OnePlus 6,

05:22.000 --> 05:26.000
and now it is all set up that if you make a change to the OnePlus 6,

05:26.000 --> 05:27.000
and portmarkless edge,

05:27.000 --> 05:29.000
we run it on the real device,

05:29.000 --> 05:31.000
we run the tests that are there,

05:31.000 --> 05:32.000
and yeah,

05:32.000 --> 05:35.000
we directly see if there's any important regression

05:35.000 --> 05:38.000
that causes it to not boot or any other major problems.

05:38.000 --> 05:41.000
And it looks like this,

05:41.000 --> 05:44.000
so you have the pipeline here with all the stuff,

05:44.000 --> 05:45.000
and then you have,

05:45.000 --> 05:47.000
okay, it's running on the real device,

05:47.000 --> 05:49.000
looks good, let's merge it.

05:49.000 --> 05:53.000
And this was made possible by Martin Pablo,

05:53.000 --> 05:55.000
Casey corner,

05:55.000 --> 05:58.000
Federico F. Anosco,

05:58.000 --> 05:59.000
Allen,

05:59.000 --> 06:02.000
and Casey again for another part.

06:02.000 --> 06:03.000
Yeah.

06:04.000 --> 06:07.000
Yeah, this is one of the plus for sure.

06:07.000 --> 06:10.000
And a big part of this is the PCB,

06:10.000 --> 06:12.000
or Power Delivery Unit,

06:12.000 --> 06:14.000
and the graph above.

06:14.000 --> 06:15.000
I explained what it does,

06:15.000 --> 06:18.000
and again corner and Federico did this,

06:18.000 --> 06:20.000
and here's a short timeline.

06:20.000 --> 06:24.000
They ordered the first version, second version,

06:24.000 --> 06:26.000
and then it pretty much worked already,

06:26.000 --> 06:28.000
and just in time before first them,

06:28.000 --> 06:30.000
we got another one.

06:30.000 --> 06:32.000
Just in time before first them,

06:32.000 --> 06:38.000
we got another production batch of the zero three version,

06:38.000 --> 06:40.000
and now it's here,

06:40.000 --> 06:42.000
so I think you can see it at the stand,

06:42.000 --> 06:43.000
if you're lucky,

06:43.000 --> 06:45.000
and we will play around with this for sure,

06:45.000 --> 06:48.000
at the hackathon that we have after first them.

06:48.000 --> 06:50.000
So it looks like this,

06:50.000 --> 06:54.000
and people are really excited about this online.

06:54.000 --> 06:59.000
Yeah, so please don't do anything weird with it.

06:59.000 --> 07:03.000
Yeah.

07:03.000 --> 07:04.000
Nice.

07:04.000 --> 07:05.000
Okay.

07:05.000 --> 07:08.000
So what can we do with all these nice parts?

07:08.000 --> 07:11.000
We have post-marketers,

07:11.000 --> 07:13.000
change requests, PMCR,

07:13.000 --> 07:17.000
and progress about redefining the main category of devices.

07:17.000 --> 07:20.000
So we have main community and testing categories,

07:20.000 --> 07:22.000
and main is currently mostly empty,

07:22.000 --> 07:24.000
except for QMU,

07:24.000 --> 07:28.000
because we realize that the staff in main isn't really working that well,

07:28.000 --> 07:32.000
and we want to make it so that if something is in main,

07:32.000 --> 07:35.000
then it really means that the device is really good.

07:35.000 --> 07:38.000
And it's still in discussion,

07:38.000 --> 07:41.000
but one thing we basically figured out is

07:41.000 --> 07:44.000
okay, we want to require automated hardware testing for anything

07:44.000 --> 07:48.000
that is going to be in a new main category.

07:48.000 --> 07:52.000
Furthermore, we need automated test farms.

07:52.000 --> 07:56.000
We already have two hacker spaces that are working towards having this,

07:56.000 --> 07:59.000
and also look at who just gave a talk before me,

07:59.000 --> 08:03.000
planned to set one up at Fairphone as its own project.

08:03.000 --> 08:05.000
Yeah, also we need to add volume or test,

08:05.000 --> 08:09.000
so right now we have basically a few tests that ensure it boots,

08:09.000 --> 08:13.000
and so on, but as we can test everything under the sun,

08:13.000 --> 08:15.000
basically.

08:15.000 --> 08:22.000
One example that Fedoriko made is testing voice over IP, voice over Wi-Fi.

08:22.000 --> 08:24.000
Yeah, that's a whole blockpost about it,

08:24.000 --> 08:26.000
go read it if you're interested.

08:26.000 --> 08:29.000
It just tests that the staff works,

08:29.000 --> 08:32.000
and even tests that audio is working properly,

08:32.000 --> 08:37.000
and so on and having this will already make sure that we don't have any regression

08:37.000 --> 08:39.000
there, and as we all know, call audio,

08:39.000 --> 08:42.000
it's something we want to have reliably.

08:42.000 --> 08:44.000
Yeah, that's the go right.

08:44.000 --> 08:47.000
So also we want to test more versions.

08:47.000 --> 08:50.000
What we already have is test much requests,

08:50.000 --> 08:53.000
then we can test the nightly repository which I mentioned before,

08:53.000 --> 08:56.000
so we can, for example, test the nightly motor manager version,

08:56.000 --> 08:58.000
and see if we have a new regression stare,

08:58.000 --> 09:02.000
and then fix it upstream directly.

09:02.000 --> 09:06.000
We could test current edge and stable releases,

09:06.000 --> 09:10.000
and the random images, the immutable stuff.

09:10.000 --> 09:13.000
And also by having this stuff,

09:13.000 --> 09:16.000
we could have nice graphs that show us,

09:16.000 --> 09:18.000
okay, it worked reliably over time,

09:18.000 --> 09:20.000
and then maybe it dipped somewhere because there was a bug,

09:20.000 --> 09:23.000
but it was followed up upon, and it was fixed right after,

09:23.000 --> 09:25.000
and notes good again.

09:25.000 --> 09:28.000
That's the idea, basically, where we want to go.

09:28.000 --> 09:30.000
Expect more news soon.

09:30.000 --> 09:31.000
We have a blog.

09:31.000 --> 09:33.000
We have a master done account,

09:33.000 --> 09:36.000
check that out, get involved.

09:36.000 --> 09:39.000
We have a specific chat about the hardware CI now,

09:39.000 --> 09:42.000
that you can join in ISC metrics,

09:42.000 --> 09:46.000
and if you want to contribute to postmark address in any other way,

09:46.000 --> 09:48.000
we have a lot of things that you can do,

09:48.000 --> 09:51.000
get in just checked out the homepage, it's linked there.

09:51.000 --> 09:56.000
And of course, we have a stand in building UD level 2,

09:56.000 --> 09:59.000
where we have stickers and demos also.

09:59.000 --> 10:01.000
Speakers from today.

10:01.000 --> 10:04.000
I want to thank the postmark address team,

10:04.000 --> 10:06.000
and in general, all contributors,

10:06.000 --> 10:09.000
everyone working at Apple and Linux,

10:09.000 --> 10:12.000
and Peter from LinMorp, and so on,

10:12.000 --> 10:15.000
and I'm there for some grand stuff,

10:15.000 --> 10:18.000
and everybody who donates to postmark address.

10:18.000 --> 10:21.000
And of course, you're for listening.

