3

I am a Linux user and have installed a new Sapphire PULSE Radeon RX 580 8GB in my machine and am experiencing audio distortion in the HDMI output from the card. The Linux kernel AMDGPU video driver seems to work as expected for video, but a strange audio pitch-shifting problem (detailed below) persists across various Linux distributions (Fedora, Debian, Ubuntu, Arch Linux) installed freshly on two completely independent systems.

Another user has noted in the comments that (s)he can confirm the same issue on the following graphics cards:

  • XFX Radeon RX 590 Fatboy Core Edition 8GB
  • XFX Radeon RX 570 RS XXX Edition

Observations

When outputting sound through the HDMI port, all audio is pitch-shifted up, sounding like an Alvin and the Chipmunks cartoon. Depending on the application, either the playback speed is increased (to approx. 2x) to match the sped-up audio, or the playback speed is normal (1x) and the audio becomes choppy (quickly stutters on-and-off) to match it.

I have tested audio coming from many different applications and, other than fast playback to match audio vs. choppy audio to match playback described above, the sped-up audio issue is persistent across all of them. Here are a few examples:

  • System sounds: Plays approx. 2x speed
  • Mozilla Firefox (websites including YouTube, Facebook, and Yahoo News): Video plays approx. 2x speed to match audio
  • GNOME Videos (audio and video files): Plays approx. 2x speed; if there is video it speeds up to match audio
  • VLC Media Player (audio and video files): Plays at normal (1x) speed and audio is choppy
  • Battlefield 4 (running under Wine, installed via Lutris): Game play is at normal (1x) speed and audio is played at approx. 2x speed
  • GNOME Settings speaker test utility (under Settings >> Sound >> Output): Plays approx. 2x speed

Troubleshooting Steps I Have Tried

  • Install the graphics card on a completely different system and perform a fresh installation of various Linux distributions. Outcome: Same audio issue on both systems and all distros.

  • Disconnect the HDMI cable and connect a monitor via DisplayPort, then test the sound output through USB headphones. Outcome: No pitch-shifting issue, but audio exhibits crackling/fuzziness/distortion that varies in severity from intermittent to severe (unrecognizable audio).

  • Disable timer-based audio scheduling by editing /etc/pulse/default.pa as described here. Outcome: No noticeable effect (I then restored the file to its original state).

  • Remove the alsa-plugins-pulseaudio package as described here to see if the problem is with PulseAudio. Outcome: No noticeable effect (I then reinstalled the package).

  • Following the suggestion given by @dirkt in the comments, I played a known WAV file at various bitrates using aplay -t raw -r [bitrate] -f [sample format] [file name] and was able to get it to sound somewhat correct by forcing playback at half the actual bitrate of the file (e.g. for a 22050 Hz PCM, I specified -r 11025). I am not sure if this is a very useful result because essentially the file is being played at half speed and only sounds normal due to the 2x increase in speed from the pitch-shifting issue.

I have also done a lot of poking around the system (at my intermediate level of knowledge), but nothing stood out to me. I referred extensively to man pulse-cli-syntax to make use of pacmd but was not able to find a solution. In desperation, I called a friend who is an expert Linux user and regularly interfaces with hardware in Linux as part of his job. He generously spent 10 hours investigating this and was baffled. I don't think I could list all the things he tried, but he was mostly using Arch Linux to set up the sound devices from scratch. Most of his experiments involved the use of only ALSA (no PulseAudio) to minimize the number of "moving parts," though he did try a number of things with PulseAudio as well.

System Information

ALSA device listing (aplay -l) (Note: In this listing, card 0 is a USB headset I had connected for troubleshooting):

