https://www.reddit.com/r/linux/comments/5umefi/comment/ddvcx...
What do you mean by "products"? Is it a particular combination of a specific barebones Clevo laptop installed with specific components (make+model) picked by System76?
> Once that has been determined, designed, and goes into production, we start on firmware. We ensure all components are working together and with the Linux kernel (often requiring changes to the components' low level interactions with the OS, since the upstream components themselves are often manufactured with the assumption they will be used by Windows).
What do you mean by "ensure all components are working together"? Do you mean check whether a component is already supported by linux and in case the support is iffy the System76 staff picks some other component (make+model) that's better supported?
It's kind of a case-by-case basis. But some products, like the Galago Pro and new Oryx Pro, are the result of years of working with our partners to even develop a certain class of computer. For a long time, Clevo wasn't even interested in a thin and light aluminum machine (much less a sane HiDPI resolution), but we worked with them to get that into production. The display resolution in particular was a win for us, as they had originally planned to go with a 3840×2160 display, but at 13", it was too-dense for most of our customers without fractional scaling. So we had them source a 3200×1800 display, which is just right. And when our customers and fans wanted a slimmer bezel on that machine, we released the 14" version with the same exact chassis but a bigger display and smaller bezels.
>What do you mean by "ensure all components are working together"? Do you mean check whether a component is already supported by linux and in case the support is iffy the System76 staff picks some other component (make+model) that's better supported?
Some components—like a DAC or Ethernet chipset—are not always directly chosen by System76; it's a decision our partners make when the product goes into production. Much of the time those components work perfectly fine out of the box in Linux, but sometimes it requires some firmware or driver work to get it working perfectly, usually if the component itself was only originally developed for and tested against Windows.
Just as an anecdote, my Dell XPS 13 DE (9160) came with Ubuntu preinstalled and "support" from Dell and it still had issues. My personal favorite was a null pointer bug in the WiFi driver where switching WiFi connections would result in a kernel panic.
I'm curious what do your firmwares actually improve?
This vastly trivializes the work System76 does for months and sometimes years leading up to a product release. We don't simply take an off-the-shelf product that already exists, throw an OS on it, and sell it.
System76 works with upstream manufacturers (like, yes, Clevo for laptops) to determine what types of products to develop, including their specifications, design, etc. for months up to a release. These products do not exist before we enter into these conversations.
Once that has been determined, designed, and goes into production, we start on firmware. We ensure all components are working together and with the Linux kernel (often requiring changes to the components' low level interactions with the OS, since the upstream components themselves are often manufactured with the assumption they will be used by Windows).
Once that is complete, we test with Ubuntu and Pop!_OS specifically, ensuring the OS is working perfectly with the hardware. If there are any OS-specific changes to be done, we write that behavior into Pop!_OS and/or our "driver" which is preloaded on all machines (and available in any Ubuntu-based distro, Arch, Fedora, etc.), with the intent to upstream that into Ubuntu, GNOME, and/or Linux itself as quickly as possible. When this is more generic like ensuring HiDPI works great out of the box, this actually ends up benefiting competitors like Dell's XPS 13 probably as much as it benefits us, but we put in the effort to file the bugs, track them, write the code, and get it upstreamed.
Once all of that is complete, we finally offer it for purchase and market it with all of our pretty photographs, sales pages, etc.
What ends up happening, then, is Clevo offers a machine with a similar-looking chassis for sale as a barebones laptop. This is the result partially of the decision making System76 has made for what to produce in the first place. These products, however, do not contain any of the firmware or driver work that System76 has invested in. They do benefit from the nice photography and advertising System76 has done, and since they look similar, people assume they're going to get the same machine for cheaper "directly from the manufacturer."
Edit: regardless, this is a bit beside the point of the linked blog post, and is also becoming less and less true as we work on designing and manufacturing our products completely in-house.