<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Z Space Blog - GNOME</title><link href="https://zlg.space/blog/" rel="alternate"/><link href="https://zlg.space/blog/feeds/t/gnome.atom.xml" rel="self"/><id>https://zlg.space/blog/</id><updated>2022-12-12T00:00:00-08:00</updated><entry><title>GNOME as a Platform</title><link href="https://zlg.space/blog/gnome-as-a-platform.html" rel="alternate"/><published>2021-10-28T00:00:00-07:00</published><updated>2022-12-12T00:00:00-08:00</updated><author><name>zlg</name></author><id>tag:zlg.space,2021-10-28:/blog/gnome-as-a-platform.html</id><summary type="html">&lt;p&gt;I came home today and strolled my usual Web haunts before diving into the
Underground, and stumbled across a piece by GNOME developer jwestman, titled
&lt;a href="https://www.jwestman.net/2021/10/26/platforms-compatibility-the-future-of-the-free-desktop.html"&gt;Platforms, Compatibility, and the Future of the Free Desktop&lt;/a&gt;. In it,
he advocates for GNOME (and by extension XDG) to become &lt;em&gt;the&lt;/em&gt; platform that
"everyone can work on together". Isn't it funny that the kind of people that
suggest this are always talking about the platforms, software, or APIs that
&lt;em&gt;they&lt;/em&gt; have control over? Does this person not understand why people choose
other software, or choose to create something different? Do they not understand
the risks present when the vast majority of your userbase is on one or two
platforms and a 0-day is found?&lt;/p&gt;
</summary><content type="html">&lt;p&gt;I came home today and strolled my usual Web haunts before diving into the
Underground, and stumbled across a piece by GNOME developer jwestman, titled
&lt;a href="https://www.jwestman.net/2021/10/26/platforms-compatibility-the-future-of-the-free-desktop.html"&gt;Platforms, Compatibility, and the Future of the Free Desktop&lt;/a&gt;. In it,
he advocates for GNOME (and by extension XDG) to become &lt;em&gt;the&lt;/em&gt; platform that
"everyone can work on together". Isn't it funny that the kind of people that
suggest this are always talking about the platforms, software, or APIs that
&lt;em&gt;they&lt;/em&gt; have control over? Does this person not understand why people choose
other software, or choose to create something different? Do they not understand
the risks present when the vast majority of your userbase is on one or two
platforms and a 0-day is found?&lt;/p&gt;


