Language Selection

English French German Italian Portuguese Spanish

Graphics/Benchmarks

Graphics: AMD, Intel, Vulkan/Flycast and NVIDIA

Filed under
Graphics/Benchmarks
  • AMD Publishes Vega 7nm ISA Documentation - 300 More Pages Of GPU Docs

    Beyond AMD's open-source graphics driver stack of the past decade, part of their original open-source plans have also involved providing public (NDA-free) GPU hardware documentation. That has come with time though the documentation drops are not coordinated in-step with code drops. Out today, for example, is the ISA documentation on Vega 7nm.

    Back in 2017 was the timely release of the Vega ISA documentation and earlier this summer was even the RDNA 1.0 ISA documentation but missing out until now was the Vega 7nm ISA documentation.

  • Intel's Iris Gallium3D Driver Continuing To See Performance Optimizations On Mesa 20.0

    With the current Mesa 19.3 there is the Intel Gallium3D driver generally performing much better than their "classic" i965 driver and for Mesa 20.0 it looks to only make more ground as it switches over to this driver by default.

    Beyond the recent build system changes for supporting an Intel Gallium3D default and building it as part of the default x86/x86_64 Gallium3D drivers with hopes of soon flipping the switch for Broadwell and newer, more performance optimizations are still being done.

  • Dreamcast emulator Flycast adds a Vulkan renderer

    There seems to be quite a lot of interest in Vulkan lately, as more projects begin using it. Now we have the Dreamcast emulator Flycast adding Vulkan support.

    In the technical blog post announcing it on the Libretro site, it gives a bit of brief history of the Dreamcast GPU and mentions the usual "less overhead, more reliability and better performance in many cases" when it comes to using Vulkan although it's a lot more complicated to use.

  • NVIDIA have two new Linux drivers available, one stable and one Vulkan Beta

    NVIDIA continue pushing their drivers forwards with two new Linux driver updates available. Let's take a quick look.

    First, the stable 440.44 driver release as part of their long-lived branch. This adds support for the Quadro T2000 with Max-Q Design, you can now use the "__GL_SYNC_DISPLAY_DEVICE" environment variable for Vulkan applications and it fixes a few bugs like tearing with a G-SYNC or G-SYNC Compatible monitor when you've got something running directly on a display (like VR).

Graphics: NVIDIA 440.44 Linux Driver, Microsoft Code, and WSL Performs Very Poorly

Filed under
Graphics/Benchmarks
  • NVIDIA 440.44 Linux Driver Brings Fixes, __GL_SYNC_DISPLAY_DEVICE Honored With Vulkan

    Out today is NVIDIA 440.44 as the latest stable Linux driver update in their new long-lived driver series. 

    Succeeding the 440.36 and 440.31 stable drivers, the 440.44 release isn't too exciting but at least NVIDIA should be introducing a new beta series shortly. 

  • Intel's OpenSWR OpenGL Software Rasterizer Pulls In Tessellator From Microsoft Direct3D Code

    OpenSWR is Intel's performance-minded software rasterizer for purposes like workstation visualizations and is where it outperforms the likes of LLVMpipe. This CPU-based OpenGL implementation can make use of not only AVX/AVX2 but also AVX-512 and other optimizations to support speedy CPU-based GL operations from laptops to Xeon Scalable hardware. Like LLVMpipe, OpenSWR does leverage LLVM in part. Those unfamiliar with this long-standing Intel open-source project can learn more at OpenSWR.org.

  • Windows Subsystem For Linux Performance At The End Of 2019

    Recently I wrapped up some benchmarks looking at the performance of Ubuntu on Microsoft's Windows Subsystem for Linux comparing WSL on Windows 10 Build 18362 (May 2019 Update) and then both WSL and WSL2 performance using the Windows 10 Build 19008 Insider's Preview (what will come as Windows 10 20H1 update) for looking at where the WSL performance is heading. Additionally, looking at the bare metal performance of Ubuntu 18.04 LTS for which the WSL instances were based plus Ubuntu 19.10. As well, for the Windows-compatible tests also looking at how the Windows performance itself was outside of WSL/WSL2.

