 Anyway, I think we're at the bottom of the hour or past the bottom of the hour, so I will kick off So I'm Peter Robinson I've been a fedora contributor for a long time. I started hacking on Pofan 10 plus years ago I'm the red hat edge and IOT lead architect and originally from Oz but now based in London and and With COVID and various other bits and pieces that seems a very rarely leave London at the moment Yes, Matthew. Well, you know, I had I literally put these together 15 minutes before My talk and I didn't have time to actually work out where the new slide template was so Yes, yes, I don't disagree So time book pro I had a bunch of people in the lead-up to fedora 34 when we finally got it working go Oh, but that stuff's been upstream for ages. Why doesn't work on fedora? Why is it taken so long? and It turns out people's Ideas and theories about upstream differ very or widely very and in fact Most of it was upstream But if you want to do like all the different components So all the boot firmware is open source. There's at least three different firmwares there You know Colonel and hardware support Graphics drivers, I signal them out Specifically and I'll go through them separately, you know, why fight and Bluetooth Firmwares audio configurations and a whole bunch of other stuff that needs to be upstream for it to just work Wasn't actually there and so people's I like you even go and look at the Mandaro that shipped Out of the box on the device and you go and look at their Colonel like it's not all upstream and they have like patches that are With, you know commit comments, which is like, oh, this is an upstream This is an upstream bubble at all. This needs a whole bunch of rework and so like people think things are upstream but people like the difference between like a An OS that ships out of the box with a whole bunch of other Integrations and what have you versus, you know, something like Fedora where you install it later The amount of work that it takes to actually, you know upstream a new device and even like the latest, you know Lenovo laptops and you know tier one x86 Devices often need a vast amount of work each cycle To get things upstream Thankfully with, you know those style of devices they tend to be actually dealt with by the hardware Vendors and are upstream by the time the hardware ships to actual end users and starts to be consumed but a lot of the cheap devices like the pine book pro the Company that makes them pine 64 depends on a vast amount of the community to actually do the upstreaming work and the integration work and the enablement work because they Don't employ software developers to deal with this like they basically just throw things over the fence Get someone in the community to glue together an OS for a particular device so they can ship something that works out of the box but but like none of that is upstream at that point and they depend on like Users like myself being able to access schematics and work out You know how USB ports are wired up and how sound is wired up and any of the bugs in their layout and various other bits and pieces So there is a whole lot of work to tie it all together and make it just work So boot firmware is the first one it's obviously the first thing you see when you turn on the device It's now mostly upstream The key U-boot work was done by me for the pine book pro and I went through a number of revisions of that to get it upstream I worked with other U-boot community members to add Display output on the embedded display port so that we could light up the screen and get early like gobb and various other bits of output Someone else. We had an issue in fedora 33, which absolutely stumped me for ages Like USB ports are quite complex like what a lot of people don't actually realize is To support USB to and USB one on USB three interfaces They actually have a built-in USB to and USB one most controller Why do we need USB one you ask? Well, you know Keyboards and various other bits and pieces aren't actually USB 3 they're USB one still because you know You don't need to push huge amounts of data over them So 12 megabits is enough and you still have to have USB one support surprisingly enough to be able to use a keyboard because if you plug it in it into a external USB port That is USB 3 compatible if you don't have the other drivers there The other controllers embedded within that actually don't light up and nothing like your keyboard won't work And so we had an issue where over a single physical or fee interface USB one and USB two and in the firmware Basically that there was dependency problems and there's a bug and it would actually stop Linux from booting And so that issue is still there Fedora is carrying a separate patch for that at the moment While they work out how to address it upstream But you know, there's also a lot of polish. I like to do You know get early Led's lighting up so when people press the power button, they know that the device has turned on while the firmware loads and things like that One of the other people that I work with closely on some of this stuff is actually supporting the UEFA working on it enabling UFI Gop Support so that we can actually have a shiny boot sort of Power on get the logo end up at the desktop Similar to the way, you know, a Lenovo laptop works these days with Fedora So I'm not sure we'll get that there for 35 But yeah, so, you know, there's still like It works actually quite well now But you know, there's still a bunch of work to do Oh, and the other thing we're working on is the ability to use FW update manager to be able to update that firmware on the SPI flash and The patches for that landed upstream in FW update manager Last week, I think or maybe early this week. I forget which one and so the next phase of that is actually producing Firmwares and what have you and eventually will even have UEFI secure boot As opposed to just normal UEFI And a bunch of other functionality In our Uboot build so like we'll be able to should be able to do a mostly end-to-end Update process for that Kernel and hardware. We're mostly there on this I will go into the display stuff in the next page USB mostly works. We've got some issues with USB C Been working with a couple of people and it looks so you just like actual data USB over USB C works Display port over USB C has issues. I'll get to that on the next page power delivery works With has worked out of the box with Fedora 34 with some specific charges But not with others. I think we have finally got to the bottom of that And I'm hoping when I get time I Actually bricked my pine book pro a few weeks ago dealing with firmware updates And I've got to take it to pieces so I can Run recovery on it and get that back So I'm hoping to get time to do that this weekend But I think we should actually have power delivery and charging over USB C working now There is a patch I need to test And provide feedback on but fingers crossed we we may have that shortly and then the thing that like Obviously still need some work power utilization battery use Suspend and resume and a bunch of things like that. I Think it suspends, but it doesn't resume But again, it's a really hard problem to debug and sometimes, you know, you'll have a USB controller or a sound Codec or something like that that doesn't suspend or doesn't resume properly and so suspend resume ends up being a Like a huge rabbit hole digging through kernel problems fixing things patches so on and so forth. So Yeah, we still have some work there and I know a few people are looking at it But I don't have a huge amount of time at the moment And so like I need to focus on specific things Display, what do we have? Well, we've got full accelerated 3d Wayland Some of the amazing community in this space is working on more and more improvements I'm hoping actually we'll have open CL support before too long as well So there's more speed and improvements coming there all the time with each new measure release and each new kernel release The embedded display port display work. So obviously that's pretty useful For a screen for a laptop. Sorry We've been working on and this ended up being a bigger rabbit hole than I ever expected it to be so So Martinez one of a fellow Red Hatter that I hack on with some of this stuff has done I think four patches now most of which are upstream ones coming in 5.15 A bunch landed in 5.14 and we've got the basics in 5 12 5 13 that I back ported But that gives us the early boot output and the frame buffer handover Previously we would get the firmware and grub and then the screen to go black until no showed up So that that's there but as we dug into this we were trying to kill off legacy frame buffer support in fedora as a whole And like using the pine book pro in particular as the test platform for a bunch of that And we discovered that like again like upstream kernel people were like oh, you know most of that work's just done like it should just work again But actually as we dug into it and actually when we disabled config FB Everything broke like and so there's a bunch more work to be done there to actually finish that off but that will actually get rid of a Large pile of Unmaintained Linux code in fedora and give us the ability to do Things like Wayland in the very early boot process and and things like that So there's some certainly some advantages for that And one of my many little fedora side projects is you know how we can actually Like a lot of the arm stuff and I think very little of the Stuff Everything supports Wayland on the GPU stuff and we've got a few GPUs that don't support Xorg at all And so like I've been looking at how we can drop the entire Xorg Dependency stack and slim things down some more for things like Fedora phone stuff and things like that And then Where's my thing gone Wi-Fi Bluetooth well This this one is So Broadcom about four years ago in 2017 sold off Their IOT Bluetooth and Wi-Fi division To a company called Cypress Which has since been bought out by a company called Infineon and then just last year Broadcom went and sold off their Wi-Fi and Bluetooth IOT business unit again don't know how they can do that To Synaptics so the BRCM FMAC Combined Bluetooth Wi-Fi modules Which everyone thinks are Broadcom Actually three completely different companies depending on Which module it is Broadcom themselves primarily now and Primarily back in 2017 when they sold off the rest of the business kept enough Wi-Fi and Bluetooth for high-value customers aka Apple and Dell and companies like that We it took me 18 months, but we now actually have a close working relationship with Cypress Affinion And they are now doing regular Releases every six months or so of their Wi-Fi firmware so that we get across all their range of the Broadcom IP You know regular security updates and CVE updates across the entire Linux Community so in Linux firmware for all their Wi-Fi IP we're working with them on Bluetooth to get all the Bluetooth firmware stuff upstream which means a Bunch of problems that we've had with things like you know the Raspberry Pi's up to The Raspberry Pi 4 but not including the Raspberry Pi 400 Should have when that lands upstream and it was due to be July and they've had Some team changes so that's been delayed a bit, but we're still working with them on that the problem with the Pinebook pro and also the Raspberry Pi full hundred is that that Wi-Fi while it's a BRCM FMAC module is from synaptics and Synaptics don't believe they have anyone in the Linux community that is actually using their Wi-Fi and so they refuse to publish at the moment Wi-Fi and Bluetooth firmware and so I've got a contact there and it looks like we're going to have to get their legal involved and various other bits and pieces I've been working on that a good six months now I reckon it's another 18 months before we or 12 to 18 months before we get that fixed properly Which is obviously a huge problem I'm Pulling in favours and friends and various other people across various different bits and pieces that are using synaptics hardware to try and Get other companies to lean and poke and push to assist us in this process but at the moment the broad and like the Synaptics side of the IAT Like the synaptics IAT division are not engaging well at or very much at all and it's glacial Process there. So I have no idea when the Wi-Fi and Bluetooth will work out of the box in fedora on the Pinebook Pro and that is interesting but unfortunately being sort of proprietary firmware and a particular module and having a three-way company Interaction Certainly it makes that stuff interesting. It takes a lot of my time behind the scenes Dealing with these and it's not just Cyprus and you know Synaptics and Broadcom here that I deal with but other companies that deal with you know firmwares and things like that And it does take a lot of my time Nothing to do with my day job behind the scenes Getting that done that like huge shout-out to the work Cyprus has done with us because that's fantastic and When we got the first firmware update I think it was November last year published like some of the firmwares that they updated were Six seven eight years old in like the upstream Linux firmware. Yeah, we had some dated 2012 2013 2014 And I just can't begin to imagine how many CVs were fixed In that sort of eight-year gap with that hardware But like even that just takes a lot of time and but you know the whole Linux ecosystem Ultimately benefits from that. So while it takes a lot of my time I feel it's a valuable wider community problem that needs to be solved Audio All of the drivers are upstream It needs the UCM profile or two In fact, it'll ultimately need three when we support Bluetooth for Bluetooth audio Some of the pieces up there for UCM profiles for the various Kodak chips and various other bits and pieces I've started writing the rest of it. I just haven't had a lot of time in the last couple of months to finish that up It's slow and complicated, but I'm hoping to have that upstream for Fedora 35 At the end of August things should Take a little bit of a breather and I should have a little bit more time To spend before my renovations and various other time-consuming things kick into the next phase So fingers crossed I can get that done in September What else? Well, so they state there's like an open source firmware update process for the keyboard and trackpad There is it's terrible Richard Hughes of FW update D fame has written initial support to do it properly The problem we have there for publishing it to Linux vendor firmware service is there's different firmwares depending on the physical keyboard layout and And the firmware doesn't have an identifier in it. So which one is which? and so when To be able to publish it to Linux vendor firmware service and have it automatically just happen We need that identifier to be able to update it automatically. Otherwise EU layouts will get us layouts and vice versa and they'll be grumpy people There's a way of doing it by hand by feeding it into Linux vendor firmware service. I need to sort of document that I was actually planning on doing a follow-up blog post on with links to all the various different patches and things that we've done since Fedora 34 went GA so people can you know sort of follow along The Eprom chip The published version of the chip should be able to have unlimited amounts of Updates applied it seems that Whether I'm not sure whether it was pine 64 or the company that made the keyboard itself Changed that chip out to a chip that can be only updated eight or twelve or something like that. It's a limited amount of times So that's some outstanding work that we need to sort of document and sort out And I'm sure there's a whole bunch of other pieces of polish where you know People want to be able to do certain things But for the most part, you know everything like the vast majority of it works actually pretty well now We have the battery charging indicator works now since Fedora 34 GA We push that out with the 512 kernel rebase There's been a bunch of other fixes The camera on board works So yeah, I think it's now like I'm going I'm planning on doing like a Bunch more polish for the Fedora 35 time frame Hopefully like, you know things like the sound and stuff like that But you know overall it's not perfect, but like it's certainly very usable. Oh the other one was We should have support at least in like trees G streamer. So things like Totem video player and stuff like that. We should have support for Offload acceleration for a lot of the video codex There's more support for codex landing upstream or has landed upstream So just need to work out how we can tie all of that in so things like Video conferencing or watching movies or what have you uses the offload engines? Again, that gives better battery life and all of that sort of stuff So, you know, there's a bunch of pieces to tie off and fix up and clean up just to get everything a hundred percent there But I feel we're probably about 80 percent of the way How can you get involved all the You can see I used an old set of slides because there's no previous contributing slide the usual one fedora irc fedora mailing lists various other bits and pieces Obviously upstream for like things like kernel and other patches So, yeah Do we have questions? I don't know how the questions work Actually, no, I found it. It's event that per versus session chat. Who knew What's the relationship between the pine book and the pine book pro Basically only that they were made by the same company the pine original pine book Has an all-winner a 64 chip in there, which is the same as in the pine phone and The original pine 64 It is mostly upstream and mostly working as well It has a completely different Wi-Fi module that has completely different problems And I started hacking on that the other day I went down a massive big rabbit hole and ended up with all these different Wi-Fi modules so that I could improve the upstream support for a series of about eight 12 different real tech Wi-Fi modules and yeah, so that was What GPUs don't support x11 Quite a number of them. Well, I don't think the VC for in the Yeah, offhand I don't know the Tegra stuff didn't use to support it. I don't know whether it does now The Mali stuff, I don't think supports it or doesn't support it well But like quite frankly, it's mostly sort of end of life now anyway And I personally don't really care about it. So I'm not actually doing any testing. That's not on Waylon for the arm stuff How can someone help getting the bits upstream so it doesn't all fall on me Come to probably the fedora IRC channel and or ping me on IRC and I can give people lists of things to do and general direction of Where and how and what have you to contribute there? Be aware you'll probably need to have a relatively good understanding of kernel contribution But I can help out wherever possible and I'm quite happy to be CC'd on patches to give acts and feedback and various other bits and pieces Yeah, so So yes, it's Where we're with the pine book pro. We're mostly there I believe but I missed a session on the pine phone yesterday And there's a bunch of work happening there as well in similar method to this like there's some early firmware stuff that Needs a bit of work and I actually enabled the open risk 1k Cross-compiler in fedora the other day. Yeah, that was another rabbit hole When you know to actually get things working you actually have to do bootstraps on Cross-compilers for weird architectures So, yeah, like there's a bunch of different stuff there Let me stop Sharing So, yeah, I don't see any more questions And I think we're over time as well. So Thank you everybody