خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

برنامه‌های اندرویدی سرانجام در لینوکس بومی به نظر می‌رسند؛ آن هم بی‌نیاز از شبیه‌ساز

اجرای بومی برنامه‌های Android در Linux بدون نیاز به شبیه‌ساز
کانتینرسازی بالاترین کارایی ممکن را تضمین می‌کند.

اگر به هر دلیلی ناچار باشید برنامه‌های اندرویدی را در لینوکس اجرا کنید—مثلاً برای استفاده از برنامه‌ها یا بازی‌هایی که تنها برای اندروید عرضه شده‌اند—خیلی زود درمی‌یابید که مسیر ساده‌ای پیش رو ندارید.

به‌بیان ساده، هیچ «شبیه‌ساز» مشخصی برای اندروید وجود ندارد که مانند ابزاری نظیر بلو‌استکس کار کند. بااین‌حال، به لطف توسعه‌دهندگان توانمند پروژه وی‌دروید، راهی برای دور زدن این مشکل فراهم شده است. البته اگر بخواهید کمی خلاق‌تر باشید، می‌توانید لینوکس را روی یک دستگاه اندرویدی میزبانی کنید. وی‌دروید برنامه چندان تازه‌ای نیست، اما در چند ماه گذشته پیشرفت‌های چشمگیری داشته است و همچنان تنها گزینه واقع‌بینانه پیش روی شماست. در ادامه می‌گویم چگونه آن را راه‌اندازی کردم.

نصب وی‌دروید

دردسر پردازنده‌های گرافیکی انویدیا همچنان پابرجاست

فرمان نصب Waydroid در پایانه

اگر از آرچ لینوکس استفاده می‌کنید، نصب وی‌دروید بسیار سرراست است. کافی است بسته مربوط را با فرمان yay or paru -S waydroid از AUR نصب کنید؛ پس از چند تنظیم جزئی، همه‌چیز آماده خواهد بود.

البته این موضوع تنها در صورتی صدق می‌کند که پردازنده گرافیکی Intel یا AMD داشته باشید؛ گرافیک‌های یکپارچه نیز در همین دسته قرار می‌گیرند. در حال حاضر، به نظر می‌رسد گرافیک‌های Intel بهترین پشتیبانی را در وی‌دروید دارند و بی‌دردسر کار می‌کنند.

پردازنده‌های گرافیکی AMD نیز عمدتاً به‌خوبی کار می‌کنند، هرچند برای برخی مدل‌های جدیدتر شاید لازم باشد یک ایمیج سفارشی بسازید. وضعیت Nvidia اما یکدست نیست. پردازنده‌های گرافیکی Nvidia در گذشته نه با وی‌دروید و نه حتی با لینوکس چندان سازگار نبودند، اما اکنون شرایط تغییر کرده است.

نسخه‌ای آزمایشی و ویژه پردازنده‌های گرافیکی Nvidia از وی‌دروید وجود دارد که پشتیبانی کامل سخت‌افزاری را نوید می‌دهد، هرچند هنوز به‌شدت در دست توسعه است. گزینه دیگر، شبیه‌سازی نرم‌افزاری است که به‌دلیل کندی فراوان توصیه نمی‌شود.

مطلب مرتبط:   SpiralLinux مشکلات ناامید کننده پشتیبانی سخت افزاری را در نسخه جدید برطرف می کند

یکی دیگر از پیش‌نیازهای قطعی وی‌دروید، نشست Wayland است؛ این برنامه در Xorg کار نمی‌کند. همچنین به هسته لینوکسی نیاز دارید که از Binder پشتیبانی کند. پیشنهاد من هسته Zen است، زیرا از پیش در مخازن آرچ قرار دارد و نیازی به کامپایل آن نیست.

بااین‌حال، می‌توانید وی‌دروید را با بهره‌گیری از یک نشست تودرتوی Wayland مانند Cage یا Weston در Xorg اجرا کنید.

پس از نصب، می‌توانید وی‌دروید را از راه‌انداز برنامه‌ها اجرا کنید؛ سپس یک ایمیج سفارشی LineageOS مبتنی بر Android ۱۳ بالا می‌آید.

وی‌دروید دقیقاً چیست؟

این شبیه‌سازی نیست

وی‌دروید با استفاده از کانتینرهای فضای نام لینوکس، که با نام LXC نیز شناخته می‌شوند، یک سامانه کامل اندرویدی را در کنار نصب کنونی لینوکس اجرا می‌کند. این روش شبیه‌سازی نیست و رویکرد وی‌دروید دست‌کم جالب‌توجه است.

اندروید از هسته لینوکس بهره می‌برد و همین ویژگی، اجرای چنین روشی را ممکن می‌کند.