Graphics: GraphicsFuzz, RadeonSI, Mesa, Corruption Issues and Unisoc

Filed under
Graphics/Benchmarks
  • Google Releases GraphicsFuzz 1.3 For Continuing To Fuzz GPU Drivers

    GraphicsFuzz is the project born out of academia a few years ago for fuzzing GPU drivers to find OpenGL / OpenGL ES (WebGL) driver issues. This work was ultimately acquired by Google and then open-sourced just over one year ago. Today marks the release of GraphicsFuzz 1.3.

    GraphicsFuzz these days is no longer about just OpenGL / GLES and GLSL shaders but also operating on SPIR-V shaders for consumption by Vulkan drivers. There are also GLSL/SPIR-V shader reducers in addition to the fuzzer that relies upon randomized metamorphic testing.

  • RadeonSI Driver Switches To NIR, Thereby Enabling OpenGL 4.6 By Default For AMD GPUs

    Mesa 20.0 due out in Q1'2020 is now the magical release that is set to switch on RadeonSI NIR usage by default in place of the TGSI intermediate representation. What makes this IR switch-over prominent is that OpenGL 4.6 is then enabled by default on this open-source Gallium3D driver supporting Radeon HD 7000 series GPUs and newer.

    Recently in Mesa 20.0-devel, RadeonSI plumbed in OpenGL 4.6 support but it was contingent upon enabling NIR due to sharing some code-paths with the NIR-built RADV Vulkan driver around the SPIR-V code. NIR is the intermediate representation that most Mesa OpenGL/Vulkan drivers are focusing on and is more versatile than the likes of TGSI, the traditional IR of Gallium3D that has been around a decade.

  • Mesa 19.3 Is Introducing A Lot Of Open-Source OpenGL + Vulkan Driver Improvements

    Mesa 19.3 could be released as soon as this week after being challenged by several delays over blocker bugs. This release should be making it out in the days ahead and is a fantastic Christmas gift to Linux desktop users and a big step-up for these OpenGL / Vulkan driver implementations as we end out 2019.
    Among the many changes to find with this quarterly Mesa3D update are finally having OpenGL 4.6 for Intel, initial Intel Gen12/Tigerlake support, Zink was merged for OpenGL on top of Vulkan, Radeon Vulkan ACO back-end added for better Linux gaming performance, many new Vulkan extensions supported on both the Intel and Radeon drivers, the Intel Gallium3D driver is now in excellent shape, there are more Intel performance optimizations, and a lot of other changes throughout.

  • Radeon OpenGL Linux Driver Gets Fix For Corruption Issues

    An issue affecting some Linux users with Radeon graphics for at least the last four months around graphics corruption problems when switching to newer versions of the Linux kernel have been resolved.

    On Linux 5.2+ have been reports of some graphics corruption issues in cases like web browsers. While the issue manifested with a kernel upgrade, the resolution is a change to the RadeonSI OpenGL driver. Besides the aforelinked DRM bug report, there has also been other similar bug reports like garbled graphics.

  • Unisoc Looking To Introduce A New DRM Display Driver For Mainline Linux

    Unisoc, the Chinese SoC provider for smartphones that is part of the Tsinghua Unigroup, has published a new open-source DRM display driver that ultimately they are looking to get into the mainline kernel.

    Out today is just the "request for comments" patches for this Unisoc "SPRD" Direct Rendering Manager display driver. The twelve thousand lines of driver code wire up their display controller, MIPI DSI, MIPI DPHY, and the Unisoc display subsystem. The patches were worked on by Unisoc with cooperation from Linaro. All of this driver work is on the display front as their SoCs for 3D/GPU capabilities rely upon Arm Mali and Imagination PowerVR IP.

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

Graphics: Mesa, Vulkan and PipeWire

