void linux mate qemu and Pipewire with Bluetooth Support install

all for operating system
Post Reply
User avatar
david
Site Admin
Posts: 366
Joined: Sat May 21, 2016 7:50 pm

void linux mate qemu and Pipewire with Bluetooth Support install

Post by david »

Image

First download and install void base install.

Join our telegram group if you wana chat or have specific questions:
https://t.me/+h2K5CX5jEZA0MWJk


https://voidlinux.org/download/

void-live-x86_64-20240314-base.iso

Code: Select all

xbps-install xorg dbus avahi slim xf86-video-vmware slim mate mate-extra mate-control-center mate-utils mate-terminal atril eom engrampa mate-system-monitor caja-extensions mate-calc pluma mate-backgrounds mate-panel mate-applets mate-desktop mate-icon-theme mate-power-manager mate-screensaver mate-session-manager mate-settings-daemon mate-themes mate-tweak nano net-tools pavucontrol pulseaudio python3-dbus
nano /root/.xinitrc
exec mate-session

nano /home/john/.xinitrc
exec mate-session

Code: Select all

ln -s /etc/sv/dbus /var/service/
ln -s /etc/sv/avahi /var/service/
ln -s /etc/sv/slim /var/service/
reboot

Enjoy fresh install void mate!


To Install network-manager we need to remove and add some services in "/var/service" directorty.

Code: Select all

xbps-install network-manager-applet
sv down dhcpcd
rm /var/service/dhcpcd
ln -s /etc/sv/NetworkManager /var/service/


User avatar
david
Site Admin
Posts: 366
Joined: Sat May 21, 2016 7:50 pm

Re: void linux mate install

Post by david »

How to install qemu-kvm and pass gpu!

First, install dbus, qemu, libvirtd, and virt-manager.

Code: Select all

xbps-install dbus qemu virt-manager bridge-utils

Code: Select all

xbps-install -S binutils mksh keyutils busybox dmraid ntfs-3g pcsc-tools tpm2-tools nvme-cli

Then link and enable the services.

Code: Select all

ln -s /etc/sv/dbus /var/service
ln -s /etc/sv/libvirtd /var/service
ln -s /etc/sv/virtlockd /var/service
ln -s /etc/sv/virtlogd /var/service
ln -s /etc/sv/polkitd /var/service
Edit the dracut config.

Code: Select all

nano /etc/dracut.conf.d/vfio.conf

hostonly="yes" 
hostonly_cmdline="amd_iommu=on iommu=pt" 
force_drivers+=" vfio_pci vfio vfio_iommu_type1 "
 
"
To activate the pass we need to add this to vfio .
Added the IDs to modprobe:

Code: Select all

nano /etc/modprobe.d/vfio.conf

options vfio-pci ids=1002:683d,1002:aab0
update the initrd:

Code: Select all

sudo dracut -f --kver $(uname -r)
To check kernel modules:

Code: Select all

lspci -nnk
GRUB_CMDLINE_LINUX="rd.driver.blacklist=nouveau plymouth.ignore-udev"

or we can blacklist some module from here:

Code: Select all

nano /etc/modprobe.d/blacklist.conf
blacklist nouveau
In the line GRUB_CMDLINE_LINUX= add these arguments, separated by spaces: intel_iommu=on OR amd_iommu=on, iommu=pt
and vfio-pci.ids= followed by the device IDs you want to use on the VM separated by commas. For example,
if I wanted to pass through my GTX 1070, I’d add vfio-pci.ids=10de:1b81,10de:10f0. Save and exit your editor.


User avatar
david
Site Admin
Posts: 366
Joined: Sat May 21, 2016 7:50 pm

Re: void linux mate qemu install

Post by david »

Install cool open-GL efects with compiz!

Code: Select all

