Language Selection

English French German Italian Portuguese Spanish

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.

More in Tux Machines

Programming Leftovers

  • Ravgeet Dhillon: Offline Toast notification in Nuxt/Vue app

    We have often seen apps telling us that “You are offline. Check your network status.”. It is not only convenient to do so but adds to a great UX. In this blog, we will look at how can we display a toast notification in a Nuxt/Vue app whenever the user goes offline or online. This will also help us to understand how to use computed and watch properties together. [...] Hurray! Our toast notifications are working perfectly fine. So using the combined magic of computed and watch properties, we can create outstanding workflows and take our Nuxt/Vue app to next level. If you any doubts or appreciation for our team, let us know in the comments below. We would be happy to assist you.

  • Stephen Michael Kellat: Leveraging LaTeX In This Time

    From time to time I like to bring up fun adventures in LaTeX. In these stranges times in the United States it is important to look at somewhat practical applications beyond the normal reports and formal papers most people think of. With a Minimum Working Example we can mostly look at an idea. The Comprehensive TeX Archive Network has a package known as newspaper which is effectively subject to nominative determinism. You can make things with it that look like newspapers out of the 1940s-1960s in terms of layout. The page on CTAN shows nice examples of its use and provides a nice story as to why the package was created. The example source file on CTAN has a bug in it, though. We're going to make a new one based on it. I am also going to add but not yet utilize the markdown package to the example.

  • 2021.03 Course Topped – Rakudo Weekly News

    The course of the Raku Programming Language by Andrew Shitov made it to the top 20 of Hacker News and spurred quite a few comments. The first associated Grant Report was also published.

  • GCC 11 Is On The Final Stage Of Development With 60+ High Priority Regressions - Phoronix

    GCC 11 entered its final stage of development today as it works towards releasing around the end of Q1 / early Q2 if their past cadence holds up. Before GCC 11.1 can debut as the first stable version, there are some 60+ "P1" high priority regressions that need to be resolved or otherwise demoted to lesser priority regressions. GCC 11 release manager Richard Biener this morning announced GCC 11 is now in stage four development meaning only regression fixes and documentation fixes are allowed. As of this morning the code-base is at 62 P1 regressions, another 334 P2 regressions, 35 P3 regressions, and more than 200 regressions of the lower P4/P5 status.

Devices: Xtra-PC, Arduino and Inventor Coding Kit

  • Xtra-PC Reviews – Best Linux USB-Stick? - Product Review by Rick Finn

    The Xtra-PC Linux USB-Stick might be your solution if you have problems with your old and slow PC. It's a small flash drive stick and it's using Linux OS to boost you PC's operations. Check out now.

  • Arduino Blog » Old keyboard turned into a new children’s learning toy

    Peter Turczak’s toddler son loves “technical stuff,” especially things like keyboards and computers that adults use. After discussing this with other likeminded technical parents, the idea of giving new life to an old (PS/2 or AT) keyboard as a teaching tool was hatched.

  • SiFive Helping To Teach Kids Programming With RISC-V HiFive Inventor Coding Kit

    SiFive in cooperation with Tynker and BBC Learning have launched a Doctor Who themed HiFive Inventor Coding Kit. This Initial HiFive Inventor Coding Kit is intended to help kids as young as seven years of age get involved with computer programming through a variety of fun exercises and challenges involving the RISC-V powered mini computer and related peripherals like LED lighting and speaker control. [...] So for those looking to get their kids involved with computer programming and looking for an IoT-type device with some fun sensors and various themed exercises to get them experimenting, the HiFive Inventor Coding Kit is worth looking into further. More details on the programming platform can be found via Tynker.com and on the hardware at HiFiveInventor.com. The HiFive Inventor Kit is available from Amazon.com and other Internet retailers for $75 USD.

Security Leftovers

  • Security updates for Monday

    Security updates have been issued by Arch Linux (atftp, coturn, gitlab, mdbook, mediawiki, nodejs, nodejs-lts-dubnium, nodejs-lts-erbium, nodejs-lts-fermium, nvidia-utils, opensmtpd, php, python-cairosvg, python-pillow, thunderbird, vivaldi, and wavpack), CentOS (firefox and thunderbird), Debian (chromium and snapd), Fedora (chromium, flatpak, glibc, kernel, kernel-headers, nodejs, php, and python-cairosvg), Mageia (bind, caribou, chromium-browser-stable, dom4j, edk2, opensc, p11-kit, policycoreutils, python-lxml, resteasy, sudo, synergy, and unzip), openSUSE (ceph, crmsh, dovecot23, hawk2, kernel, nodejs10, open-iscsi, openldap2, php7, python-jupyter_notebook, slurm_18_08, tcmu-runner, thunderbird, tomcat, viewvc, and vlc), Oracle (dotnet3.1 and thunderbird), Red Hat (postgresql:10, postgresql:12, postgresql:9.6, and xstream), SUSE (ImageMagick, openldap2, slurm, and tcmu-runner), and Ubuntu (icoutils).

  • About CVE-2020-27348

    Well this is a doozey. Made public a while back was a security vulnerability in many Snap Packages and the Snapcraft tool used to create them. Specifically, this is the vulnerability identified as CVE-2020-27348. It unfortunately affects many many snap packages… [...] The problem arises when the LD_LIBRARY_PATH includes an empty element in its list. When the Dynamic Linker sees an empty element it will look in the current working directory of the process. So if we construct our search paths with an accidental empty element the application inside our Snap Package could be caused to load a shared library from outside the Snap Package’s shipped files. This can lead to an arbitrary code execution. It has been common to put a definition of the LD_LIBRARY_PATH variable into a Snap Package’s snapcraft.yaml that references a predefined $LD_LIBRARY_PATH as if to extend it. Unfortunately, despite this being common, it was poorly understood that SnapD ensures that the $LD_LIBRARY_PATH is unset when starting a Snap Package’s applications. What that means is that where the author tried to extend the variable they have inadvertantly inserted the bad empty element. The empty element appears because $LD_LIBRARY_PATH is unset so the shell will expand it to an empty string.

  • Wait, What? Kids Found A Security Flaw in Linux Mint By Mashing Keys!

    Security flaws can be incredibly stupid and dangerous. Of course, I’m not judging anyone, we are humans after all. But this little incident is quite funny.

Audiocasts/Shows: Blender 2.91, Server Security, Linux in the Ham Shack and More