Filed under
Graphics/Benchmarks
  • ADriConf GUI Control Panel Support For Mesa Vulkan Drivers Is Brought Up

    One of the most frequent complaints we hear from Linux gamers running open-source GPU drivers is over the lack of the hardware vendors supporting any feature-rich control panels like they do on Windows. There are many Linux driver tunables exposed by these open-source graphics drivers, but often they can only be manipulated via command-line options, environment variables, boot parameters, and other less than straight-forward means especially for recent converts from Windows and other novice Linux users. ADriConf has been doing a fairly decent job as a third-party means of helping to improve the situation and now there is talk of it supporting Vulkan driver settings.

  • Vulkan 1.1.130 Released With New Tooling Extension

    The new extension with Vulkan 1.1.130 is VK_EXT_tooling_info. The VK_EXT_tooling_info extension is for letting the Vulkan application/game/engine query what development tools are running right now. In particular, this is for tools like RenderDoc and other Vulkan profilers/debuggers. This extension will offer some uniformity and assistance to developers in debugging potential compatibility issues between Vulkan tools and other problems.

  • New graphing tool for PipeWire debugging

    PipeWire, the new and emerging open source framework that aims to greatly improve the exchange and management of audio and video streams inside a Linux system, has seen a number of improvements and bug fixes over the past year. With many developers now actively contributing to it, PipeWire is maturing quickly and is well on its way to becoming the new standard.

    At Collabora, we have been busy helping clients work with PipeWire, notably Automotive Grade Linux who have chosen to adopt PipeWire for its implementation of the low-level platform audio service, replacing previous solutions like 4A, PulseAudio and AudioManager. Assisting early adopters such as AGL has brought us to design and implement new elements within PipeWire, such as the session & policy management component WirePlumber, which George Kiagiadakis presented in October at the GStreamer Conference in Lyon.

Clear Linux On The OnLogic Karbon 700 Boosted Performance By 13% Over Ubuntu With 141 Benchmarks

Filed under
Graphics/Benchmarks

Last month we reviewed the OnLogic Karbon 700 as a passively-cooled, industrial-grade PC powered by an eight-core / sixteen-thread Intel Xeon, 16GB of RAM, 512GB NVMe storage, and a plethora of connectivity options in suiting to industrial use-cases. The performance was great and even the thermal performance was very good for being a fan-less PC. In seeing how well other Linux distributions were panning out on the Karbon 700, I tested five popular Linux distributions on the Xeon Coffee Lake system and once again Intel's performance-optimized Clear Linux squeezed out much more performance potential.

Read more

Graphics: RADV, Wayland's Weston 8.0 Reaches Alpha, Mesa 20.0