xbps-query -Rs compiz
[*] ccsm-0.8.18_6 Compiz Configuration Seetings Manager for Compiz Reloaded
[*] compiz-bcop-0.8.18_2 Compiz Reloaded bcop module
[*] compiz-core-0.8.18_3 Compiz Reloaded core module
[-] compiz-core-devel-0.8.18_3 Compiz Reloaded core module - development files
[*] compiz-plugins-experimental-0.8.18_1 Experimental plugins for Compiz Reloaded
[-] compiz-plugins-experimental-devel-0.8.18_1 Experimental plugins for Compiz Reloaded - development files
[*] compiz-plugins-extra-0.8.18_1 Extra plugins for Compiz Reloaded
[-] compiz-plugins-extra-devel-0.8.18_1 Extra plugins for Compiz Reloaded - development files
[*] compiz-plugins-main-0.8.18_1 Basic plugins for Compiz Reloaded
[-] compiz-plugins-main-devel-0.8.18_1 Basic plugins for Compiz Reloaded - development files
[*] compiz-reloaded-0.8.18_1 Compiz window manager meta-package
[*] compizconfig-python-0.8.18_7 Compiz configuration system library for Compiz Reloaded
[*] emerald-0.8.18_1 Compiz Reloaded native window decorator
[-] emerald-devel-0.8.18_1 Compiz Reloaded native window decorator - development files
[*] emerald-themes-0.8.18_2 Compiz Reloaded Emerald native window decorator themes
[*] libcompizconfig-0.8.18_14 Compiz Reloaded configuration system library
[-] libcompizconfig-devel-0.8.18_14 Compiz Reloaded configuration system libra

ccsm to configure the mate desctop efects

Code: Select all

compiz --replace &
emerald --replace &
if you want to auto start add it to

nano ~/.xinitrc

emerald-theme-manager to select window decoration theme !


User avatar
david
Site Admin
Posts: 366
Joined: Sat May 21, 2016 7:50 pm

Re: void linux mate and qemu install

Post by david »

Image

1. A2DP: (Advanced Audio Distribution Profile): A2DP enables high-quality stereo audio streaming for music playback from a source device to a sink (e.g., headphones) but typically doesn’t support audio input. It uses codecs like the default SBC for basic quality or advanced options like LDAC and AptX for superior sound. A2DP duplex channels, such as FastStream, AptX Low Latency, or PipeWire’s “Opus 05 Pro,” allow simultaneous microphone input without switching to lower-quality HSP/HFP, with PipeWire (unlike PulseAudio) automatically supporting this feature. AVRCP complements A2DP by providing remote control for media playback functions like play, pause, and skip.

2. HFP/HSP: (Hands-Free Profile/Headset Profile): HFP and HSP are Bluetooth profiles designed for voice communication, delivering mono audio for both input (microphone) and output (speaker). They enable hands-free calling and basic audio functions in devices like headsets and car systems. While reliable for voice, they offer lower sound quality compared to A2DP and are less power-efficient than newer standards like LE Audio.To get better voice over HFP new codec mSBC can be used.

mSBC: (modified Sub-Band Codec) is a specific codec used in the Hands-Free Profile (HFP) to improve voice quality in Bluetooth audio communication. It operates at a 16 kHz sampling rate, delivering clearer mono audio compared to the older CVSD codec, making it ideal for hands-free calls in headsets or car systems. mSBC is typically used in HFP 1.6 or later, requiring both devices to support it for optimal performance. While it enhances call clarity, it still consumes more power than modern standards like LE Audio and is limited to voice applications.


3. LE Audio: Introduced in 2020 as part of Bluetooth 5.2, LE Audio is a power-efficient standard that uses the LC3 codec to deliver high-quality audio at lower bitrates. It supports advanced features like Multi-Stream Audio for true wireless earbuds, Auracast for broadcasting to multiple devices, and enhanced hearing aid compatibility. LE Audio is more versatile and energy-efficient than traditional Bluetooth audio profiles like A2DP or HFP.

LE Audio, built on Bluetooth Low Energy, uses the LC3 codec to provide high-quality audio with lower power usage, making it ideal for devices like earbuds and hearing aids. It introduces features like Multi-Stream Audio for synchronized stereo, Auracast for sharing audio with multiple listeners, and improved accessibility. It’s a significant upgrade over older profiles like HFP, offering better efficiency and versatility for future audio applications.

Image

Void linux bluetooth audio install.

