Language Selection

English French German Italian Portuguese Spanish


Mesa 20.1.2 Release and Linux Graphics Developers

Filed under
  • Mesa 20.1.2 Release Led By Radeon Driver Fixes

    While Mesa 20.2 is the exciting development version in the works for release next quarter, those of you on the current Mesa 20.1 series now have the second point release available.

    Mesa 20.1.2 is out with two weeks worth of fixes for this stable series. This time around the Radeon Vulkan (RADV) and OpenGL (RadeonSI) driver changes make up a majority of the changes.

  • They want to be small, they want to be big: thoughts on code reviews and the power of patch series

    Code reviews are a central fact of life in software development. It's important to do them well, and developer quality of life depends on a good review workflow.

    Unfortunately, code reviews also appear to be a difficult problem. Many projects are bottlenecked by code reviews, in that reviewers are hard to find and progress gets slowed down by having to wait a long time for reviews.

    The "solution" that I've often seen applied in practice is to have lower quality code reviews. Reviewers don't attempt to gain a proper understanding of a change, so reviews become shallower and therefore easier. This is convenient on the surface, but more likely to allow bad code to go through: a subtle corner case that isn't covered by tests (yet?) may be missed, there may be a misunderstanding of a relevant underlying spec, a bad design decision slips through, and so on. This is bound to cause pains later on.

  • Mike Blumenkrantz: When Maths Get Weird

    During shader compilation, GLSL gets serialized into SSA form, which is what ntv operates on when translating it into SPIR-V. An ALU in the context of Zink (specifically ntv) is an algebraic operation which takes a varying number of inputs and generates an output. This is represented in NIR by a struct, nir_alu_instr, which contains the operation type, the inputs, and the output.

    When writing GLSL, there’s the general assumption that writing something like 1 + 2 will yield 3, but this is contingent on the driver being able to correctly compile the NIR form of the shader into instructions that the physical hardware runs in order to get that result. In Zink, there’s the need to translate all these NIR instructions into SPIR-V, which is sometimes made trickier by both different semantics between similar GLSL and SPIR-V operations as well as aggressive NIR optimizations.

Graphics: RADV, Mesa and Linux Beta Driver 450.51 From NVIDIA

Filed under
  • RADV ACO SMEM Patches Land - Taking ACO To Feature Parity With AMDGPU LLVM

    As of today in Mesa 20.2-devel Git, the Radeon Vulkan driver (RADV) with the ACO back-end is now effectively at feature-parity to the default AMDGPU LLVM shader compiler back-end.

    Earlier this month we reported on the matter that RADV was looking at switching to ACO by default as its shader compiler back-end in place of the common AMDGPU LLVM back-end. But for that to happen they first needed to hit feature parity.

  • Mesa 20.2 driver update due hopefully by the end of August

    The Mesa open source Linux driver team have put up their updated roadmap for the upcoming version 20.2 version.

    Much like official NVIDIA Linux drivers, Mesa has quite a regular release cycle to power your AMD and Intel chips (plus older NVIDIA) with OpenGL / Vulkan and over the past few years the quality has really come along nicely. Once one release ships, with people working on all sorts of features and improvements, the next release is open for development and code merging.

  • NVIDIA 450.51 Linux Driver Beta Adds NGX Library, PRIME Improvements

    Earlier this month a NVIDIA 450 Linux beta driver popped out as part of the CUDA 11.0 release candidate. Today though is the first public and generally available NVIDIA 450 series Linux driver beta for all users.

    With today's NVIDIA 450.51 Linux beta driver there are many new features and fixes. Among the changes with the NVIDIA 450.51 Linux driver are:

  • NVIDIA released a big new mainline Linux Beta Driver 450.51

    Not long after the recent developer-focused 440.66.17 Vulkan Beta, NVIDIA have released the 450.51 Linux Beta Driver in their mainline series that's for us consumers to jump in with.

    This adds in a number of new features like support for Vulkan direct-to-display on DisplayPort displays which are connected via DisplayPort Multi-Stream Transport (DP-MST). NVIDIA added support in this Linux driver for NVIDIA NGX, their deep learning powered technology stack. It also now has HEVC 10/12 bit "decode only" support for NVIDIA VDPAU, support for Image Sharpening in OpenGL and Vulkan applications, support to create 16-bit video surfaces in the NVIDIA VDPAU driver and more VDPAU additions.

    Even PRIME support was expanded to allow PRIME Synchronization when using displays driven by the x86-video-amdgpu driver as PRIME display offload sinks and support for displays connected to NVIDIA GPUs to act as PRIME display offload sinks, also known as "Reverse PRIME". A fallback presentation path for PRIME Render Offload configurations where the DRI3 and/or Present extension are unavailable was added too.

Graphics: Mesa 20.2, AMDVLK 2020.Q2.5, Mike Blumenkrantz's Work and Microsoft's EEE