&lt;p&gt;Something jwestman doesn't comprehend about the libre software world, I think,
is that its diversity is both a help and a hindrance. To get the best software
from the community, it needs to be able to grow, change, and adapt at the
individual level. Those adaptations will create the behavior of the ecosystem.
This is observable in wildlife, as well.&lt;/p&gt;
&lt;p&gt;Congregating the majority of an ecosystem so that they all use the same platform
is not helpful to anyone except the builder of the platform and those that
depend on them. It's &lt;em&gt;commercial&lt;/em&gt; behavior, not &lt;em&gt;social&lt;/em&gt;. These projects can
exist just fine on their own without trying to get everyone to use them.&lt;/p&gt;
&lt;p&gt;The overarching goal of organizations like GNOME are to have control over the
future of the software ecosystem. If you provide the platform, you control the
platform, you control the users. If you define the standards, you control the
platform.&lt;/p&gt;
&lt;h1&gt;Where's the incentive?&lt;/h1&gt;
&lt;p&gt;What do I gain from XDG and GNOME as a software developer? It's yet another
piece of software or interface I don't control, forcing me to update &lt;em&gt;my&lt;/em&gt;
software if I want to remain functional &lt;em&gt;ON&lt;/em&gt; your platform. It's based on
bureaucratic consensus, where decisions are gatekept by the top two funded and
top two largest implementations (GNOME and KDE). If I disagree with a decision
or propose an addition to the standards, or the interfaces, what hope does my
voice have of being heard and given honest consideration? That's the problem I
have with these organizations that are companies pretending to be communities,
so they can gain resources from the community.&lt;/p&gt;
&lt;p&gt;GNOME has not demonstrated themselves to be a good player when it comes to
collaboration. A lot of concerns have been cast aside, and their chief funding
company, Red Hat, employs these developers.&lt;/p&gt;
&lt;p&gt;Do tell me why I would want to work with such an organization. I challenge GNOME
to show the choices they allow within their platform, especially in light of the
recent &lt;em&gt;dwindling&lt;/em&gt; in options across GTK, GNOME, and GNOME core apps like the
file chooser and Nautilus. Interestingly, jwestman does a rhetorical trick where
they characterize the choices GNOME offers as "real" while other choices are
less "real". If someone switches away from GNOME, there is still a cost!&lt;/p&gt;
&lt;p&gt;GNOME is and has been obsessed with image, UX, branding, and community outreach
the past 5-8 years. To increase broader appeal, you dumb things down. Novice
users overwhelmed by options? Remove some, or hide them in dconf/gsettings!
Marketing alone isn't going to make a good platform, and neither is suggesting
people use your platform because of some fake appeal to collaboration that
doesn't hold to scrutiny if you look at your bug tracker.&lt;/p&gt;
&lt;p&gt;The direct result of coalescing on any standard is to give power to those who
wrote the standard. I do not trust the groups in charge of FreeDesktop or GNOME,
so I have no reason to learn how to write a GNOME app.&lt;/p&gt;
&lt;h1&gt;Some Thoughts on the GNOME Experience&lt;/h1&gt;
&lt;p&gt;For the record, &lt;del&gt;I'm a daily user of GNOME right now&lt;/del&gt; (nope, lol &lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt;),
since my laptop shipped with it as the default environment and I chose to try my
best to set it up, so I could zero in on what I dislike about it.&lt;/p&gt;
&lt;p&gt;It's a struggle to use this environment. It's a struggle to navigate the
bullshit XDG docs for defining a desktop file, so I could make a launcher for
PICO-8. The one GUI program I found to manipulate the menu and launchers didn't
have a clear interface as to which fields meant what, and the launchers it &lt;em&gt;did&lt;/em&gt;
produce didn't work. I ended up returning to the spec, and fucking around until
something finally worked. Then I needed a systemd unit to get some semblance of
"run this bash script once on boot" so I could set a sysfs value while waiting
for an EC firmware fix. GNOME also can't switch audio output when I plug in
headphones, and there isn't a GUI to fetch programs that have tray icons, like
Nextcloud and Steam. I have to use the Task Manager clone that GNOME has and
make sure it's not in the process list. (&lt;code&gt;ps aux | grep&lt;/code&gt; is loads better btw) I
often leave Steam, Nextcloud, and Mumble all in their own workspaces, to avoid
losing the windows. How on Earth is that better than a system tray!? The worst
part about this is a naive GNOME user would assume these programs are broken,
when they are not: GNOME simply doesn't implement tray icons! Load them on any
&lt;em&gt;other&lt;/em&gt; DE, and I can access the tray icons with no problem.&lt;/p&gt;
&lt;p&gt;Add to that the uselessness of the icon spec. For defining something visual, you
might want to provide a complete set of blank or example icons. Nobody wants to
navigate through the ridiculous amount of XDG-defined icon names and try to
figure out the correct one to use. Can't we use sane names, and document them
better? Half the problem are the atrocious docs. They're not written for app
developers or even independent, self-taught folks. They're written &lt;em&gt;for other
standards writers&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Honestly it just feels like GNOME and XDG, if we were to consider them "a
platform", are designed to be difficult to integrate with, and you're stuck with
whatever Trolltech/KDE and Red Hat/GNOME decide on for their systems because
there's no evidence that any outside opinion would be given consideration or be
able to get any ideas merged into the standard(s).&lt;/p&gt;
&lt;p&gt;Every step of the way of my using this "platform" is a disaster. It's like it
actively doesn't want me to use it, or enjoy myself at the computer.&lt;/p&gt;
&lt;p&gt;My first Linux experience was on Ubuntu, back in 2005. It used GNOME 2 and had
tons of options and supported a great amount of shit. I got bored and frustrated
trying to customize it, so I moved onto Fluxbox and Openbox, then got into
tiling WMs: dwm, awesomewm, ratpoison, finally settling on i3-gaps.&lt;/p&gt;
&lt;p&gt;So, GNOME used to be good, and I come from an angle of control and
customizability. GNOME 3 is not good, and as a libre software developer I do not
see GNOME as a stable platform to build software on. Between version 2 and
3 there was a huge upheaval, both technical and social. GTK3 to GTK4 is already
pissing off developers and some users. What do you really have to offer other
than an API that doubles as a treadmill?&lt;/p&gt;
&lt;h1&gt;Choice is Empowering&lt;/h1&gt;
&lt;p&gt;The diversity of the software ecosystem is precisely why initiatives like XDG
could even form. Were this not possible, the platform we'd be using would in
fact be called GNU, or we'd be stuck on XFree86 or some other big project
nobody wanted to fork from at first. It's odd to me that those peddling new
technologies -- pipewire, wayland, GNOME3/4, systemd, they all lament that
there are choices in the environment and seek to actively replace other choices
instead of trying to just be a good choice. This competitive approach does not
convey an air of collaboration at all.&lt;/p&gt;
&lt;p&gt;Why should people all use one platform? "So they can gain the benefits of
standardization." Yeah I get the boilerplate answer, but think about long term
risks of using someone else's platform to build &lt;em&gt;your&lt;/em&gt; program. If FreeDesktop
changes something, now you have to change with them. "Bitrot happens," one might
riposte. Bitrot is an artificial phenomenon caused by other people intentionally
changing things so that other software does not work. It's not a magic force of
nature.&lt;/p&gt;
&lt;h1&gt;A Fractal of Projects&lt;/h1&gt;
&lt;p&gt;I think the last part of jwestman's post was the most accurate. I would take it
a step further: &lt;em&gt;computing itself&lt;/em&gt; is fragmented. We use computers for different
reasons; already, we cannot reasonably expect every interface or API to be
suitable for everyone. Standardization helps for interoperability, yes, but to
make the most of that, you need a stable spec from a level-headed, experienced
group of API writers and implementers, developers who are aware of computer
users who don't use MacBook Airs or desktops with kilowatt power supplies, and
people who are good at simplifying.&lt;/p&gt;
&lt;p&gt;The best standards are the ones easiest to understand and easiest to implement.
But another truth is, some have seen the downsides of standardization and
fully understand what you're giving up when you "just use XDG" or "just use
this framework", etc. You're inviting an entirely new set of bugs into your
code, and problems to your project. And they don't come up at first. At first,
integration's great! You &lt;em&gt;just&lt;/em&gt; read the spec and tested it a bunch. It's when
change happens upstream, long after you've committed resources to this platform,
that it bites you in the ass. And by that point, you're dealing with the Sunken
Cost fallacy. Congrats, your pet project is now dependent on Daddy Platform. Do
you beg and plead with upstream to address your problem, refactor to suit Daddy
Platform's preferences (i.e. making development decisions FOR you), or
fork/restart on another toolkit? If you choose the latter, now you're stuck for
a minimum of a few months, if your tool is non-trivial.&lt;/p&gt;
&lt;p&gt;If you build from scratch, there are only a few things that can change and upset
your project. First is any libraries you happen to use, then the standard
library of your language. Lastly, the kernel.&lt;/p&gt;
&lt;p&gt;That may result in a less integrated app, but I'm not concerned with my software
looking like it belongs in GNOME or KDE. We are never going to have One True
Interface that everybody likes. We won't have One True Audio Stack, or One True
Networking Stack. This pursuit in finding The (only) One seems... almost
religious.&lt;/p&gt;
&lt;p&gt;Personally, I like the vast software diversity available to me in the libre
software world. If XDG was the only game in town, it'd be really dull. Same for
Apache, or even just GNU. What we need is for platforms to try being platforms
on their own merits instead of parroting advocacy.&lt;/p&gt;
&lt;h1&gt;Choice is Inspiring&lt;/h1&gt;
&lt;p&gt;One of the most exciting things I experienced in libre software was realizing
"I'm not stuck with Paint or Paint Shop Pro or Photoshop!" I learned about
The GIMP, and Krita, MyPaint, mtpaint, libresprite, and so on. If we take the
ideology of "consolidate and collaborate" to its conclusion, there would only be
one image editor available for Linux, and it would have such a slew of features
it would be an unmaintainable mess. I feel the same way about platforms. Whether
it's elementaryOS, Tizen, enlightenment, GNOME, or KDE, each one has a different
flavor of GUI, with conflicting or oddly accenting views on how a GUI should
behave. As I mentioned before, humans use computers differently. That should
reflect in their interfaces, and yes, even their choice of software.&lt;/p&gt;
&lt;p&gt;As for The Free Desktop, it's been around for a long time, and it's practically
a meme at this point. What people are shooting for with the Linux desktop now is
mainstream appeal. That is not going to result in improved software, any more
than adding more people to the Internet will improve its discourse. What we're
more likely to see is less helpful bug reports, burned out or frustrated triage
devs, lots of stupid community positions to fill, arbitrating all this labor
coordination now needed from the influx of users... it sounds a lot like the way
a business grows...&lt;/p&gt;
&lt;h1&gt;Conclusion&lt;/h1&gt;
&lt;p&gt;So yeah, I dunno who jwestman thinks they're fooling. A platform isn't what
GNU/Linux needs. It needs APIs that can be left alone for a year or two and not
need babysitting because upstream took Adderall and is gazing at glowsticks
while they design the next iteration. If things are designed well, they
don't need to be changed as much. Platforms need to be stable, predictable,
reproducible, portable, and perhaps MOST importantly, slow moving!&lt;/p&gt;
&lt;p&gt;Ideally, we shouldn't be asking anyone to waste lines of code on a standard
that's not ready to be finalized in print. It's disrespectful to ask developers
to rely and build on something you can't make any stability or mutability
promises on. It's like building a Jenga tower on a table someone lent to you,
but they shake the table every so often, ruining your progress up to that point.
Would you want to build on that surface anymore? I wouldn't.&lt;/p&gt;
&lt;p&gt;Stay independent, fellow devs.&lt;/p&gt;
&lt;p&gt;-z&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;I no longer run GNOME on my laptop, mostly due to the lack
of a proper tray without using an extension, and issues capturing windows in
OBS. There doesn't appear to be a way to run or build OBS so that it sees both
Wayland and X11 windows. Since most of my software was X11, I switched to XFCE
until I get the gumption to put together an awesome-wm or i3 config for my
laptop. While it still uses XDG standards, it at least doesn't limit me in how I
arrange my UI or spin up my GPU for fancy effects. It's quite adaptable and gets
out of the way. It also hasn't crashed yet.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Software"/><category term="GNOME"/><category term="XDG"/><category term="Libre Software"/></entry><entry><title>Purism Librem 14v1 Review</title><link href="https://zlg.space/blog/purism-librem-14v1-review.html" rel="alternate"/><published>2021-10-01T00:00:00-07:00</published><updated>2022-02-11T00:00:00-08:00</updated><author><name>zlg</name></author><id>tag:zlg.space,2021-10-01:/blog/purism-librem-14v1-review.html</id><summary type="html">&lt;p&gt;Purism is a small company in the hardware space aiming to provide software
freedom (via their Debian-based PureOS and coreboot-based Pureboot) while also
protecting your privacy and security. One of the key selling points to their
hardware are killswitches, which allow you to physically disconnect internal
hardware to prevent abuse. The Librem 14 has two such switches: one controlling
the webcam and microphone, and the other controlling the Wi-Fi and Bluetooth
radios.&lt;/p&gt;
&lt;p&gt;Due to COVID, supply shortages, and other difficulties of the business, Purism
has had some trouble meeting their shipping obligations; this delay has caused a
number of people to seek refunds or issue chargebacks. Backers for the Librem 5
in particular seem to have rough luck getting their hardware. I was a backer for
the OpenPandora back in 2010, and never received a unit, so I understand their
frustration when it comes to not getting what you pay for. &lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;1&lt;/a&gt;&lt;/sup&gt; I must note,
however, that my experience with Purism was better than I anticipated.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Purism is a small company in the hardware space aiming to provide software
freedom (via their Debian-based PureOS and coreboot-based Pureboot) while also
protecting your privacy and security. One of the key selling points to their
hardware are killswitches, which allow you to physically disconnect internal
hardware to prevent abuse. The Librem 14 has two such switches: one controlling
the webcam and microphone, and the other controlling the Wi-Fi and Bluetooth
radios.&lt;/p&gt;
&lt;p&gt;Due to COVID, supply shortages, and other difficulties of the business, Purism
has had some trouble meeting their shipping obligations; this delay has caused a
number of people to seek refunds or issue chargebacks. Backers for the Librem 5
in particular seem to have rough luck getting their hardware. I was a backer for
the OpenPandora back in 2010, and never received a unit, so I understand their
frustration when it comes to not getting what you pay for. &lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;1&lt;/a&gt;&lt;/sup&gt; I must note,
however, that my experience with Purism was better than I anticipated.&lt;/p&gt;


