Language Selection

English French German Italian Portuguese Spanish

Untangling The Linux Graphics Stack

Filed under
Software

As I tried to explain this a few times in the past to others and had trouble myself, when I started using Linux, I thought I take some time today and write down what parts comprise the Linux graphics stack and how they interact.

Let us start our little journey in the kernel. There, in a directory named gpu you'll find the drm directory, which contains all DRM drivers. In this post, we'll focus on those. The drivers in that directory are the kernel side of the Direct Rendering Infrastructure (DRI) and are responsible for managing concurrent access to the graphics hardware. They also provide interfaces to pass commands and data to the GPU. The DRI wiki explains the three main purposes of the DRM modules.

The DRM module is also the part that decides whether KMS or UMS is used. Other acronyms you might hear with regard to graphics acceleration on Linux and are referring to the Kernel part are:

rest here




More in Tux Machines

Programming: GNU Nano, Software Engineering Talent Shortage, HHVM (PHP)

  • GNU Nano Latest Version 2.9.0
    GNU nano 2.9.0 "Eta" introduces the ability to record and replay keystrokes (M-: to start and stop recording, M-; to play the macro back), makes ^Q and ^S do something useful by default (^Q starts a backward search, and ^S saves the current file), changes ^W to start always a forward search, shows the number of open buffers (when more than one) in the title bar, no longer asks to press Enter when there are errors in an rc file, retires the options '--quiet' and 'set quiet' and 'set backwards', makes indenting and unindenting undoable, will look in $XDG_CONFIG_HOME for a nanorc file and in $XDG_DATA_HOME for the history files, adds a history stack for executed commands (^R^X), does not overwrite the position-history file of another nano, and fixes a score of tiny bugs.
  • GNU Nano Text Editor Can Now Record & Replay Keystrokes
    GNU Nano 2.9 is now available as the latest feature release of this popular CLI text editor and it's bringing several new capabilities. First up, GNU Nano 2.9 has the ability to record and replay keystrokes within the text editor. M-: is used to start/stop the keystroke recording session while M-; is used to playback the macro / recorded keystrokes.
  • 2018's Software Engineering Talent Shortage— It’s quality, not just quantity

    The software engineering shortage is not a lack of individuals calling themselves “engineers”, the shortage is one of quality — a lack of well-studied, experienced engineers with a formal and deep understanding of software engineering.

  • HHVM 3.23
    HHVM 3.23 is released! This release contains new features, bug fixes, performance improvements, and supporting work for future improvements. Packages have been published in the usual places, however we have rotated the GPG key used to sign packages; see the installation instructions for more information.
  • Facebook Releases HHVM 3.23 With OpenSSL 1.1 Support, Experimental Bytecode Emitter
    HHVM 3.23 has been released as their high performance virtual machine for powering their Hack programming language and current PHP support. As mentioned back in September though, Facebook will stop focusing on PHP 7 compatibility in favor of driving their own Hack programming language forward. It's after their next release, HHVM 3.24, in early 2018 they will stop their commitment to supporting PHP5 features and at the same time not focus on PHP7 support. Due to the advancements made by upstream PHP on improving their performance, etc, Facebook is diverting their attention to instead just bolstering Hack and thus overtime the PHP support within HHVM will degrade.

Linux 4.14 File-System Benchmarks: Btrfs, EXT4, F2FS, XFS

Our latest Linux file-system benchmarking is looking at the performance of the mainline Btrfs, EXT4, F2FS, and XFS file-systems on the Linux 4.14 kernel compared to 4.13 and 4.12. In looking to see how the file-system/disk performance has changed if at all under the newly released Linux 4.14 kernel, I carried out some 4.12/4.13/4.14 benchmarks using Btrfs/EXT4/F2FS/XFS while freshly formatting the drive each time and using the default mount options. Read more Also: Freedreno Gallium3D Supports A Fair Amount Of OpenGL 4.x

Android Leftovers

Canonical Releases Snapcraft 2.35 with Support for Ubuntu 14.04 LTS and Solus

Snapcraft 2.35 comes approximately two months after the September release of Snapcraft 2.34, and it's a major update that finally adds support for the Ubuntu 14.04 LTS (Trusty Tahr) operating system series, which is maintained by Canonical for five years, until April 2019. Ubuntu 14.04 LTS support in Snapcraft is particularly important for running Snaps based on ROS (Robot Operating System) Indigo, which is based on this LTS Ubuntu release. In addition, Snapcraft also appears to have received support for the Solus Linux-based operating system. Read more