Filed under
  • Mesa 20.2 Gets A Release Schedule With Hopes Of Shipping By End Of August

    It should hardly come as a surprise if you regularly follow the Mesa quarterly release cadence for these open-source Vulkan/OpenGL drivers, but a release schedule has now been committed for next quarter's Mesa 20.2.

    The release schedule puts the Mesa 20.2.0 release at the end of August, just as we have been expecting. Granted, with any release blocker delays it could easily mean the release doesn't ship until September with Mesa release delays being somewhat common.

  • AMDVLK 2020.Q2.5 Driver Released With Some New Bits + Bug Fixes

    AMDVLK 2020.Q2.5 is out today as the newest snapshot of this open-source official AMD Radeon Vulkan driver for Linux systems.

    Now supported by AMDVLK 2020.Q2.5 is vkGetDeviceQueue2, speeding up CmdCopyImageGraphics, and the VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR capability within supportedCompositeAlpha.

  • Mike Blumenkrantz: Anatomy Of A Shader Bugfix

    I’ve talked and rambled about various things, and maybe I’ve given an idea of what it’s like to work on Zink, but the reality is that I spend a majority of my time working on the shader translation pipeline, which converts NIR to SPIRV.

    Today let’s go through the process for fixing an issue in this pipeline, as detected by piglit.

  • Microsoft Posts Initial DRM Driver For Hyper-V Synthetic Video Device

    We'll see how this Microsoft DRM driver pans out and how quickly it will be accepted to mainline as well as how long it will take until the driver is more feature complete.

Ubuntu 20.04 vs. Windows 10 WSL/WSL2 Performance In 170+ Benchmarks

Filed under

Earlier this month was a look at the Windows 10 May 2020 Update performance for WSL/WSL2 with many benchmarks and testing on an Intel Core i9 10900K. Here is a follow-up round of testing this time with HEDT performance in the form of running an AMD Ryzen Threadripper 3970X and running even more benchmarks up to 172 in total for this comparison of Ubuntu 20.04 LTS against WSL and WSL2 performance on this newest Microsoft Windows 10 update.

This round of testing is our largest look ever at WSL/WSL2 performance while using the recently released Windows 10 May 2020 Update. The same system used for all of this testing was an AMD Ryzen Threadripper 3970X at stock frequencies, ASUS ROG ZENITH II EXTREME, 64GB of RAM, 1TB Corsair Force MP600 NVMe SSD, and Radeon RX 5500 XT graphics.

Read more

NVIDIA Vulkan Beta Driver

Filed under
  • NVIDIA Vulkan Beta Driver Finally Adds External Memory Host Support

    NVIDIA today released a new Vulkan beta driver for Linux systems at version 440.66.17.

    New to this Vulkan beta driver update is VK_EXT_extended_dynamic_state and VK_EXT_external_memory_host support. Additionally, the Vulkan vkCmdMultiDraw*IndirectCount performance should be better for Pascal and older GPUs.

  • NVIDIA 440.66.17 Vulkan Beta Driver released

    It's interesting to see VK_EXT_external_memory_host finally land in the driver, as it's been around since 2017 according to the linked spec. What does it do? This extension enables an application to import host allocations and host mapped foreign device memory to Vulkan memory objects. As for VK_EXT_extended_dynamic_state, that was made available at the end of 2019, adds some more dynamic state to support applications that need to reduce the number of pipeline state objects they compile and bind.

Graphics: TURNIP, RADV, Intel and More

Filed under
  • Open-Source Qualcomm "TURNIP" Vulkan Driver Adds Tessellation Shader Support

    Mesa's TURNIP Vulkan driver for open-source Qualcomm Adreno support took another big step forward this week with the mainlining of tessellation shader support.

    TURNIP is getting into increasingly good shape thanks to the work of multiple parties but isn't quite mature yet as Freedreno Gallium3D, which provides the open-source OpenGL support for Qualcomm's Adreno GPUs. A big feature now though is complete with the tessellation shader merge request landing for TURNIP.

  • RADV Vulkan Driver Adds New Workaround For Path of Exile Game

    A new tunable for the RADV driver is to disable bounds checking for dynamic buffer descriptors. The initial beneficiary of this driver workaround is for satisfying the Path of Exile role playing game running under Wine / Proton (Steam Play).

    The Path of Exile RPG game added a beta Vulkan renderer last month but has experienced issues with the RADV Vulkan driver while reportedly working fine with AMDVLK. This is an alternative to their Direct3D 11 renderer for this Windows game that runs on Linux by way of Wine/Proton.

  • Intel DG1 Graphics Card Support Lands In Mesa 20.2 For OpenGL / Vulkan

    Intel has landed their Mesa OpenGL/Vulkan driver support for their "DG1" discrete graphics card!

    With their kernel driver patches getting sorted out and most likely to be introduced with the Linux 5.9 kernel, the OpenGL and Vulkan driver side changes have now been merged into Mesa Git. These changes are in place for Mesa 20.2, due out around the end of August, but the Linux 5.9 kernel meanwhile won't see its stable release until around October with its development cycle not officially getting underway until around August following the current Linux 5.8 cycle.

  • Mike Blumenkrantz: A Step Back

    Since the start of this blog, I’ve been going full speed ahead with minimal regard for explaining terminology or architecture. This was partly to bootstrap the blog and get some potentially interesting content out there, but I also wanted to provide some insight into how clueless I was when I started out in mesa.

    If you’ve been confused by the previous posts, that’s roughly where I was at the time when I first encountered whatever it was you that you’ve been reading about.


    When I began working on mesa, I did not have that knowledge, so let’s take a little time to go over some parts of the mesa tree, beginning with gallium.

    Gallium is the API provided by mesa/src/mesa/state_tracker. state_tracker is a mesa dri driver implementation (like i965 or radeon) which translates the mesa/src/mesa/main API and functionality into something a bit more flexible and easy to write drivers for. In particular, the state tracker is less immediate-mode functionality than core mesa, which enables greater optimization to be performed with e.g., batching and deduplication of repeated operations.

