एसडी801 उपकरणों को नूगट से क्यों बाहर रखा गया है, इसका गहन विवरण

इस लेख में हम इस सच्चाई का पता लगाते हैं कि स्नैपड्रैगन 801 डिवाइसों को एंड्रॉइड नौगट क्यों नहीं मिल रहा है। चिपसेट निर्माताओं से लेकर विक्रेताओं तक, मुद्दे कई हैं!

एंड्रॉइड 7.0 के लिए या तो वल्कन या ओपनजीएल ईएस 3.1 आवश्यकता को प्रतिबिंबित करने के लिए अपडेट किया गया

हाल ही में, संस्करण अपडेट, विक्रेता और चिपसेट निर्माता के बीच बातचीत और भविष्य में उपकरणों के लिए इसका क्या अर्थ है, इस बारे में बहुत सारे लेख लिखे गए हैं। इस सप्ताह यह वृद्धि क्यों हुई है?

खैर, इस सप्ताह यह सामने आया कि आदरणीय नेक्सस 5 को एंड्रॉइड 7.0 (नूगट) का अपडेट नहीं मिलेगा, और क्वालकॉम ने घोषणा की कि ऐसा नहीं होगा 7.0 पर MSM8974 (आमतौर पर स्नैपड्रैगन 801 के रूप में जाना जाता है) के लिए समर्थन प्रदान करना। यह लेख XDA Recognized के सहयोग से लिखा गया था डेवलपर भंवरा।

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

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

किसी समय में, आमतौर पर किसी अपडेट की सार्वजनिक घोषणा से पहले (हालाँकि हाल ही में सार्वजनिक बीटा की शुरूआत के साथ, ये समय-सीमाएँ बदल रही हैं), ओईएम को आगामी अपडेट के बारे में अवगत कराया जाएगा. फिर उन्हें अंतिम अद्यतन के लिए दूसरे समय पर स्रोत कोड प्राप्त होगा (अतीत में, यह था कभी-कभी लॉन्च से थोड़ा पहले, हालाँकि हम ऐसे मामलों से भी अवगत होते हैं जहाँ कोई जल्दी नहीं होती है मुक्त करना)।

अपस्ट्रीम AOSP रिपॉजिटरी में केवल सीमित संख्या में डिवाइस के लिए डिवाइस समर्थन होता है। ये आम तौर पर आपके Nexus डिवाइस होते हैं. हालाँकि, जो कारण शीघ्र ही स्पष्ट हो जाएंगे, यह ध्यान रखना महत्वपूर्ण है कि Google के पास इन उपकरणों पर पूर्ण हार्डवेयर नियंत्रण नहीं है; डिवाइस एक OEM द्वारा निर्मित होते हैं, और वह OEM एक चिपसेट निर्माता से एक सिस्टम-ऑन-चिप (SoC) खरीदेगा।

एक बार स्रोत कोड जारी हो जाने के बाद, ओईएम की फ़र्मवेयर टीम (लाक्षणिक रूप से) आराम से बैठेगी और अपने पैर ऊपर कर लेगी। मुख्य एंड्रॉइड स्रोत ट्री में शिपिंग उपकरणों में उपयोग किए जाने वाले असंख्य चिपसेट के लिए हार्डवेयर समर्थन नहीं है। उदाहरण के लिए, संभवतः आपका क्वालकॉम चिपसेट AOSP में समर्थित नहीं है। आपका Exynos निश्चित रूप से नहीं है। मीडियाटेक या हाईसिलिकॉन? रहने भी दो!

बीएसपी में एंड्रॉइड चलाने के लिए आवश्यक ड्राइवर और हार्डवेयर एब्स्ट्रैक्शन लेयर्स (एचएएल) शामिल हैं

अब जिस चीज़ की आवश्यकता है वह है बोर्ड सपोर्ट पैकेज (बीएसपी). यह मालिकाना घटकों का एक सुपर-गोपनीय पैकेज है, जो एक चिपसेट निर्माता द्वारा एक ओईएम को वितरित किया जाता है। बीएसपी में ओईएम को एंड्रॉइड और उनके डिवाइस के लिए आवश्यक ड्राइवर बनाने की अनुमति देने के लिए आवश्यक स्रोत कोड शामिल है।

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