Filed under
Graphics/Benchmarks
  • RADV's ACO Compiler Back-End Now Supported For Older AMD "Sea Islands" GPUs

    The Valve-backed "ACO" compiler back-end for the open-source Radeon "RADV" Vulkan driver has added support now for AMD GCN 1.1 "Sea Islands" graphics cards.

    Sea Islands includes the Radeon Rx 200 series with the R7 260/260X/290/295 series and these 2nd Gen GCN GPUs also ended up in the Radeon HD 7790, Radeon HD 8770, Radeon R7 360, Radeon R9 390/390X, and Radeon RX 455. Up to now the ACO compiler back-end has only supported GCN1.2/GFX8 and newer but with the latest Mesa 20.0-devel code as of today in Mesa Git there is now ACO support for GCN 1.1 Sea Islands.

  • Wayland's Weston 8.0 Reaches Alpha With EGL Partial Updates, Headless OpenGL

    Weston 8.0 is another significant update for this Wayland reference compositor in it offers EGL_KHR_partial_update support to reduce GPU vRAM usage on supported drivers/GPUs thanks to handling partial screen updates, support for building the DRM back-end without Mesa's GBM, greater hardware planes usage, the Weston headless back-end now supports OpenGL, a direct display extension, HDCP support in the DRM back-end, and various other improvements / features.

  • weston 7.0.91
    This is the alpha release for weston 8.0. Here is a highlight of the
    main new features:
    
    - DRM hardware planes should be used more effectively
    - Headless backend now supports OpenGL
    - DRM backend can now be built without GBM
    - EGL_KHR_partial_update is now used when available, reducing memory
      bandwidth usage on some GPUs
    - Logging framework improvements
    - Documentation for weston can now be built
    
    A lot of fixes have been merged too. Thanks to all contributors!
    
    Full commit history below.
    
    Adam Jackson (5):
          simple-dmabuf-egl: Allow QueryDmaBufModifiers to report no modifiers
          gl-renderer: Fix possible memory leak when no dmabuf modifers are supported
          libweston: Fix integer underflow in weston_layer_mask_is_infinite
          image-loader: Fix undefined left shift in premultiply_data
          tests: Fix undefined left shift in internal-screenshot-test
    
    Ankit Nautiyal (6):
          backend-drm: Add support for content-protection
          libweston: Add functions to modify disable_planes counter for an output
          libweston: Add function to schedule idle task for updating surface protection
          libweston: Notify the client, when output recording is started/stopped
          man: Declare drm-backend support for HDCP
          backend-drm: Check for HDCP Content Type property before setting
    
    Daniel Stone (8):
          renderer-gl: Assert function presence matches extensions
          remoting: Use DRM FourCC formats instead of GBM formats
          Revert "backend-drm: Teach drm_property_info_populate() to retrieve range values"
          config-parser: Export get_full_path and destroy
          backend-drm: Use aspect-ratio bit definitions from libdrm
          config-parser: Make get_bool be bool
          tests/config-parser: Remove useless duplicate test
          option-parser: Make bools boolean
    
    Drew DeVault (1):
          simple-dmabuf-egl: update to xdg-shell stable
    
    Eero Tamminen (1):
          Add include for missing symbols
    
    Emmanuel Gil Peyrot (1):
          shared: Use memfd_create() when available
    
    Harish Krupo (3):
          gl-renderer: Censor protected views when output is recorded
          clients/window: Add viewport destination support
          desktop-shell: Set 1x1 buffers for solid-color backgrounds
    
    Jeffy Chen (2):
          clients: Drop corresponding touch points when destroying windows
          clients: Add more sanity checks to catch destroyed window
    
    Leandro Ribeiro (11):
          build: bump libdrm requirement to newer version (2.4.83)
          backend-drm: remove unecessary ifdef checks
          backend-drm: remove unnecessary ifdefs
          move frame_signal emission to weston_output_repaint()
          screenshooter: stop using frame_signal void *data parameter to get weston_output
          tests: stop using frame_signal 'void *data' argument to get weston_output
          renderer: change frame_signal emission to pass previous_damage as data argument
          screenshooter: get previous_damage from data argument instead of weston_output
          screen-share: get previous_damage from data argument instead of weston_output
          Revert "move frame_signal emission to weston_output_repaint()"
          libweston: remove previous_damage from struct weston_output
    
    Link Mauve (1):
          xwayland: Remove unused variable
    
    Loïc Yhuel (1):
          libweston: fix possible crash after a view is removed the layer
    
    Marius Vlad (53):
          weston-log: s/scope/sub, leftover from the logging framework
          libweston: Fix rename of weston_compositor_destroy() reference
          weston-log: 'new_subscriber' is actually 'new_subscription'
          weston-log: Add 'destroy_subscription' callback for the subscription
          weston-log-internal: Allow to hang-off data over the subscription
          weston-log: Add a subscription iterator
          libweston: Clean-up timeline to make room for a new approach
          libweston: Introduce timeline subscription and timeline subscription object
          libweston: Create the 'timeline' scope
          libweston: Convert timeline points to use the timeline scope
          libweston: Notify timeline of object modification
          libweston: Remove timeline-object and clean-up
          doc/sphinx: Add some documentation about timeline points
          compositor: Allow protocol to be displayed when asked for, even if we're not supplying debug argument
          libweston: Init weston_output's 'destroy_signal' before timeline has a chance to emit a
          compositor: Pass the entire string in one-shot when writting logger data
          weston-log: Avoid prefix-matching the scope name when checking for a
          backend-drm: Teach drm_property_info_populate() to retrieve range values
          backend-drm: Teach drm_property_info_populate() to retrieve range values
          backend-drm: Add zpos DRM-property
          backend-drm: Add a helper to display plane type as a 'string'
          backend-drm: Hard-code zpos values if HW doesn't exposes them
          libweston: Add a new helper weston_view_has_valid_buffer
          libweston: Add a new helper to check if the view spawns the entire
          backend-drm: Construct a zpos candidate list of planes
          backend-drm: Place pixel format checks for the overlay plane in its own
          backend-drm: Place pixel format checks for the cursor plane in its own
          backend-drm: Check pixel format before constructing the zpos candidate list
          backend-drm: Allow for views to reach overlays/underlays planes
          backend-drm: Pass the plane to prepare_overlay_view
          backend-drm: Pass the drm_fb to each prepare_overlay/scanout_view functions
          backend-drm: Move plane's availability in drm_output_try_view_on_plane()
          backend-drm: Print whenever a view will reach the renderer region
          backend-drm: Print whenever a view could not placed on the primary due to
          compositor: Fix some warning when passing debugoptimized to meson
          protocol: Add weston-direct-display extension
          libweston: Add weston-direct-display server side implementation
          libweston: Add the ability to determine if a dmabuf is scanout-capable
          backend-drm: Add dmabuf scan-out check for DRM-backend
          renderer-gl: Avoid retrieving the EGL image it direct_display flag was set
          renderer-gl: Display a solid shader color when direct-display is in use
          clients/simple-dmabuf-egl: Make use of direct-display
          clients/simple-dmabuf-drm: Make use of direct-display
          backend-drm: Assign the primary plane the lowest zpos value
          backend-drm: Skip testing plane state if plane is not enabled
          backend-drm: Turn zpos duplicate check into an hard assert
          backend-drm: Further checks to skip plane assignment to HW planes
          weston-log-flight-rec: Add a global variable to access the ring buffer
          weston-log-flight-rec: Don't allow more than one flight recorder to be
          weston-log-flight-rec: Fix useless comparison when displaying the
          doc/scripts/gdb: Added gdb script to dump contents of the flight recorder
          clients/fullscreen: Refuse to resize the surface size when fullscreen'ed
          gitlab-ci: Update ci-templates to latest SHA commit
    
    Miguel A. Vico (2):
          desktop-shell: Avoid NULL output dereference when getting surface label
          compositor: Do not trigger invalid destructors when hotunplugging
    
    Nicholas Niro (2):
          backend-drm: Fix for gbm modifiers when they are not available.
          backend-drm: Added support for legacy fd_import
    
    Olivier Fourdan (1):
          xwm: Use Xwayland allow commits for repaint
    
    Pekka Paalanen (73):
          backend-headless: fix comment on use_pixman
          backend-headless: refactor into headless_output_enable_pixman
          backend-headless: refactor into headless_output_disable_pixman
          backend-headless: make renderer type an enum
          clients: fix len-string formatting
          gl_renderer: remove unused NO_EGL_PLATFORM
          gl-renderer: fix typo native_window to native_display
          gl-renderer: remove platform_attribs
          gl-renderer: remove gl_renderer_display
          gl-renderer: remove gl_renderer_output_surface
          gl-renderer: remove print_egl_error_state
          backend-drm: use format db for fallback too
          gl-renderer: move into egl-glue.c
          gl_renderer: introduce gl_renderer_get_egl_config()
          gl-renderer: use gl_renderer_get_egl_config() for display_create
          gl-renderer: do not even pick a config with configless_context
          pixel-formats: add RGBA bits and type fields
          gl-renderer: use pixel_format_info internally for EGL
          gl-renderer: fuzzy EGLConfig matching for non-GBM
          backend-wayland: use DRM formats for EGLConfig
          backend-x11: use DRM formats for EGLConfig
          gl-renderer: remove EGLConfig attributes from API
          gl-renderer: configs for pbuffers too
          gl-renderer: pbuffer config for non-surfaceless
          gl-renderer: prefer the base EGLConfig
          gl-renderer: improve get_egl_config errors
          gl-renderer: print detailed EGLConfig list
          gl-renderer: use EGLConfig printer for window outputs
          build: shells do not need matrix.c
          build: use dependency for matrix.c
          xwm: dnd does not need cairo-util.h
          Unify the include style of shared/ headers
          build: simplify include_directories
          xwm: no need for compositor/weston.h
          gl-renderer: display_create needs surface type
          gl-renderer: document display_create
          gl-renderer: document output_window_create
          gl-renderer: add EGL surfaceless platform support
          noop-renderer: zero-initialize struct
          headless, gl-renderer: support pbuffer outputs
          compositor: add use-gl option to headless
          gitlab-ci: fix pages
          build: separate deps for int and ext libweston users
          build: link libm explicitly
          build: link libdl explicitly to DRM backend
          backend-x11: need libdrm headers in build
          build: reduce sub-dependencies of libweston
          compositor: turn weston main() into a lib
          cms-colord: work around unresolved symbols
          backend-rdp: work around unresolved symbols
          Link Weston plugins to libexec-weston.so
          tests: surface-screenshot needs libshared
          build: do not allow unresolved symbols
          libweston: drop a misleading dmabuf comment
          tests: remove static data from viewporter
          tests: remove static data from ivi-layout-test-plugin
          tests: remove static data from ivi-shell-app-test
          tests: remove static data from ivi-layout-test-client
          tests: remove static data from presentation
          tests: fix test-shell init error path
          ivi-shell: fix init error path
          colord: remove destroy listener on clean-up
          Use weston_compositor_add_destroy_listener_once() in plugins
          libweston: allow double-loading modules
          compositor: allow double-loading modules
          tests: write image to current directory by default
          tests/subsurface-shot: hardcode reference image names
          tests: replace fprintf() with testlog()
          tests/xwayland: do not call exit(SUCCESS)
          tests: rename struct weston_test to weston_test_entry
          tests/ivi: rename test_section
          tests: drop FAIL_TEST
          libweston: do not include weston.h
    
    Sebastian Wick (7):
          shared: add read-only anonymous file abstraction
          CI: build wayland from source
          input: bump wl_seat version to 6
          clients/window: bump wl_seat version to 6
          input: bump wl_seat version to 7
          clients/window: bump wl_seat version to 7
          input: use ro_anonymous_file to minimize duplication of keymap files
    
    Simon Ser (4):
          build: reopen master for regular development
          clients: drop simple-dmabuf-drm
          clients: remove leftover from simple-dmabuf-drm
          build: bump to version 7.0.91 for the alpha release
    
    Stefan Agner (10):
          backend-rdp: don't use shadow buffer for the RDP backend
          backend-headless: fix build issue without gl-renderer
          clients: avoid build error without gl-renderer
          gitlab-ci: add build configuration without gl-renderer
          backend-drm: use DRM_ constants everywhere
          remoting: make sure GL renderer is enabled
          backend-drm: separate out DRM virtual support
          backend-drm: make GBM optional
          weston-launch: show when a signal is sent to a child
          weston-launch: use exec to ensure signal delivery
    
    Veeresh Kadasani (1):
          simple-dmabuf-egl: make application generic
    
    Vivek Kasireddy (2):
          gl-renderer: Replace EGL_*_WL macros with locally defined enums
          gl-renderer: Add support for XYUV format (v2)
    
    sichem (1):
          libweston: Bring back 'weston_output_move'
    
    git tag: 7.0.91
    
    
  • Mesa 20.0 Now Includes Intel's Gallium3D Driver To Build By Default

    As part of the ongoing effort for Intel's plans to use their new Gallium3D OpenGL Linux driver by default on next quarter's Mesa 20.0 for Broadwell "Gen8" graphics and newer, another step in that direction was achieved on Friday.

    Intel's "Iris" Gallium3D driver is still making good progress in its goal for Mesa 20.0 to switch the default "i965" classic driver to Intel Gallium3D for Broadwell and newer hardware. Earlier this week was adding a build-time option to change the Intel OpenGL driver default so those building from source or distribution vendors can change the default on their own with ease.

