How to Enable High Definition (HD) Audio in Fedora 35?

Before I upgraded to the Kernel 5.16.14, I was able to play HD Audio in my Fedora 35 Workstation by making a few tweaks in the ‘pipewire.conf’ file located in “/usr/share/pipewire”. I just removed the ‘#’ marks and uncommented the PCM settings section in the said file. After a reboot my DAC would display 32 bit 384000 hz sample rate. Unfortunately, after the latest update dropped, the same method does not seem to be working. On the contrary, If I try to enable HD Audio, the sound system does not even detect any audio devices and stops working altogether.

Can anyone help?

This is the wrong place to edit. Please read the top of the file:

# Daemon config file for PipeWire version "0.3.48" #
# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.
# It is also possible to place a file with an updated section in
# /etc/pipewire/pipewire.conf.d/ for system-wide changes or in
# ~/.config/pipewire/pipewire.conf.d/ for local changes.

The update did overwrite your changes in /usr/share/pipewire

1 Like

It does not work. Have tried that. I uncommented this in the pipewire.conf file.

{ factory = adapter
    args = {           = api.alsa.pcm.source              = "alsa-source"
        node.description       = "PCM Source"
        media.class            = "Audio/Source"
        api.alsa.path          = "hw:0"
        api.alsa.period-size   = 1024
        api.alsa.headroom      = 0
        api.alsa.disable-mmap  = false
        api.alsa.disable-batch = false
        audio.format           = "S32LE"
        audio.rate             = 384000
        audio.channels         = 2
        audio.position         = "FL,FR"

It worked before but not anymore. If only there was a guide or manual on how to do it. Setting up High Resolution Audio in PulseAudio is kind of easy when compared to pipewire.

Hi, you could try also adding default.clock.allowed-rates = .... From pipewire.conf on top line find part = { then inside it find part #default.clock.allowed-rates = [ 48000 ]. Change it to: = {
    default.clock.allowed-rates = [ 48000 384000 ]

After that restart pipewire and wireplumber.

1 Like

hey, this worked for me. Copied the ‘pipewire.conf’ file to ‘/etc/pipewire/’ , then added, ‘default.clock.rate = 384000’ into the ‘’ like this, = {

default.clock.rate = 384000


Logged out and logged in. Now, it is working again. Thanks a bunch for the idea @oprizal :grin:

I use strawberry, direct output to soundcard via ALSA, direct play in usb DAC/DAP player with the same bitrate and bitdepth on the file audio, this player doesn’t do resampling. output from strawberry directly transfer to ALSA kernel driver.


1 Like