बीएसपी में आपके डिवाइस पर एंड्रॉइड चलाने के लिए आवश्यक ड्राइवर और हार्डवेयर एब्स्ट्रैक्शन लेयर्स (एचएएल) शामिल हैं। एओएसपी में एचएएल का एक सेट होता है, जो परिभाषा के रूप में कार्य करता है कि ऑपरेटिंग सिस्टम आपके ड्राइवरों से क्या लागू करने की अपेक्षा करता है। एक हास्यास्पद अति-सरलीकृत (और प्रदर्शन के उद्देश्य से बनाया गया) उदाहरण का उपयोग करने के लिए, आइए अपने फोन पर टॉर्च की कल्पना करें।

एक उदाहरण एचएएल - आपकी टॉर्च

आइए कल्पना करें कि आपके डिवाइस के पीछे एक टॉर्च है (यदि आपके पास नेक्सस 7 2013 है, तो आपको बाकी सभी की तुलना में थोड़ी अधिक कल्पना करने की आवश्यकता होगी - क्षमा करें!)। इसे एक ड्राइवर द्वारा नियंत्रित किया जाता है. हमारे अत्यंत सरल उदाहरण के लिए, मान लीजिए कि v1 HAL कहता है कि आपके पास "setLED" नामक एक फ़ंक्शन होना चाहिए, जो एकल पैरामीटर, प्रकाश की स्थिति लेता है। यह एक बूलियन है - सही या गलत। सी में, यह कुछ इस तरह दिखेगा:

void setLED(bool ledState) {

// here is the actual code to turn on or off the LED, based on ledState

}

यह फ़ंक्शन बीएसपी स्रोत कोड के भीतर परिभाषित किया गया है। ROM के निर्माण के दौरान बीएसपी को OEM द्वारा संकलित किया जाता है, और यह आपके डिवाइस के विक्रेता विभाजन या क्षेत्र पर मालिकाना ".so" लाइब्रेरी में से एक बन जाता है। इससे ओईएम को अपने डिवाइस के कामकाज के कुछ हिस्सों को गुप्त रखने की सुविधा मिलती है। अभी के लिए, मान लीजिए कि वे हर किसी को यह देखना बंद करना चाहते हैं कि वे उस एलईडी को कैसे चालू और बंद करते हैं।

अब कल्पना करें कि Google एंड्रॉइड के भविष्य के संस्करण में अपने HALs का एक अद्यतन संस्करण जारी करता है। अब उन्होंने निर्णय लिया है कि यह अच्छा होगा कि आपको अपनी एलईडी को चालू या बंद करने के बजाय उसकी चमक को अपडेट करने की अनुमति दी जाए। शायद यह अनुकूली फ्लैश के लिए है, या शायद यह सिर्फ एचएएल अपडेट को मजबूर करने और चिपसेट निर्माताओं को व्यवसाय में बनाए रखने के लिए है? पाठक, हम आपको उस पर अपनी राय तक पहुंचने देंगे। कुछ एचएएल अपडेट के स्पष्ट लाभ होते हैं (जैसे कि नया कैमरा एचएएल कच्ची शूटिंग और इसी तरह की चीजों को उजागर करता है), जबकि अन्य का उद्देश्य कुछ हद तक कम स्पष्ट है।

चमक के लिए इस नए (काल्पनिक) एचएएल के साथ, मान लीजिए कि Google कहता है कि आपको setLED नामक फ़ंक्शन को फिर से उजागर करने की आवश्यकता है, लेकिन इस बार चमक के लिए एक पूर्णांक पास किया गया है। अब, 0 इसे बंद कर देगा, और 255 इसे पूर्ण रूप से चालू कर देगा।

यदि आप ओईएम हैं, तो आप उस एलईडी को चालू करने के लिए अपना सुपर-सीक्रेट कोड ले सकते हैं, और इसे इस नए फ़ंक्शन में डाल सकते हैं। आप संख्या के आधार पर एलईडी की चमक को समायोजित करने के लिए पल्स-चौड़ाई मॉड्यूलेशन का भी उपयोग कर सकते हैं। अब आप इस तरह दिखने के लिए फ़ंक्शन को बदलें:

void setLED(uint8_t ledBrightness) {

// some super-secret and ultra-confidential proprietary way to set LED brightness

}

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

इस बिंदु पर, आइए यह देखने के लिए एक संक्षिप्त विराम लें कि कस्टम रोम (स्रोत से निर्मित) यहां कैसे प्रबंधित होते हैं। यह वही है जो आपमें से चतुर लोग अभी आपकी स्क्रीन पर चिल्ला रहे होंगे - आख़िरकार, हम XDA हैं, जिसका घर है एचटीसी एचडी2, दुनिया का सबसे लंबे समय तक चलने वाला फोन... (सिर्फ रिकॉर्ड के लिए, वहां पर पागल प्रतिभाएं दौड़ रही हैं इन दिनों HD2 पर Android 6.0! 2009 में मूल रूप से विंडोज़ मोबाइल 6.5 के साथ भेजे गए फ़ोन के लिए यह बुरा नहीं है)

mspinsideयहां विभिन्न दृष्टिकोण अपनाए गए हैं - कभी-कभी डेवलपर्स ROM के भीतर हैक करते हैं और ओएस को पुरानी फ़ंक्शन परिभाषाओं का उपयोग करने के लिए कहते हैं। यह थोड़ा गड़बड़ है, और इसे बनाए रखने के लिए बहुत सारे बदलाव करने पड़ते हैं। दूसरा तरीका ओईएम बाइनरी को "शिम" करना है।

"शिम" दृष्टिकोण स्वयं एक छोटी सी नई लाइब्रेरी लिखना और बनाना है, जिसमें अपेक्षित फ़ंक्शन परिभाषा शामिल है - हमारे उदाहरण के लिए, हम चमक के लिए पूर्णांक का समर्थन करेंगे। फिर, शिम के भीतर, इसे पुराने एचएएल की आवश्यकताओं को पूरा करने के लिए अनुवादित किया जाता है। इसलिए हमारे उदाहरण के लिए, हम शायद कहेंगे कि 128 से ऊपर अनुरोधित कोई भी चमक एलईडी को चालू कर देगी, और उससे नीचे की कोई भी चमक इसे बंद कर देगी। या आप कुछ भी कह सकते हैं शून्य नहीं इसे चालू कर देगा। यह डेवलपर पर निर्भर है। वे शिम संकलित करते हैं, और मूल शिम के बजाय इसका उपयोग करने के लिए एंड्रॉइड प्राप्त करते हैं। फिर शिम OEM ब्लॉब को कॉल करता है।

एक त्वरित `एडीबी पुश` और रिबूट से शिम चालू हो जाना चाहिए, और आपको अपनी काल्पनिक एलईडी को नियंत्रित करने देना चाहिए, भले ही आपके पास केवल पुराना एचएएल हो।

समस्या यह है कि यह स्पष्ट रूप से एक अपूर्ण प्रक्रिया है। अब आपको विचित्रताएं मिलेंगी - इस डिवाइस में एक अजीब फ्लैश होगा, जो या तो पूरी तरह से चालू या पूरी तरह से बंद है। यह आदर्श नहीं है - ओएस को लगता है कि यह बहुत हल्की रोशनी पैदा कर रहा है, लेकिन वास्तविक एलईडी के बारे में कहा जा रहा है कि यह कृत्रिम सूर्य प्रतियोगिता में प्रतिस्पर्धा कर रहा है, और आपको अंधा करने की कोशिश कर रहा है। लेकिन हे, जीवन परिपूर्ण नहीं है, और अब आपके पुराने फोन पर एक काम करने वाली एलईडी है!

(हां, यह एक कारण है कि जब XDA उपयोगकर्ता और डेवलपर्स पोर्टिंग कौशल के अपने पागलपनपूर्ण कारनामों का प्रबंधन करते हैं तो विचित्रताएं और बग होते हैं। मेरा मतलब है हेक, द गैलेक्सी एस II एक प्रतीत होता है प्रयोग करने योग्य टोटिंग है अब एंड्रॉइड 6.0 ROM. पिछले वर्ष रिलीज़ हुए बहुत से फ़ोनों में अभी भी 6.0 नहीं है!)

