आपने लिनक्स में Steam इंस्टॉल किया, फिर अपनी लाइब्रेरी से कुछ गेम, और गेम का आनंद लेने चले गए। आपने अपना पसंदीदा गेम लॉन्च किया, अपने स्पीकर चालू किए या हेडफोन लगाए, और फिर कष्टप्रद क्रैकिंग साउंड के कारण उन्हें म्यूट करने के लिए दौड़ पड़े। क्या लिनक्स के तहत Windows के लिए Steam गेम खेलने का आपका यही अनुभव है?
समस्या का स्रोत Pulseaudio में गलत तरीके से कॉन्फ़िगर किया गया एक पैरामीटर है और यह किसी भी लिनक्स डिस्ट्रीब्यूशन में दिखाई दे सकता है। शुक्र है, एक आसान फिक्स है। यह जानने के लिए पढ़ें कि आप लिनक्स में Steam गेम्स की क्रैकिंग साउंड समस्या को एक साधारण ट्वीक से कैसे ठीक कर सकते हैं।
PulseAudio डेमॉन को ट्वीक करें
हमारी समस्या का फिक्स दो-भाग की प्रक्रिया है, जिसमें अच्छे माप के लिए बाद में कुछ समस्या निवारण की संभावना है। आइए PulseAudio के डेमॉन को ट्वीक करके शुरू करें।
अपना पसंदीदा टर्मिनल खोलें, और दर्ज करें:
sudo nano /etc/pulse/daemon.conf
"default-fragments" और "default-fragment-size-msec" पैरामीटर्स को खोजें। दोनों पहले से मौजूद होने चाहिए, लेकिन अगर वे नहीं हैं, तो उन्हें स्वयं जोड़ने के लिए स्वतंत्र महसूस करें। उनके मानों को क्रमशः 2 और 4 पर सेट करें। उन्हें इस तरह दिखना चाहिए:
default-fragments = 2 default-fragment-size-msec = 4
अपडेटेड फाइल सेव करें और परिवर्तनों को लागू करने के लिए PulseAudio को पुनरारंभ करें। आप इसे इसके साथ कर सकते हैं:
pulseaudio -k
यह हमारे ट्वीक के पहले भाग का समापन करता है। चिंता न करें, क्योंकि जो अगला है वह और भी आसान है!
साउंड सर्वर को ट्वीक करें
अपने पसंदीदा टेक्स्ट एडिटर को फिर से लॉन्च करें, लेकिन इस बार वह फाइल संपादित करें जो परिभाषित करती है कि PulseAudio साउंड सर्वर को कैसे शुरू करना चाहिए:
sudo nano /etc/pulse/default.pa
उस सेक्शन का पता लगाएं जो 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
परिवर्तनों को सेव करें और PulseAudio को एक बार फिर पुनरारंभ करें:
pulseaudio -k
और बस - उम्मीद है, समस्या चली जाएगी।
समस्या निवारण
यदि उपरोक्त ट्वीक ने आपकी स्थिति में सुधार किया, लेकिन यह अभी भी पूरी तरह से फिक्स नहीं हुआ है, तो पहली फाइल को फिर से संपादित करें और "default-fragments" और "default-fragment-size-msec" पैरामीटर्स के मान बढ़ाएं। "3" और "5" या "4" और "8" जैसे मान आज़माएं, क्रमशः। शुरुआत से क्रेजी न हों, लेकिन समस्या समाप्त होने तक मानों को उत्तरोत्तर बढ़ाएं।
दूसरी ओर, यदि उन ट्वीक ने समस्या को बदतर बना दिया, तो दूसरे तरीके से जाने लायक है। उन दो पैरामीटर्स के मान घटाएं, फिर दूसरी फाइल पर वापस जाएं और अपने ट्वीक को tsched=1 में संशोधित करें।
PulseAudio को एक बार फिर पुनरारंभ करें और जांचें कि क्या इस बार आपकी समस्या ठीक हो गई है। यदि नहीं, तो दोनों फाइलों पर वापस जाएं और किसी भी बदलाव को पूर्ववत करें। दुर्भाग्य से, इस मामले में, समस्या का स्रोत कहीं और है।
आपके ऑडियो सबसिस्टम के लिए अलग ड्राइवर आज़माना उचित है, लेकिन चूंकि वे कर्नेल में शामिल होते हैं, इसका मतलब होगा अपने डिस्ट्रीब्यूशन के कर्नेल को एक अलग के साथ बदलना। जांचें कि क्या कोई नया उपलब्ध है। यदि नहीं, तो या तो पिछले वाले पर वापस जाएं या Liquorix जैसे वैकल्पिक कर्नेल इंस्टॉल करें।
ड्राइवर्स, बफर्स, शेड्यूलिंग
आप सोच रहे होंगे कि वे पैरामीटर्स (संभावित रूप से) आपकी समस्या क्यों ठीक करते हैं। यह सब आपके ऑडियो सबसिस्टम के हार्डवेयर, उसके ड्राइवर्स, और PulseAudio द्वारा इसका उपयोग कैसे किया जाता है, इससे संबंधित है।
हमने जो पहले दो पैरामीटर बदले वे ऑडियो डिवाइस के बफर को फ्रैगमेंट में विभाजित करते हैं। आपके ऑडियो सबसिस्टम के आधार पर, यह ऑपरेटिंग सिस्टम को आपके ऑडियो सबसिस्टम में डेटा स्ट्रीम करने में मदद कर सकता है, जिसे फिर ध्वनि में बदल दिया जाता है।
दूसरा पैरामीटर PulseAudio के शेड्यूलिंग दृष्टिकोण को बदलता है। संस्करण 0.9.11 से, PulseAudio एक सिस्टम-टाइमर-आधारित मॉडल का उपयोग करता है। हालांकि, यह आपके हार्डवेयर और ड्राइवर से सटीक टाइमिंग जानकारी वापस करने की मांग करता है। कुछ करते हैं, जैसे Intel के समाधान। इसे आधुनिक और बेहतर दृष्टिकोण माना जाता है। कुछ, जैसे Creative के कई साउंडकार्ड, नहीं करते। आपके हार्डवेयर और ड्राइवर्स के आधार पर, टाइमर शेड्यूलर (हमने जो tsched पैरामीटर पेश किया) को चालू या बंद करना (मान 1 या 0) दुनिया भर का अंतर ला सकता है।
यदि इसके बजाय आपके पास Ubuntu में नो-साउंड समस्या है, तो यहां है कि इसे कैसे ठीक करें।