Language Selection

English French German Italian Portuguese Spanish

System 76

Syndicate content
At System76, we empower the world’s curious and capable makers of tomorrow with custom Linux computers.
Updated: 8 hours 19 min ago

The Future of Theming on GNOME, and more from GUADEC 2019

Friday 6th of September 2019 10:33:55 PM

The System76 team has returned from GUADEC and successfully recovered from crippling jetlag! (Mostly.) Based on many constructive conversations that took place over the course of the conference, we’re very excited about GNOME’s future and eager to see how the project progresses. Here’s what we learned:


Neil McGovern, Executive Director of the GNOME Foundation moderated a vendor theming BoF on the final day of GUADEC. The meeting was attended by members of the GNOME design team, application developers, and theme developers from Ubuntu and Pop!_OS. The objective was to address developer concerns about inconsistency in themes that can cause app breakage. Ultimately, we arrived at a compelling solution that we believe works for GNOME, application developers, and distributions alike.

First, we’ll work together to identify and document colors that can be exported and modified by theme developers. These include header bars, buttons, switches and other widgets that theme developers often modify. This work also enables app developers to more easily customize the look and feel of their apps.

With that work completed, we’ll be able to identify “upstreamable” styles that theme developers would like supported. These might include rounded corners and flatter buttons.

The early work is promising and we’re optimistic. We already have an early prototype of the Pop!_OS theme, which strongly resembles the look and feel of our current theme. There’s still progress to be made, but GNOME’s strategy on theming has a lot of potential to provide a more flexible, higher quality desktop experience. It’s a shining example of what happens when the community comes together to solve a problem.


Also key to the event was the development of Flatpak, an explanation on how it works, and information on flat-manager. A new tool for Flatpak, flat-manager allows anyone to create their own Flatpak repository. Through this tool, Linux distributions would be able to curate their own set of applications for their users, the kind of customized targeting that can strengthen a distro’s identity.

In addition, new “Portals” were demonstrated for Flatpak. Portals allow applications to request permission to access areas of hardware and software outside of the application itself. As an example, if an application is told to take a screenshot, a dialogue will come up to get the user’s permission to do so. This would bring an extra layer of functionality to applications and open the doors for a variety of features.

Upcoming improvements

GNOME 3.34 and GTK 4 are chock-full of improvements. Users can look forward to higher performance, along with smoother animations as a result of reduced frame-dropping. While we don’t want to spoil too many details surrounding these releases, be on the lookout for more GNOME features on the way!

GNOME is the product of many talented minds working together, and we’re grateful for the opportunity to be involved in a community where we can constantly learn from one another. Our team had a lot of fun seeing our friends in the GNOME community. Work on these improvements has already begun. So far it’s promising, and we can’t wait to share it with you all once it’s ready.

It’s Time for an August News Update!

Thursday 29th of August 2019 03:25:03 PM

When Back to School season threatened to overpower outdated hardware, it was up to us to help students and teachers succeed in the classroom. As a result, we began the month of August with our Back to School Sale! Until September 10th, those looking to upgrade their hardware can save on computers and increase their discounts as they upgrade–up to $1510 on desktops and up to $370 on laptops.

In other news, we’ve recently announced some new hardware and features! Read on for more about the Adder WS, Pop!_OS, and the new Firmware Manager, as well as information about our attendance at Open Source Firmware Conference.


The Adder WS made its debut this month, becoming the first-ever 4K OLED laptop from System76. And while we could talk about how the screen looks absolutely dazzling with true blacks and eye-popping color, the only way to fully appreciate the magnificence of 4K OLED on the Adder WS is to witness its beauty in person.

This workstation laptop’s 4K OLED display is supported by high-performant components on multiple fronts. The Adder WS can be configured with the i7-9750H CPU with the option to upgrade to the i9-9980HK—Intel’s most powerful option for laptops. Additionally, the Adder WS features an RTX 2070 GPU and fits up to 64GB RAM and up to 4TB NVMe storage (8TB total storage).

For our Back to School Sale, you can save up to $310 on the Adder WS through September 10th.


We also recently released our new Firmware Manager. The Firmware Manager is a simple, easy-to-use tool for checking and updating firmware. This new feature keeps more of your devices up to date, thanks to support for both System76 and LVFS-provided firmware.

The Firmware Manager has been integrated into Pop!_OS through the Settings application. If you wish to check if you have a firmware update available, go to Devices in the sidebar, and then select Firmware.