आइए ओईएम के परिप्रेक्ष्य पर वापस जाएं। अफसोस की बात है कि अधिकांश ओईएम पहले से ही हम जहां पर हैं उससे कम से कम 1 फोन आगे काम कर रहे हैं। उनका ध्यान अगले फोन पर है जिसे वे बेचने वाले हैं - आप वास्तव में उन्हें दोष नहीं दे सकते, क्योंकि वे केवल उन उपकरणों पर पैसा कमाते हैं जो वे बेचते हैं। वे एक या दो साल पहले बेचे गए उपकरणों से कोई पैसा नहीं कमाते हैं, इसलिए उन्हें अस्तित्व में रहने के लिए नए उपकरण जारी करते रहना पड़ता है। यह एक कारण है कि एचटीसी और ब्लैकबेरी मुसीबत में हैं - इससे कोई फर्क नहीं पड़ता कि कितने अधिकारी अपने पुराने ब्लैकबेरी कर्व पर मौत की पकड़ बनाए हुए हैं, क्योंकि उन्हें वहां कोई नया डिवाइस नहीं मिल रहा है।

यदि ओईएम को बीएसपी नहीं मिलता है, तो वे किसी बिल्ड को एक साथ हैक करने के XDA दृष्टिकोण से नीचे नहीं जाएंगे। क्यों? कुंआ, उन्हें अपने ग्राहकों के लिए इस फर्मवेयर का समर्थन करने की आवश्यकता है. यदि वे कोई ऐसा फ़र्मवेयर जारी करते हैं जो आधा-अधूरा काम कर रहा है, तो उपयोगकर्ता उनसे नफ़रत करेंगे, शेखी बघारेंगे और प्रशंसा करेंगे, और कई दिनों तक उनकी सहायता लाइन पर कॉल करते रहेंगे।

ओईएम को वाहकों से भी जूझना पड़ता है, कम से कम गैर-यूरोपीय बाज़ारों में। वाहक नहीं चाहते कि ग्राहकों को सॉफ़्टवेयर अपडेट में समस्या हो। वास्तव में, वाहक अक्सर सॉफ़्टवेयर अपडेट जारी नहीं करते हैं।

इसे समझने के लिए, अपनी बड़ी चाची ऐलिस की कल्पना करें। वह वह है जो दिन के असुविधाजनक समय में आपको "उस कंप्यूटर चीज़" के बारे में मदद मांगने के लिए फ़ोन करती है। फिर आप वर्णन करते हैं कि "प्रारंभ मेनू" पर कैसे क्लिक करें, और इसे "निचले बाएं कोने में बड़े ध्वज" के रूप में पहचानना है, और भ्रम का सामना करना पड़ता है। लगभग 45 मिनट (और बहुत हताशा) के बाद, यह सामने आया कि आंटी ऐलिस ने अपने स्टार्ट मेनू को दाहिने हाथ के स्क्रीन किनारे पर खींच लिया है, और बस उसे वापस खींचने की जरूरत है। हाँ, बायीं माउस बटन से!

अब कल्पना कीजिए कि आपके पास एक हजार आंटी ऐलिस हैं।' वे सभी आपके ग्राहक सहायता को फ़ोन कर रहे हैं, अपने फ़ोन पर कैंडी क्रश नहीं ढूंढ पा रहे हैं, चिंतित हैं कि किसी हैकर ने इसे उनके फ़ोन से हटा दिया है। ओह, और आइकन अब थोड़े अलग दिखते हैं - शायद हैकर अभी भी उनके फोन में है?

हां, यह थोड़ा हल्का-फुल्का हास्य है, लेकिन जब तक आप उन कारणों का अनुभव नहीं करेंगे जिनके कारण लोग समर्थन के लिए अपने वाहक को बुलाएंगे, तब तक आप उनकी समस्याओं पर विश्वास नहीं करेंगे। एक सॉफ़्टवेयर अपडेट जो फ़ोन के काम करने के तरीके या चीज़ों के स्थान को बदल देता है, एक महत्वपूर्ण समर्थन ओवरहेड का कारण बनेगा। कम से कम, इसके लिए सहायक कर्मचारियों के पुन: प्रशिक्षण की आवश्यकता होती है (दुख की बात है कि उनमें से अधिकांश आपके शौकीन XDA रीडर नहीं हैं)।