**** List of PLAYBACK Hardware Devices ****
card 0: Device [USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Note in the aplay -l output above that the device information is rather generic. In alsamixer I simply see Card: PulseAudio and Chip: PulseAudio, which I assume means that PulseAudio is handling all of the hardware specifics. Also in the above output, I expected to see four devices because this graphics card has two HDMI ports and two DisplayPort ports, but there are actually six; I do not know what the extra two HDMI devices are.

Partial output of alsa-info.sh --no-upload (part of the Alsactl output section has been omitted to satisfy the StackExchange character limit):

Please advise me if there is any sensitive information below so I can take it down.

!!################################
!!ALSA Information Script v 0.4.64
!!################################

!!Script ran on: Thu Jun 11 03:18:17 UTC 2020


!!Linux Distribution
!!------------------

Fedora release 32 (Thirty Two) NAME=Fedora ID=fedora PRETTY_NAME="Fedora 32 (Workstation Edition)" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:32" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f32/system-administrators-guide/" SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=32 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=32 PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" Fedora release 32 (Thirty Two) Fedora release 32 (Thirty Two)


!!DMI Information
!!---------------

Manufacturer:      Dell Inc.
Product Name:      OptiPlex 990
Product Version:   01
Firmware Version:  A18
Board Vendor:      Dell Inc.
Board Name:        0VNP2H


!!ACPI Device Status Information
!!---------------

/sys/bus/acpi/devices/INT3F0D:00/status      15
/sys/bus/acpi/devices/PNP0103:00/status      15
/sys/bus/acpi/devices/PNP0501:00/status      15
/sys/bus/acpi/devices/PNP0C0C:00/status      11
/sys/bus/acpi/devices/PNP0C0F:00/status      9
/sys/bus/acpi/devices/PNP0C0F:01/status      9
/sys/bus/acpi/devices/PNP0C0F:02/status      9
/sys/bus/acpi/devices/PNP0C0F:03/status      9
/sys/bus/acpi/devices/PNP0C0F:04/status      9
/sys/bus/acpi/devices/PNP0C0F:05/status      9
/sys/bus/acpi/devices/PNP0C0F:06/status      9
/sys/bus/acpi/devices/PNP0C0F:07/status      9


!!Kernel Information
!!------------------

Kernel release:    5.6.16-300.fc32.x86_64
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         x86_64
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     k5.6.16-300.fc32.x86_64
Library version:    
Utilities version:  1.2.2


!!Loaded ALSA modules
!!-------------------

snd_hda_intel


!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes

Jack:
      Installed - Yes (/usr/bin/jackd)
      Running - No


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                      HDA ATI HDMI at 0xd0b60000 irq 32


!!PCI Soundcards installed in the system
!!--------------------------------------

01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] [1002:aaf0]
    Subsystem: Sapphire Technology Limited Device [1da2:aaf0]


!!Loaded sound module options
!!---------------------------

!!Module: snd_hda_intel
    align_buffer_size : -1
    bdl_pos_adj : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
    beep_mode : N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
    dmic_detect : Y
    enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
    enable_msi : -1
    id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
    index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
    jackpoll_ms : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
    patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
    pm_blacklist : Y
    position_fix : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
    power_save : 1
    power_save_controller : Y
    probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
    probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    single_cmd : -1
    snoop : -1


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: ATI R6xx HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x1002aa01
Subsystem Id: 0x00aa0100
Revision Id: 0x100700
No Modem Function Group found
Default PCM:
    rates [0x70]: 32000 44100 48000
    bits [0x2]: 16
    formats [0x5]: PCM AC3
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x02
Node 0x04 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x05 [Pin Complex] wcaps 0x400381: Stereo Digital
  Control: name="IEC958 Playback Con Mask", index=1, device=0
  Control: name="IEC958 Playback Pro Mask", index=1, device=0
  Control: name="IEC958 Playback Default", index=1, device=0
  Control: name="IEC958 Playback Switch", index=1, device=0
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x04
Node 0x06 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled GenLevel
  Digital category: 0x2
  IEC Coding Type: 0x0