Users will have access to updates from the Firmware Manager not only on Pop!_OS and System76 hardware, but also on computers running any Debian-based distro (including Ubuntu) from any hardware vendor that supports fwupd.

The Firmware Manager is System76’s solution to delivering firmware updates across multiple Linux distributions. For more information, check out Pop!_OS Maintainer Michael Aaron Murphy’s writeup on GitHub.

The Firmware Manager is provided to Ubuntu customers as a standalone GTK application (as seen in the above image). It’s also available for other distributions to package and distribute to help their users manage firmware.


August 23–27: We’ve just returned from Thessaloniki, Greece, where a System76 was afoot at GUADEC. We’re always excited for the opportunity to speak with members of the GNOME community, whether at home in Denver or across the pond.

September 3–6: We’re headed to California in early September for the Open Source Firmware Conference. There, attendees can learn about our open firmware project as we break down our process for replacing the proprietary firmware on the Darter Pro with open source firmware. Our talk is scheduled just after the keynote on the first day of the conference. We hope to see you there!


The Linux Gamer

After unboxing his new toy, Gardiner reviews the Adder WS. Take a look at his unboxing video to find out how you can win this 4K OLED laptop.

*These two videos are sponsored by System76 and Samsung.


Jason Evangelho provides information on System76’s new Firmware Manager.

Linux Unplugged 315 (1:33 - 6:46)

Chris and the Jupiter Broadcasting crew react to System76’s new Firmware Manager.

Linux Unplugged 314 (5:47 - 11:41)

System76 Happiness Manager Emma Marshall meets up with the Jupiter Broadcasting crew to provide details on the OSFC-edition Darter Pro.

Looks Like New

“Lack of a female presence is holding back innovation in the software world. Can you imagine if 50% of people developing code were women, what kinds of applications we would have?” Emma Marshall talks System76 support, computers, and the importance of balanced gender representation in tech with Nathan Schneider on Looks Like New.

The New Firmware Manager: Updating firmware across Linux distributions

Saturday 17th of August 2019 01:34:58 PM

Over the past few months, System76 has been developing a simple, easy-to-use tool for updating firmware on Pop!_OS and System76 hardware. Today, we’re excited to announce that you can now check and update firmware through Settings on Pop!_OS, and through the firmware manager GTK application on System76 hardware running other Debian-based distributions.

One of the issues we faced with with firmware management on Linux was the lack of options for graphical frontends to firmware management services like fwupd and system76-firmware. For fwupd, the only solutions available were to distribute either GNOME Software or KDE Discover, which is not viable for Linux distributions which have their own application centers, or frontends to package managers. For system76-firmware, an official GTK application existed, but it only supported updating System76 firmware, when it would be more ideal if it could support updating firmware from both services.

fwupd is a system service which connects to LVFS to check for firmware updates to a wide variety of hardware from multiple vendors. system76-firmware is our own system service which connects to System76 to check for firmware updates for System76 hardware. Privacy To increase privacy, we have disabled telemetry reporting in fwupd on Pop!_OS.

To solve this problem, we’ve been working on the Firmware Manager project, which we will be shipping to all Pop!_OS users, and System76 hardware customers on  other Debian-based distributions. It supports checking and updating firmware from LVFS and system76-firmware services, is Wayland-compatible, and provides both a GTK application and library.

Wayland disallows applications from being run as root, so applications must either call pkexec to prompt the user for permission to run a background process that is root, or connect to an existing background service provided the needed capabilities.

In Pop!_OS, the firmware manager will be integrated into GNOME Settings in a new Firmware panel under the Devices category with the GTK widget library. Users can simply install the latest updates to use the firmware manager. For other Linux distributions, and for those who do not use GNOME, the GTK application is available to provide the firmware manager widget as a standalone application in its own application window.

Although we’ve created a GTK application and widget library for our use in Pop!_OS, the core framework is toolkit-agnostic, thereby enabling firmware manager frontends to be written in any toolkit. However, it should be noted that since the framework is written in Rust, frontends would need to use Rust in order to interact with it.

GNOME Settings Integration

Pop!_OS will be integrating a patch into GNOME Settings which embeds the GTK widget into a new Firmware panel in the Devices category section.

GTK Application

On System76 hardware running Ubuntu, the firmware manager application will replace System76 Firmware as the source of firmware updates. Other Linux distributions which would prefer to have a standalone desktop application are free to use the included GTK application.