एक बार जब OEM को बीएसपी मिल जाता है, तो वे अपनी ROM को पोर्ट कर देंगे, और ROM में अपने सभी परिवर्तन लागू कर देंगे। वे अपने ब्लोटवेयर को ढेर कर देंगे, और एक भयानक कार्टून जैसी त्वचा जोड़ देंगे जो एक किशोर के एनीमे में घर पर अधिक दिखेगी। फिर वे इसका परीक्षण करेंगे.

बहुत।

आपके फ़ोन को सभी प्रकार की आवश्यकताओं का अनुपालन करना होगा। मोबाइल नेटवर्क को उपयोगकर्ता उपकरण (जिसे हम फोन कहते हैं) पर सही ढंग से व्यवहार करने के लिए भरोसा करने के लिए डिज़ाइन किया गया है। इसका मतलब है कि डिवाइस को मंजूरी दिलाने के लिए काफी परीक्षण की जरूरत है। सॉफ़्टवेयर अपडेट से व्यवहार बदलने का जोखिम होता है, इसलिए चीज़ों का दोबारा परीक्षण करने की आवश्यकता होती है। यही कारण है कि आप आमतौर पर बाहरी परीक्षण सेवाओं से आगामी सोनी सॉफ़्टवेयर अपडेट के बारे में जानकारी देखेंगे, जो पुष्टि करती है कि फ़र्मवेयर परीक्षण आवश्यकताओं के अनुरूप है।

अब... एक या दो अपडेट (या कुछ मामलों में, कोई नहीं) के बाद क्या होता है? एसओसी निर्माता ओईएम को अपडेटेड बीएसपी नहीं देगा. आख़िरकार, SoC निर्माता को इससे बहुत कुछ नहीं मिलेगा। आपके फोन के बिकने के बाद से ओईएम कोई और पैसा नहीं कमा रहा है। और इस बिंदु पर, आपके फ़ोन को कोई और प्रमुख संस्करण अपडेट नहीं मिलता है।

OEM द्वारा वितरित किए जाने वाले बीएसपी की संख्या में कटौती करना पैसे बचाने का एक शानदार तरीका है - यदि आपको केवल वर्तमान की आवश्यकता है, और किसी भी बड़े संस्करण को वितरित करने का इरादा नहीं है बढ़ता है, इससे आरंभिक SoC खरीद और लाइसेंसिंग पर पैसे की बचत होगी, लेकिन बाद में XDA के कुछ नाराज लोगों की कीमत पर, जो सोच रहे थे कि उन्हें क्यों नहीं मिला अद्यतन।

अद्यतन जटिल हैं. श्रृंखला में बहुत सारे अलग-अलग लोग शामिल हैं। इनमें से कोई भी एंड्रॉइड पर अपडेट की वर्तमान अभावग्रस्त और दयनीय स्थिति के लिए ओईएम को माफ नहीं करता है। बहरहाल, यहां कुछ वास्तविक चुनौतियाँ हैं।

कई ओईएम अत्यधिक वादे करने के लिए दोषी हैं, और अपरिहार्य अंडर-डिलीवरी जिसे हम अब जोड़ते हैं. दुखद वास्तविकता यह है कि अधिकांश ओईएम के लिए, सॉफ़्टवेयर अपडेट केवल एक परेशानी है जिसके बिना वे काम नहीं कर सकते।

मोबाइल सेक्टर ज्यादातर फीचर फोन की मानसिकता में फंसा हुआ है। यानी जहां किसी डिवाइस को कभी कोई अपडेट नहीं मिलता. एक बार इसका परीक्षण करें, इसे शिप करें और कभी पीछे मुड़कर न देखें। आधुनिक स्मार्टफोन के सुरक्षा मुद्दों और सैकड़ों बाहरी पुस्तकालयों के साथ एक पूर्ण सामान्य प्रयोजन ऑपरेटिंग सिस्टम चलाने की जटिल जटिलता के साथ, यह अब कोई विकल्प नहीं है। या कम से कम यह नहीं करना चाहिए होना। Google ने इसे ठीक करने की दिशा में कुछ कदम उठाए हैं, कम से कम मौजूदा रिलीज़ के लिए सुरक्षा बुलेटिन और पैच प्रकाशित करके एंड्रॉइड का (याद रखें कि हाल तक, सुरक्षा अपडेट प्राप्त करने का एकमात्र तरीका नए प्रमुख एंड्रॉइड ओएस संस्करण के माध्यम से था!)

