تم تقديم KWinFT، وهو فرع من KWin يركز على Wayland

رومان جيلج, مشاركة في تطوير KDE، Wayland، Xwayland وX Server، المقدمة مشروع KWinFT (KWin Fast Track)، تطوير مدير نوافذ مركب مرن وسهل الاستخدام لـ Wayland وX11 استنادًا إلى قاعدة التعليمات البرمجية. كوين. بالإضافة إلى مدير النوافذ، يقوم المشروع أيضًا بتطوير مكتبة أرض ملتفة مع تنفيذ الربط عبر libwayland لـ Qt/C++، التطوير المستمر كوايلاند، ولكن تم تحريرها من الارتباط بـ Qt. يتم توزيع الكود بموجب تراخيص GPLv2 وLGPLv2.

الهدف من المشروع هو إعادة تدوير KWin وKWayland باستخدام
التقنيات الحديثة وممارسات التطوير التي تسمح لك بتسريع تطوير المشروع وإعادة بناء الكود وإضافة التحسينات وتبسيط إضافة الابتكارات الأساسية، والتي يصعب دمجها في KWin في شكله الحالي. يمكن استخدام KWinFT وWrapland لاستبدال KWin وKWayland بسلاسة، لكنهما لا يقتصران على قفل KWin للعديد من المنتجات حيث يعد الحفاظ على التوافق الكامل أولوية تمنع الابتكار من المضي قدمًا.

مع KWinFT، يتمتع المطورون بحرية تجربة الميزات الجديدة مع الحفاظ على الاستقرار من خلال استخدام تقنيات التطوير الأكثر حداثة. على سبيل المثال، للتحقق من كود KWinFT، يتم استخدام نظام التكامل المستمر، بما في ذلك التحقق باستخدام أجهزة فحص مختلفة، والتوليد التلقائي للتجميعات والاختبارات الشاملة. فيما يتعلق بتطوير الوظائف، سيكون التركيز الرئيسي لـ KWinFT هو توفير دعم بروتوكول عالي الجودة وكامل
Wayland، بما في ذلك إعادة صياغة ميزات KWin المعمارية التي تزيد من تعقيد التكامل مع Wayland.

من بين الابتكارات التجريبية التي تمت إضافتها بالفعل إلى KWinFT:

  • تمت إعادة صياغة عملية التركيب، مما أدى إلى تحسين كبير في عرض المحتوى الذي يعمل بنظام X11 وWayland. بالإضافة إلى ذلك، تمت إضافة مؤقت لتقليل التأخير بين إنشاء الصورة وعرضها على الشاشة.
  • تم تنفيذ امتداد لبروتوكول Wayland "viewporter"، مما يسمح للعميل بإجراء القياس من جانب الخادم وتقليم حواف السطح. بالاشتراك مع الإصدار الرئيسي التالي من XWayland، سيوفر الامتداد القدرة على محاكاة تغييرات دقة الشاشة للألعاب القديمة.
  • الدعم الكامل للتدوير والنسخ المتطابق للجلسات المستندة إلى Wayland.

يوفر Wrapland واجهة برمجة على طراز Qt توفر الوصول إلى وظائف libwayland في شكل سهل الاستخدام في مشاريع C++. تم التخطيط في الأصل لتطوير Wrapland ليكون بمثابة شوكة لـ KWayland، ولكن نظرًا للحالة غير المرضية لرمز KWayland، يتم اعتباره الآن بمثابة مشروع لإصلاح KWayland بالكامل. الفرق الأكثر أهمية بين Wrapland وKWayland هو أنه لم يعد مرتبطًا بـ Qt ويمكن استخدامه بشكل منفصل دون تثبيت Qt. في المستقبل، يمكن استخدام Wrapland كمكتبة عالمية مع واجهة برمجة تطبيقات C++، مما يلغي حاجة المطورين لاستخدام واجهة برمجة تطبيقات libwayland C.

يتم إنشاء الحزم الجاهزة لمستخدمي Manjaro Linux. لاستخدام KWinFT، ما عليك سوى تثبيت kwinft من المستودع، وللرجوع إلى KWin القياسي، قم بتثبيت حزمة kwin. لا يقتصر استخدام Wrapland على KDE، على سبيل المثال، تم إعداد تطبيق العميل للاستخدام في com.wlroots بروتوكول التحكم في الإخراج، مما يسمح بخوادم مركبة تعتمد على wlroots (تمايل, عابر سبيل) استخدم KScreen لتخصيص الإخراج.

في غضون ذلك، يكمل سيتم نشر تحديثات المشروع KWin-الكمون المنخفض، وتشكيل إصدار من مدير KWin المركب مع تصحيحات لزيادة استجابة الواجهة وإصلاح بعض المشكلات المرتبطة بسرعة الاستجابة لإجراءات المستخدم، مثل التأتأة في الإدخال. بالإضافة إلى DRM VBlank، يدعم KWin-lowlatency استخدام glXWaitVideoSync أو glFinish أو NVIDIA VSync لتوفير الحماية ضد التمزق دون التأثير سلبًا على الاستجابة (يتم تنفيذ حماية التمزق الأصلية لـ KWin باستخدام مؤقت ويمكن أن يؤدي إلى فترات استجابة كبيرة (تصل إلى 50 مللي ثانية) ونتيجة لذلك، تأخير في الاستجابة عند الإدخال). يمكن استخدام الإصدارات الجديدة من KWin-lowlatency بدلاً من الخادم المركب في KDE Plasma 5.18.

المصدر: opennet.ru

إضافة تعليق