On Void Linux, the package pipewire-pulse is not available as a separate package like on some other distros. Instead, Pipewire handles the PulseAudio replacement automatically through its main components. You need to configure Pipewire itself to manage PulseAudio.

Step Install PulseAudio with Bluetooth Support:

Code: Select all

xbps-install -S pulseaudio pulseaudio-utils pavucontrol bluez blueman sof-firmware
sudo ln -s /etc/sv/bluetoothd /var/service/
For apple users:

Code: Select all

xbps-install -S broadcom-bt-firmware
Install Pipewire on Void Linux


Code: Select all

xbps-install -S pipewire pipewire-devel alsa-pipewire wireplumber libspa-bluetooth

mkdir -p /etc/alsa/conf.d
ln -s /usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/ 
ln -s /usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/

mkdir -p ~/.config/pipewire
cp /usr/share/pipewire/pipewire.conf ~/.config/pipewire/
cp /usr/share/pipewire/pipewire-pulse.conf ~/.config/pipewire/

Edit: /etc/pulse/client.conf

Find the line "autospawn" and make it "autospawn = no"

Make pipewire to autostart:

Code: Select all


mkdir -p ~/.config/pipewire/autostart

nano ~/.config/autostart/pipewire.desktop

[Desktop Entry]
Type=Application
Name=PipeWire
Exec=/usr/bin/pipewire
X-MATE-Autostart-enabled=true

Code: Select all


nano ~/.config/autostart/pipewire-pulse.desktop

[Desktop Entry]
Type=Application
Name=PipeWire PulseAudio Replacement
Exec=/usr/bin/pipewire-pulse
X-MATE-Autostart-enabled=true

Code: Select all


nano ~/.config/autostart/wireplumber.desktop

[Desktop Entry]
Type=Application
Name=PipeWire-wireplumber
Exec=/usr/bin/wireplumber
X-MATE-Autostart-enabled=true
If no sound after first boot open terminal and manualy start "/usr/bin/wireplumber" this shall fix it then add it to gnome-autostart from mate control panel.


and then test it:

Code: Select all

pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 42
Tile Size: 65472
User Name: void
Host Name: void
Server Name: PulseAudio (on PipeWire 1.2.3)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: @DEFAULT_SINK@
Default Source: @DEFAULT_SOURCE@
Cookie: 7676:4d26





youtu.be/wz1TqMbgQFk

youtu.be/FRb-l2cBxz4


Update How to enable LE audio !

Edit bluerooth main.conf:

Code: Select all

sudo nano /etc/bluetooth/main.conf
Find the [General] section and change or add the following lines:

Code: Select all

[General]
Enable=Source,Sink,Media,Socket
Experimental=true
KernelExperimental=true

mkdir -p ~/.config/wireplumber/bluetooth.lua.d
nano ~/.config/wireplumber/bluetooth.lua.d/50-bluez-config.lua

add

Code: Select all


bluez_monitor.properties = {
  ["bluez5.enable-le-audio"] = true,
  ["bluez5.preferred-codec"] = "lc3",
}
bluez_monitor.rules = {
  {
    matches = {
      { "device.name", "matches", "bluez_card.*" },
    },
    apply_properties = {
      ["audio.codecs"] = "lc3",
    },
  },
}
Reboot and try to reconnect with blueman ! now you shall be able to see LC3 !


User avatar
david
Site Admin
Posts: 366
Joined: Sat May 21, 2016 7:50 pm

Re: void linux mate qemu and Pipewire with Bluetooth Support install

Post by david »

How to install Zen linux kernel for void:

https://github.com/jmboris/voidlinux-ke ... install.md


User avatar
david
Site Admin
Posts: 366
Joined: Sat May 21, 2016 7:50 pm

Re: void linux mate qemu and Pipewire with Bluetooth Support install

Post by david »

One amazing Theme for mate desctop !

BigSur-Dark (WhiteSur Gtk Theme)

https://www.mate-look.org/p/1403328

Image


User avatar
david
Site Admin
Posts: 366
Joined: Sat May 21, 2016 7:50 pm

Re: void linux mate qemu and Pipewire with Bluetooth Support install

Post by david »



Post Reply