Implementation Details

Like all of our projects today, it is written in Rust, and adheres to current best practices. The project is configured as a workspace, with the core crate providing a generic library for discovering and managing firmware from multiple firmware services. Both fwupd and system76-firmware are supported.

The core is used as the foundation for the two members of this workspace: a notification binary to provide desktop notifications about firmware updates; and a GTK project which serves as both a widget library and desktop application.

Visualization of project structure

* firmware-manager * firmware-manager-notify * firmware-manager-gtk * firmware-manager-gtk-ffi

Core Library

The firmware-manager library provides functions for scanning firmware, as well as an event loop which receives and sends event signals through channels. One channel receives messages from the frontend, whereas the other sends messages to the frontend. This is designed to be run in a background thread in order to prevent a UI that uses the firmware manager from blocking as requests are being processed.

Additionally, the event API is expected to be used with the provided slotmap-based entity-component architecture. This allows a frontend to assign entity IDs to their requests, and receive those entity IDs back in responses. In doing so, frontends can avoid the need for complex runtime reference-counting, or creating reference cycles. The frontend has exclusive ownership of the data that an entity ID refers to.

GTK Application / Library

The firmware-manager-gtk member of the project provides the firmware widget as a library, and an application which places that widget into a window. This member contains a C FFI sub-member, which builds a dynamic library with a C API and header, and can be used to integrate the widget into any GTK application written in C.

This implementation takes full advantage of the slotmap EC, assigning its own component storages to keep track of state relative to a device entity, such as the widgets assigned to an entity, and information about their firmware.

The included GTK application statically-links the Rust widget library into the binary.

Notification Binary

The firmware-manager-notify member comes with a systemd user timer so that it is executed at login, and then periodically run again at set intervals to check for updates again. When updates are found, a clickable notification will be displayed, which will either open the Firmware panel in GNOME Settings, or the standalone desktop application, depending on which is available on the system.

Supporting Other Frontends

Although the project will release with only a GTK frontend, it is possible for anyone to use it as the foundations for developing a frontend written in any other graphical toolkit. All functionality in the core library is GUI-agnostic, and the entity-component architecture can be extended to their specialized needs. If you write a frontend for another toolkit and want it included in the project, feel free to submit a pull request!

For more details on the new firmware manager, check out Michael Aaron Murphy’s article on GitHub.

Open firmware and more news from July

Tuesday 30th of July 2019 04:00:30 PM

July kicked off in style with our Summer Flock Party, where we shook our tail feathers off to the tune of haikus and Margaritaville covers. (Some were sung by parrots!) Congratulations to those who cracked our code; we admire your dedication to the fine art of parrot spotting. Here’s the code in all its glory:

Stay tuned for more info on Superfan 3! As for our progress in July, read on for more about updates to our open firmware, Thelio, and Pop!_OS, and see what conferences you’ll find us at in the coming months.


System76 has been granted a Thunderbolt license, meaning that we can now integrate Thunderbolt compatibility into our open firmware. This is a huge development in the open firmware project, as we can now achieve full functionality of Thunderbolt in our machines once the firmware is implemented.

The open firmware is now functional on the Gazelle when running on Intel graphics. This will not yet be integrated, however, as more work is necessary to get the NVIDIA graphics up and running.


In case you missed it, Thelio has been updated with AMD Gen 3 Ryzen CPUs. Now you can configure Thelio with faster Ryzen CPUs, including the brand new Ryzen 9 3900X. Backed by 12 Cores and 24 Threads, the Ryzen 9 is AMD’s most powerful Ryzen CPU yet, boasting performance comparable to Intel’s Core i9 CPU.

Thelio Massive, the Jackal Pro 1U, the Jackal Pro 2U, and the Ibex Pro can now be configured with 2nd Gen Intel Xeon Scalable processors. The new CPUs are equipped with up to 28 Cores and 56 Threads, and have a higher Memory frequency and overall capacity than the previous generation.


The NVIDIA driver has been updated to version 430.34. This update enables support for NVIDIA GeForce RTX Super GPUs. This is welcome news for those looking to upgrade, as NVIDIA’s newest graphics cards are even faster versions of the RTX line.

Pop!_OS 18.10 has reached End of Life, meaning it will not be receiving any more updates. In order to ensure that your system remains secure and up to date, you will need to upgrade your OS to version 19.04. Pop!_OS 18.04 users can disregard this message, as they will continue to enjoy that fresh code scent that comes with new updates. Pop!_OS 18.04 is a Long-Term Support (LTS) version, and will see continued support in the years ahead.

