يشرح SultanXDA نهج ROM الموحد على OnePlus 3/3T

لقد تواصلنا مع SultanXDA للاستفسار عن كيفية عمل ROM الموحد والنواة لجهاز OnePlus 3/3T. واصل القراءة كما نكتشف!

مرة أخرى عندما قمنا بتغطية مطور XDA المعترف به سلطانكسدا أطلق سراحه ROM و Kernel CyanogenMod 13 المخصص لجهاز OnePlus 3T، تفاجأ الكثير من الأشخاص برؤية إصدار ROM "نفسه" الذي تم إصداره لجهاز OnePlus 3T يشق طريقه إلى OnePlus 3 (أو العكس!).

اعتمدت شركة Sultanxda النهج الموحد لتوزيع ROM لـ ون بلس 3 و ال ون بلس 3T نظرًا لأجهزتها المتشابهة إلى حد كبير والبرامج ذات المستوى المنخفض. هذا يعني أن ROM يوفر توافقًا متبادلاً بين كلا الجهازين، حيث يمكن توزيع نفس ROM المضغوط على الثنائي. سمحت السحابات المتوافقة للمستخدمين (والمطور أيضًا) بعدم القلق بشأن وميض الرمز البريدي الخطأ عن طريق الخطأ والحصول على جهاز معطل. هذا لا يعني أن جهاز OnePlus 3/3T سهل الاستخدام، فهو ينطوي فقط على قدر أقل من المتاعب بشكل عام لجميع الأطراف المعنية.

لقد تواصلنا مع مطور XDA المعترف به سلطانكسدا لإلقاء المزيد من الضوء على الإجراء برمته، من أجل تشجيع اعتماد طريقته. فيما يلي النقاط الرئيسية من المحادثة مع التركيز الإضافي:

ما هو المختلف في OnePlus 3/3T الذي يسمح بأقراص ROM موحدة؟

السبب وراء إمكانية وجود ROM موحد هو أن OnePlus قام بتوحيد BSP (المكتبات الخاصة) [حزمة دعم اللوحة]. على الرغم من أن توحيد النواة أمر سهل، إلا أن توحيد ROM عادة ما يكون مستحيلًا لمطوري [ROM] بسبب عدم الاتساق في BSP الذي لا يمكن إلا لمصنعي المعدات الأصلية (OEM) معالجته. من ناحيتي، كل ما كان علي فعله هو توحيد النواة وفصل بعض صور البرامج الثابتة لوحدة معالجة الرسومات. تختلف صور البرامج الثابتة لوحدة معالجة الرسومات بين Snapdragon 820 و821، لذا فهي غير متوافقة. لقد قمت بتعديل النواة لجعلها قم بتحميل البرامج الثابتة GPU الصحيحة لكل جهاز لإصلاح هذا. وبعد ذلك وأضاف الصور الثابتة المقابلة إلى ROM في هذا الالتزام. بقية صور البرامج الثابتة الخاصة بالجهاز (مثل صور المودم) موجودة في قسم البرامج الثابتة على كل جهاز، لذلك مشكلة GPU كانت المشكلة الوحيدة المتعلقة بالبرامج الثابتة التي واجهتها.

كيف يكتشف ROM و Kernel أي جهاز هو؟

تعرف النواة الجهاز الذي تعمل عليه بفضل أداة تحميل التشغيل. يقوم برنامج تحميل التشغيل بتحديد تكوين شجرة الجهاز (المعبأ في صورة kernel) الذي يطابق معرف اللوحة الخاص به ويمرر هذا التكوين على النواة وهذا يمنح النواة المرونة لتحميل التكوينات المناسبة لكل من OnePlus 3 و ون بلس 3T. يمكنك العثور على معرف اللوحة الخاص بـ ون بلس 3 و ال ون بلس 3T عن طريق اتباع الارتباطات التشعبية.

هل تحتاج فقط إلى نواة معدلة لدعم البنيات الموحدة؟

لا، يجب أن يكون ROM موحدًا أيضًا. قام OnePlus بتوحيد BSP بدءًا من الإصدار التجريبي المفتوح لـ OP3، وحافظ عليه موحدًا في إصدار OP3T OxygenOS الرسمي. هذا يعني أن ROM يجب أن تستخدم مكتبات خاصة من إصدارات Open Beta الخاصة بـ OP3 أو إصدار OxygenOS الرسمي لـ OP3T حتى يتم توحيدها. هناك أيضًا متطلبات صورة البرنامج الثابت لوحدة معالجة الرسومات التي وصفتها أعلاه، وشاشة اللمس الخاصة بـ OP3T يجب تضمين البرامج الثابتة في ذاكرة القراءة فقط (تمت إضافة هذا في التزام البرامج الثابتة لوحدة معالجة الرسومات التي قمت بالربط بها فوق).

هناك أيضًا تحذير بشأن النواة الموحدة: يجب على المطورين إما استخدام النواة الخاصة بي (الموحدة بالفعل)، أو يجب عليهم إضافة دعم OP3 إلى نواة OxygenOS الخاصة بـ OP3T. لا يمكن ببساطة إضافة دعم OP3T إلى نواة OP3 بسبب الدعم غير الكامل لـ Snapdragon 821، لذلك قد يتطلب التوحيد الكثير من العمل من مطوري OP3 الراغبين. حصلت النواة الخاصة بي بالفعل على دعم كامل لـ Snapdragon 821 عندما تلقيت OP3T (نظرًا لأن النواة الخاصة بي تعتمد على فرع Snapdragon 821 من CAF)، لذا كانت عملية التوحيد غير مؤلمة إلى حد ما بالنسبة لي.

أنا متأكد من أن الكثير من المطورين يفضلون استخدام نواة OxygenOS الخاصة بـ OP3T بدلاً من النواة الخاصة بي، الأمر الذي يتطلب إضافة دعم لـ OP3 إليها. لم أفكر في إنشاء نواة موحدة لذاكرة OxygenOS ROM، لذلك قد تكون هناك حاجة إلى عمل إضافي لتحقيق ذلك.

هل يمكن للمطورين الآخرين إلقاء نظرة على الكود ومعرفة كيف يتم ذلك؟

نعم. يذكر سلطانكسدا أن جميع أعماله متاحة للجمهور على موقعه حساب جيثب، لذلك يمكن لأي شخص لديه المعرفة المطلوبة أن يرى كيف تم توحيد ROM. من المؤكد أن الإجراء معقد بعض الشيء ويتطلب مستوى من الخبرة، ولكن إنها عملية ضبط ونسيان إلى حد كبير مع فوائد تنشأ في شكل صيانة أقل، وتقليل ازدواجية العمل، وتعزيز الشعور بالثقة بأن الأشخاص لن يخلطوا بين ملفات الجهازين حيث يعمل ملف مضغوط واحد فقط لكليهما. بمجرد توحيد ذاكرة القراءة فقط (ROM) أو النواة والتأكد من أنها تعمل بكامل طاقتها على كل من OnePlus 3 وOnePlus 3T، لن يتطلب الأمر سوى القليل من العمل الإضافي.


نأمل أن نسلط الضوء على معلومات جديدة من شأنها أن تساعد المزيد من المطورين على اختيار تصميمات موحدة للأجهزة. يتزايد التطوير على OnePlus 3Tوالبنيات الموحدة هي المستقبل لكلا الجهازين من الآن فصاعدا.