&lt;p&gt;I ordered my Librem 14v1 in March 2021, when the website said "Shipping in May".
May came and went, and I sent out an e-mail asking them what happened to my
order. I gave it some time, assuming I wasn't the only one with shipping delays,
and reached out again in August. Eventually, a Purism employee reached out to me
via their personal e-mail address to deduce the issue.&lt;/p&gt;
&lt;p&gt;It turns out that shipping confirmation was sent to me in early July. When I
read the e-mail from the employee, I checked my e-mail client configuration.
Lo and behold, it wasn't syncing my Spam folder at all! It had also been more
than 30 days since the e-mail was sent, so Spam was empty. I updated the
configuration, confirmed proper receipt of e-mail from Purism, and my order was
marked Priority to ensure it got out sooner. I received the laptop on
2021-09-15. While I would've preferred it in May or June, as advertised, I'm
just glad to have actually gotten the product. I was worried that I'd funded
another OpenPandora... it was just &lt;abbr title="Problem Exists Between Chair and Keyboard, i.e. user error"&gt;PEBCAK&lt;/abbr&gt;! How apropos. :)&lt;/p&gt;
&lt;p&gt;So, with that saga over, let's take a look at the thing and see how it holds up!&lt;/p&gt;
&lt;h1&gt;Specifications&lt;/h1&gt;
&lt;p&gt;Note: Purism offers a number of different choices for storage, RAM, and OS. I
opted for the model with 16GB RAM, 512GB NVMe SSD, and PureOS with Librem Key and
PureBoot.&lt;/p&gt;
&lt;!-- TODO: turn this into a table or definition list --&gt;