हालाँकि, अफ़सोस, यह वास्तव में पर्याप्त नहीं है। भले ही Google अपडेट जारी करता रहता है, फिर भी आपके डिवाइस की सुरक्षा SoC निर्माता पर निर्भर है - क्योंकि SoC निर्माता इससे बहुत भयभीत हैं किसी को यह पता चलता है कि वे कुछ एलईडी कैसे चालू करते हैं या स्पीकर के माध्यम से ध्वनि कैसे निकालते हैं, तो वे बड़ी मात्रा में बाइनरी ब्लॉब भेजते हैं उपकरण। इन ब्लॉब्स में कुछ बहुत ही भयानक रूप से असुरक्षित कोड होते हैं (यदि आपको लगता है कि यह अतिशयोक्ति है तो पिछले Google सुरक्षा बुलेटिनों पर एक नज़र डालें!), और इन्हें अद्यतन करने की आवश्यकता है। जिसका मतलब है कि अद्यतन बीएसपी की आवश्यकता है।

डेस्कटॉप कंप्यूटर (और विस्तार से, लैपटॉप) मोबाइल उपकरणों से वास्तुकला में पूरी तरह से अलग हैं। आपका मोबाइल फोन या टैबलेट प्रभावी रूप से सिलिकॉन का एक भारी स्वामित्व वाला टुकड़ा है, जिसे कुछ लोगों द्वारा जल्दबाज़ी में डिज़ाइन किया गया है, जो अच्छे इरादे रखते हैं, लेकिन उनके पास कुछ अच्छा करने के लिए पर्याप्त समय नहीं है। बाज़ार इतनी तेज़ी से आगे बढ़ रहा है कि जिस गति से विपणन नए उत्पादों को लॉन्च करने की मांग कर रहा है, वे मुश्किल से ही उस गति को बनाए रखने में सक्षम हैं।

इसका मतलब है कि शॉर्टकट अपनाए गए हैं - आप अपने फोन को मेनलाइन लिनक्स कर्नेल द्वारा समर्थित नहीं पाएंगे, और आप पाएंगे कि हर फोन में बूट करने का एक अलग तरीका है। हालाँकि, आपके लैपटॉप या डेस्कटॉप पर, विक्रेताओं ने बूट करने के कुछ मानक तरीकों पर समझौता किया है - पहले यह एक BIOS के साथ एमबीआर (मास्टर बूट रिकॉर्ड) था, और अब यह यूईएफआई है। यह मानकीकरण प्रत्येक डिवाइस पर समान सॉफ़्टवेयर चलाना संभव बनाता है।

हालाँकि हाल ही में इस दिशा में कुछ कदम उठाए गए हैं, विशेषकर सोनी के आउटरीच कार्यक्रम और उनके साथ एकीकृत कर्नेल, प्रत्येक डिवाइस में पेश किए गए नए विक्रेता-विशिष्ट हैक्स की भारी संख्या के कारण, अधिकांश फोन पर मेनलाइन कर्नेल चलाना व्यावहारिक नहीं है।

हेडफोन जैक को गलत तरीके से तार दिया? बस इसे ड्राइवरों में हैक करें! प्रोडक्शन डिज़ाइन में इसे ठीक करने का कोई समय नहीं है।

विनिर्माण टीम ने उत्पादन बैच 1 में कैमरा मॉड्यूल को उल्टा लगाया है? आंतरिक संस्करण कोड की जांच करने के लिए एक हैक डालें, और यदि यह संस्करण 1 है तो वीडियो को पलटें!

