लिनक्स ओएसएस का अनुकरण

आईटी में हाल के फैशन के रुझान ने इस तथ्य को जन्म दिया है कि आधुनिक कंप्यूटर में अधिकांश उपकरण "सॉफ़्टवेयर" बन गए हैं। प्रोसेसर पर अतिरिक्त भार के अलावा, यह वैकल्पिक प्रणालियों के उपयोगकर्ताओं के लिए बहुत सारी समस्याएं पैदा करता है।

मेरे पिछले कंप्यूटर में एक मदरबोर्ड था जिसमें VIA VT8237 पर आधारित एक एकीकृत साउंड कार्ड था। VT8237 पूरी तरह से हार्डवेयर समाधान है और विंडोज / फ्रीबीएसडी / लिनक्स में ध्वनि बजाने में कोई समस्या नहीं थी।

उन्नयन के बाद, अंतर्निहित कार्ड Realtek ALC883 में बदल गया, जिसमें हार्डवेयर मिश्रण नहीं था। इसने कई अलग-अलग समस्याओं की एक श्रृंखला को जन्म दिया जब कई एल्सा अनुप्रयोगों या अलसा और oss उत्सर्जन के एक साथ संचालन का उपयोग किया।

कट के तहत इन समस्याओं को हल करने के तरीके

एएलएसए में कई धाराओं को मिलाकर अब प्रोग्रामेटिक रूप से लागू किया जाता है और यदि आप केवल डिफ़ॉल्ट डिवाइस (alsa: default) का उपयोग करते हैं, तो कोई समस्या नहीं है। लेकिन अनुकरण के साथ ओएसएस खराब है। लिनक्स में OSS को लागू करने के लिए कई विकल्प हैं:

मैंने कर्ल में ALSA के माध्यम से एल्सा-ओस और OSS की कोशिश की। ओएसएस इंटरफेस के अधूरे कार्यान्वयन (और / dev / dsp के लिए इंटरसेप्टिंग कॉल हमेशा संभव नहीं है) के कारण पहला समाधान अक्सर छोटी गाड़ी है। और कर्नेल में एएलएसए के माध्यम से ओएसएस एक त्रुटि देता है (साउंड कार्ड "सॉफ्टवेयर" है और कई धाराओं को नहीं मिला सकता है) यदि कम से कम एक एल्सा एप्लिकेशन चल रहा है (उदाहरण के लिए ट्रे में मिक्सर)। ALSA का उपयोग करने वाली हर चीज़ को उतारना और फिर वापस अपलोड करना संभव है, लेकिन सुविधाजनक नहीं है।

अपेक्षाकृत हाल ही में, मैं एक समाचार पत्र में ओएसएस प्रॉक्सी के उल्लेख पर आया था। OSS प्रॉक्सी - OSS कार्यान्वयन CUSE के माध्यम से। CUSE चार उपकरणों का लिनक्स कार्यान्वयन है।

OSS प्रॉक्सी में एक सेवा होती है जो CUSE के माध्यम से चरित्र उपकरण / dev / dsp, / dev / adsp और / dev / मिक्सर बनाती है। फिर, इन उपकरणों पर कॉल एक प्रारूप में प्रेषित की जाती है जो बैकएंड के लिए समझ में आता है (अब पल्सेडियो और अलसा के माध्यम से आउटपुट है)।

मैंने डेबियन स्क्वीज़ के लिए एक पैकेज संकलित किया है। उन लोगों के लिए जिनके लिए यह पैकेज सूट नहीं करता है, वे स्रोत कोड वाले पैकेज से इसका पुनर्निर्माण कर सकते हैं।

OSS प्रॉक्सी के माध्यम से अनुकरण का उपयोग करने की एक शाम ने स्थितियों में अपना प्रदर्शन दिखाया:

मेरी राय में, सॉफ्टवेयर साउंड कार्ड पर ओएसएस का अनुकरण करने के लिए ओएसएस प्रॉक्सी सबसे अच्छा समाधान है।

UPD : एक नया बिल्ड 1.3.2-2 संकलित किया गया जिसमें लिंटियन टिप्पणियां तय की गईं। नया संस्करण स्थापित करने से पहले, पुराने को साफ करना उचित है:

sudo dpkg -P ossp या सुडो एप्टीट्यूड पर्ज ossp

Source: https://habr.com/ru/post/In136121/


All Articles