Language Selection

English French German Italian Portuguese Spanish

Upstream Graphics: Too Little, Too Late

Filed under
Graphics/Benchmarks

Unlike the tradition of my past few talks at Linux Plumbers or Kernel conferences, this time around in Lisboa I did not start out with a rant proposing to change everything. Instead I celebrated roughly 10 years of upstream graphics progress and finally achieving paradise. But that was all just prelude to a few bait-and-switches later fulfill expectations on what’s broken this time around in upstream, totally, and what needs to be fixed and changed, maybe.

The LPC video recording is now released, slides are uploaded. If neither of that is to your taste, read below the break for the written summary.

Mission Accomplished

10 or so years ago upstream graphics was essentially a proof of concept for the promised to come. Kernel display modeset just landed, finally bringing a somewhat modern display driver userspace API to linux. And GEM, the graphics execution manager landed, bringing proper GPU memory management and multi client rendering. Realistically a lot needed to be done still, from rendering drivers for all the various SoC, to an atomic display API that can expose all the features, not just what was needed to light up a linux desktop back in the days. And lots of work to improve the codebase and make it much easier and quicker to write drivers.

There’s obviously still a lot to do, but I think we’ve achieved that - for full details, check out my ELCE talk about everything great for upstream graphics.

[...]

Also, there just isn’t a single LTS kernel. Even upstream has multiple, plus every distro has their own flavour, plus customers love to grow their own variety trees too. Often they’re not even coordinated on the same upstream release. Cheapest way to support this entire madness is to completely ignore upstream and just write your own subsystem. Or at least not use any of the helper libraries provided by kernel subsystems, completely defeating the supposed benefit of upstreaming code.

No matter the strategy, they all boil down to paying twice - if you want to upstream your code. And there’s no added return for the doubled bill. In conclusion, upstream first needs a business case, like the open source graphics stack in general. And that business case is very much real, except for upstreaming, it’s only real in userspace.

In the kernel, “upstream first” is a sham, at least for graphics drivers.

Thanks to Alex Deucher for reading and commenting on drafts of this text.

Read more

More in Tux Machines

7 Best Free Web-Based Git Clients

Git is an open source distributed version control system which was originally designed by Linus Torvalds, the creator of Linux, in 2005 for Linux kernel development. This control system is widely used by the open source community, handling small to extremely large projects with an emphasis on speed and efficiency, but maintaining flexibility, scalability, and guaranteeing data integrity. Git is one of a number of open source revision control systems available for Linux. Other popular tools in this field include Subversion, Bazaar, Mercurial, Monotone, CVS, and SVN. However, Git is frequently regarded by many developers to be the finest version control tool available. Read more

Run multiple consoles at once with this open source window environment

Last year, I brought you 19 days of new (to you) productivity tools for 2019. This year, I'm taking a different approach: building an environment that will allow you to be more productive in the new year, using tools you may or may not already be using. Who remembers DESQview? It allowed for things in DOS we take for granted now in Windows, Linux, and MacOS—namely the ability to run and have multiple programs running onscreen at once. In my early days running a dial-up BBS, DESQview was a necessity—it enabled me to have the BBS running in the background while doing other things in the foreground. For example, I could be working on new features or setting up new external programs while someone was dialed in without impacting their experience. Later, in my early days in support, I could have my work email (DaVinci email on MHS), the support ticket system, and other DOS programs running all at once. It was amazing! Read more

A guide to staying organized with open source tools

With so many tools on the web offered as services, there's more to getting organized than just choosing the most convenient online vendor. You have to think of your system of organization as part of your product, whether that's personal productivity or a software project you ship to hundreds or thousands of users. Using open source isn't a matter of brand loyalty. Open source is about you owning the tools that enable you to do what you do. Read more

Best Linux Operating Systems For Beginners In 2020.

Linux operating system is getting user attraction like never before. Many users around the world are shifting towards the Linux operating system. Linux is no more the operating system of developers and system administrators. Many more users are adopting Linux for various normal purposes like multimedia, desktop publications, office uses and etc. Well, there are many Linux based operating systems available in the market. In this post, we thought to list out some of the best Linux operating systems for beginners in the year 2019. Read more