इस तरह के हैक्स तात्कालिक समस्या का समाधान करते हैं, लेकिन केवल चल रहे अजीब और उत्पाद-विशिष्ट परिवर्तनों की सतह को कुरेदते हैं। हेक, व्यावसायिक निर्णयों के कारण कभी-कभी एक ही फोन के विभिन्न संस्करणों में पूरी तरह से अलग चिप्स भी होते हैं। इससे ड्राइवरों में हैक हो जाती है और अजीब फैसले होते हैं जो उस समय ही समझ में आते थे, ताकि फोन को काम पर रखा जा सके ताकि इसे अगले हफ्ते शिप किया जा सके।

हालांकि यूईएफआई का उपयोग करके बूट करने के लिए 64-बिट एआरएम चिप्स के लिए मेनलाइन समर्थन पर काम चल रहा है, लेकिन अब तक ऐसा नहीं हुआ है एआरएम उपकरणों को बूट करने के अधिक मानकीकृत तरीके की दिशा में कोई स्पष्ट कदम नहीं. और यह दुख की बात है, क्योंकि इसका मतलब है कि फोन उनके खत्म होने से काफी पहले ही फेंके जाते रहेंगे कामकाजी जीवन, क्योंकि उन पर तकनीकी ऋण और बोझ को बनाए रखना बहुत महंगा है सॉफ़्टवेयर।

हालाँकि, दूसरी ओर, यदि कोई ओईएम केवल किसी डिवाइस की बिक्री पर पैसा कमाएगा, तो क्या उन्हें यह सुनिश्चित करने की ज़रूरत नहीं है कि लोग नए फोन खरीदना जारी रखें? क्या पीसी बाज़ार इस मॉडल की ओर बढ़ेगा यदि खुले पीसी प्लेटफ़ॉर्म और मानक का उपयोग करते हुए 30 वर्षों की गति और विरासत सॉफ़्टवेयर पहले से ही उपलब्ध नहीं था?

क्वालकॉम की आंतरिक जानकारी के बिना यह एक कठिन प्रश्न है, जो दुख की बात है कि इस समय हमारे पास नहीं है। हालाँकि, हम 7.0 एंड्रॉइड ड्राइवर एपीआई और सीटीएस आवश्यकताओं से कुछ जानकारी प्राप्त कर सकते हैं। सीटीएस आवश्यकताएँ निर्दिष्ट करती हैं कि Google किसी दिए गए फ़र्मवेयर को चलाने वाले डिवाइस से क्या अपेक्षा करता है। इन आवश्यकताओं को लागू करने के लिए उपयोग किया जाने वाला "बड़ा हथौड़ा" Google द्वारा अपने स्वामित्व वाली Google Play Services बंडल का उपयोग करने का लाइसेंस है - यदि आप अनुपालन नहीं करते हैं, तो आप डिवाइस पर Google Apps शिप नहीं कर सकते. जबकि, कुछ के लिए, यह एक लाभ के रूप में देखा जा सकता है, यह स्पष्ट रूप से वह नहीं है जो उपयोगकर्ता किसी डिवाइस से चाहते और अपेक्षा करते हैं।

एंड्रॉइड 7.0 ने एचएएल या ड्राइवरों में बदलावों के माध्यम से बहुत कुछ नहीं जोड़ा है (जैसा कि ऊपर वर्णित है), इसलिए विशेष रूप से वहां से कोई असंगति आने की संभावना नहीं है। हालाँकि, किसी समस्या के उत्पन्न होने की अधिक संभावना एक का परिचय है वल्कन ग्राफ़िक्स एपीआई या जीएलईएस 3.1 के लिए नई आवश्यकता, सीटीएस पास करने के लिए उपलब्ध होना।