Node 0x07 [Pin Complex] wcaps 0x400381: Stereo Digital
  Control: name="IEC958 Playback Con Mask", index=2, device=0
  Control: name="IEC958 Playback Pro Mask", index=2, device=0
  Control: name="IEC958 Playback Default", index=2, device=0
  Control: name="IEC958 Playback Switch", index=2, device=0
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x06
Node 0x08 [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x09 [Pin Complex] wcaps 0x400381: Stereo Digital
  Control: name="IEC958 Playback Con Mask", index=3, device=0
  Control: name="IEC958 Playback Pro Mask", index=3, device=0
  Control: name="IEC958 Playback Default", index=3, device=0
  Control: name="IEC958 Playback Switch", index=3, device=0
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x08
Node 0x0a [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x0b [Pin Complex] wcaps 0x400381: Stereo Digital
  Control: name="IEC958 Playback Con Mask", index=4, device=0
  Control: name="IEC958 Playback Pro Mask", index=4, device=0
  Control: name="IEC958 Playback Default", index=4, device=0
  Control: name="IEC958 Playback Switch", index=4, device=0
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0a
Node 0x0c [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x0d [Pin Complex] wcaps 0x400381: Stereo Digital
  Control: name="IEC958 Playback Con Mask", index=5, device=0
  Control: name="IEC958 Playback Pro Mask", index=5, device=0
  Control: name="IEC958 Playback Default", index=5, device=0
  Control: name="IEC958 Playback Switch", index=5, device=0
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0c
Node 0x0e [Audio Output] wcaps 0x221: Stereo Digital Stripe
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
Node 0x0f [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000094: OUT Detect HDMI
  Pin Default 0x585600f0: [N/A] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0e
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116,  9 Jun 10 21:54 /dev/snd/controlC0
crw-rw----+ 1 root audio 116,  8 Jun 10 21:54 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116,  6 Jun 10 21:54 /dev/snd/pcmC0D10p
crw-rw----+ 1 root audio 116,  7 Jun 10 21:54 /dev/snd/pcmC0D11p
crw-rw----+ 1 root audio 116,  2 Jun 10 21:54 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  3 Jun 10 21:54 /dev/snd/pcmC0D7p
crw-rw----+ 1 root audio 116,  4 Jun 10 23:17 /dev/snd/pcmC0D8p
crw-rw----+ 1 root audio 116,  5 Jun 10 21:54 /dev/snd/pcmC0D9p
crw-rw----+ 1 root audio 116,  1 Jun 10 21:54 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Jun 10 21:54 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x. 2 root root  60 Jun 10 21:54 .
drwxr-xr-x. 3 root root 260 Jun 10 21:54 ..
lrwxrwxrwx. 1 root root  12 Jun 10 21:54 pci-0000:01:00.1 -> ../controlC0


!!ALSA configuration files
!!------------------------

!!System wide config file (/etc/asound.conf)

#
# Place your global alsa-lib configuration here...
#


!!Aplay/Arecord output
!!--------------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****

!!Amixer output
!!-------------

!!-------Mixer controls for card HDMI

Card hw:0 'HDMI'/'HDA ATI HDMI at 0xd0b60000 irq 32'
  Mixer name    : 'ATI R6xx HDMI'
  Components    : 'HDA:1002aa01,00aa0100,00100700'
  Controls      : 42
  Simple ctrls  : 6
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',3
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',4
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',5
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]


!!Alsactl output
!!--------------

--startcollapse--
state.HDMI {
    control.1 {
        iface CARD
        name 'HDMI/DP,pcm=3 Jack'
        value false
        comment {
            access read
            type BOOLEAN
            count 1
        }
    }
    control.2 {
        iface MIXER
        name 'IEC958 Playback Con Mask'
        value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.3 {
        iface MIXER
        name 'IEC958 Playback Pro Mask'
        value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.4 {
        iface MIXER
        name 'IEC958 Playback Default'
        value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access 'read write'
            type IEC958
            count 1
        }
    }
    control.5 {
        iface MIXER
        name 'IEC958 Playback Switch'
        value true
        comment {
            access 'read write'
            type BOOLEAN
            count 1
        }
    }
    control.6 {
        iface PCM
        device 3
        name ELD
        value ''
        comment {
            access 'read volatile'
            type BYTES
            count 0
        }
    }
    control.7 {
        iface CARD
        name 'HDMI/DP,pcm=7 Jack'
        value false
        comment {
            access read
            type BOOLEAN
            count 1
        }
    }
    control.8 {
        iface MIXER
        name 'IEC958 Playback Con Mask'
        index 1
        value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.9 {
        iface MIXER
        name 'IEC958 Playback Pro Mask'
        index 1
        value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.10 {
        iface MIXER
        name 'IEC958 Playback Default'
        index 1
        value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access 'read write'
            type IEC958
            count 1
        }
    }
    control.11 {
        iface MIXER
        name 'IEC958 Playback Switch'
        index 1
        value true
        comment {
            access 'read write'
            type BOOLEAN
            count 1
        }
    }
    control.12 {
        iface PCM
        device 7
        name ELD
        value ''
        comment {
            access 'read volatile'
            type BYTES
            count 0
        }
    }
    control.13 {
        iface CARD
        name 'HDMI/DP,pcm=8 Jack'
        value true
        comment {
            access read
            type BOOLEAN
            count 1
        }
    }
    control.14 {
        iface MIXER
        name 'IEC958 Playback Con Mask'
        index 2
        value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.15 {
        iface MIXER
        name 'IEC958 Playback Pro Mask'
        index 2
        value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.16 {
        iface MIXER
        name 'IEC958 Playback Default'
        index 2
        value '0482000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access 'read write'
            type IEC958
            count 1
        }
    }
    control.17 {
        iface MIXER
        name 'IEC958 Playback Switch'
        index 2
        value true
        comment {
            access 'read write'
            type BOOLEAN
            count 1
        }
    }
    control.18 {
        iface PCM
        device 8
        name ELD
        value '10000c006972005f000000000000000011ee450044454e4f4e2d4156520f7f071507503d1ec05706015f7e03677e015f7e010000'
        comment {
            access 'read volatile'
            type BYTES
            count 52
        }
    }
    control.19 {
        iface CARD
        name 'HDMI/DP,pcm=9 Jack'
        value false
        comment {
            access read
            type BOOLEAN
            count 1
        }
    }
    control.20 {
        iface MIXER
        name 'IEC958 Playback Con Mask'
        index 3
        value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.21 {
        iface MIXER
        name 'IEC958 Playback Pro Mask'
        index 3
        value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.22 {
        iface MIXER
        name 'IEC958 Playback Default'
        index 3
        value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access 'read write'
            type IEC958
            count 1
        }
    }

    ***REMAINDER OF "Alsactl output" SECTION TRUNCATED DUE TO StackExchange CHARACTER LIMIT***

--endcollapse--


!!All Loaded Modules
!!------------------

amd_iommu_v2
amdgpu
br_netfilter
bridge
coretemp
crc32_pclmul
crc32c_intel
crct10dif_pclmul
dcdbas
drm
drm_kms_helper
e1000e
fat
fuse
ghash_clmulni_intel
gpu_sched
i2c_algo_bit
i2c_i801
iTCO_vendor_support
iTCO_wdt
intel_cstate
intel_powerclamp
intel_rapl_common
intel_rapl_msr
intel_rapl_perf
intel_uncore
ip6_tables
ip6table_filter
ip6table_mangle
ip6table_nat
ip6table_raw
ip6table_security
ip_set
ip_tables
ipt_REJECT
iptable_filter
iptable_mangle
iptable_nat
iptable_raw
iptable_security
irqbypass
kvm
kvm_intel
libcrc32c
llc
lpc_ich
mei
mei_hdcp
mei_me
mei_wdt
nf_conntrack
nf_conntrack_broadcast
nf_conntrack_netbios_ns
nf_conntrack_tftp
nf_defrag_ipv4
nf_defrag_ipv6
nf_nat
nf_nat_tftp
nf_reject_ipv4
nf_reject_ipv6
nf_tables
nf_tables_set
nfnetlink
nft_chain_nat
nft_ct
nft_fib
nft_fib_inet
nft_fib_ipv4
nft_fib_ipv6
nft_objref
nft_reject
nft_reject_inet
pcspkr
rfkill
serio_raw
snd
snd_hda_codec
snd_hda_codec_hdmi
snd_hda_core
snd_hda_intel
snd_hwdep
snd_intel_dspcfg
snd_pcm
snd_seq
snd_seq_device
snd_timer
soundcore
stp
sunrpc
ttm
tun
uinput
vfat
video
x86_pkg_temp_thermal
xt_CHECKSUM
xt_MASQUERADE
xt_conntrack


!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x03 0x185600f0
0x05 0x185600f0
0x07 0x185600f0
0x09 0x185600f0
0x0b 0x185600f0
0x0d 0x185600f0
0x0f 0x585600f0

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D0/hints:


!!ALSA/HDA dmesg
!!--------------

[    0.322550] ACPI: Added _OSI(Linux-Dell-Video)
[    0.322553] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.322554] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
--
[    5.091375] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[    5.091462] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[    5.096920] snd_hda_intel 0000:01:00.1: Force to non-snoop mode
[    5.110782] snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[    5.111353] RAPL PMU: API unit is 2^-32 Joules, 3 fixed counters, 163840 ms ovfl timer
--
[    5.111355] RAPL PMU: hw unit of domain pp1-gpu 2^-16 Joules
[    5.111797] input: HDA ATI HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input11
[    5.111861] input: HDA ATI HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input12
[    5.111921] input: HDA ATI HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input13
[    5.111979] input: HDA ATI HDMI HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input14
[    5.112038] input: HDA ATI HDMI HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input15
[    5.112095] input: HDA ATI HDMI HDMI/DP,pcm=11 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input16
[    5.176237] kauditd_printk_skb: 70 callbacks suppressed

9
  • 3
    Pitch shifting usually means there's a mismatch between the actual bit rate some hardware uses, and the bit rate that some software is driving it with. There's a large number of reasons why this could happen. Try to narrow down the problem by stopping/disabling Pulseaudio (pulseaudio --kill or pasuspend ...), then use aplay -D ... to play a known WAV file through HDMI. If you still see the effect, see if you can fix it by changing bitrates (man aplay). If you don't see the effect, have a closer look at the Pulseaudio setup with pacmd and pactl to see if you can spot something.
    – dirkt
    Jun 11, 2020 at 7:06
  • Instead of offering a bounty, I'd still suggest to actually debug the problem ... nobody can remote diagnose what's wrong from the information you provided. Debugging works by goal-oriented experimenting to pin down the problem, moving parts where the bug not is out of the way. Not by guessing.
    – dirkt
    Aug 16, 2020 at 9:23
  • 1
    I can confirm the issue occurs here too (NixOS, kernel 5.4.60) on all applications I cared to try, with an RX590 (XFX "Fatboy Core" edition, 8GB, ...)
    – nicoo
    Sep 9, 2020 at 17:55
  • 1
    Reproduced on the exact same setup as last comment, with an RX570 (XFX "RS XXX Edition"). Will investigate further. PS: I forgot to mention previously, but it sounds approx. correct at 2x lower bitrate
    – nicoo
    Sep 9, 2020 at 19:02
  • 1
    Reproduced again on kernel 5.7.17. Otherwise same configuration.
    – nicoo
    Sep 9, 2020 at 19:47

1 Answer 1

1

sort of an answer, I changed the display refresh rate from 60Hz to 24Hz and this solved the problem.

1
  • This worked for me, but why? And I want a higher refresh rate because it is too low Mar 26, 2022 at 19:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .