Bryce Harrington

Bryce Harrington

About Bryce Harrington

Bryce Harrington is a Senior Open Source Developer at the Samsung Open Source Group focusing on Open Source Graphics. Prior to Samsung, he lead Canonical, Ltd.'s Ubuntu X.org team, and focused on stabilization of the graphics and input infrastructures for the Ubuntu distribution. Bryce began his career in the aerospace industry as a spacecraft propulsions engineer at The Aerospace Corporation, Hughes Space and Communications and TRW. Later, he joined the Open Source Development Labs as a Senior Performance Engineer working on NFSv4 testing and development of automated test systems. He is a founder and developer of the Inkscape project and serves as Chairman of the Inkscape Board. Bryce has a BS-AE from USC and an MS-AE from Caltech.

  • Projects

    Cairo, Wayland
  • Role

    Senior Open Source Developer

Posts by Bryce Harrington

  • June 8, 2016 - Bryce Harrington

    What’s New in Wayland and Weston 1.11

    June brings us a fresh new release of the Wayland display protocol and it’s reference implementation named Weston. This post will take a look at some of the biggest new features and improvements in the 1.11 release. Wayland It’s been five and a half years since Wayland was declared stable with its 1.0 release. Specifically, this meant that the core of Wayland transitioned to a policy of “no backwards incompatible protocol changes”, and it was ready for developers to use it in production systems. The years since have seen all three major Linux desktop environments create successful implementations of Wayland in addition to a few mobile platforms and innumerable embedded systems. With the protocol being stable, most of Wayland’s core changes are bugfixes and copy edits. But lately, it seems the needs cropping up from production deployments have led to more significant changes being proposed and introduced. The 1.11 release […]

    Read More
  • February 12, 2016 - Bryce Harrington

    What’s New in Wayland 1.10

    Wayland 1.10 introduces a larger range of new functionality than what’s been typical in recent Wayland releases; this is partly due to the longer development period because of the holidays and other end of the year activities. More importantly, Wayland support is being actively refined for many desktop environments, applications, and devices and we’ve seen better engagement from the wider community as more people have shared their ideas and development efforts. We’re beginning to see the fruits of these collaborations. The release date for Wayland 1.10 is set for February 16, 2016, and I’d like to use this article to describe some of the new features and changes. Wayland Changes in 1.10 First, let’s take a look at some of the new functionality in Wayland 1.10: The Wayland API can now use Drag and drop actions to facilitate negotiation of content type when dragging between a source and destination. Additionally, […]

    Read More
  • February 3, 2016 - Bryce Harrington

    An Introduction to the Wayland Build Tools

    Most people’s first encounter with Wayland will be when their regular Linux distribution has migrated to it. Indeed, Wayland is really just a protocol, so chances are you’ll soon be using it through your normal desktop environment (Enlightenment/Gnome/etc.) without any particular action on your part, aside from a normal upgrade. But perhaps you’re one of the few, proud, hardcore Wayland hackers that already have the various repos checked out, and know all the intricacies of configuring Mesa and installing Xwayland and so on. So, if you don’t care about any of the details, or if you care a whole lot about ALL THE DETAILS, well, you’re probably already set. Kick Wayland’s Tires with the Wayland Build Tools If, on the other hand, you’re somewhere in between – you’re interested in playing with raw Wayland and Weston, but want to get the latest bits up and running quickly and don’t want to risk system […]

    Read More
  • January 22, 2016 - Bryce Harrington

    Using the Allmodinfo Script to Investigate Linux Drivers

    I’m setting up a new system at work, and yet again found myself faced with trying to nut out which driver corresponds to which device, so I can figure out what’s wrong with the touchpad and keyboard hotkeys.  I’m also curious what wired and wireless drivers are in use and if there’s any unneeded power sucks I could eliminate to increase battery life. This article will show you a quick hack I put together to identify the drivers my laptop uses so I can search for information about them on the web.

    Read More
  • One of the primary things Wayland provides is a protocol for communication between applications and the graphics system (referred to in Wayland-speak as clients and the compositor). This protocol consists of commands to show images on the screen, move stuff around on the screen, deal with keyboards and mice, and on and on. Each command in this protocol can take one or more arguments, such as an X,Y coordinate or a height and width. These arguments can be integers, strings, arrays or a few other types that Wayland defines. One of these allowed types is an enumeration. An enumeration is a set of constant terms in a specific order, for example [ TOP, LEFT, BOTTOM, RIGHT ]. Wayland’s protocol has used the notion of enums for quite some time, but mostly for descriptive purposes. Data was passed back and forth as raw integers; in the C programming language that’s basically […]

    Read More
  • November 2, 2015 - Bryce Harrington

    Mechanizing TWiki: Scripted Wiki Editing With Python

    Here at Samsung the Open Source Group, we use TWiki to file our weekly status reports, among other things. These reports include summaries of our upstream activity as measured by the number of patches we review for others and how many we land ourselves. There are various ways to collect these statistics programmatically; the question we’ll look at in this article is how to programmatically upload the data into Twiki. TWiki is a type of wiki software similar to what powers Wikipedia, WikiTravel, TV Tropes, Muppet.wikia, and on and on. TWiki has more of a corporate-oriented focus, and includes a wealth of functionality for structuring and formatting various types of data that a corporate team might need to create dynamic reports. Like all wiki’s, TWiki is set up to be easy for people to directly edit pages. It doesn’t require any background in HTML or CSS or JavaScript; you just […]

    Read More
  • September 16, 2015 - Bryce Harrington

    Wayland: Atomics Ahead!

    This post will take a look at the current state of upstream Wayland as the community prepares for the upcoming 1.9 release. The core of the project is quite mature and is currently in a holding pattern as KDE, GNOME, EFL, and others complete their Wayland transitions. As this proceeds the Wayland community will be responding to the needs of these other projects. Most notably, there is a need to complete the XDG Shell protocol. This aims to become a standard across all desktop environments, but it needs to have strong buy in and collaboration from the desktop environment projects themselves. There’s a number of conversations that need to occur before anything can be nailed down effectively, but the desktop environment developers need to be relatively far along in their implementations before they can have strong enough opinions on what the desktop API should look like. Exterminating Bugs There are […]

    Read More
  • August 31, 2015 - Bryce Harrington

    Simulating Middle-Mouse Paste on Touchpads

    When did you first run into a computer with a mouse? How many buttons did it have? Most UNIX-like operating systems provide two separate copy buffers; the first provides the standard copy and past functionality everyone knows and loves (Ctrl + C, Ctrl +V), while the second allows you to paste selected text directly. The use of this secondary buffer has been dependent largely on mouse design for the last few decades, and as the hardware has changed, so has the usage of this copy buffer. First, A Little History I was familiar with the original Mac mouses with their curious single button, but the first mouse-based computer I used was a Sun workstation in the early 90’s while I was in college. It had THREE buttons; a proper mouse! The left button selected things, the right brought up context menus, and the middle button pasted from the secondary copy […]

    Read More
  • April 10, 2015 - Bryce Harrington

    Custom Compose Keys on Ubuntu

    The Compose key is awesome, and I think Linux distributions should include this in all keyboard layouts by default. You’re probably thinking, “Wait, ‘Compose’?? There’s no key on my keyboard labeled ‘Compose’, what the heck is this guy talking about? And why would I need it, anyway?” I’m a mono-lingual USian. Now, I had a few years of German in high school but ach, nein, it really didn’t take. However, with today’s multicultural, globalized Internet, I’ve gained friends and colleagues from all over the globe with all sorts of odd foreign letters in their names, and I want to refer to them properly. Not too many years ago, this was a hard thing to do. The Internet communicated in so-called “plain text”, which consisted of just the basic English letters, numbers and symbols. This Internet alphabet was originally created and standardized by the Teletype industry, who named it the American […]

    Read More