CentOS 6 Through CentOS 8 Benchmarks On Intel Xeon

Filed under
Graphics/Benchmarks

Complementing the CentOS 8 benchmarks I did following the release of that Red Hat Enterprise Linux 8 rebuild in late September, here are tests going back further for showing the performance of CentOS 6, CentOS 7, and CentOS 8 all benchmarked from the same Intel Xeon Scalable server. These tests were done about a month ago albeit with all the hardware launches, new child, and other factors, only now getting to posting the data.

These benchmarks are of CentOS 6, CentOS 7, and CentOS 8 with all available stable release updates for each as of early November (prior to TAA, JCC Erratum, and other more recent disclosures). This was done to look at how the performance of these CentOS releases compare that track RHEL6, RHEL7, and RHEL8 respectively. Additionally, for each operating system was also a secondary run when booted with mitigations disabled to also provide a look at the CentOS Linux performance with the various CPU security mitigations disabled.

Read more

RadeonSI NIR Benchmarks Show Great Progress With Mesa 20.0

Filed under
Graphics/Benchmarks

With AMD last week having enabled OpenGL 4.6 for their RadeonSI OpenGL Linux driver when enabling the NIR intermediate representation support, you may be wondering how using NIR is stacking up these days compared to the default TGSI route. Here are some benchmarks on Polaris, Vega, and Navi for comparing this driver option that ultimately allows OpenGL 4.6 to be flipped on.

