Debian Buster에 뿌리를 두지 않으면 소리가 나지 않습니다.

Debian Buster에 뿌리를 두지 않으면 소리가 나지 않습니다.

방금 Debian SID 컴퓨터에서 dist 업그레이드를 했는데 소리가 사라졌습니다.

루트에서는 오디오 파일을 재생할 수 있지만 일반 사용자로는 재생할 수 없습니다. 나는 "오디오" 그룹에 속해 있는지 확인했습니다. 실행하여 침묵이 발생했는지 확인했습니다.알사 믹서, 그러나 모든 라인이 작동 중입니다.

이것은 내 컴퓨터의 오디오 출력입니다.

$ lspci  | grep Audio
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
01:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1)

HDMI 출력(NVIDIA 컨트롤러)이 분리되어 있습니다. 내 오디오 헤더가 Intel 컨트롤러에 연결되어 있습니다. 달릴 때 이 운전자를 볼 수 있어요알사 믹서, 하지만 내 그래픽 카드의 HDMI 출력만 볼 수 있습니다.파부 컨트롤출력 장치.

여기에 이미지 설명을 입력하세요.

오디오 수신기를 나열하면 빈 장치만 표시됩니다.

$ pacmd list-sinks
1 sink(s) available.
  * index: 2
    name: <auto_null>
    driver: <module-null-sink.c>
    flags: DECIBEL_VOLUME LATENCY FLAT_VOLUME DYNAMIC_LATENCY
    state: IDLE
    suspend cause: 
    priority: 1000
    volume: front-left: 56362 /  86% / -3,93 dB,   front-right: 55706 /  85% / -4,23 dB
            balance -0,01
    base volume: 65536 / 100% / 0,00 dB
    volume steps: 65537
    muted: no
    current latency: 5,63 ms
    max request: 6 KiB
    max rewind: 6 KiB
    monitor source: 2
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stéréo
    used by: 0
    linked by: 1
    configured latency: 40,00 ms; range is 0,50 .. 2000,00 ms
    module: 20
    properties:
        device.description = "Sortie factice"
        device.class = "abstract"
        device.icon_name = "audio-card"

나는 데비안에서 사운드 시스템이 어떻게 작동하는지 잘 이해하지 못하지만 일반 사용자가 Intel 칩에 접근할 수 없다는 것은 이해한다고 생각합니다. 이제부터 막혀서 어찌할 바를 모르겠습니다...

편집하다:

alsamixer에서 자동 음소거를 비활성화하여 사운드를 복원했습니다. 이 설정은 시스템 업데이트 중에 어느 정도 변경되었습니다.

그런데 재부팅 후 문제가 다시 나타났지만 자동 음소거는 여전히 꺼져 있었습니다.

dirkt의 답변 덕분에 이 문제의 원인을 찾은 것 같습니다. 런타임플레이-L일반 사용자와 루트 사용자로서 저는 몇 가지 차이점을 발견했습니다.

$ aplay -L
default
    Playback/recording through the PulseAudio sound server
sysdefault:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device
$ sudo aplay -L 
default:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device
sysdefault:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device

단순 사용자로 실행시 기본 카드가 다른 것 같습니다. 선택할 때 약간의 소리가 날 수 있습니다.시스템 기본값바꾸다기본일반 사용자 카드.

$ aplay -D sysdefault sound.wav

하지만 지금은 좀 갇혔어요. 문제의 원인을 정확히 찾아낸 것 같은데 해결 방법을 모르겠습니다...

답변1

다음 명령을 실행하여 문제를 해결했습니다.

sudo apt-get remove --purge timidity

이것이 제거되는지 확인하십시오소심한그리고소심한 악마. 내가 이해한 바에 따르면 데몬은 시작 시 일부 리소스를 획득하고 다른 서비스가 사운드 카드를 찾지 못하게 합니다. 소심함은 MIDI 파일과 관련이 있다고 생각하므로 패키지를 제거할 때 해당 파일이 필요하지 않은지 확인하고 제거하려는 항목이 무엇인지 확인하십시오.

이를 통해 일부 사용자의 문제가 해결되기를 바랍니다. 위의 문제가 해결되면 나중에 timidity를 다시 설치하고 싶을 수도 있습니다.

답변2

사운드에 대한 간략한 개요: 사운드 하드웨어는 커널 드라이버(이전 ALSA의 일부)에 의해 관리되고, ALSA는 커널 드라이버에 액세스하기 위한 라이브러리를 제공하며(alsamixer에서 볼 수 있는 내용), Pulseaudio는 ALSA 위에서 실행됩니다. 한 가지 이유는 ALSA 장치는 추가 노력 없이 단일 프로그램에서만 사용할 수 있는 반면, Pulseaudio는 전송 계층을 제공하여 여러 프로그램이 하드웨어를 사용할 수 있다는 것입니다.

Pulseaudio에 수신기가 없다는 것은 Pulseaudio가 ALSA 장치를 획득할 수 없다는 것을 의미합니다. 아마도 (1) ​​권한이 잘못되었거나, (2) 다른 것이 이미 이를 사용하고 있거나, (3) 완전히 다른 것이 잘못되었기 때문일 것입니다.

따라서 첫 번째 단계는 Pulseaudio를 중지한 다음 이를 사용하여 aplay -LALSA 장치를 보고 aplay -D ... audio_file.wav장치에 직접 액세스할 수 있는지 확인하는 것입니다. 결과에 따라 다음 단계는 장치를 차단하는 것이 무엇인지 확인하거나(다른 것이 더 일찍 시작되어 이를 사용하고 있음) Pulseaudio가 ALSA 장치를 사용하지 않는 이유(예: 로드 중)를 알아내는 것입니다.모듈 alsa 카드직접 사용하세요 pacmd. 오류 메시지/로그 항목을 참조하세요. Pulseaudio를 중지하는 방법은 systemd를 사용하거나 데스크탑 시스템을 통해 로그인하여 시작한 방법에 따라 다릅니다.

등을 사용하여 실행 중인 프로세스에 대한 명령줄을 확인하면 ps axu위 사항에 대한 힌트를 얻을 수 있으며 Pulseaudio가 올바르게 중지되고 자체적으로 다시 시작되지 않았는지 확인할 수도 있습니다.

답변3

문제 해결: 업그레이드 후 어떤 이유로 출력이 자동으로 음소거됩니다. alsamixer에서 변경하면됩니다.

때로는 깊게 파고들 필요가 없습니다.

답변4

실제로 문제는 PulseAudio와 Blob이 있는 NVidia GPU를 사용할 때 발생합니다.

해결 방법에는 /etc/pulse/daemon.conf에 가비지를 삽입하여 PulseAudio가 시작되지 않도록 방지하는 것이 포함됩니다(파일 끝에 문자를 삽입하기만 하면 됩니다). 그러면 AlsaMixer를 통해서만 볼륨을 설정할 수 있지만 최소한 소리는 다시 나올 것입니다.

이 문제에 대해 티켓 #918522를 제출했습니다. 자유롭게 기여해 주세요.

관련 정보