Linux in The News 1-30-23

Last Updated on January 30, 2023 by KC7NYR

PipeWire 0.3.65 Adds Bluetooth MIDI Support, ALSA Plugin Improvements

This release also improves support for Bluetooth LE audio, GStreamer support, and brings many other goodies.
PipeWire Bluetooth LE Audio

The PipeWire project released today PipeWire 0.3.65 as a new stable update for this open-source server for handling audio and video streams, as well as related hardware devices on GNU/Linux systems.

PipeWire 0.3.65 adds support for Bluetooth MIDI devices, which also requires a WirePlumber addition, as well as support for compress offload was added using tinycompress, which allows the decoding of compressed formats in hardware using ALSA on certain devices.

Another exciting feature in the PipeWire 0.3.65 release is a new native module-combine-stream that you can use to create a 5.1 device from a 3-channel stereo soundcard or to simultaneously direct the output to multiple sinks.

The ALSA plugin received some improvements too, such as a new rule to tweak the buffer settings in Davinci Resolve for running with more acceptable latency, better property handling, support for cubic volumes, and a new alsa.volume-method for configuring both cubic or linear volumes.

Among other improvements, this release promises a better match of the jack 1/2 behavior by setting the jack.merge-monitor option to true by default, advertises DMABUF support for GStreamer, lists devices with unsupported formats in the PulseAudio API (with invalid formats), and uses the native module-combine-stream for module-combine-sink.

Moreover, PipeWire 0.3.65 brings back deprecated symbols, improves compatibility between older servers and newer clients, adds the ability to demux streams for compress offload via FFmpeg in pw-cat, adds custom prefixes to adapter ports, and improves handling of multicast loopback in the module-rtp-sink module.

Some fixes for Bluetooth LE audio are present as well in the new PipeWire release, which also improves compatibility with some Bluetooth devices that send stray \n, such as the Sennheiser HD 350BT headphones.

PipeWire 0.3.65 is available for download right now from the project’s GitLab page, where you’ll also find the complete release notes if you want to learn more about the changes implemented in this release.


Wine 8.0 Compatibility Layer Is Out Now for Running Windows Apps on Linux

Highlights include finalized PE format conversion, a new “Windows-like” WoW64 mode, and better Vulkan support.
Wine 8.0

After more than a year in development, the Wine 8.0 open-source and cross-platform compatibility layer for running Windows applications and video games on GNU/Linux, FreeBSD, Solaris, or macOS systems is now available for download.

The biggest change in the Wine 8.0 is the completion of the conversion to PE format, which took more than four years. This allows the developers to build all of Wine’s modules in the PE format, which offers many great features like copy protection, support for 32-bit apps on 64-bit systems, Windows debuggers, x86 apps on ARM systems, and more.

This major change in Wine 8.0 also comes with a special syscall dispatcher that’s used for PE to Unix transitions to minimize the performance impact of the new architecture, especially for the OpenGL and Vulkan libraries. So, as you can imagine, this is a huge milestone for Linux gaming.

The new Wine release also implements WoW64 thunks for almost all Unix libraries to enable a 32-bit PE module to call a 64-bit Unix library, adds many optimizations to the streaming map acceleration that results in a major performance boost, and introduces a new experimental “Windows-like” WoW64 mode for starting 32-bit app when the 32-bit Wine loader isn’t found.

“This mode can be enabled by building with the ‘–enable-archs’ configure option. This is still under development and not yet recommended for general use. Since in case of configuration errors it is possible for it to be triggered inadvertently, applications started in this mode print the warning “starting in experimental wow64 mode”,” reads the release notes.

On top of that, Wine 8.0 implements adapter video memory budget change notifications, adds support for the Vulkan renderer to set up multiple viewports and scissor rectangles, as well as to limit the maximum Direct3D feature level based on available Vulkan features, and adds support for more graphics cards.

New HLSL (high-level shader language) compiler, disassembler, and preprocessor have been implemented in the vkd3d-shader library, a new D3DX 10 Thread Pump is present as well, the D3DX 9 helper library received cubemap projection functionality, and Direct3D 10 effects now support more expressions.

Wine 8.0 also implements MPEG-1 audio decoder filter for layers 1 and 2, as well as a separate filter for layer 3, on top of the GStreamer multimedia framework, adds an ASF reader filter, adds a DirectShow filter in the Enhanced Video Renderer, and improves controller hotplug support and driving wheel device detection.

Sony DualShock and DualSense controllers are supported as well in this release, which comes with a revamped Joystick Control Panel. Moreover, Wine 8.0 enables the Light theme by default for a more modern look.

The Vulkan driver has been updated to support the latest Vulkan specifications up to version 1.3.237. Also, Direct2D now supports effects, as well as command lists recording and playback.

Wine 8.0 is available for download right now from the official website if you fancy compiling it yourself from sources, or wait for the new release to land in the stable software repositories of your favorite GNU/Linux distribution.