Graphics: NVIDIA, VulkanRT, AMD and More

Filed under
  • NVIDIA A100 PCIe Accelerator Now Shipping For Servers

    After announcing the NVIDIA Ampere architecture at last month's virtual keynote, beginning today the NVIDIA A100 PCI Express accelerator is now shipping in GPU compute servers.

    NVIDIA announced more than 50 A100-powered servers are on the way from their partners at the likes of ASUS, Dell, HPE, Lenovo, Gigabyte Server, and others. Some 30 designs should be out this summer and more later in the year.

  • What is VulkanRT – Vulkan Run Time Libraries?

    Games have certain system requirements that must be met in order for them to run. These requirements are for both hardware and software. You need a specific GPU model or newer, a specific OS, and additional frameworks and libraries installed on your system in order to play a game. Each game has its own requirements and it will clearly state them.

    A small subset of games need something called the Vulkan RunTime or VulkanRT. Generally speaking, if you have a GPU that can run the game in question then that GPU probably also has support for VulkanRT but, there’s a way to check and getting the Vulkan RunTime on your system is easy.

  • Vulkan support for older Raspberry Pi models is now a thing

    While work is underway officially to bring Vulkan API support to the Raspberry Pi 4, what about the older models? An NVIDIA engineer decided to get it done as announced on Twitter.

    The NVIDIA engineer, Martin Thomas, worked on the RPi-VK-Driver which is now available to grab from GitHub to bring Vulkan API support to models prior to the Raspberry Pi 4. Thomas said they had been working on it for two years and they said it's the "first low-level GPU driver for the Broadcom Videocore IV GPU".

  • AMDGPU Patches Revived For Better Hot Device Unplug / External GPU Handling

    More than one month ago we reported on AMDGPU patches proposed for better hot unplug handling, mainly for the use-case of external GPU solutions if disconnecting them while the system is still running to avoid a range of show-stopping problems. It's been a quiet few weeks but that work has now seen a new revision.

    AMD driver developer Andrey Grodzovsky sent out the second version of this hot device unplug handling for AMDGPU but even with the improvements is still considered a proof of concept state. The hope once these patches are fully vetted is to avoid application crashes and other problems that current can happen when unplugging an "eGPU" or otherwise emulating a GPU unplug/remove event via sysfs.

  • Vulkan 1.2.145 Released With VK_EXT_extended_dynamic_state

    There have been a few Vulkan spec updates without any new extensions introduced but this weekend's Vulkan 1.2.145 revision does bring new functionality.

    Besides the usual assortment of documentation fixes and clarifications, Vulkan 1.2.145 adds VK_EXT_extended_dynamic_state.

Kernel and Graphics: Linux 5.9, Radeon ROCm 3.5.1 and Vulkan Driver