&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;Dimensions:  322mm x 17mm x 220mm
Weight:      1.4kg
Screen:      14&amp;quot; matte, 1920x1080 @ 60Hz
CPU:         Intel Core i7 10710U (Comet Lake)
             4.70GHz, 6 cores, 12 threads
RAM:         16GB DDR4 (up to 64GB)
Graphics:    Intel UHD Graphics 620, 9th gen (Coffee Lake), device 9BCA
Wi-Fi:       Atheros AR9462, 802.11n
Audio:       Intel Comet Lake PCH-LP cAVS
Ethernet:    Realtek RTL8111 series Gigabit Ethernet
Bluetooth:   Atheros AR3012 (NON-FREE BINARY DRIVER ath3k REQUIRED)
Storage:     Samsung NVMe SSD SM981/PM981/PM983
Ports:       1x HDMI 2.0
             2x USB 3.1 Type-A
             1x USB 3.1 Type-C, data only (left side)
             1x USB 3.1 Type-C, with PD (right side)
             1x DC-IN jack, barrel style connector
             Genesys Logic SD Card Reader
             3.5mm audio (mic-in and headphone-out combined)
Keyboard:    Full size chiclet, QWERTY, no numpad, backlit with 5 light levels
Chassis:     Aluminum, black matte finish; flat, good for stickers
             Five grommets on the bottom to improve airflow and add stability
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h1&gt;Hardware Experience&lt;/h1&gt;
&lt;p&gt;Out of the box, the laptop feels heavy enough to know you're carrying it, but
light enough to where it's not a big deal &lt;em&gt;to&lt;/em&gt; carry it. The aluminum chassis
feels nice, but due to it being matte black, smudges and fingerprints are an
inevitability. The backlight on the keyboard is clearly uneven in places --
mostly around Caps Lock, backslash, and the Logo key.&lt;/p&gt;
&lt;p&gt;Typing on the keyboard isn't quite as satisfying as my TypeMatrix, but I
recognize my choice of input isn't exactly popular. For what it is, the Librem's
chiclet keyboard gets the job done and isn't particularly weird, aside from the
right side Shift key. It lacks a Menu key, so those of us who like Compose keys
get stuck losing right Alt.&lt;/p&gt;
&lt;p&gt;The webcam supports up to 1280x720 pictures and video, but frame rate decreases
with resolution:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1280×720: 10fps&lt;/li&gt;
&lt;li&gt;960×720: 15fps&lt;/li&gt;
&lt;li&gt;640×480: 30fps&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You're not using this for OnlyFans or pro streaming. :) Video calls with family
or coworkers will do.&lt;/p&gt;
&lt;p&gt;The grommets on the bottom aren't bad, but the one in the back center feels like
one good snag will take it off. It's made out of a harder rubber than the other
four, however, so maybe it's sturdier than it appears. I'd rather be careful
than find out. :)&lt;/p&gt;
&lt;h1&gt;Software Experience&lt;/h1&gt;
&lt;p&gt;The default PureOS uses GNOME 3 Wayland on top of systemd. It has a decent
amount of packages pre-installed, like LibreOffice, the GNOME suite,
Thunderbird, Polari, Boxes, TeXinfo, and some other extras.&lt;/p&gt;
&lt;p&gt;This is the first time I've 'committed' to learning a GNOME 3 interface, and
while some of its features are handy, the window management workflow seems like
it's on rails. I could maximize-half horizontally, but not vertically (to have
two wide but short windows stacked together). Resizing uses Meta+Middle Click
instead of Meta+Right Click. There's no equivalent to the taskbar, so you lose
the minimize paradigm; the workflow seems to encourage putting each program
in its own workspace and having the user depend on Meta+Tab to swap between
programs. I haven't found a more sane way to navigate with it.&lt;/p&gt;
&lt;p&gt;Hitting Meta to get the overview is kinda neat since it doubles as a launcher
and window switcher. If I wanted to improve GNOME, I would add a drop-down style
terminal for drive-by commands, and an info widget like conky. Keyboard toggle
mapping targets for Bluetooth and WiFi would be nice, too.&lt;/p&gt;
&lt;h1&gt;What I Like&lt;/h1&gt;
&lt;p&gt;Requiring the use of the Librem Key in order to boot is pretty awesome. It adds
risk to losing the key, but I've done pretty good at not losing my car keys.
However, I don't feel comfortable attaching it to my physical keyring. I'll
need to come up with another strategy in the future, but things are working
okay for now.&lt;/p&gt;
&lt;p&gt;Most of the system does indeed work out of the box. I had some issues with
Cheese wrt the camera killswitch, but rebooting seemed to fix it and I haven't
had it happen since. Bluetooth also didn't work out of the box due to needing
a non-free binary blob. Everything else I've thrown at this Debian derivative
has worked as I expect it to, including non-free stuff like Minecraft, Discord,
PICO-8, and Steam.&lt;/p&gt;
&lt;p&gt;The backlit keyboard is a game changer when you're trying to relax in bed &lt;em&gt;and&lt;/em&gt;
be creative. It's a full sized keyboard, too, so despite a few key placements
being weird, it's not terrible for a staggered QWERTY board.&lt;/p&gt;
&lt;h1&gt;What I Don't Like&lt;/h1&gt;
&lt;p&gt;I had to correct an issue with the power IC initializing to weird values of
charging thresholds in &lt;code&gt;/sys/class/power_supply&lt;/code&gt;. On one hand, I learned how
to make a run-on-boot script work with systemd. On the other, why was such a
feature not already baked into the OS? Both the autorun script (like rc.local)
and the battery issue; the latter is said to be getting fixed in an upcoming &lt;abbr title="Embedded Controller"&gt;EC&lt;/abbr&gt;
firmware update. Maybe a better question is: Why doesn't GNOME have adequate
battery charging threshold settings? If I was a 'normie', I'd be stuck with a
laptop at 2% battery until the &lt;abbr title="Embedded Controller"&gt;EC&lt;/abbr&gt; update ships.&lt;/p&gt;
&lt;p&gt;There's not an easy way to toggle function of the touchpad from the keyboard.
Prior Librem models seem to have this feature via the Fn key (according to
pictures), but I see no such method on the Librem 14. Sometimes I want to go
keyboard-only, like when writing this review.&lt;/p&gt;
&lt;p&gt;The 'A' key feels mushier than the other keys. I've hit it with canned air a few
times and it's somewhat loosened, but maybe it's just a side effect of chiclet
keyboards. My TypeMatrix Dvorak fits across the laptop really well, so if it
gets unbearable, I can always bust it out.&lt;/p&gt;
&lt;p&gt;Some programs that I consider essential weren't installed out of the box. Some
were understandable, but you'd expect a free software platform running GNOME
to offer The GIMP for an image editor at the very least. PureOS doesn't appear
to ship with an image editor so this seems like an odd choice, or perhaps an
oversight.&lt;/p&gt;
&lt;p&gt;For the record, the other programs are scdaemon, vim, htop, and tmux. I can
understand their exclusion since the default install is desktop-oriented, but
lacking scdaemon when they support the Librem Key is another odd decision. Not
every Librem owner was interested in such a device, but it makes sense to put it
in the default installation.&lt;/p&gt;
&lt;p&gt;The Bluetooth controller requires a non-free binary driver. One of the chief
reasons to buy Purism is software freedom. While the FSF makes exceptions for
microcode, it's inconsistent to claim support for freedom while sporting
hardware that's literally unusable with free software drivers, at present.&lt;/p&gt;
&lt;p&gt;While we're at it, let's discuss the Management Engine. It is not fully
disabled, due to the way Intel's architecture is designed. In the interest
of fairness, &lt;a href="https://puri.sm/posts/reverse-engineering-the-intel-management-engine-romp-module/"&gt;Purism wrote about their efforts of reverse engineering the 
&lt;abbr title="(Intel) Management Engine"&gt;ME&lt;/abbr&gt;&lt;/a&gt;, and &lt;a href="https://puri.sm/posts/deep-dive-into-intel-me-disablement/"&gt;why certain parts needed to remain&lt;/a&gt;. It's just a shame that it's
this difficult to provide libre x86_64 hardware due to these enterprise-focused
features that enable abuse in the wrong hands.&lt;/p&gt;
&lt;p&gt;Due to choosing GNOME 3 on Wayland, livestreaming is a nightmare, especially if,
like me, you ended up using a mix of xorg and Wayland programs. I gave it
nearly 5 months... GNOME (and Wayland) are still unable to meet the same use
cases that xorg has fulfilled for years. As such, I moved to XFCE for now, until
I get back to Fluxbox or i3. For all the fancy features, if it doesn't work with
core use-case software, it's useless.&lt;/p&gt;
&lt;h1&gt;What I Hope For&lt;/h1&gt;
&lt;p&gt;Above all else, I want to see continued improvement on Purism's behalf. On
messaging, and pushing for their next devices to be even &lt;em&gt;more&lt;/em&gt; libre. I can
appreciate purism itself as an ideal rather than an absolute goal, but
completely free hardware &lt;em&gt;can&lt;/em&gt; be achieved. Perhaps we'll be using RISC-V some
time in the future.&lt;/p&gt;
&lt;p&gt;I hope Purism moves their focus away from GNOME, with the upcoming changes for
GTK 4 essentially pushing non-GNOME development out of the circle. Solus and
others have expressed interest in moving to the Enlightenment stack. That will
be an interesting development if done. It's unfortunate, because Purism has
contributed to both GTK and GNOME, but the tide is against them in crafting
their own experience on the GNOME stack. I'd rather see their efforts go where
they'll be appreciated and move the desktop forward.&lt;/p&gt;
&lt;p&gt;Lastly, I hope this machine helps me in becoming more creative. I'm trying to
take a hands-off approach so I can focus on programming. I gave GNOME 3 an
honest try, and as I suspected it still isn't up to par.&lt;/p&gt;
&lt;h1&gt;GNOME Dislikes&lt;/h1&gt;
&lt;p&gt;(Yep, special enough for its own section)&lt;/p&gt;
&lt;p&gt;Some things like Alt+Tab have unintuitive function compared to its use in other
environments. Super+Tab is what you &lt;em&gt;really&lt;/em&gt; want most of the time. Oh, and
selecting sub-windows or tabs of a program is a separate keystroke. I see &lt;em&gt;why&lt;/em&gt;
it was done, but the usability on a freeform "every window, period" flow is
ruined.&lt;/p&gt;
&lt;p&gt;You also can't launch a program twice from the overview to get a second window,
like gnome-terminal; you have to focus the terminal and bring up a new window
instead. Wat?!&lt;/p&gt;
&lt;p&gt;Can we talk about how hard it is to get a custom program to show up under Show
Applications? You have to write an INI-style &lt;code&gt;.desktop&lt;/code&gt; file, move it to &lt;em&gt;just&lt;/em&gt;
the right place, and wait for GNOME to figure it out and display it. The GUI to
make a launcher is not very good, and quite confusing. I had better luck reading
the desktop file spec; it too was bad in its own verbose and abstract
way, like most other FDO documents.&lt;/p&gt;
&lt;p&gt;Why oh why is subpixel antialiasing enabled for font rendering? It's ugly and
makes screenshots non-portable between displays. I don't want to see bits of
color on the edge of my text. You need higher display dpi to get the full
'benefit' of it anyway. You can change this via Tweaks, which tells me GNOME
ships with this on by default.&lt;/p&gt;
&lt;p&gt;Sometimes, windows like the Nextcloud client or PICO-8 won't show window
decorations, so exiting or manipulating them isn't as easy as it is in a regular
window manager. Part of this may be due to GNOME running in Wayland instead of
Xorg.&lt;/p&gt;
&lt;p&gt;OBS Studio cannot seem to record the entire screen, or PICO-8; the window does
not show up in the list of windows to capture. This is due to Wayland being
unable (or rather, unwilling) to share the entire composited screen with a
program, and the micro-protocol approach that Wayland uses in its
design-by-consensus ensures it'll be a few more years before something like
PipeWire and Wayland can deliver a quality broadcasting stack. OBS inside an
xorg server session can see all windows. For being so 'modern' and a 'mature'
project at over 10 years old, Wayland still somehow isn't capable of such a
workload, while the 'old, busted' xorg still chugs along. Maybe in another 10
years, Wayland will support this use case.&lt;/p&gt;
&lt;p&gt;GNOME lacks a system tray equivalent, so programs like Steam can be closed, but
in the 'background', which GNOME then produces a notification for. So it knows
it's there, but won't give me a way to interact with it to bring it back to the
foreground? Mumble is the same way, to use a libre example. Come on, guys...
What was wrong with having a tray for arbitrary icons that you don't necessarily
want an open window for all the time but are still &lt;em&gt;useful&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;Please drag GNOME Files out back and shoot it. SpaceFM gets the job done and
hands control to me.&lt;/p&gt;
&lt;p&gt;A quick look under Tweaks gave me a few of the features I was missing before,
like resizing with Right Click, but those are in the form of extensions that
might or might not be there, or might not work on the next GNOME version. Some
of these settings I consider basic and expected in a cutting edge desktop, so
it's difficult to commit too much to the DE. I'm glad that most of my computer
use can be distilled to a browser and terminal window.&lt;/p&gt;
&lt;p&gt;I switched away after 5 months of trying to get a workable and pleasant
environment. The single best feature was the overview access via tapping Super,
which I can emulate in any other environment. XFCE will be a good xorg-based
substitute for now, while I build toward my eventual LFS or similar OS with i3
on top.&lt;/p&gt;
&lt;h1&gt;Conclusion&lt;/h1&gt;
&lt;p&gt;For what you get, you're paying a premium for the hardware killswitches and
security-focused design. I knew these things going into it, and I got what I
purchased, more or less. It's Debian under the hood, so I can use a totally
different OS if I want, as long as the &lt;abbr title="Embedded Controller"&gt;EC&lt;/abbr&gt; firmware is applied and PureBoot
is still in use, it's still the same machine. I want to do some research and
testing to be sure I can do so before messing with the installation, just so
I have another OS to go to if PureOS goes defunct. Virtual machines may be a
better idea for now.&lt;/p&gt;
&lt;p&gt;One thing I wasn't 100% on was the RAM. I will probably upgrade both the RAM and
SSD in this machine, since the iGPU uses shared memory. Had I known that, I
would've gone to 32GB. But for now, I'll see how hard I can push it before
needing those things. The SSD alone makes things feel so much snappier, coming
from HDDs.&lt;/p&gt;
&lt;p&gt;Consider me satisfied, but I will wait before buying another Purism device.
To be fair in this conclusion, I have avoided essentially everyone else for
a laptop, for various reasons. Every brand I've come across has made some
concessions; a single binary blob for Bluetooth is something I can live with
until they source a BT radio with a libre driver. Otherwise, the machine has
been what I expected it to be and it gives me the control and assurance that I'm
looking for in a modern laptop. I can't ask for much better than that.&lt;/p&gt;
&lt;p&gt;Before I go, &lt;a href="https://files.zlg.space/s/kYQraGP88NkPjfB"&gt;a photo with my TypeMatrix, bluetooth mouse, and external HDD
hooked up to the Librem 14&lt;/a&gt;. I am taking sticker suggestions for its lid!&lt;/p&gt;
&lt;p&gt;Thanks for reading.&lt;/p&gt;
&lt;p&gt;-z&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;OpenPandora and Purism are not related at all. They're just two companies
 trying to provide open hardware. I was a backer through the UK Ltd, which
 was not solvent and left some 1100 customers (like me) holding a bag. The
 German GmbH (now DragonBox) &lt;em&gt;was&lt;/em&gt; solvent and offered to get us our units
 for the difference in cost to produce, but by that point we had all spent
 over $500 and he needed another $200 to make it cost effective for him. VAT
 made this worse, and I didn't have cash at the time, so I effectively threw
 away money. From what I understand, DragonBox is today offering the Pyra
 and units are reaching people.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Reviews"/><category term="Reviews"/><category term="Laptops"/><category term="Libre Hardware"/><category term="GNOME"/><category term="GNU/Linux"/></entry></feed>