वर्तमान में, बहुत सारे सिस्टम-ऑन-चिप (SoCs) के ग्राफिक्स प्रोसेसर पर Vulkan समर्थन नहीं है, जिसमें MSM8974 भी शामिल है। यह भी सबसे अधिक संभावना है जहां एंड्रॉइड 7.0 के साथ संगतता का मुद्दा उठेगा। हालाँकि, क्वालकॉम की आंतरिक जानकारी और उनकी भविष्य की योजनाओं के बिना, हमारे लिए इसे योग्य बनाए बिना एक निश्चित बयान देना कठिन है। हालाँकि, फिलहाल हमारा मानना ​​है कि यह क्वालकॉम द्वारा समर्थन बंद करने का "सरल" मामला है (उनकी नज़र में) पुराना MSM8974 चिपसेट, और उस प्लेटफ़ॉर्म पर 7.0 के लिए बीएसपी (बोर्ड सपोर्ट पैकेज) प्रदान नहीं करना। यदि ऐसा होता, तो इसका मतलब यह होता कि ओईएम डिवाइस पर 7.0 शिप नहीं करना लगभग तय कर लेते - उन्हें किसी तरह अपने जीपीयू और जीपीयू स्रोत के लिए वल्कन या जीएलई 3.1 समर्थन ढूंढना होगा। कोड मोबाइल स्टैक के हास्यास्पद रूप से कसकर संरक्षित हिस्सों में से एक है (बिना किसी वास्तविक कारण के, हम जोड़ देंगे - एएमडी देखें, डेस्कटॉप पर अपने स्वयं के एएमडीजीपीयू ड्राइवर की सोर्सिंग खोलें) लिनक्स). अफसोस की बात है, हालांकि, वल्कन और त्वरित (जीएलईएस) ग्राफिक्स आम तौर पर एक साधारण एलईडी की तुलना में थोड़ा अधिक जटिल होते हैं, इसलिए यह ऐसा कुछ नहीं है जिसके लिए हम संगतता पेश करने के लिए शिम देखने जा रहे हैं।

चूंकि 7.0 लंबे समय तक जारी नहीं हुआ है, इसलिए अन्य चिपसेट (एओएसपी के भीतर छोटी संख्या के अलावा) के बचे रहने की वास्तविक संभावना है 6.0 पर पीछे, या तो हार्डवेयर और ड्राइवर समस्याओं (यानी कोई अद्यतन बीएसपी नहीं) या वल्कन या जीएलईएस 3.1 के संबंध में एसओसी विक्रेता समर्थन की कमी के कारण एपीआई. वर्तमान में, न तो स्नैपड्रैगन 800 और न ही 801 इनमें से किसी एक का समर्थन करते हैं।

इस स्थान को देखना सबसे अच्छा विकल्प है - XDA पर डेवलपर्स पहले से ही कई डिवाइसों के लिए 7.0 पर अनौपचारिक पोर्ट के साथ अच्छी प्रगति कर रहे हैं जिन्हें Google से आधिकारिक 7.0 समर्थन नहीं मिल रहा है। हालाँकि ये वल्कन या जीएलईएस 3.1 समर्थन के बिना हैं - शायद एंड्रॉइड पर गेम के डेवलपर्स शुरू कर देंगे यदि पर्याप्त उपयोगकर्ता वल्कन या जीएलईएस 3.1 के बिना कस्टम रोम चलाना शुरू कर दें तो विखंडन के माध्यम से निराशा का अनुभव करें सहायता?

Apple अपने iPhone लाइन को नवीनतम iOS संस्करण पर लगभग 5 वर्षों से समर्थन दे रहा है - iPhone 4s को अक्टूबर 2011 में लॉन्च किया गया था, और इसे iOS 9 तक अपडेट रखा गया है। हालाँकि, इसे आगामी iOS 10 अपडेट प्राप्त नहीं होगा, जो कि फ़ोन को 5 साल का प्रभावी जीवनकाल देगा, यह मानते हुए कि iOS 10 अक्टूबर के आसपास लॉन्च किया गया है। यह ध्यान देने योग्य है कि Apple हमेशा ग्राफ़िक्स API समर्थन को बैक-पोर्ट नहीं करता है - iPhone 4s और iPhone 5 ऐसा नहीं करते हैं ऐप्पल के मेटल ग्राफ़िक्स एपीआई की सुविधा है, जो कुछ हद तक एंड्रॉइड के समान परिदृश्य है वल्कन. अंतर केवल इतना है कि ऐप्पल ने नए ग्राफिक्स एपीआई के बिना पुराने उपकरणों का समर्थन जारी रखा।

आप क्या सोचते हैं? क्या आप अपने फ़ोन का जीवनकाल बढ़ाने के लिए उस पर एक कस्टम ROM फ़्लैश करेंगे? क्या आपने नीचे टिप्पणी में कहा है?