Filed under
  • FSGSBASE Testing Is Encouraged Ahead Of Linux 5.9

    A few days ago I mentioned that it looked like the FSGSBASE patches could finally land for Linux 5.9 and indeed this performance-sensitive x86_64 feature is on track for premiering the next kernel cycle. But additional testing is encouraged.

    Addressed to Andy Lutomirski confirmed plans for landing FSGSBASE support in Linux 5.9. He is encouraging testing of the FSGSBASE-enabled kernel ahead of time particularly for relevant workloads in ensuring nothing is broken and in good shape.

  • Radeon ROCm 3.5.1 Open-Source Compute Stack Released

    Two weeks after ROCm 3.5, the AMD Radeon team has now issued a patch update to this Radeon Open Compute stack.

    ROCm 3.5.1 comes with updated Kernel Fusion Driver (AMDKFD) code to fix a memory access fault error that was happening since ROCm 3.3 for multi-GPU setups. ROCm 3.5.1 also provides API additions for querying the priority of a stream with HIP, support for NCCL 2.7 with send/receive operations now being supported, and RCCL updates to provide network proxy profiling and support for gather/scatter/all-to-all collective operations.

  • A NVIDIA Engineer In His Spare Time Wrote A Vulkan Driver That Works On Older Raspberry Pi

    The Raspberry Pi 1 through Raspberry Pi 3 Model B+ and even the Raspberry Pi Zero can now see Vulkan support via a new unofficial "RPi-VK-Driver" that is offering even better performance than the Broadcom OpenGL driver.

    While there has been a Vulkan driver in development for the Raspberry Pi 4 and future models with the newer Broadcom VideoCore GPU that officially supports Vulkan, an independent developer has been developing a Vulkan driver for the VideoCore IV GPU found in pre-RPi4 SBCs. VideoCore 4 isn't compliant with Vulkan in full, but with enough effort, a Vulkan driver was brought up.

The First Batch Of DRM-Misc-Next Changes For Linux 5.9 Sent In

Filed under

The first batch of "drm-misc-next" changes have been sent in for DRM-Next that is targeting the Linux 5.9 merge window later this summer.

DRM-Misc-Next is where core DRM changes and material for the smaller DRM drivers (Panfrost, VMWgfx, Lima, MSM, OMAP, VC4, et al) queue up before hitting DRM-Next.

Read more

Graphics: Vulkan in Mutter and RADV, Zink Update

Filed under
  • GNOME's Mutter Sees More Cleaning That Ultimately Could Help Foster Vulkan Support

    A Cogl driver API clean-up within GNOME's Mutter code-base was merged this week after being open for two months. This cleanup could ultimately help if/when Mutter decides to add a Vulkan back-end.

    Red Hat's Adam Jackson performed this Mutter/Cogl clean-up earlier this year that hit Git master on Thursday. The cleanup moves more of the OpenGL code into GL-specific paths and outside of the Cogl core. No functional changes are made as part of this clean-up but obviously isolating the OpenGL code is important if Mutter is ultimately to see Vulkan support or other non-OpenGL back-end.

  • Radeon "RADV" Vulkan Driver Adds Experimental Support For Sienna Cichlid

    But with RADV being maintained external to AMD by the folks at Valve, Red Hat, Google, and the community, this Sienna Cichlid support in RADV isn't official or even tested for that matter yet. The RADV changes are based on the modifications to the RadeonSI OpenGL driver and making the similar changes to RADV when it comes to the new IDs and slight code path alterations. Most of the heavy lifting anyhow is done in the AMDGPU kernel driver and building off the existing GFX10/Navi support.

  • Mike Blumenkrantz: Slots

    My work in ntv exposed more issues that needed to be resolved, the most significant of which was the ability of Zink to accidentally clobber output variables. What does that actually mean though?

Syndicate content

More in Tux Machines

Android Leftovers

KDE Frameworks 5.73 Released with Many Changes to Breeze Icons, Kirigami and KNewStuff

KDE Frameworks 5.73 is a monthly update to the open-source software suite, but it packs a lot of interesting changes. For example, the Kirigami UI builder received a new FlexColumn component and now supports action visibility in the GlobalDrawer, along with optimizations to the mobile layout and to the accessibility of the Kirigami input fields. The Breeze icon theme saw a lot of changes too during the development cycle of KDE Frameworks 5.73, and it now comes with a bunch of new icons for Kontrast, kirigami-gallery, snap-angle, document-replace, SMART status, task-recurring, appointment-recurring, Overwrite action/button, and applications/pkcs12 mime type. Read more

Redo Rescue Backup and Recovery Live System Gets NFS Share Support, SSH Server

For those not in the know, Redo Rescue is a great, free and easy to use live Linux system based on Debian GNU/Linux that can help you whenever your computer is broken by letting you backup and restore an entire system in just a few minutes. For example, if your computer no longer boots after installing the recent BootHole patches for the GRUB2 bootloader, you can use Redo Rescue to repair the boot. Of course, there are a few other tools that can do the same, but Redo Rescue can also do bare metal restores by replacing the MBR and partition table, re-map original data to a different target partition and even verify the integrity of an existing backup image. Read more

Pocket P.C. design files released as open source (handheld Linux computer)

The Popcorn Computers Pocket P.C. is designed to be a handheld Linux computer with a 4.95 inch full HD display, a built-in keyboard, and a ARM Cortex-A53 quad-core processor. First unveiled in November 2019, the Pocket P.C. hasn’t shipped yet. It’s still up for pre-order for $199 and up. But the developers have already open sourced the hardware by releasing the latest design files. You can find the at the project’s GitHub page. Read more