تم تقديم مكون برنامج تشغيل مهم آخر لأجهزة Apple Silicon في مجتمع مفتوح المصدر رسميًا للمراجعة: برنامج تشغيل الطاقة Apple SMC (macsmc-power). هدفها هو الكشف الكامل عن مستوى بطارية جهاز MacBook واستهلاك الطاقة وحالة محول الطاقة لمساحة مستخدم Linux، مما يجعل أجهزة كمبيوتر Apple المحمولة التي تعمل بنظام Linux خطوة حاسمة في إدارة الطاقة ومراقبة البطارية.

image.webp

تم تصحيح برنامج التشغيل بواسطة مايكل ريفز ويبلغ حجم الكود حوالي 900 سطر. وهو يستهدف وحدة التحكم في إدارة النظام (SMC) من Apple ويستخدم للإبلاغ عن حالة الشحن وحالة البطارية ومؤشرات الطاقة ذات الصلة لمحول طاقة التيار المتردد في Linux kernel. يعتمد برنامج التشغيل الجديد على رمز برنامج التشغيل الموجود خارج الشجرة الموجود في شجرة Asahi Linux kernel. تمت إعادة هيكلته منذ ذلك الحين لتلبية متطلبات التكامل الرئيسية، كما تم تحسين التوافق مع الإصدارات الجديدة من البرامج الثابتة Apple SMC والأجهزة التي لا تحتوي على بطارية والسيناريوهات الأخرى.

على مستوى التكوين، يتم تمكين برنامج التشغيل الجديد من خلال خيار MACSMC_POWER Kconfig الجديد. مع Apple SMC، يمكن للطبقة العليا قراءة المعلومات الأساسية مثل سعة البطارية والجهد والتيار وحالة الشحن. يتم توفير هذه البيانات خارجيًا من خلال إطار عمل مصدر الطاقة الموجود في Linux، بحيث يمكن التعرف عليها مباشرةً واستخدامها بواسطة أدوات الطاقة الحالية لمساحة مستخدم Linux دون الحاجة إلى تعديل خاص.

يعد وصول هذه الميزة مهمًا بشكل خاص للمستخدمين الذين يرغبون في تقييم الفرق في استهلاك طاقة البطارية بين Apple Silicon MacBook وIntel Core وAMD Ryzen وأجهزة الكمبيوتر المحمولة الأخرى التي تعمل بنظام Linux. كما أنه يوفر إمكانات موثوقة لمراقبة الطاقة للمستخدمين الذين يستخدمون Apple Silicon MacBook كجهاز إنتاجية Linux الرئيسي لديهم بشكل يومي. في الوقت الحاضر، يستهدف برنامج التشغيل هذا بشكل أساسي أجهزة سلسلة Apple M1 وM2 وM3. من المتوقع أن يستغرق الأمر وقتًا طويلاً للحصول على دعم جيد لشرائح الجيل الجديد مثل Apple M4 وM5 في نظام Linux البيئي.

يمكن للمطورين والمستخدمين المهتمين عرض التنفيذ التفصيلي ومراجعة التقدم لبرنامج تشغيل الطاقة Apple SMC هذا من خلال مجموعة تصحيح القائمة البريدية، في انتظار دخوله في النهاية إلى Linux kernel الرئيسي:

https://lore.kernel.org/linux-pm/[البريد الإلكتروني محمي]/