NIR is the modern intermediate representation used by a majority of Mesa drivers now in some capacity as an alternative to the likes of TGSI as what had been the default IR for Gallium3D drivers. With RadeonSI they have been transitioning to NIR since that has been the growing trend of these open-source drivers for sharing IR optimizations and the like. As well, NIR is being wired up in order to re-use some code-paths used currently by the "RADV" Radeon Vulkan driver to share some of the SPIR-V work that was needed in order for RadeonSI to have OpenGL 4.6 support. Like on the Intel side when they crossed the OpenGL 4.6 milestone recently, the big blocker to GL 4.6 on these drivers was handling SPIR-V ingestion with GL_ARB_gl_spirv / GL_ARB_spirv_extensions.

Read more

Nvidia Is Preparing An Unexpected Surprise For Linux Users In 2020

Filed under
Graphics/Benchmarks
Linux

Each year Nvidia hosts the GPU Technology Conference, a global gathering of AI developers, data scientists, graphic artists, and pretty much anyone in the technology industry working with GPUs in their chosen fields. The event packs in keynotes with roadmaps and reveals, face-time with Nvidia engineers, and hundreds of sessions to participate in. GTC 2020, though, looks to include a special surprise for Linux users and open source enthusiasts.

Supporting Nouveau eh? That’s the open source Linux driver used to drive Nvidia graphics cards (Nvidia also supplies a proprietary driver for Linux), and Nvidia’s historical lack of contributions is what led Linus Torvalds to famously flip Nvidia the bird and utter words I can’t print here. (I can link to them though. . .)

The community of developers working on the Nouveau driver have experienced several roadblocks throughout the years. Paramount among them is the inability to achieve normal GPU clock speeds due to Nvidia’s locked down firmware on many models of graphics cards. This leads to undesirable performance and a multitude of potential video display issues across many Linux distributions.

Read more

Syndicate content