Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Cách sửa lỗi tiếng kêu rắc rắc (cracking sound) game Steam trên Linux

Bạn đã cài Steam trên Linux, rồi một số game từ thư viện, và chơi game. Bạn khởi chạy game yêu thích, bật loa hoặc đeo tai nghe, rồi vội tắt tiếng vì tiếng kêu rắc rắc khó chịu. Đó có phải trải nghiệm của bạn với game Steam cho Windows chạy dưới Linux?

Nguồn gốc vấn đề là tham số cấu hình không đúng trong Pulseaudio và có thể xuất hiện trên bất kỳ bản phân phối Linux nào. May mắn thay, có cách sửa dễ dàng. Đọc tiếp để tìm hiểu cách sửa lỗi tiếng kêu rắc rắc game Steam trên Linux với một điều chỉnh đơn giản.

Điều chỉnh PulseAudio Daemon

Cách sửa vấn đề của chúng ta là quy trình hai phần, với khả năng khắc phục sự cố sau đó để an toàn. Hãy bắt đầu bằng cách điều chỉnh daemon của PulseAudio.

Mở terminal yêu thích, và nhập:

sudo nano /etc/pulse/daemon.conf

Cách sửa lỗi tiếng kêu rắc rắc (cracking sound) game Steam trên Linux

Tìm tham số "default-fragments" và "default-fragment-size-msec". Cả hai nên đã tồn tại, nhưng nếu chưa, bạn có thể tự thêm chúng. Đặt giá trị của chúng thành 2 và 4, tương ứng. Chúng trông như sau:

default-fragments = 2
default-fragment-size-msec = 4

Cách sửa lỗi tiếng kêu rắc rắc (cracking sound) game Steam trên Linux

Lưu file đã cập nhật và khởi động lại PulseAudio để áp dụng thay đổi. Bạn có thể làm vậy với:

pulseaudio -k

Điều đó kết thúc phần đầu của điều chỉnh. Đừng lo, phần tiếp theo thậm chí còn dễ hơn!

Điều chỉnh Sound Server (Máy chủ âm thanh)

Khởi chạy lại trình soạn thảo yêu thích, nhưng lần này chỉnh sửa file định nghĩa cách máy chủ âm thanh PulseAudio nên khởi động, với:

sudo nano /etc/pulse/default.pa

Cách sửa lỗi tiếng kêu rắc rắc (cracking sound) game Steam trên Linux

Tìm phần yêu cầu PulseAudio tải mô-đun driver dùng udev. Nó trông như sau:

### 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

Cập nhật nó bằng cách thêm tsched=0 ở cuối "load-module module-udev-detect", để phiên bản mới đọc như:

### 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

Cách sửa lỗi tiếng kêu rắc rắc (cracking sound) game Steam trên Linux

Lưu thay đổi và khởi động lại PulseAudio một lần nữa với:

pulseaudio -k

Cách sửa lỗi tiếng kêu rắc rắc (cracking sound) game Steam trên Linux

Và xong — hy vọng vấn đề sẽ biến mất.

Khắc phục sự cố (Troubleshoot)

Nếu các điều chỉnh trên cải thiện tình hình, nhưng vẫn chưa sửa hoàn toàn, hãy chỉnh sửa lại file đầu tiên và tăng giá trị tham số "default-fragments" và "default-fragment-size-msec". Thử giá trị như "3" và "5" hoặc "4" và "8", tương ứng. Đừng quá đà từ đầu, nhưng tăng giá trị dần dần cho đến khi vấn đề bị loại bỏ.

Mặt khác, nếu những điều chỉnh đó làm vấn đề tồi tệ hơn, đáng giá thử ngược lại. Giảm giá trị cho hai tham số đó, rồi quay lại file thứ hai và sửa điều chỉnh thành tsched=1.

Khởi động lại PulseAudio một lần nữa và kiểm tra xem vấn đề đã được sửa lần này chưa. Nếu chưa, quay lại cả hai file và hoàn tác mọi thay đổi. Rất tiếc, trong trường hợp này, nguồn gốc vấn đề nằm ở nơi khác.

Việc thử driver khác cho hệ thống âm thanh đáng giá, nhưng vì chúng thường đi kèm trong kernel, nghĩa là thay kernel của bản phân phối bằng kernel khác. Kiểm tra xem có kernel mới hơn không. Nếu không, hoặc quay về kernel trước, hoặc cài kernel thay thế, như Liquorix.

Driver, Buffer, Lập lịch (Scheduling)

Bạn có thể thắc mắc tại sao các tham số đó (có thể) sửa được vấn đề. Tất cả liên quan đến phần cứng hệ thống âm thanh, driver của nó, và cách PulseAudio sử dụng nó.

Hai tham số đầu tiên chúng ta thay đổi chia buffer của thiết bị âm thanh thành các mảnh (fragments). Tùy thuộc vào hệ thống âm thanh của bạn, điều này có thể giúp hệ điều hành luồng dữ liệu đến hệ thống âm thanh, sau đó chuyển thành âm thanh.

Tham số thứ hai thay đổi cách tiếp cận lập lịch của PulseAudio. Kể từ phiên bản 0.9.11, PulseAudio dùng mô hình dựa trên system timer. Tuy nhiên, điều này đòi hỏi phần cứng và driver trả về thông tin thời gian chính xác. Một số làm được, như giải pháp của Intel. Đây được coi là cách tiếp cận hiện đại và tốt hơn. Một số, như nhiều card âm thanh của Creative, không làm được. Tùy thuộc vào phần cứng và driver, bật hoặc tắt bộ lập lịch timer (tham số tsched chúng ta giới thiệu) (giá trị 1 hoặc 0) có thể tạo ra sự khác biệt lớn.

Nếu bạn gặp vấn đề không có tiếng trên Ubuntu, đây là cách sửa.