Raspberry Pi OS now comes with PulseAudio and a graphical printer manager
Big Presents
The Raspberry Pi Foundation regularly adds new features to the official operating system, Raspberry Pi OS. The December 2020 update added the PulseAudio sound server and a print manager.
In practice, Raspberry Pi OS fulfills many of the functions supplied by other operating systems and the popular Linux distributions; however, a few deficiencies exist. In particular, the configuration of printers and sound devices has never been trivial – until now. In the latest update [1], Raspberry Pi OS was extended to include PulseAudio and a better print manager. Bluetooth speakers can now be integrated more easily, and sounds from multiple sources can be output simultaneously.
Linux is a historically evolved system that changes continuously. New versions fix bugs or add features but do not bring about fundamental change. However, every few years, more profound innovations occur, such as the replacement of the X.Org display manager by Wayland, and before that the switch from the SysVinit to systemd, and before that the integration of the PulseAudio sound server.
PulseAudio
The advanced Linux sound architecture (ALSA) provides drivers in the kernel to integrate sound cards and takes care of configuration. However, ALSA reaches its limits on modern systems; for example, only one application can output sound at any given time. For example, while a YouTube video plays in the browser, a messenger program cannot play a notification sound. Also, Bluetooth devices can only be connected in a roundabout way.
As an intermediate layer, many distributions now use PulseAudio [2], and the latest version of Raspberry Pi OS is one of them. Right-clicking on the volume slider icon in the panel brings up a dialog that lets you select the current output and input devices (Figure 1). For example, if you switch from AV Jack to HDMI, the Raspberry Pi will no longer output sounds through the jack plug, but through the connected TV, and switching between audio devices no longer interrupts playback.
The Device Profiles menu item can be used specifically to disable individual audio devices or, especially for USB or Bluetooth audio devices (see the "Coupling" box), configure a device and select a different profile. For a Bluetooth headset, for example, you can choose between headset profile (HSP) and advanced audio distribution profile (A2DP). HSP lets you use the microphone and the headphones at the same time, but with far inferior audio quality compared with A2DP, whereas A2DP completely disables the microphone. PulseAudio is configured in such a way that the system automatically selects HSP as soon as you select a Bluetooth headset as the input device. If you use the headset as an output device, PulseAudio switches to A2DP.
Coupling
The revamped Raspberry Pi OS now connects far more easily with Bluetooth audio devices. In principle, you just have to left-click on the Bluetooth icon in the panel and select Add Device to call the wizard for adding new devices. As soon as you put the device into pairing mode, it appears in the dialog. However, before you pair it by clicking Pair, you do need to wait until the system has identified the headset or speaker as an audio device. This is signaled by the change from the yellow question mark icon to the speaker icon (Figure 2). If you close the dialog too quickly, the system will connect to it, but the device will not show up in the PulseAudio Manager.
Printer
Until now, Raspberry Pi OS also lacked a user-friendly tool for setting up a printer. Most Linux distributions include the CUPS [3] printing service for this purpose, as well as configuration tools provided by the desktop environment. Alternatively, CUPS – and therefore a printer connected to the system – can be set up from the service's web front end. CUPS has always been in the Raspberry Pi OS package sources, but now the service forms a fixed part of the system together with a graphical front end.
To configure a printer, go to Settings | Print Settings. In this dialog, you can set up new printers, delete printers that are no longer in use, set a device as the default printer, or take a look at the printer maintenance queue. When adding a printer, CUPS tries to find the printer (Figure 3) and is usually very successful with network-capable printers. CUPS should also recognize most USB printers reliably. However, multifunction devices with integrated scanners often require drivers from the manufacturer – if the manufacturer supports Linux at all.
With an older laser printer from Samsung, mounting worked without any problems. A list of all printers and multifunction devices supported by CUPS can be found on Openprinting.org [4]. If a function or a certain setting is missing in the configuration interface, you can reach the CUPS service's web front end by calling http://localhost:631 in the browser. For administrative activities, the web front end requires you to enter access credentials. The username (usually pi) and password matches the data you use when logging in to the system.
Chromium
Chromium browser updates always mean a bit more work on Raspberry Pi OS than just pushing the latest build of the software into the package sources. The developers have to make sure, especially with hardware acceleration, that the web browser still harmonizes with the graphics hardware of the Raspberry Pi. Without proper hardware support, many modern web services would be restricted in how they work, especially video platforms or videoconferencing solutions. At the time of writing, the version of the preinstalled Chromium browser sits at 86.0.4240.197.
The computing power of a Raspberry Pi 4 is not yet sufficient to play YouTube videos in Full HD in the browser without dropping some frames. Only the C64-style keyboard computer, the Raspberry Pi 400, offers enough power. It plays most YouTube videos so efficiently at 1080p resolution (with its processor clocked at 1.8GHz – vs. 1.5GHz on the Raspberry Pi 4) that hardly any frames are lost. Videoconferencing solutions such as Jitsi and Google Meet also benefit from the latest optimizations. In this test, both services worked without problems, but sharing the desktop or individual application windows only worked under Jitsi (Figure 4).
Some maintenance has also been done to the Raspberry Pi configuration tool. On a device with a single status LED (e.g., the Pi Zero or the new Raspberry Pi 400), you can now set whether the LED flickers to indicate read/write access to the memory card or is permanently lit to indicate the operating status. If the Raspberry Pi is in a case with a fan connected to the GPIO, the system now supports simple fan control by entering the GPIO pin in the Performance tab, as well as the temperature above which the fan should switch on (Figure 5).
Buy this article as PDF
(incl. VAT)