Ask Me Anything w/ @ahkok, 6/19 @ 1PM PST

Hi everyone! I just logged on just now - from my daycation at the beach here in Oregon! I’ll be answering questions for the rest of the afternoon as time permits - probably in 30min sessions!

I’ll pick this as a first!

I was “tinkering” for a very long time as a kid - I had bought a Commodore 64 myself when I was 15 or so and immediately gravitated to learning Basic and Assembly. When I managed to get a PC, programming really was where I spent most of my time. It took a long time before Linux came around but in '96 someone passed me an old computer with it and that was what got me started learning about Open Source. It took me a few years but around 2000 or so I posted my own first GPL program (a perl based parser). From there on I quickly started rolling my own Linux. Nothing was really a defining moment - I just gravitated towards this type of software development and more and more OSS was becoming mainstream and I immersed myself into it :slight_smile:

3 Likes

I really like this question!

You may know that Arjan and me have been working on solving fundamental problems like stability and performance for a very long time, and you may have ran into our “5 second boot” presentation we did at Linux Plumbers conference in 2008(?) or so.

One of the key learnings from our initial technology spurt at the time was that we could boot significantly faster if the UEFI BIOS would initialize the frame buffer and the Linux kernel would just reuse it. The thinking is in general that the Linux kernel can setup hardware the fastest, but, you need a screen to work from the BIOS otherwise you can’t interface with it. So, all we want the firmware to do is setup the frame buffer and then pass it over.

We spent lots of time getting the i915 drivers to properly accept the frame buffer (Thanks to Jesse Barnes!) and … well it sometimes works. Unfortunately we see that on many systems the display doesn’t initialize properly or the driver has issues with it, and most of the time this is what causes the i915 driver to reinitialize the frame buffer - and thus likely waste a second of boot time (doh). Some of it is fixable, sometimes it’s just stupid stuff like missing EDID data.

In any case, what Fedora’s flicker free boot is doing is a continuation of this effort, so, I applaud it. I do have to mention that I’m not in it for the “flicker free” part where the screen has to look like it’s gone through post production at Universal Studios ( :stuck_out_tongue: ), I honestly do not like splash screens since they essentailly waste time for … aesthetics :). Nonetheless the efforts overlap and that’s great.

For Clear Linux, we still need to revisit this topic and see what we can do about improving it - but it will be from the boot time perspective and not from the aesthetic angle :wink:

3 Likes

You know, you didn’t have to wait to ask this question - this is an entirely relevant question.

I do not have an answer - personally, I feel like we should make CBM capable of handling the windows 10 bootloader so this is much more smoothly than current. Same for grub2 support. I’ll try to put more of my time into CBM and see if we can knock some of these pain points away.

As for “what’s possible” - well, everything is already possible right now, it’s just manual setup work, and this is not feasible for most users because it’s too complex. I’ve almost entirely given up on attempting to understand grub2 myself - the time investment to learn yet another bootloader is non-trivial :wink:

Honestly, every time we visit this topic, I’m probably the person to bring up that Clear Linux is fundamentally an “online OS” to begin with. I understand it though, network transfers are costly and especially for people with bad internet connections this is a problem.

I don’t have an answer, though. Maybe we will do this at some point, but, it’s just entirely uncertain IMHO.

Oh gosh, that would be a very long list. I collect “potential” like crazy, and only a fractional part of my projects ever come to completion. My list of “honey-do” items at home is already fairly large, I have OSS projects outside work that I’d like to experiment with or build something sizeable from (as I’ve done in the past and continue to do). There’s even a few “community” projects that are non-code / volunteering, like teaching chess for instance. And my list of OSS projects I want to devote work time for under the Intel umbrella is… well, let’s just say if you want to help out let me know :wink:

At the moment I seem to really be enjoying doing projects to get educators and teachers involved in teaching kids about software and computers. Some of these projects are really simple and trivial and I’ve written some code to help these teachers already in the past. Projects like that are highly rewarding and it’s great to see kids use them, and I would encourage everyone to look into doing projects like that!

Well, you can look at it from two angles: First, one of Intel’s motto’s is “x86 everywhere”. That’s the first clue. Second, from the people who work on Clear Linux, we really don’t want to “switch” to a different distro once we’re done working, so, there’s the second hint.

There are a few applications where we know we just won’t see Clear Linux get used, and that’s OK, but most generic purpose - yeah, we want to support it. That totally includes gaming, office, etc…

2 Likes

Projects like that existed because there was both a major drive to tackle problems like that and we had the resources to do so. Unfortunately that always changes and at the moment we just don’t have the resources to commit to lsi that the project needs - it doesn’t even work properly at the moment, and getting Steam installed properly for it is also broken. We need to find a better solution for this - for sure. Maybe lsi needs to become integrated with a proper 3rd-party software addon. Or maybe someone from the community starts sending us patches :wink: .

I’m gonna take a little break right now and get my feet wet in the (cold) Oregon ocean water! I’ll be back in a while for followups and other questions!

2 Likes

I’m new to the Linux world and would you give me some resources where I can seriously learn more about the operating system?
The whole ecosystem seems to be so huge and I can hardly know where should I started.

Thanks for taking the time to respond to these questions @ahkok, it has been insightful.

I’d like to add 2 to the mix if possible:

  1. How many people are part of the clear Linux core team?
  2. What is the QA process for newly packaged apps to be pushed to production? I’ve noticed a few apps get pushed that are completely non-functional.

I may be a bit of an old timer but of I had a single resource that explained how all the Linux bits stick together … Well I wouldn’t withhold it from anyone.

Personally I still rely heavily on man pages, which is why I’ve pushed many of our projects to add thorough man pages. I personally still like to refer to some of the other linux wikis and the arch wiki is a good example.

What really helped me is that as I learned about all this, it was mostly still being developed. That luxury is largely gone for new developers. For instance, gnome 1.4 was tiny :smile:.

Best thing is likely to pick a focus topic and ask. Our IRC channel is a great start for that.

1 Like

That’s actually not something I can just answer, and it’s offtopic for this AMA, sorry!

1 Like

Proper packaging often means much more than just adding the compiled software. For this reason we often allow new packages to be completely untested. That allows us to roll out the software on a personal testing box and work on the stateless aspects or fixing missing deps.

If we’d wait until it was fully tested we’d be forced to do it all ourselves, so it actually helps us if we can leverage the community. If you see something that’s new and non-functional, it guaranteed means that your feedback will be highly valuated!

Another simple angle is that any new package is likely never going to break anything else, so the risk of including it is minimal, and this grants us speed.

1 Like

A post was split to a new topic: Daemon configuration and integration

Yes it is possible, systemd-boot look for windows partition and shows in the menu, just add a timeout to clr-boot-manager

 $ sudo clr-boot-manager set-timeout 10
 $ sudo clr-boot-manager update

Thanks @ahkok for the answers and everyone for the participation! Hopefully it was helpful. I appreciate any feedback to improve for next time.

Phoronix did a post about it, in case you’d like to check it out:

For all those eagerly awaiting offline installs, we’re very happy to announce that the live desktop and server images now support offline install for basic configurations. See here for more details.