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 پیاده سازی کرد.بیننده"، به مشتری این امکان را می دهد که مقیاس سمت سرور و برش لبه های سطح را انجام دهد. همراه با نسخه اصلی بعدی XWayland، افزونه توانایی شبیه‌سازی تغییرات وضوح صفحه نمایش را برای بازی‌های قدیمی‌تر فراهم می‌کند.
  • پشتیبانی کامل از چرخش و آینه خروجی برای جلسات مبتنی بر Wayland.

Wrapland یک رابط برنامه نویسی به سبک Qt ارائه می دهد که دسترسی به توابع libwayland را به شکلی آسان برای استفاده در پروژه های C++ فراهم می کند. Wrapland در ابتدا قرار بود به عنوان فورک KWayland توسعه یابد، اما به دلیل وضعیت نامطلوب کد KWayland، اکنون به عنوان پروژه ای برای تعمیرات اساسی KWayland در نظر گرفته می شود. مهمترین تفاوت Wrapland و KWayland این است که دیگر به Qt متصل نیست و بدون نصب Qt می توان از آن به طور جداگانه استفاده کرد. در آینده، Wrapland می تواند به عنوان یک کتابخانه جهانی با C++ API استفاده شود و نیاز توسعه دهندگان به استفاده از libwayland C API را از بین ببرد.

بسته های آماده برای کاربران لینوکس Manjaro ایجاد شده است. برای استفاده از KWinFT، فقط kwinft را از مخزن نصب کنید، و برای بازگشت به KWin استاندارد، بسته kwin را نصب کنید. استفاده از Wrapland به KDE محدود نمی شود، به عنوان مثال، یک پیاده سازی مشتری برای استفاده در آن آماده شده است wlroots پروتکل کنترل خروجی، اجازه ورود به سرورهای ترکیبی مبتنی بر wlroots (نوسان, آتش) از KScreen برای سفارشی کردن خروجی استفاده کنید.

در همین حال، ادامه هید به روز رسانی پروژه منتشر خواهد شد KWin-Latency، ایجاد نسخه ای از مدیر ترکیبی KWin با وصله هایی برای افزایش پاسخگویی رابط و رفع برخی از مشکلات مربوط به سرعت پاسخ به اقدامات کاربر، مانند لکنت ورودی. علاوه بر DRM VBlank، KWin-lowlatency از glXWaitVideoSync، glFinish یا NVIDIA VSync پشتیبانی می‌کند تا بدون تأثیر منفی بر پاسخ‌دهی، محافظت در برابر پارگی ارائه دهد (محافظت اصلی KWin در برابر پاره شدن با استفاده از یک تایمر اجرا می‌شود و می‌تواند منجر به تأخیر زیاد (تا 50) شود. و در نتیجه تاخیر در پاسخ هنگام ورود). نسخه های جدید KWin-lowlatency را می توان به جای سرور ترکیبی سهام در KDE Plasma 5.18 استفاده کرد.

منبع: opennet.ru

اضافه کردن نظر