في هذه المقالة نستكشف حقيقة سبب عدم حصول أجهزة Snapdragon 801 على Android Nougat. من صانعي الشرائح إلى البائعين، المشكلات كثيرة!
تم التحديث ليعكس متطلبات Vulkan أو OpenGL ES 3.1 لنظام Android 7.0
في الآونة الأخيرة، تمت كتابة الكثير من المقالات حول تحديثات الإصدار، والتفاعلات بين البائع وصانع الشرائح، وما يعنيه ذلك بالنسبة للأجهزة في المستقبل. لماذا ارتفع هذا الرقم هذا الأسبوع؟
حسنًا، لقد ظهر هذا الأسبوع نظرًا لأن جهاز Nexus 5 الموقر لن يتلقى التحديث إلى Android 7.0 (Nougat)، وأعلنت شركة Qualcomm أنها لن تحصل عليه تقديم الدعم لـ MSM8974 (المعروف أكثر باسم Snapdragon 801) على الإصدار 7.0. تمت كتابة هذه المقالة بالتعاون مع XDA Recognized مطور نحلة طنانة.
لقد اجتذب الموضوع قدرًا لا بأس به من الاهتمام من مختلف المواقع الإخبارية، ولكن يفتقد الكثيرون الفروق الدقيقة لما يحدث بالفعل خلف الكواليسس. ستشرح هذه المقالة المزيد حول كيفية عمل تحديثات البرامج، وذلك باستخدام خبرتنا في العمل مع مصنعي المعدات الأصلية على تحديثات البرامج الثابتة الرسمية الخاصة بهم. سنطلعك على ما يحدث خلف الكواليس (ولماذا)، ولماذا قد لا ينتهي بك الأمر إلى الحصول على أحدث البرامج على هاتفك.
الخطوة الأولى في تحديث البرنامج الثابت لنظام Android هي التحديث الأولي. وهذا ما تعمل عليه جوجل داخليًا. على النقيض من "سير العمل المفتوح"، يتم تطوير Android باستخدام سير عمل مغلق، مع طرح كود المصدر على الحائط كل عام أو نحو ذلك، عند صدور إصدار جديد. في الأصل، قالت جوجل إن هذا يهدف إلى منع التجزئة من الأشخاص الذين يستخدمون إصدارات متطورة بينما كانت الأمور تتطور بسرعة في الأيام الأولى، لكن يبدو أنهم أبقوا على هذه السياسة مكان.
في وقت ما، عادةً قبل الإعلان العام عن التحديث (على الرغم من أن هذه الجداول الزمنية تتغير مع طرح الإصدارات التجريبية العامة مؤخرًا)، سيتم إعلام مصنعي المعدات الأصلية بالتحديث القادم. وسيتلقون بعد ذلك الكود المصدري في نقطة زمنية ثانية للتحديث النهائي (في الماضي، كان ذلك كذلك في بعض الأحيان قبل وقت قصير من الإطلاق، على الرغم من أننا على علم أيضًا بالحالات التي لا يكون فيها الإطلاق مبكرًا يطلق).
تحتوي مستودعات AOSP الأولية على دعم الأجهزة لعدد محدود فقط من الأجهزة. هذه هي عادةً أجهزة Nexus الخاصة بك. ولكن لأسباب ستتضح قريبًا، من المهم ملاحظة أن Google لا تملك تحكمًا كاملاً في الأجهزة على هذه الأجهزة؛ يتم تصنيع الأجهزة بواسطة إحدى الشركات المصنّعة للمعدات الأصلية (OEM)، وستقوم الشركة المصنعة الأصلية بشراء System-on-Chip (SoC) من إحدى الشركات المصنعة للشرائح.
بمجرد إصدار الكود المصدري، سوف يجلس فريق البرامج الثابتة الخاص بشركة OEM (مجازيًا) ويضع أقدامه على قدميه. لا تحتوي شجرة مصدر Android الرئيسية على دعم الأجهزة لعدد لا يحصى من الشرائح المستخدمة في أجهزة الشحن. على الأرجح أن مجموعة شرائح Qualcomm غير مدعومة ضمن AOSP، على سبيل المثال. من المؤكد أن Exynos الخاص بك ليس كذلك. Mediatek أو HiSilicon؟ انسى ذلك!
يحتوي BSP على برامج التشغيل وطبقات تجريد الأجهزة (HALs) اللازمة لتشغيل Android
المطلوب الآن هو أ حزمة دعم مجلس الإدارة (BSP). هذه حزمة فائقة السرية من المكونات الخاصة، يتم تسليمها بواسطة صانع الشرائح إلى الشركة المصنعة للمعدات الأصلية (OEM). يحتوي BSP على كود المصدر الضروري للسماح لمصنعي المعدات الأصلية ببناء Android وبرامج التشغيل الضرورية لأجهزتهم.
تجدر الإشارة هنا إلى أن مصنعي المعدات الأصلية مثل Qualcomm لا يثقون بالضرورة بشكل كامل بشركائهم في تصنيع المعدات الأصلية - حيث يتم توفير BSP على أساس "الحاجة إلى المعرفة". لا يتمكن مصنعو المعدات الأصلية عادةً من الوصول إلى الكود المصدري لبعض الأجزاء فائقة السرية بالجهاز (مثل البرنامج الذي يعمل على النطاق الأساسي). من المؤكد أن إغلاق هذا الجزء ينطوي أيضًا على مشكلات محتملة، كما هو موضح من خلال القريب غزير و يتكرر ASN.1 تحليل نقاط الضعف.
يحتوي BSP على برامج التشغيل وطبقات تجريد الأجهزة (HALs) اللازمة لتشغيل Android على جهازك. يحتوي AOSP على مجموعة من HALs، والتي تعمل بمثابة تعريفات لما يتوقع نظام التشغيل من برامج التشغيل الخاصة بك تنفيذه. لاستخدام مثال مبسط بشكل يبعث على السخرية (ومختلق لغرض العرض التوضيحي)، دعنا نتخيل المصباح اليدوي الموجود على هاتفك.
مثال HAL - مصباحك اليدوي
لنتخيل أن جهازك يحتوي على مصباح يدوي في الخلف (إذا كان لديك جهاز Nexus 7 2013، فستحتاج إلى إجراء المزيد من التخيل أكثر من أي شخص آخر -- آسف!). يتم التحكم في هذا من قبل السائق. بالنسبة لمثالنا البسيط للغاية، لنفترض أن v1 HAL يقول أنه يجب أن يكون لديك وظيفة واحدة تسمى "setLED" تأخذ معلمة واحدة، وهي حالة الضوء. إنها منطقية - صواب أو خطأ. في لغة C، سيبدو هذا كما يلي:
void setLED(bool ledState) {
// here is the actual code to turn on or off the LED, based on ledState
}
يتم تعريف هذه الوظيفة ضمن كود مصدر BSP. يتم بعد ذلك تجميع BSP بواسطة OEM أثناء إنشاء ROM، ويصبح هذا أحد مكتبات ".so" الخاصة الموجودة على قسم البائع أو منطقة جهازك. يتيح ذلك لمصنعي المعدات الأصلية (OEM) الاحتفاظ بسرية أجزاء معينة من طريقة عمل أجهزتهم. في الوقت الحالي، لنفترض أنهم يريدون منع الجميع من رؤية كيفية تشغيل وإيقاف تشغيل مؤشر LED هذا.
تخيل الآن أن Google أصدرت إصدارًا محدثًا من HALs الخاصة بها في إصدار مستقبلي من Android. لقد قرروا الآن أنه سيكون من الجيد السماح لك بتحديث سطوع مؤشر LED الخاص بك، بدلاً من مجرد تشغيله أو إيقاف تشغيله. ربما يكون هذا من أجل الفلاش التكيفي، أو ربما يكون فقط لفرض تحديث HAL، والحفاظ على صانعي الشرائح في العمل؟ وسنسمح لك، أيها القارئ، بالتوصل إلى رأيك الخاص في هذا الشأن. بعض تحديثات HAL لها فائدة واضحة (مثل كاميرا HAL الجديدة التي تعرض التصوير الأولي وما شابه ذلك)، في حين أن البعض الآخر أقل وضوحًا إلى حد ما في الغرض.
باستخدام HAL الجديد (الخيالي) للسطوع، لنفترض أن Google تقول أنك بحاجة إلى الكشف مرة أخرى عن وظيفة تسمى setLED، ولكن هذه المرة مع عدد صحيح تم تمريره للسطوع. الآن، 0 سيطفئه، و255 سيشغله بالكامل.
إذا كنت الشركة المصنعة للمعدات الأصلية، فيمكنك أخذ الرمز السري للغاية الخاص بك لتشغيل مؤشر LED هذا ووضعه في هذه الوظيفة الجديدة. يمكنك أيضًا استخدام تعديل عرض النبضة لضبط سطوع مؤشر LED بناءً على الرقم. قمت بتغيير الدالة لتظهر هكذا الآن:
void setLED(uint8_t ledBrightness) {
// some super-secret and ultra-confidential proprietary way to set LED brightness
}
وماذا في ذلك؟ حسنًا، الآن هذا الإصدار الجديد من Android غير متوافق مع "blobs" الموجودة. يحتاج OEM الخاص بك إلى استخدام هذه النقط الجديدة، لأن نظام التشغيل Android يتوقع رؤية تعريف الوظيفة الجديد، ولن "يجد" التعريف القديم عندما يبحث عن طريقة لضبط مؤشر LED.
في هذه المرحلة، لنأخذ استراحة قصيرة لننظر إلى كيفية إدارة ذاكرة القراءة فقط المخصصة (المبنية من المصدر) هنا. هذا هو ما سوف يصرخ به الأذكياء بينكم على شاشتكم الآن - ففي نهاية المطاف، نحن XDA، موطن اتش تي سي اتش دي 2أطول هاتف في العالم عمراً.. (فقط للعلم، العباقرة المجانين هناك يركضون Android 6.0 على HD2 هذه الأيام! ليس سيئًا بالنسبة لهاتف تم شحنه في الأصل بنظام Windows Mobile 6.5 في عام 2009)
هناك طرق مختلفة يتم اتباعها هنا - في بعض الأحيان يقوم المطورون بالاختراق داخل ذاكرة القراءة فقط (ROM) وإخبار نظام التشغيل باستخدام تعريفات الوظائف القديمة. هذا أمر فوضوي بعض الشيء، ويجري الكثير من التغييرات للحفاظ عليه. الأسلوب الآخر هو "مسح" ثنائي OEM.
يتمثل أسلوب "المسح" في كتابة وإنشاء مكتبة جديدة صغيرة بنفسك، والتي تحتوي على تعريف الوظيفة المتوقعة - على سبيل المثال، سندعم العدد الصحيح للسطوع. ثم، داخل الرقائق، تتم ترجمة هذا لتلبية متطلبات HAL القديمة. لذا، في مثالنا، ربما نقول إن أي سطوع مطلوب أعلى من 128 سيعمل على تشغيل مؤشر LED، وأي شيء أقل من ذلك سيؤدي إلى إيقاف تشغيله. أو يمكنك أن تقول أن أي شيء غير الصفر سيعمل على تشغيله. الأمر متروك للمطور. يقومون بتجميع الرقاقة، ويجعلون Android يستخدمها بدلاً من النسخة الأصلية. تقوم الرقائق بعد ذلك باستدعاء النقطة OEM.
من المفترض أن تؤدي عملية "دفع adb" وإعادة التشغيل السريع إلى تشغيل الرقائق، وتتيح لك التحكم في مؤشر LED الخيالي، على الرغم من أنك لا تملك سوى HAL القديم.
المشكلة هي أن هذه عملية غير كاملة بشكل واضح. ستحصل الآن على بعض المراوغات - سيحتوي هذا الجهاز على وميض رديء إلى حد ما، والذي يكون إما قيد التشغيل بالكامل أو متوقفًا تمامًا. هذا ليس مثاليًا - يعتقد نظام التشغيل أنه يصدر ضوءًا لطيفًا للغاية، ولكن يتم إخبار مؤشر LED الفعلي بأنه يتنافس في مسابقة شمس اصطناعية، ويحاول أن يعميك. ولكن مهلا، الحياة ليست مثالية، ولديك الآن مصباح LED يعمل على هاتفك القديم!
(نعم، هذا هو أحد أسباب وجود المراوغات والأخطاء عندما يدير مستخدمو ومطورو XDA أعمالهم المجنونة والمجنونة في نقل البراعة. أعني هيك، ال جالاكسي اس الثاني هو حمل ما يبدو صالحًا للاستخدام أندرويد 6.0 ROM الآن. لا تزال الكثير من الهواتف التي تم إصدارها العام الماضي لا تحتوي على الإصدار 6.0!)
دعنا نعود إلى منظور الشركة المصنعة للمعدات الأصلية. للأسف، تعمل معظم الشركات المصنعة للمعدات الأصلية بالفعل على هاتف واحد على الأقل قبل ما نحن فيه الآن. ينصب تركيزهم على الهاتف التالي الذي هم على وشك بيعه - لا يمكنك إلقاء اللوم عليهم حقًا، لأنهم يكسبون المال فقط من الأجهزة التي يبيعونها. إنهم لا يكسبون أي أموال من الأجهزة التي باعوها قبل عام أو عامين، لذا يتعين عليهم الاستمرار في إصدار أجهزة جديدة حتى يتمكنوا من البقاء. وهذا هو أحد الأسباب التي تجعل شركتي HTC وBlackberry في ورطة - لا يهم عدد المديرين التنفيذيين الذين يحتفظون بقبضة الموت على هاتف Blackberry Curve القديم، حيث أنهم لا يحصلون على بيع جهاز جديد هناك.
إذا لم تحصل الشركة المصنعة الأصلية على BSP، فلن تتبع نهج XDA المتمثل في اختراق البنية معًا. لماذا؟ حسنًا، إنهم بحاجة إلى دعم هذه البرامج الثابتة لعملائهم. إذا أطلقوا برنامجًا ثابتًا لا يعمل نصفه، فسوف يكرههم المستخدمون، ويتحدثون ويهتفون، ويستمرون في رنين خطوط الدعم الخاصة بهم لعدة أيام.
يتعين على مصنعي المعدات الأصلية أيضًا التعامل مع شركات النقلعلى الأقل في الأسواق غير الأوروبية. لا ترغب شركات النقل في أن يواجه العملاء مشكلات تتعلق بتحديثات البرامج. في الواقع، غالبًا ما تفضل شركات الاتصالات عدم إصدار تحديثات البرامج.
لفهم هذا، تخيل عمتك العظيمة أليس. إنها الشخص الذي يتصل بك هاتفيًا في أوقات غير مناسبة من اليوم لطلب المساعدة بشأن "هذا الشيء الخاص بالكمبيوتر". ثم تصف كيفية النقر على "قائمة ابدأ"، ويتعين عليك تعريفها على أنها "العلم الكبير الموجود في الزاوية اليسرى السفلية"، وتواجهك حالة من الارتباك. بعد حوالي 45 دقيقة (والكثير من الإحباط)، اتضح أن العمة أليس قد سحبت قائمة البداية الخاصة بها إلى حافة الشاشة اليمنى، وكان عليها ببساطة سحبها مرة أخرى. نعم، مع زر الفأرة الأيسر!
الآن تخيل أن لديك ألف عمة أليس. إنهم جميعًا يتصلون بدعم العملاء لديك، ولكنهم غير قادرين على العثور على Candy Crush على هواتفهم، ويشعرون بالقلق من قيام أحد المتسللين بحذفها من هواتفهم. أوه، والأيقونات تبدو مختلفة بعض الشيء الآن - ربما لا يزال المتسلل موجودًا في هواتفهم؟
نعم، من المفترض أن يكون هذا قليلًا من الفكاهة الخفيفة، ولكن حتى تتعرف على الأسباب التي تجعل الأشخاص يتصلون بمشغل شبكة الجوال للحصول على الدعم، فلن تصدق المشكلات التي يواجهونها. سيؤدي تحديث البرنامج الذي يغير كيفية عمل الهاتف أو مكان وجود الأشياء إلى زيادة كبيرة في تكاليف الدعم. على الأقل، يتطلب الأمر إعادة تدريب موظفي الدعم (لأن معظمهم ليسوا من قراء XDA المتحمسين، للأسف).
بمجرد حصول OEM على BSP، سيقومون بنقل ذاكرة القراءة فقط الخاصة بهم وتطبيق جميع التغييرات على ذاكرة القراءة فقط. سوف يكدسون أدواتهم الكبيرة ويضيفون مظهرًا كارتونيًا مروعًا يبدو أكثر في المنزل في الرسوم المتحركة للمراهق. ثم سيختبرونه.
كثيراً.
هناك جميع أنواع المتطلبات التي يجب أن يلتزم بها هاتفك. تم تصميم شبكات الهاتف المحمول بحيث تثق في أجهزة المستخدم (ما نسميه الهاتف) لكي تعمل بشكل صحيح. وهذا يعني أن هناك الكثير من الاختبارات اللازمة للحصول على الموافقة على الجهاز. تخاطر تحديثات البرامج بتغيير السلوكيات، لذا يجب اختبار الأمور مرة أخرى. ولهذا السبب، عادةً ما ترى معلومات حول تحديثات برامج Sony القادمة من خدمات الاختبار الخارجية، والتي تؤكد توافق البرامج الثابتة مع متطلبات الاختبار.
الآن... ماذا يحدث بعد التحديث أو التحديثين (أو في بعض الحالات، لا شيء)؟ لن يمنح صانع SoC الشركة المصنعة OEM BSP محدثًا. بعد كل شيء، لن يحصل صانع SoC على الكثير من هذا. لم تعد الشركة المصنّعة للمعدات الأصلية (OEM) تحقق أي أموال إضافية على هاتفك منذ بيعه. وفي هذه المرحلة، لن يحصل هاتفك على أي تحديثات رئيسية أخرى للإصدار.
يعد تقليص عدد مزودي خدمات الأعمال (BSPs) الذين ترغب الشركة المصنعة الأصلية في تسليمها طريقة رائعة لتوفير المال - إذا كنت تحتاج فقط إلى الإصدار الحالي، ولا تنوي تقديم أي إصدار رئيسي سيوفر هذا المال عند شراء وترخيص SoC الأولي، ولكن على حساب عدد قليل من المهووسين الغاضبين في XDA، الذين يتساءلون لماذا لم يحصلوا على تحديث.
التحديثات معقدة. هناك الكثير من الأشخاص المختلفين المشاركين في السلسلة. لا شيء من هذا يعفي مصنعي المعدات الأصلية من الحالة الحالية المتدهورة والمثيرة للشفقة للتحديثات على Android. ومع ذلك، هناك بعض التحديات الحقيقية هنا.
يقع اللوم على العديد من مصنعي المعدات الأصلية بسبب الإفراط في الوعود، و لا مفر منه في التسليم الذي نربطه الآن. الحقيقة المحزنة هي أنه بالنسبة لمعظم مصنعي المعدات الأصلية، تعد تحديثات البرامج مجرد مصدر إزعاج يمكنهم الاستغناء عنه.
قطاع الهاتف المحمول عالق في الغالب في عقلية الهواتف المميزة. أي أن الجهاز لا يحصل على أي تحديثات أبدًا. اختبره مرة واحدة، واشحنه، ولا تنظر إلى الوراء أبدًا. مع المشكلات الأمنية للهواتف الذكية الحديثة، والتعقيد الهائل لتشغيل نظام تشغيل كامل للأغراض العامة، مع مئات المكتبات الخارجية، لم يعد هذا خيارًا. أو على الأقل ذلك لا ينبغي يكون. اتخذت Google بعض الخطوات نحو إصلاح هذه المشكلة، وذلك على الأقل من خلال نشر النشرات الأمنية والتصحيحات للإصدارات الحالية لنظام التشغيل Android (تذكر أنه حتى وقت قريب جدًا، كانت الطريقة الوحيدة للحصول على التحديثات الأمنية هي عبر إصدار رئيسي جديد لنظام التشغيل Android!)
لكن للأسف، هذا ليس كافيًا حقًا. على الرغم من استمرار Google في إصدار التحديثات، فإن أمان جهازك لا يزال يعتمد على صانع SoC - نظرًا لأن صانعي SoC يشعرون بالخوف الشديد منها يكتشف شخص ما كيفية تشغيل اثنين من مصابيح LED أو إصدار صوت من خلال مكبر الصوت، ويقوم بشحن كميات هائلة من النقط الثنائية على جهازه الأجهزة. تحتوي هذه النقط على بعض التعليمات البرمجية غير الآمنة إلى حد كبير (ما عليك سوى إلقاء نظرة على نشرات Google الأمنية السابقة إذا كنت تعتقد أن هذا مبالغة!)، وتحتاج إلى التحديث. مما يعني أن هناك حاجة إلى BSPs المحدثة.
تختلف أجهزة الكمبيوتر المكتبية (وبالتالي أجهزة الكمبيوتر المحمولة) تمامًا من حيث البنية عن الأجهزة المحمولة. إن هاتفك المحمول أو جهازك اللوحي عبارة عن كتلة من السيليكون مملوكة بشكل كبير، تم تصميمها على عجل من قبل بعض الأشخاص ذوي النوايا الحسنة، ولكن ليس لديهم ما يكفي من الوقت لصنع شيء جيد. يتحرك السوق بسرعة كبيرة لدرجة أنهم بالكاد يتمكنون من مواكبة الوتيرة التي يطالب بها التسويق بإطلاق منتجات جديدة.
وهذا يعني أنه تم استخدام الاختصارات - فلن تجد هاتفك مدعومًا بنواة Linux الرئيسية، وستجد أن كل هاتف لديه طريقة مختلفة للتشغيل. ومع ذلك، على الكمبيوتر المحمول أو سطح المكتب، استقر البائعون على بعض الطرق القياسية للتشغيل - في السابق كان MBR (سجل التمهيد الرئيسي) مع BIOS، والآن أصبح UEFI. يتيح هذا التوحيد إمكانية تشغيل نفس البرنامج على كل جهاز.
على الرغم من أنه تم اتخاذ بعض الخطوات نحو ذلك مؤخرًا، خاصة مع برنامج التوعية الخاص بشركة Sony وبرنامجها نواة موحدة، ليس من العملي تشغيل نواة رئيسية على معظم الهواتف، نظرًا للعدد الهائل من الاختراقات الجديدة الخاصة بالبائعين والتي يتم تقديمها لكل جهاز.
هل قمت بتوصيل مقبس سماعة الرأس بطريقة خاطئة؟ مجرد اختراقها في برامج التشغيل! ليس هناك وقت لإصلاحه في تصميم الإنتاج.
قام فريق التصنيع بتركيب وحدة الكاميرا رأسًا على عقب في دفعة الإنتاج 1؟ قم بإجراء اختراق للتحقق من رمز الإصدار الداخلي، وقم بقلب الفيديو إذا كان الإصدار 1!
تحل مثل هذه الاختراقات المشكلة المباشرة، ولكنها تزيل فقط سطح التغييرات الغريبة والخاصة بالمنتج الجارية. تبا، هناك في بعض الأحيان شرائح مختلفة تمامًا في إصدارات مختلفة من نفس الهاتف، وذلك بسبب القرارات التجارية. أدى ذلك إلى اختراق برامج التشغيل واتخاذ قرارات غريبة لم تكن منطقية في ذلك الوقت، وذلك لتشغيل الهاتف حتى يمكن شحنه في الأسبوع التالي.
على الرغم من أن العمل مستمر لتقديم الدعم الرئيسي لشرائح ARM 64 بت للتمهيد باستخدام UEFI، إلا أن هناك حتى الآن لا توجد حركة واضحة نحو طريقة أكثر توحيدًا لتشغيل أجهزة ARM. وهذا أمر محزن، لأنه يعني أن الهواتف ستستمر في التخلص منها قبل انتهاء فترة صلاحيتها بوقت طويل الحياة العملية، لأنه ببساطة مكلف للغاية للحفاظ على الدين الفني والعبء الواقع على عاتقهم برمجة.
من ناحية أخرى، إذا كانت الشركة المصنعة للمعدات الأصلية (OEM) ستجني المال فقط من بيع الجهاز، ألا تحتاج إلى ضمان استمرار الأشخاص في شراء هواتف جديدة؟ هل سينتقل سوق أجهزة الكمبيوتر الشخصية إلى هذا النموذج إذا لم يكن هناك 30 عامًا من الزخم والبرامج القديمة الموجودة بالفعل باستخدام منصة الكمبيوتر الشخصي المفتوحة والمعايير؟
هذا سؤال صعب بدون معرفة داخلية من شركة كوالكوم، والتي للأسف لا نملكها في الوقت الحالي. ومع ذلك، يمكننا استخلاص بعض المعلومات من واجهة برمجة تطبيقات Android 7.0 ومتطلبات CTS. تحدد متطلبات CTS ما تتوقعه Google من جهاز يقوم بتشغيل برنامج ثابت معين. "المطرقة الكبيرة" المستخدمة لفرض هذه المتطلبات هي ترخيص Google لاستخدام حزمة خدمات Google Play الخاصة بها - إذا لم تمتثل، فلن تتمكن من شحن Google Apps على الجهاز. في حين أن هذا بالنسبة للبعض قد ينظر إليها على أنها ميزةفمن الواضح أن هذا ليس ما يريده المستخدمون ويتوقعونه من الجهاز.
لم يقم Android 7.0 بإضافة الكثير من التغييرات على HAL أو برامج التشغيل (كما هو موضح أعلاه)، لذلك من غير المرجح أن يأتي أي عدم توافق من هناك على وجه التحديد. لكن ما يحتمل أن يثير مشكلة هو إدخال أ متطلبات جديدة إما لواجهة برمجة تطبيقات الرسومات Vulkan، أو GLES 3.1، لتكون متاحة من أجل اجتياز CTS.
في الوقت الحاضر، لم تحصل الكثير من الأنظمة على الرقاقة (SoCs) على دعم Vulkan على معالج الرسومات الخاص بها، بما في ذلك MSM8974. وهذا أيضًا على الأرجح هو المكان الذي ستنشأ فيه مشكلة التوافق مع Android 7.0. مرة أخرى، بدون معرفة داخلية من Qualcomm وخططها المستقبلية، من الصعب علينا تقديم بيان نهائي دون التأهل له. ومع ذلك، في الوقت الحالي، نعتقد أنه من المحتمل أن تكون هذه هي الحالة "البسيطة" لتوقف شركة كوالكوم عن دعمها مجموعة شرائح MSM8974 القديمة (في نظرهم)، وعدم توفير BSP (حزمة دعم اللوحة) لـ 7.0 على هذا النظام الأساسي. إذا كان الأمر كذلك، فهذا يعني أنه من المؤكد تقريبًا أن مصنعي المعدات الأصلية لن يشحنوا الإصدار 7.0 على الجهاز - وسيتعين عليهم بطريقة ما العثور على دعم Vulkan أو GLEs 3.1 لوحدة معالجة الرسومات الخاصة بهم ومصدر وحدة معالجة الرسومات. الكود هو أحد الأجزاء الخاضعة لحراسة مشددة بشكل يبعث على السخرية في مجموعات الأجهزة المحمولة (بدون سبب حقيقي، سنضيف - راجع AMD، فتح المصدر لبرنامج تشغيل AMDGPU الخاص بها على سطح المكتب لـ لينكس). ومع ذلك، للأسف، تعد رسومات Vulkan ورسومات (GLES) المتسارعة بشكل عام أكثر تعقيدًا قليلاً من مصابيح LED البسيطة، لذا فإن هذا ليس شيئًا سنرى حشوات لتقديم التوافق معه.
نظرًا لأن الإصدار 7.0 لم يتم إصداره لفترة طويلة، فهناك احتمال حقيقي لترك شرائح أخرى (بخلاف العدد الصغير داخل AOSP نفسه) متخلف عن الإصدار 6.0، إما بسبب مشكلات في الأجهزة وبرامج التشغيل (أي عدم وجود BSP محدث) أو نقص دعم موردي SoC فيما يتعلق بـ Vulkan أو GLES 3.1 واجهة برمجة التطبيقات. في الوقت الحاضر، لا يدعم Snapdragon 800 أو 801 أيًا منهما.
أفضل رهان هو مشاهدة هذه المساحة - يحقق مطورو XDA بالفعل تقدمًا جيدًا مع المنافذ غير الرسمية إلى 7.0 للعديد من الأجهزة التي لا تحصل على دعم رسمي للإصدار 7.0 من Google. هذه بدون دعم Vulkan أو GLES 3.1 - ربما سيبدأ مطورو الألعاب على Android في ذلك تجربة الإحباط من خلال التجزئة إذا بدأ عدد كافٍ من المستخدمين في تشغيل أقراص ROM مخصصة بدون Vulkan أو GLES 3.1 يدعم؟
تميل شركة Apple إلى دعم خط iPhone الخاص بها على أحدث إصدار من iOS لمدة 5 سنوات تقريبًا - تم إطلاق iPhone 4s في أكتوبر 2011، وتم تحديثه حتى iOS 9. ومع ذلك، لن يتلقى تحديث iOS 10 القادم، والذي من شأنه أن يمنح الهاتف عمرًا فعليًا يصل إلى 5 سنوات، على افتراض إطلاق iOS 10 في شهر أكتوبر تقريبًا. تجدر الإشارة إلى أن شركة Apple لا تدعم دائمًا دعم واجهة برمجة التطبيقات للرسومات - ولا يقوم iPhone 4s وiPhone 5 بذلك تتميز بواجهة برمجة التطبيقات للرسومات المعدنية من Apple، وهو سيناريو مشابه إلى حد ما لذلك الذي شوهد مع Android في فولكان. والفرق الوحيد هو أن Apple استمرت في دعم الأجهزة القديمة بدون واجهة برمجة التطبيقات الرسومية الجديدة.
ماذا تعتقد؟ هل ستقوم بتفليش ROM مخصص على هاتفك لإطالة عمره؟ هل قلت في التعليقات أدناه.