Btw. regarding the Dell XPS advice found in the original post:
Three years ago I bought an Dell XPS 15. After a few month the touchscreen was broken (did not respond to any input). As I didn't really need it, it took me a few weeks before I contacted Dell. Their support tried to fix the devices remotely for nearly an hour (flashing firmware updates), the touchscreen was still broken. So they send a technician who tried to repair the device in my kitchen. Sadly he didn't have a replacement screen with him, so a few days later another technician came and replaced the screen.
Afterwards the touchscreen worked again. But a few weeks later the Screen started to flicker occasionally. At first I wasn't sure if it was related to the battery level or some software error, as it just happen from time to time and I wasn't using the device that often anyway. But after searching online for the issue and having used the laptop with Windows and Linux for months I am confident that it is another hardware malfunction. Sadly the warranty is long time over.
I liked the effort the support put into fixing the device, but I am a little disappointed to have had so many hardware issues for a device with such a high price. And while I had very few driver issues, the overall quality of the product didn't convince me to recommend it :-/
I had similar issues with an XPS 15. The battery started swelling and popped up the touchpad (I think that's covered under warrant with a recall; just need to take it in). The speakers have no over current protection and blew out (to be fair HPs don't have hardware protection either and can do the same thing).
I've also had a lot of cooling and throttling issues. I use to really like Dells and have had other really good Dell laptops. Maybe I just got a bad release and I probably shouldn't swear them off, but I'm probably going to avoid them for a while.
I've been using xps15 for about 6 months and by far the biggest complaint I have is the webcam placement. Hopefully I won't have these other battery swelling/screen issues.
This is the whole open source community destroying (edit: maybe better term would be "damaging") itself.
Basically it starts civilly about finding the one best way to do something. They agree to disagree.
Then there 2 standards...Then 4, then 8 all not having the effort exerted to make each solution great.
Then one party writes something like "don't buy this it not free/ doesn't do this".
And in the end 99+% of people can't be bothered with the arguments and end up running Mac/Windows laptops, harming the open source adoption goals of everyone who was arguing before.
I still own redhat stock. Corporations love having a point of contact when things go wrong and will pay for that.
Dozens of projects have gone this way and the open source community still exists
It’s almost as if the notion of one size fits all is a utilitarian idea to simplify production of physical goods
We need to maybe look at why we keep trynna force that on more ephemeral ideas
I’m not obliged to speak English any one why. Why bother with making sure everyone runs the same code or manages only one or two key projects collectively?
Linux is great. But even with a strong personality leading there are just too many options for the average consumer.
Software and operating systems are a feedback loop. The more software for a OS the more people use that OS which drives more and better software. As a Mac user in the 90s we suffered from a lack quality software and almost the demise of that platform.
It’s always the year of the Linux desktop, but it can’t seem to displace windows despite being cheaper.. I want great options for computers with Linux pre installed.
But it’s hard sell. Which disto?
Which desktop to use? Gnome, kde.... filesystem? Want to install something non standard? Better hope that they build the software with the same libraries and the same distribution.
Choice is great, but after reading about the linux desktop in another post, people have their favorites, but it seems like there is a lot of work to be done polishing them. With limited developers volunteering we end up with 10ish ok options instead of 2 or 3 great ones.
You want as many people using your platform to keep it healthy and strong.
The lastest Ubuntu LTS has been the 'standard' at least since 12.04. Others (like me) have favorites because we're free to do so, and we're nerds. It solves all of the questions that you have above very reasonably, and it runs on almost anything.
The main gripes with it are that it's 'bloated' (in Linux terms, yes, but it's way lighter than Windows/MacOS), or that it encourages the installation of proprietary binaries to make things work (also way less than Windows/MacOS).
Hellish? I was running linux back then (since 97 actually) and while there was a fair amount of confusion, it wasn't due to the many choices we had, and there was nothing hellish about it. The confusion was because we hadn't realized that the right way to handle file system issues is to keep backups and have automated rebuilds. In some tiny minority of cases you also need some flavor of RAID. Other than that, why worry about file systems?
Why should your interop concerns influence choices I need to make for my project?
Shared utilitarian solutions to basic human problems like food, healthcare, shelter, Linux kernel I get
Why do I need to adopt anyone else’s “code slang” for my otherwise specific needs? If ext4 works who are you to tell me to use something you think is “better”?
I am the engineer at System76 that has been working on the low-level firmware update procedure.
The only alternative is to reverse engineer the SPI flashing method. We have switched to using FPT, the Intel Flash Programming tool, on new models. This means that we need to reverse engineer the SPI update method, which is something the flashrom project has had success in doing for older Intel chipsets.
Can’t you add a bit of code to your firmware to accept a special EFI capsule that’s really just an EFI program (or a firmware volume containing an AFUEFI and the payload)? This wouldn’t work for UpdateCapsule, but it should work as a UEFI 2.4+ capsule-on-disk.
If fwupd won’t support a capsule-on-disk, I personally volunteer to nudge them. But I bet they already support it or would be very willing to add support.
SPI is easy, and well understood. For firmware editing I often use an external flasher for updating the ROM, and use flashrom to do so. Accessing the SPI bus on the Intel chipset, from the computer itself, is undocumented and usually requires reverse engineering.
OK, neat, it looks like they haven't changed it in eons. It's PCI device 00:1f.5 and is documented in all of the PCH docs (so Vol 1 for overview, Vol 2 for registers). Sometimes it's disabled by firmware as a sort of 'security' mechanism.
Yeah, there's not a whole lot there in the docs, but it's PIO SPI that handles most of the flash addressing for you, so it's not the most complex thing in the world to begin with. More "fill the buffer and go" sort of deal.
But, if your firmware cares about preventing flashable rootkits, then these registers should be locked such that you can only flash from SMM or during initial boot. The fact that AFUEFI works at all on a System76 laptop is a bad sign IMO.
What do you mean “in EFI mode”? Do you mean EFI Boot Services or something else? I’m trying to understand what makes AFUEFI special that causes it to be able to write the SPI flash when regular software can’t. If I understand your blog post right, AFUEFI run like any other .efi program, which seems insufficiently locked down to me.
For just doing updates, you shouldn't have to (or be able to) touch the flash descriptor, AFAIK. It's fixed at manufacturing time (without touching the flash with an external programmer of course).
Based on there comments in the article, I'd say that was their conclusion:
There is no other way to interpret this email other than LVFS won’t work well for us. UpdateCapsule is not supported by over a decade of machines in the field and could not be added without a firmware update.
Since we are giving feedback to system76 I was shopping for a laptop 1+ year ago and was considering system76. When I inquired about buying an Oryx Pro they said that they would disable the onboard gpu and I could not use it. I ended up buying a laptop elsewhere. It took me ~ 6 months to find out how to properly use/switch_to the iGPU (spoiler: acpi_osi kernel parameter in grub) but now I do and can properly chose between battery endurance and performance. Ideally a linux vendor would fix these problems instead of limiting what one can do with the hardware. On the other hand requiring a user to change grub kernel loading parameters isn't a level of customer support that would get positive reviews. However a sizable number of linux users are "enthusiasts" (as people who don't use linux like to call us) and, personally, if I am to pay more for a linux laptop, I expect the manufacturer to facilitate tinkering to get the most out of it (ie allowing me to switch gpus or run any distro I want) instead of hindering that option.
The whole "Be wary" section is a really unprofessional swipe borne out of pure retaliation. It isn't germane to the discussion at all, and it's simply FUD spread by System76 in retaliation to Red Hat's security and legal teams balking at System76 wanting them "to ship a untrusted nonfree binary which would get run as root on RHEL on customer machines".
To be fair, both sides are acting somewhat unprofessionally in this story.
This. I think the whole "longer lever to move the boulder is to do this in public" is a very very bad trend. Posting stuff like this is inflammatory, on both sides.
That would be a belief that market behavior delivers optimal outcomes. If you instead think that market dynamics can deliver very bad results, this makes sense as an example of it: sure, consumers like seeing it, but it's not helping and the consumers are wrong to think it is.
Some consumers. I don't believe a majority, but enough that as a win-at-any-cost strategy it works. The majority actually loses in this situation. This is destroy the opposition not grow the market.
I don't get it, do you allow adversary participants in on the network to vote on firmware consensus? What's wrong with regular vendor digital signatures, like everyone else does? :)
No. It is a blockchain, but is not distributed or mined. Firmware is built and signed with the signature of the previous build as part of the artifacts. This, in addition with a constraint that the timestamp can never move backwards, means builds must have a valid timeline and it becomes very difficult to hijack the publishing system.
Imagine you want to revert firmware for legitimate reasons. As the originator of the firmware, you could revert the source code and have a new build spawn that produces a valid artifact. With our system and with the typical system, this is possible.
Now imagine you are an attacker who wants to release an older firmware version, which potentially contains a vulnerability. You have access to the publishing system, but not the build system or signing key. With our system this is impossible, as consumers will not allow moving backwards to an older build. With the typical system, any signed firmware blob can be released at any time, meaning an older version can be made available without having to rebuild.
Our build system utilizes a firmware signing hardware device connected to the build server over serial with a strict protocol to ensure that leaking the key is not possible, even if the build server is compromised. In addition, the key is destroyed if this firmware signing device loses power (it does have a battery backup, but it disconnects if the case is opened), and we must deploy a new key in that event through software upgrades on client machines.
Sounds really complicated, couldn't you just replace all that blockchain verification code with an "if (firmwareToInstall.version < firmwareCurrentlyInstalled.version) return false" after the signature check?
I personally dislike their hardware (I've owned Clevo / Sager for close to 15 years now, they've always felt cheap and plasticky), but I think their PPA and support are great.
The problem is that it's not clear what exactly is better out there for Linux enthusiasts who want a MacBook Pro-like experience out of the box. They're the least worst solution on the market as far as I can tell.
Well considering before I switched to my System76 laptop I had to deal with trying to get a proprietary video chipset working that also controlled my CPU fan. It was not any fun and the result was a machine that would just plain overheat when I ran Linux (also did it on Windows). On the other hand when I had issues with my System76 machine I bought second-hand I was able to get excellent support and the drivers all worked out of the box. So yeah I'd rather buy a machine that has working drivers out of the box than waste more hours of my life trying to troubleshoot getting some kind of proprietary chips working.
That's fair, I should have said "professional" more than "enthusiast".
I'm in the category where I use Linux for a living, but I also don't want to spend a week debugging why WiFi keeps dropping at random intervals instead of actually getting my job done.
Just don't touch system76. They're just low quality rebranded Sager laptops with a crap version on Linux. You can just buy the same laptop and if you really like their horrible version of Linux, then put that on there.
The Linux community really does eat its own. For a long time the question was - when will there be a Linux supporting laptop. Now a company comes and does it and the complaint is they aren't bespoke enough.
As someone who uses Linux on a laptop (ThinkPad) and would love to support a Linux-first laptop vendor, the question I've always had about System76 specifically is: what value exactly do they add?
System76's pitch is that they add value by ironing out all the compatibility issues Linux can have on laptops, so they "just work" the way macOS does on MacBooks and Windows does on ThinkPads and Dell XPSes. But they're maddeningly vague about precisely what compatibility issues they're ironing out, at least in their public-facing marketing materials.
Those make their pitch instead on the quality of their hardware -- a front where they are inevitably doomed to lose to deeper-pocketed OEMs like the ones mentioned above -- and on their coming with a custom flavor of Linux called "Pop!_OS", which as far as I'm concerned is an anti-feature. I don't want to be locked into some hardware vendor's custom Linux ghetto just to get hardware compatibility; I want to run mainstream distros like Ubuntu, Fedora or Debian. You can get a System76 machine with Ubuntu, but if the hardware "just works" with Ubuntu, why muddle the message by trying to get me to convert to a whole new distro? And if it doesn't "just work" with Ubuntu, why offer that option in the first place?
It's all very confusing, and leaves me with the vague feeling that they're talking about just about anything they can talk about other than what specifically they're doing to improve Linux's compatibility with laptop hardware. And that makes me worry that they're just taking generic hardware from some Chinese factory and installing Linux on it.
If that's what I wanted, I could do it myself, you know?
Note that I'm not saying here that they aren't doing important work improving compatibility. What I'm saying is that, if they're doing that work, they're doing a really good job of hiding it from potential customers. Which is mystifying, since that is the one thing their potential customers would actually care about.
I suspect part of the issue here is that if they indicate which HW variants are better-supported under Linux explicitly, it suddenly becomes 'just buy that laptop configuration from Clevo/Sager/etc.' and they are back where they started. It's also possible the exact ordering combination is custom from Sager/Clevo and available only because they buy in larger bulk, or some parts are removed/replaced after the fact of course.
Disclaimer: typing this on my work machine, which happens to be a System76 laptop. Mine came with Ubuntu, and a special System76 PPA for what appears to be firmware reasons.
Also, with a higher-end config I don't recall the Sager/Clevo options I saw being much cheaper, if at all. The comparable ThinkPad was more money, though it did include some things I didn't actually need (mainly something more than Intel graphics) -- could've been nice, might've been annoying per the other Optimus complaints I recall seeing recently.
They have stated that they spend a lot of time working with Clevo when a new laptop is in the design phase to ensure the hardware is compatible. That you can buy a linux compatible clevo laptop is in large part because they specified parts in the design phase that worked with linux.
(Be careful reading the above, sometimes there is something like a fingerprint sensor that is not compatible. Clevo tries to use the same model for many different customers and so sometimes not everybody can be perfectly satisfied)
So as someone who has owned a System76 and a Dell XPS I can say a few things, just a random bullet list of thoughts neither positive or negative leaning:
* System76 came before the Dell XPS (as far as out of the box installed Linux).
* System76 drivers are distributed via private repo.
* Dell's patch work is often upstreamed so non-Dell hardware/customers can benefit.
* When I bought a Dell XPS 13 9160 it shipped with many hardware issues. Keyboard double press issues, screen flicker, and (my personal favorite) a null pointer bug in the WiFi so that if you switched wifi connections it would result in a kernel panic.
* Never had any driver issues or bugs I had to sort out on my own with my System76 and my Galago UltraPro is still trucking.
* System76 support is vastly superior to Sputnik support, the one time I needed System76 I emailed them and they sent a replacement part (ethernet gate). For Dell, at least back when I was actively using it as my daily driver, User forums were the primary support channel.
* System76 (for now) uses Clevo as a thrid-party system provider (just like Sager).
* Dell uses their own manufactured hardware which is often a step above in build quality.
Based on my experience with both and with installing Ubuntu most recently on my Dell Alienware 13, I seriously doubt that Ubuntu "just works" with the hardware. Even on my Alienware where I replaced the Broadcom networking card with an Intel one for better Linux support, I still had to do some tweaking to resolve graphics issues and various other minor annoyances. For reference, part of the changes I had to apply I followed from here:
So while, hopefully, the amount of work System76 has to do these days to configure Ubuntu is small, I have no trouble believing that there is still some to be done. In particular hardware integration things like keyboard back light control or proper optimus support probably involves some amount of work.
At the end of the day, System76 came out of the box as a working Ubuntu machine with 0 work or tweaking required from me. And even now my System76 Galago UltraPro is still the only laptop which I have had that 0-configuration experience with (and it's still trucking).
For me, both have their strengths and weaknesses. If I were in the market for a new, Ubuntu pre-installed laptop...I would still consider both.
My Dell XPS 13 9343 was similarly rather hit-or-miss on Ubuntu, despite it being the OS that shipped with their "Developer Edition". Fedora, on the other hand, worked fine--since it was brand new hardware, more than anything just having the bleeding edge kernel helped fix a bunch of the issues, except for the WiFi. I switched to an Intel card for that.
Don't you find it a little ironic posting this in reply to a blog where they mention exactly what they are doing to make open source firmware work better?
You can say they aren't working on the right things - or that they aren't doing enough. All fair - but clearly they aren't just installing Linux on OEM laptops.
No, not really. I was talking about the stuff you see when you go to buy a System76 laptop, i.e. https://system76.com/laptops.
And as an outsider to this particular corner of the Linux world, what I've seen following this back-and-forth is a fight between System76 and someone from GNOME who says System76 is making his life more difficult. As someone who uses GNOME on all his machines, that is not the kind of relationship between a hardware vendor and the GNOME project that would encourage me to buy their hardware.
Bug lists don't sell laptops. I can't see them changing their marketing. For the people who want more technical information they have their blog. Although as seen here its a bit of a mixed blessing for them.
But I'm more upset with the people who say just go buy a Clevo that they OEM. A company spends time and money to bring good Linux support and people want to end run around them to save a few bucks. This is why Linux doesn't have great laptop support - nobody will pay for it.
If the creator of a toy operating system has to ask why his toy operating system isn't a competitor of something that's been run in production for 20 years, it either isn't a question or something worse.
But it's nice to know that I can just phrase all of my statements in the form of a question and then I can never be held accountable for stating them.
> Is the purpose of your comment to say that more expensive laptops are better?
Uh, no. The purpose of my comment is to point out there's a company that builds and sells Linux laptops that are of higher quality. They've put in a lot of work to support Coreboot, disable ME, and have a working TPM. They are trying to reduce their dependence on non-free software.
It's a coincidence that in this case you 'get what you pay for'.
I might not phrase it that way, but notice that it's not exactly a one-to-one correlation. Given, y'know, that we are busy discussing hardware to run Linux... Which is free in both senses. It's a stronger correlation in hardware, but still imperfect; one brand being higher quality than another while undercutting them by a couple hundred dollars wouldn't shock me.
Three years ago I bought an Dell XPS 15. After a few month the touchscreen was broken (did not respond to any input). As I didn't really need it, it took me a few weeks before I contacted Dell. Their support tried to fix the devices remotely for nearly an hour (flashing firmware updates), the touchscreen was still broken. So they send a technician who tried to repair the device in my kitchen. Sadly he didn't have a replacement screen with him, so a few days later another technician came and replaced the screen.
Afterwards the touchscreen worked again. But a few weeks later the Screen started to flicker occasionally. At first I wasn't sure if it was related to the battery level or some software error, as it just happen from time to time and I wasn't using the device that often anyway. But after searching online for the issue and having used the laptop with Windows and Linux for months I am confident that it is another hardware malfunction. Sadly the warranty is long time over.
I liked the effort the support put into fixing the device, but I am a little disappointed to have had so many hardware issues for a device with such a high price. And while I had very few driver issues, the overall quality of the product didn't convince me to recommend it :-/