این بادهٔ بی‌همتا

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

همیشه سخن از این هست که «هر اندازه هم که لینوکس شگفت‌انگیزه، بازم ویندوز توی دنیای بازی بی‌هم‌آورده»! اما زمانِ درازیه که وارونِ این صحبت استواره و با یه جست‌وجوی سادهٔ یوتیوب می‌شه دید که اتفاقاً بازی‌ها رو دست‌کم تا ۲۰ فریم سریع‌تر اجرا می‌کنه، با بازدهی و کیفیتِ خیلی‌خیلی بهتر!

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

واین، سرنامِ بازگشتیِ «Wine Is Not Emulator»، بازپیاده‌سازیِ API و کمینه بخش‌های موردنیازِ ویندوزه که با مهندسیِ معکوس، به‌عنوانِ یه پروژهٔ آزاد و از هیچ توسعه داده شده و بدونِ کوچک‌ترین بهره‌بری از کدِ ویندوز، حتی بهتر از خودش داره ازش تقلید می‌کنه.

در واقع یه لایهٔ سازگاریه که درخواست‌های سامانه‌ایِ دریافتی رو آنی برای کرنل ترجمه می‌کنه و این‌جوریه که پرونده‌های اجرایی مستقیماً روی خودِ لینوکس پردازش می‌شن، نزدیک به همون‌طوری که روی ویندوز! به همین علته که وحشت‌ناک سریع‌تر و بهینه‌تره!

این که هنوز نمی‌تونه شماری از برنامه‌ها و بازی‌ها رو کلاً یا به‌درستی اجرا کنه به این خاطره که این پروژه هم‌اکنون کاملِ کامل نیست، گرچه به‌طورِ نمایی درحالِ پیش‌رفته. پس برنامه‌ای که دیروز مشکل داشته، ممکنه امروز مثلِ ساعت کار کنه بی‌کم‌وکاست!

برای دونستنِ بیشتر، خوندنِ ‫‫این مقاله آغاز خوبیه.

ویندوز توی بطری!

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

شایانِ بیانه واینی که بطری‌ها به‌کار برده درواقع نگارشی پیکربندی‌شده از اون هست به نامِ پروتون با وصله‌های شرکتِ Valve Software که همراه با DLLهای موردنیازش عرضه می‌شه.

نصب، راه‌اندازی و پیکربندی

پس از این‌که بطری‌ها را از شیوهٔ پیشنهادی، یعنی فلت‌پک نصب کردین و بعد از نخستین اجرا که کمی هم زمان می‌بره، وقتِ پیکربندیِ اولیه‌ست. پیش از هر چیز به ترجیحاتِ برنامه برین و همیشه از به‌روز بودنِ اجراگرها و تک‌تکِ DLLها مطمئن شین:

ترجیحات > DLLها

نیازی به دریافتِ اجراگر دیگه‌ای نیست، بهترین نگارشِ واین همون Sodaست که به‌صورتِ پیش‌گزیده انتخاب شده.

با فرمانِ زیر و نصبِ مَنگوهود هم می‌تونین هنگامِ بازی، منابعِ رایانه و FPSو زیرنظر داشته باشین:

flatpak install org.freedesktop.Platform.VulkanLayer.MangoHud

با سپاس از دوستِ خوبم هیراد برای این نکتهٔ کاربردی :)

سرانجام می‌رسیم به ساختنِ نخستین بطریمون! روی + بزنین و همانندِ نگارهٔ زیر، محیطو روی حالتِ Gaming بذارین و بطریتونو بسازین:

ساختنِ بطری تازهٔ Gaming

برای نامش «قالب»و پیشنهاد می‌کنم که هر بار همینو رونوشت بزنین و نیازی نباشه به ساختنِ از نوی بطریِ تازه و پیکربندیش و دریافت و نصبِ دوبارهٔ وابستگی‌ها. چرا که بهتره هر نرم‌افزارو توی یه بطریِ سوا نصب کنین.

خب! بطریتونو باز کنین و واردِ بخش تنظیمات شین و DXVK، VKD3D، LatencyFleX، Discrete Graphics، Monitor Performance، Feral GameMode و Preload Game Filesو به‌کار بندازین. همگام‌سازیو روی Fsync بذارین و نگارشِ ویندوزو هم Windows 10 انتخاب کنین. گزینهٔ FidelityFX Super Resolutionو هم روشن کنین و پس از زدن روی نمادِ چرخ‌دنده، تنظیماتشو به شکلِ زیر دربیارین:

این گزینه وضوحِ تصویرو دست‌کاری می‌کنه و به اصطلاح Sharpnessو افزایش می‌ده. اگرچه من خودم تفاوتِ محسوسی توی کیفیتِ بازی ندیدم، اما FPSو به‌طورِ آشکاری بالاتر می‌بره!

تنظیماتِ FidelityFX Super Resolution

حالا روی Advanced Display Settings کلیک کنین و همانند نماگرفتِ پایین پیکربندیش کنین:

تنظیماتِ Display

به عقب برگردین و وارد بخشِ وابستگی‌ها یا همون Dependencies شین و بسته‌های زیرو نصب کنین:

  • allfonts
  • d3dx9
  • d3dx11
  • vcredist2005
  • vcredist2007
  • vcredist2010
  • vcredist2012
  • vcredist2013
  • vcredist2022
  • dotnet20
  • dotnet35
  • dotnet40
  • dotnet48

حالا توی صفحهٔ اصلیِ بطری و از سه‌نقطهٔ نوارِ بالا، گزینهٔ Duplicate Bottleو بزنین تا با نامی تازه رونوشتی از بطریِ کنونی ساخته شه. می‌تونین اسمِ بازی یا برنامه‌ای که می‌خواین داخلش نصب کنینو روش بذارین:

Duplicate Bottle

Duplicate Bottle 2

زندگی عجیب است!

خب! بالاخره رسیدیم به اصلِ مطلب. پیش از این که اینترنت هدر بدین و هر بازی‌ای رو بگیرین، همیشه اول برین به وبگاهِ ProtonDB و با جست‌وجوی نامش توی این پایگاهِ داده، از اجراپذیر بودنش مطابقِ مدال‌های زیر آسوده‌خاطر شین:

مدال‌های ProtonDB

همون‌طور که می‌بینین روی‌هم‌رفته ۷۷ تا ۸۶ درصدِ بازی‌های ویندوزی، کمابیش بدونِ دشواری یا با یه سیخونکِ کوچک به پیکربندیشون اجرا می‌شن. مدالِ بازی‌ای هم که من برنامه دارم نصبش کنم پلاتینیومه که یعنی بهترین سازگاری و سالم‌ترین اجرا، بدونِ نیاز به هیچ پیکربندیِ ویژه‌ای:

جست‌وجوی Life is Strange در ProtonDB

سفارش می‌کنم که هنگامِ دریافتِ بازیِ دل‌خواهتون برتری با بسته‌های DODI، FitGirl و ElAmigos باشه و اگر این‌ها رو پیدا نکردین پیِ گزینه‌های دیگه برین.

درصورتی که بازی یا نرم‌افزارتون بیشتر از فقط یه پروندهٔ‌ اجراییه، باید همه شاخه‌هاشو توی مثلاً پوشهٔ C:\Users\USERNAME\Downloads استخراج کنین تا زمانِ نصب بتونه همهٔ تشکیلاتشو پیدا کنه و به مشکل نخوره. برای انجامِ این کار اگر از همون سه‌نقطهٔ نوارِ بالا روی گزینهٔ Browse Files کلیک کنین، واردِ درایوِ C بطریتون می‌شین. به مسیر یادشده برین که مکانش توی لینوکس باید همانندِ نشونی زیر باشه:

/home/USERNAME/.var/app/com.usebottles.bottles/data/bottles/bottles/BOTTLE_NAME/drive_c/users/USERNAME/Downloads

Browse Files

حالا توی صفحهٔ اصلیِ بطریتون بزنین روی Run Executable و به مسیری که گفته شد برین و پروندهٔ اجراییِ Setup بازیتونو گزینش کنین تا به نصبش بپردازین. تا زمانی که کارش ادامه داره و پنجره‌شو نبستین، مطلقاً با رایانه‌تون کارِ دیگه‌ای نکنین! حتی نمای کاریو هم عوض نکنین، چون ممکنه پس از مدتی پنجرهٔ نصب کلاً پنهان شه و دیگه نتونین بهش پایان بدین! بعد از این که کارش تموم شد، میان‌بر نرم‌افزار در بخشِ برنامه‌ها ایجاد می‌شه و با کلیک روی نمادِ اجرا، می‌تونین بازیو باز کنین!

بازی Life is Strange

بازی Life is Strange ب

سخنِ پایانی

این‌ها کمینه کارهایی بودن باید حتماً انجام شن و جزئیاتِ بیشتر بیرون از حوصلهٔ بحثه و افزودنش می‌تونه موجبِ پیچیدگی و شاید گیج شدن خواننده شه. برای همین در مقاله‌ای جداگونه از ترفندها و نکته‌های کاربردیِ بازی کردن روی لینوکس خواهم گفت.

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