아치 리눅스는 소리를 전혀 재생하지 않습니다

아치 리눅스는 소리를 전혀 재생하지 않습니다

내가 무엇을 하든 내 Arch Linux 설치는 소리 재생을 거부합니다. 실행해봤는데 aplay -l사운드카드가 인식되네요. 출력은 다음과 같습니다.

**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 0: ALC245 Analog [ALC245 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0

출력은 다음과 같습니다 lspci -k.

Usage: lspci [<switches>]

Basic display modes:
-mm             Produce machine-readable output (single -m for an obsolete format)
-t              Show bus tree

Display options:
-v              Be verbose (-vv or -vvv for higher verbosity)
-k              Show kernel drivers handling each device
-x              Show hex-dump of the standard part of the config space
-xxx            Show hex-dump of the whole config space (dangerous; root only)
-xxxx           Show hex-dump of the 4096-byte extended config space (root only)
-b              Bus-centric view (addresses and IRQ's as seen by the bus)
-D              Always show domain numbers
-P              Display bridge path in addition to bus and device number
-PP             Display bus path in addition to bus and device number

Resolving of device ID's to names:
-n              Show numeric ID's
-nn             Show both textual and numeric ID's (names & numbers)
-q              Query the PCI ID database for unknown ID's via DNS
-qq             As above, but re-query locally cached entries
-Q              Query the PCI ID database for all ID's via DNS

Selection of devices:
-s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]]   Show only devices in selected slots
-d [<vendor>]:[<device>][:<class>]              Show only devices with specified ID's

Other options:
-i <file>       Use specified ID database instead of /usr/share/hwdata/pci.ids
-p <file>       Look up kernel modules in a given file instead of default modules.pcimap
-M              Enable `bus mapping' mode (dangerous; root only)

PCI access options:
-A <method>     Use the specified PCI access method (see `-A help' for a list)
-O <par>=<val>  Set PCI access parameter (see `-O help' for a list)
-G              Enable PCI access debugging
-H <mode>       Use direct hardware access (<mode> = 1 or 2)
-F <file>       Read PCI configuration dump from a given file

이것이 출력이다sudo alsactl init

Found hardware: "HDA-Intel" "ATI R6xx HDMI" "HDA:1002aa01,00aa0100,00100700" "0x103c" "0x8a31"
Hardware is initialized using a generic method
Found hardware: "acp" "" "" "" ""
Hardware is initialized using a generic method

이것이 출력이다lspci -v | grep -A7 -i audio

04:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller
Subsystem: Hewlett-Packard Company Device 8a31
Flags: bus master, fast devsel, latency 0, IRQ 87, IOMMU group 14
Memory at d05c8000 (32-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel

--
04:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor (rev 01)
Subsystem: Hewlett-Packard Company Device 8a31
Flags: bus master, fast devsel, latency 0, IRQ 85, IOMMU group 18
Memory at d0580000 (32-bit, non-prefetchable) [size=256K]
Capabilities: <access denied>
Kernel driver in use: snd_rn_pci_acp3x
Kernel modules: snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x, snd_acp_pci, snd_sof_amd_renoir

04:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller
Subsystem: Hewlett-Packard Company Device 8a31
Flags: bus master, fast devsel, latency 0, IRQ 88, IOMMU group 19
Memory at d05c0000 (32-bit, non-prefetchable) [size=32K]
Capabilities: <access denied>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel

이상하게 사운드카드가 HDMI인 것 같은데 그게 문제일까요?

이것은 HP Envy x360이며 이 작은 문제를 제외하면 훌륭하게 작동합니다. 소리를 재생할 수 있기를 원하며 이 문제를 해결하는 데 도움을 주시면 정말 감사하겠습니다. 감사해요!

답변1

나는 다음을 발견했다우분투 포럼의 게시물OP가 동일한 문제를 설명하고 동일한 ATI R6XX HDMI장치를 가지고 있는 경우. 해결책은 다음을 radeon.audio=1수행하여 커널 플래그를 설정하는 것입니다.

  1. /etc/default/grub텍스트 편집기로 열기

  2. 항목을 찾았습니다GRUB_CMDLINE_LINUX_DEFAULT

  3. radeon.audio=1큰따옴표 부분 끝에 추가

  4. 파일을 저장하고 실행하세요.sudo update-grub

예를 들어:

원래 항목 변경 /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"

도착하다:

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet radeon.audio=1"

/boot/grub/grub.cfg이 스레드의 사용자 중 한 사람의 지시에 따라 편집 하지 마십시오 .

이것이 작동하지 않거나 radeon.audio=1이미 설정되어 있는 경우, alsamixer어떤 장치를 제 시간에 설치하여 나열했는지 다시 보고해 주십시오 F6. alsamixer를 누르면 F6시스템에서 인식되는 카드를 선택할 수 있습니다.

답변2

내 생각 엔 ALSA는 기본적으로 HDMI를 사용하여 사운드를 출력하는 것 같습니다. HDMI를 사용하여 노트북을 TV에 연결하여 테스트할 수 있습니다.

테스트로 aplay를 다른 사운드 장치를 통해 강제로 출력하도록 시도해 볼 수도 있습니다 aplay -Dhw:1,0 /usr/share/sounds/alsa/Noise.wav. 작동하는 경우 여기 지침을 사용하여 카드 1을 기본값으로 설정할 수 있습니다.https://www.alsa-project.org/main/index.php/Setting_the_default_device.

관련 정보