To see what version of Pop!_OS you’re currently using, open up the Settings application and click Details at the bottom of the sidebar menu.

To upgrade Pop!_OS 18.10 to 19.04, simply enter these commands into the terminal:

sudo apt update

sudo apt install pop-desktop

sudo apt full-upgrade


Upgrading your OS will give you access to new features, such as Slim Mode and the new Dark Mode. You will also receive updates for security patches and upcoming features, including persistent power profile and backlight settings, once they are released. There’s a lot more to see on the way!


August 23–27: We will be in Thessaloniki, Greece to attend GUADEC this year. Come by our booth to discuss free software, Linux, penguins, and parrots, or even just to say Γεια. 

September 3–6: We’re also headed to the Open Firmware Summit in California. Conference attendees will have the chance to learn about our open firmware project as we break down our process for replacing the proprietary firmware on the Darter Pro with open source firmware. If you’re attending, feel free to visit us at our booth!


Destination Linux (48:30 – 56:46)

Zeb, Noah, Michael, and Ryan discuss System76’s commitment to the Linux desktop.


Jason Evangelho compares benchmarks for Windows 10 and Pop!_OS.

Chris Titus Tech
Chris teaches his 8-year-old daughter how to install Linux.

Softpedia News

Marius Nestor provides details on Thelio’s new 3rd Gen AMD Ryzen CPUs.

Matthew Buscemi

Former Dell and Mac user Matthew Buscemi shares his thoughts on his new Thelio.

Pop!_OS 18.10 will no longer receive security updates.

Thursday 18th of July 2019 04:56:38 PM

Pop!_OS 18.10 has reached End of Life today, meaning it will not be receiving any more updates. In order to ensure that your system remains secure and up to date, you will need to upgrade your OS to version 19.04. Pop!_OS 18.04 users can disregard this message, as they will continue to enjoy that fresh code scent that comes with new updates.

To see what version of Pop!_OS you’re currently using, open up the Settings application and click Details at the bottom of the sidebar menu.

To upgrade Pop!_OS 18.10 to 19.04, simply enter these commands into the terminal:

sudo apt update

sudo apt install pop-desktop

sudo apt full-upgrade


Upgrading your OS will give you access to new features, such as Slim Mode and the new Dark Mode. You will also receive updates for security patches and upcoming features, including persistent power profile and backlight settings, once they are released. There’s a lot more to see on the way!

Announcing our Summer Flock Party Event, and more news from June!

Thursday 27th of June 2019 04:45:02 PM

Summer is here, so we’re having a Flock Party! Now until July 9th, join us on our website for discounts on laptops and desktops, and even more discounts with upgrades!

To make our Flock Party even more colorful, we’ve enlisted the help of 17 parrots to hide out around our site. If you’re one of the first 10 to find them all and unscramble the code, we’ll have something special for you!

Along with our parrot mania, we have info for you on hardware, Pop!_OS, firmware, and Thelio manufacturing. Read on to see what’s new in June!

HARDWARE: Return of the Gazelle

Earlier this month, we brought the Gazelle back from laptop limbo. The refresh adds NVIDIA 16-Series GPUs to the mix for a boost in graphics performance. With Pop!_OS or Ubuntu on System76 hardware, users can easily toggle between Intel and NVIDIA graphics from their desktop on the Gazelle.

NVIDIA 16-Series GPUs work in harmony with a 9th Gen i7 Core CPU and up to 64GB RAM for the ultimate performance combo. The laptop is available in either a 15” or 17” 1080p display.

Configure your Gazelle here

Pop!_OS: Big projects see big progress


The next task on the list for the new upgrade process for Pop!_OS is the handling of the Refresh OS feature. A button is being added in GNOME settings to enable selecting the current OS for performing a refresh install. Once the new upgrade process is implemented, GNOME Settings will also receive fixes to allow the refresh OS mode to be cancelled at any point, should the user decide that they’ve changed their mind.


The power daemon has seen a few fixes to power profiles and fan curves this month.

  • Error messaging is now more descriptive as to where and why an error occurred.
  • Fixed an issue where changing the power profile would not yield a change in certain scenarios.
  • Signal handling was added to the power daemon to fix an error that occurred when switching to an automatic fan curve.


A number of patches have been made this month as well. These patches address performance issues on NVIDIA hardware, theme-related bugs, updating packages, and increasing desktop performance and responsiveness under high loads. You can follow patches and other Pop!_OS-related updates on Michael Aaron Murphy’s This Week in Pop series.

FIRMWARE: Expanding testing and adding UI

Our open firmware has entered testing on the Gazelle, but is still in the very early stages. These tests are on the new model, but the open firmware is not yet ready to be implemented on users’ machines and has therefore not yet replaced the current firmware.

A UI element for firmware updates is also in development. The plan is for users to be notified when an update is available through GNOME Settings.

THELIO MANUFACTURING: Increasing oven capacity

The oven and oven racks have been rebuilt, increasing the number of chassis that can be heated in a single “batch”. The ovens are used as a later step in the powder-coating process.


Best Alternatives to Mac and Macbook

Wired’s Scott Gilbertson and Brendan Nystedt name Thelio as the sole Linux example to compete with the Mac Pro.

A REALLY Weird Cool PC

Linus Tech Tips reviews Thelio (Hypnotoad backgrounds included).

Choose Linux: Oryx Pro First Impressions

Jason Evangelho provides his first impressions on his new Oryx Pro. (Clip starts at 19:05)

“I’m seeing it spread almost virally.”

Andy Ihnatko gives his take on Pop!_OS on episode 663 of MacBreak Weekly. (The clip starts around 1:33:10.)

The Darter Pro Surprise

Destination Linux surprises Zeb with a Darter Pro to review. See his first impressions around 1:09:49. Unboxes and Reviews the Oryx Pro

Jay reviews his experience with the Oryx Pro on

Watch his unboxing video, and see the full review here.

Lawrence Systems: The Oryx Pro Review

Tom Lawrence of Lawrence Systems provides his own review of the Oryx Pro.

Differences between Pop!_OS and Ubuntu

The Linux Experiment reviews what sets Pop!_OS and Ubuntu apart from one another.

What it’s Like to use Pop!_OS

Linux Scoop shows a brief overview of what it looks like to use Pop!_OS

More in Tux Machines

How to Create Persistent Fedora LIVE USB From Ubuntu

This quick tutorial explains how to create persistent LIVE USB using Fedora Operating system in Ubuntu. Read more

Android Leftovers

Python Programming Leftovers

  • How to Read SAS Files in Python with Pandas

    In this post, we are going to learn how to read SAS (.sas7dbat) files in Python. As previously described (in the read .sav files in Python post) Python is a general-purpose language that also can be used for doing data analysis and data visualization.

  • Daudin – a Python shell

    A few nights ago I wrote daudin, a command-line shell based on Python. It allows you to easily mix UNIX and Python on the command line.

  • How to Convert Python String to Int and Back to String

    This tutorial describes various ways to convert Python string to int and from an integer to string. You may often need to perform such operations in day to day programming. Hence, you should know them to write better programs. Also, an integer can be represented in different bases, so we’ll explain that too in this post. And there happen to be scenarios where conversion fails. Hence, you should consider such cases as well and can find a full reference given here with examples.

  • Thousands of Scientific Papers May be Invalid Due to Misunderstanding Python

    It was recently discovered that several thousand scientific articles could be invalid in their conclusions because scientists did not understand that Python’s glob.glob() does not return sorted results. This is being reported on by Vice, Slashdot and there’s an interesting discussion going on over on Reddit as well.

Audiocasts/Shows/Screencasts: Open Source Security Podcast, Linux Action News and Manjaro 19.09.28 KDE-DEV Run Through

  • Open Source Security Podcast: Episode 165 - Grab Bag of Microsoft Security News

    Josh and Kurt about a number of Microsoft security news items. They've changed how they are handling encrypted disks and are now forcing cloud logins on Windows users.

  • Linux Action News 127

    Richard Stallman's GNU leadership is challenged by an influential group of maintainers, SUSE drops OpenStack "for the customer," and Google claims Stadia will be faster than a gaming PC. Plus OpenLibra aims to save us from Facebook but already has a miss, lousy news for Telegram, and enormous changes for AMP.

  • GNU World Order 13x42

    On the road during the **All Things Open** conference, Klaatu talks about how to make ebooks from various sources, with custom CSS, using the Pandoc command.

  • Manjaro 19.09.28 KDE-DEV Run Through

    In this video, we are looking at Manjaro 19.09.28 KDE-DEV.