Computer >> 컴퓨터 >  >> 체계 >> Linux

Linux에서 Steam 게임 크래킹 사운드 문제를 해결하는 방법

Linux에서 Steam 게임 크래킹 사운드 문제를 해결하는 방법

Linux에 Steam을 설치한 다음 라이브러리에서 일부 게임을 설치하고 계속해서 게임을 즐겼습니다. 좋아하는 게임을 시작하고 스피커를 켜거나 헤드폰을 끼고 성가신 크래킹 소리 때문에 서둘러 음소거했습니다. Linux에서 Windows용 Steam 게임을 플레이한 경험이 있습니까?

문제의 원인은 Pulseaudio의 잘못 구성된 매개변수이며 모든 Linux 배포판에 나타날 수 있습니다. 다행히도 쉽게 수정할 수 있습니다. 간단한 조정으로 Linux에서 Steam 게임 크래킹 사운드 문제를 해결하는 방법을 찾으려면 계속 읽으십시오.

PulseAudio 데몬 조정

우리 문제에 대한 수정은 2단계 프로세스로, 나중에 적절한 조치를 취하기 위해 일부 문제 해결 가능성이 있습니다. PulseAudio의 데몬을 조정하여 시작하겠습니다.

좋아하는 터미널을 실행하고 다음을 입력하십시오.

sudo nano /etc/pulse/daemon.conf
Linux에서 Steam 게임 크래킹 사운드 문제를 해결하는 방법

"default-fragments" 및 "default-fragment-size-msec" 매개변수를 검색합니다. 둘 다 이미 존재해야 하지만 존재하지 않는 경우 자유롭게 추가하십시오. 값을 각각 2와 4로 설정합니다. 다음과 같이 표시되어야 합니다.

default-fragments = 2
default-fragment-size-msec = 4
Linux에서 Steam 게임 크래킹 사운드 문제를 해결하는 방법

업데이트된 파일을 저장하고 PulseAudio를 다시 시작하여 변경 사항을 적용합니다. 다음과 같이 할 수 있습니다.

pulseaudio -k

이것으로 트윅의 첫 번째 부분을 마칩니다. 다음은 더 쉽기 때문에 걱정하지 마세요!

사운드 서버 조정

즐겨 사용하는 텍스트 편집기를 다시 실행하되, 이번에는 다음을 사용하여 PulseAudio 사운드 서버를 시작하는 방법을 정의하는 파일을 편집하십시오.

sudo nano /etc/pulse/default.pa
Linux에서 Steam 게임 크래킹 사운드 문제를 해결하는 방법

PulseAudio가 udev를 사용하여 드라이버 모듈을 로드하도록 지시하는 섹션을 찾습니다. 다음과 같이 표시됩니다.

### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
 
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif

tsched=0을 추가하여 업데이트하십시오. "load-module module-udev-detect" 끝에 새 버전이 다음과 같이 읽힙니다.

### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect tsched=0
.else
 
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif
Linux에서 Steam 게임 크래킹 사운드 문제를 해결하는 방법

변경 사항을 저장하고 다음을 사용하여 PulseAudio를 다시 시작하십시오.

pulseaudio -k
Linux에서 Steam 게임 크래킹 사운드 문제를 해결하는 방법

그게 다야. 문제가 해결되기를 바랍니다.

문제 해결

위의 조정으로 상황이 개선되었지만 여전히 완전히 수정되지 않은 경우 첫 번째 파일을 다시 편집하고 "default-fragments" 및 "default-fragment-size-msec" 매개변수 값을 늘리십시오. 각각 "3" 및 "5" 또는 "4" 및 "8"과 같은 값을 시도합니다. 처음부터 미쳐버리지 말고 문제가 해결될 때까지 값을 점진적으로 높이세요.

반면에 이러한 조정으로 인해 문제가 더 악화되면 다른 방향으로 갈 가치가 있습니다. 이 두 매개변수의 값을 줄인 다음 두 번째 파일로 돌아가서 조정을 tsched=1로 수정합니다. .

PulseAudio를 다시 시작하고 이번에는 문제가 해결되었는지 확인하십시오. 그렇지 않은 경우 두 파일로 돌아가 변경 사항을 실행 취소합니다. 불행히도 이 경우 문제의 원인은 다른 곳에 있습니다.

오디오 하위 시스템에 대해 다른 드라이버를 사용해 볼 가치가 있지만 이러한 드라이버가 커널에 포함되는 경향이 있으므로 배포 커널을 다른 것으로 교체해야 합니다. 사용 가능한 새 항목이 있는지 확인합니다. 그렇지 않은 경우 이전 커널로 되돌리거나 Liquorix와 같은 대체 커널을 설치하십시오.

드라이버, 버퍼, 스케줄링

이러한 매개변수가 (아마도) 문제를 해결한 이유가 궁금할 것입니다. 이 모든 것은 오디오 하위 시스템의 하드웨어, 드라이버 및 PulseAudio가 이를 사용하는 방식과 관련이 있습니다.

변경한 처음 두 매개변수는 오디오 장치의 버퍼를 조각으로 나눕니다. 오디오 하위 시스템에 따라 운영 체제에서 오디오 하위 시스템으로 데이터를 스트리밍하여 사운드로 변환하는 데 도움이 될 수 있습니다.

두 번째 매개변수는 PulseAudio의 스케줄링 방식을 변경합니다. 버전 0.9.11부터 PulseAudio는 시스템 타이머 기반 모델을 사용합니다. 그러나 이를 위해서는 하드웨어와 드라이버가 정확한 타이밍 정보를 반환해야 합니다. 일부는 인텔의 솔루션처럼 그렇게 합니다. 이것은 현대적이고 더 나은 접근 방식으로 간주됩니다. Creative의 많은 사운드 카드와 마찬가지로 일부는 그렇지 않습니다. 하드웨어 및 드라이버에 따라 타이머 스케줄러(tsched 우리가 도입한 매개변수) on 또는 off(값 1 또는 0)는 세상을 바꿀 수 있습니다.

대신 Ubuntu에서 소리가 나지 않는 문제가 있는 경우 해결 방법은 다음과 같습니다.