در نتیجه مستقیم کانتینرسازی، نصب وی‌دروید از همان هسته میزبان لینوکسی و همچنین حافظه، پردازنده و پردازنده‌های گرافیکی آن استفاده می‌کند. همان‌طور که می‌توان حدس زد، این روش عملاً تمام سربارهای موجود در شبیه‌سازی را از میان برمی‌دارد و در نهایت کانتینری اندرویدی با کارایی بسیار بالا به دست می‌آید.

وی‌دروید واقعاً عملکرد بسیار خوبی دارد. این برنامه تقریباً روی هر پردازنده گرافیکی Intel یا AMD اجرا می‌شود و به‌هیچ‌وجه پرمصرف نیست. حتی اجرای یک بازی سه‌بعدی بسیار سنگین نیز برای گرافیک یکپارچه با توان متوسط مشکل‌ساز نخواهد بود.

بااین‌همه، هنوز باید مراحلی را دستی انجام دهید و نتیجه نهایی نیز چند کاستی دارد. نخست اینکه با یک کانتینر روبه‌رو هستیم که به بخش‌هایی از سامانه شما دسترسی دارد. این محیط به‌هیچ‌وجه کاملاً جداافتاده نیست و شاید برای برخی کاربران نگران‌کننده باشد. مشکل بزرگ دیگر این رویکرد آن است که قابلیت‌هایی مانند Google Play Services و پروتکل‌های گوناگون تأیید امنیت، از همان ابتدا کار نمی‌کنند؛ زیرا نصب اندروید انتظار دارد مجوز استاندارد Play Store و دیگر اجزای یک گوشی، مانند سامانه ARM، در دسترس باشند.

مطلب مرتبط:   منبع بسته در مقابل درایورهای سخت افزار منبع باز: چرا مهم است

اسکریپت‌هایی که جامعه کاربران ساخته است برای این کار وجود دارند، اما استفاده از آن‌ها تنها مرحله‌ای دیگر به کل فرایند می‌افزاید. افزون بر این، هیچ راهی وجود ندارد که سامانه را فریب دهید تا این محیط را یک گوشی واقعی بداند؛ کاری که شاید یک شبیه‌ساز بهتر از عهده آن برآید.

نتیجه نهایی، زیرسامانه‌ای اندرویدی بر پایه LineageOS است که کارایی بسیار بالایی دارد، عملکردش به اجرای بومی نزدیک است و همچنان کاربردهای خاص خود را دارد.

اسکریپت‌های جامعه کاربران همه‌چیز را دگرگون می‌کنند

ایمیج پیش‌فرض Waydroid به‌خودی‌خود بسیار ساده و کم‌امکانات است. این ایمیج فقط چند برنامهٔ پیش‌فرض و فروشگاه Google Play را در بر دارد؛ البته به شرط آنکه هنگام راه‌اندازی اولیه، ایمیج GAPPS را انتخاب کرده باشید.

حالا کافی است وارد Play Store شوید و دانلود بازی‌ها را آغاز کنید. درست همین‌جا به نخستین مانع جدی برمی‌خورید: اجرای برنامه‌های مبتنی بر ARM روی دستگاهی با معماری x86. بیشتر بازی‌ها یکسره از اجرا سر باز می‌زنند و همان آغاز کار از کار می‌افتند.

خوشبختانه اسکریپت کمکی بسیار سودمندی به نام waydroid-script-git در AUR وجود دارد که این مشکل را برطرف می‌کند و حتی چند قابلیت دیگر نیز در اختیارتان می‌گذارد. با اجرای این اسکریپت، بسته به پردازندهٔ دستگاه، libndk برای AMD یا libhoudini برای Intel به‌عنوان لایهٔ ترجمهٔ ARM به x86 نصب می‌شود تا بتوانید بازی‌هایتان را اجرا کنید.

این اسکریپت همچنین می‌تواند با افزودن Magisk، نصب Waydroid شما را روت کند. افزون بر این، یک فعال‌ساز Widevine نیز همراه با MicroG ارائه می‌شود تا جایگزینی برای Gapps باشد؛ قابلیتی که واقعاً ارزشمند است.

مطلب مرتبط:   چگونه داده های مرور خصوصی را در لینوکس حذف می کنید؟

این رویکرد درست در نقطهٔ مقابل انشعاب اختصاصی Valve، یعنی Lepton، قرار دارد. Lepton نیز Android را درون یک کانتینر اجرا می‌کند، اما لایه‌ای تخصصی است که برای دستگاهی مشخص، یعنی Steam Frame، ساخته شده است. در اصل، از ترکیب Lepton، FEX و Proton برای اجرای بازی‌های x86 روی دستگاه‌های ARM بهره می‌گیرد.

در وضعیت کنونی، Waydroid همچنان راهکاری فوق‌العاده برای اجرای برنامه‌های Android به‌شکلی «بومی» در Linux است.

منبع: این مطلب ترجمه و بومی‌سازی مقاله‌ای از MakeUseOf به قلم Dipan Saha است. مشاهده مقاله اصلی