همیشه سخن از این هست که «هر اندازه هم که لینوکس شگفتانگیزه، بازم ویندوز توی دنیای بازی بیهمآورده»! اما زمانِ درازیه که وارونِ این صحبت استواره و با یه جستوجوی سادهٔ یوتیوب میشه دید که اتفاقاً بازیها رو دستکم تا ۲۰ فریم سریعتر اجرا میکنه، با بازدهی و کیفیتِ خیلیخیلی بهتر!
واین شبیهساز نیست!
واین، سرنامِ بازگشتیِ «Wine Is Not Emulator»، بازپیادهسازیِ API و کمینه بخشهای موردنیازِ ویندوزه که با مهندسیِ معکوس، بهعنوانِ یه پروژهٔ آزاد و از هیچ توسعه داده شده و بدونِ کوچکترین بهرهبری از کدِ ویندوز، حتی بهتر از خودش داره ازش تقلید میکنه.
در واقع یه لایهٔ سازگاریه که درخواستهای سامانهایِ دریافتی رو آنی برای کرنل ترجمه میکنه و اینجوریه که پروندههای اجرایی مستقیماً روی خودِ لینوکس پردازش میشن، نزدیک به همونطوری که روی ویندوز! به همین علته که وحشتناک سریعتر و بهینهتره!
این که هنوز نمیتونه شماری از برنامهها و بازیها رو کلاً یا بهدرستی اجرا کنه به این خاطره که این پروژه هماکنون کاملِ کامل نیست، گرچه بهطورِ نمایی درحالِ پیشرفته. پس برنامهای که دیروز مشکل داشته، ممکنه امروز مثلِ ساعت کار کنه بیکموکاست!
برای دونستنِ بیشتر، خوندنِ این مقاله آغاز خوبیه.
ویندوز توی بطری!
بطریها گردآوردهای یکپارچه از واین، DLLها و دیگر ابزارهای ازپیشتنظیمشدهست، بههمراهِ بهینهسازیهای ویژهٔ بازی و امکاناتی چون مدیریتِ وابستگیها و پشتیبانگیری که در محیطی کاملاً ایزوله به کاربر تواناییِ اجرای ساده و بیدردسرِ نرمافزارهای ویندوزی را میده.
شایانِ بیانه واینی که بطریها بهکار برده درواقع نگارشی پیکربندیشده از اون هست به نامِ پروتون با وصلههای شرکتِ Valve Software که همراه با DLLهای موردنیازش عرضه میشه.
نصب، راهاندازی و پیکربندی
پس از اینکه بطریها را از شیوهٔ پیشنهادی، یعنی فلتپک نصب کردین و بعد از نخستین اجرا که کمی هم زمان میبره، وقتِ پیکربندیِ اولیهست. پیش از هر چیز به ترجیحاتِ برنامه برین و همیشه از بهروز بودنِ اجراگرها و تکتکِ DLLها مطمئن شین:
نیازی به دریافتِ اجراگر دیگهای نیست، بهترین نگارشِ واین همون Sodaست که بهصورتِ پیشگزیده انتخاب شده.
با فرمانِ زیر و نصبِ مَنگوهود هم میتونین هنگامِ بازی، منابعِ رایانه و FPSو زیرنظر داشته باشین:
flatpak install org.freedesktop.Platform.VulkanLayer.MangoHud
با سپاس از دوستِ خوبم هیراد برای این نکتهٔ کاربردی :)
سرانجام میرسیم به ساختنِ نخستین بطریمون! روی + بزنین و همانندِ نگارهٔ زیر، محیطو روی حالتِ سفارشی بذارین و بطریتونو بسازین:
برای نامش «قالب»و پیشنهاد میکنم که هر بار همینو رونوشت بزنین و نیازی نباشه به ساختنِ از نوی بطریِ تازه و پیکربندیش و دریافت و نصبِ دوبارهٔ وابستگیها. چرا که بهتره هر نرمافزارو توی یه بطریِ سوا نصب کنین.
خب! بطریتونو باز کنین و واردِ بخش تنظیمات شین و DXVK، VKD3D، LatencyFleX، Discrete Graphics، Monitor Performance، Feral GameMode و Preload Game Filesو بهکار بندازین. همگامسازیو روی Fsync بذارین و نگارشِ ویندوزو هم Windows 10 انتخاب کنین. گزینهٔ FidelityFX Super Resolutionو هم روشن کنین و پس از زدن روی نمادِ چرخدنده، تنظیماتشو به شکلِ زیر دربیارین:
این گزینه وضوحِ تصویرو دستکاری میکنه و به اصطلاح Sharpnessو افزایش میده. اگرچه من خودم تفاوتِ محسوسی توی کیفیتِ بازی ندیدم، اما FPSو بهطورِ آشکاری بالاتر میبره!
حالا روی Advanced Display Settings کلیک کنین و همانند نماگرفتِ پایین پیکربندیش کنین:
به عقب برگردین و وارد بخشِ وابستگیها یا همون Dependencies شین و بستههای زیرو نصب کنین:
- allfonts
- d3dx11
- vcredist2022
- dotnet20
- dotnet40
- dotnet48
حالا توی صفحهٔ اصلیِ بطری و از سهنقطهٔ نوارِ بالا، گزینهٔ Duplicate Bottleو بزنین تا با نامی تازه رونوشتی از بطریِ کنونی ساخته شه. میتونین اسمِ بازی یا برنامهای که میخواین داخلش نصب کنینو روش بذارین:
زندگی عجیب است!
خب! بالاخره رسیدیم به اصلِ مطلب. پیش از این که اینترنت هدر بدین و هر بازیای رو بگیرین، همیشه اول برین به وبگاهِ 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
حالا توی صفحهٔ اصلیِ بطریتون بزنین روی Run Executable و به مسیری که گفته شد برین و پروندهٔ اجراییِ Setup بازیتونو گزینش کنین تا به نصبش بپردازین. تا زمانی که کارش ادامه داره و پنجرهشو نبستین، مطلقاً با رایانهتون کارِ دیگهای نکنین! حتی نمای کاریو هم عوض نکنین، چون ممکنه پس از مدتی پنجرهٔ نصب کلاً پنهان شه و دیگه نتونین بهش پایان بدین! بعد از این که کارش تموم شد، میانبر نرمافزار در بخشِ برنامهها ایجاد میشه و با کلیک روی نمادِ اجرا، میتونین بازیو باز کنین!
سخنِ پایانی
اینها کمینه کارهایی بودن باید حتماً انجام شن و جزئیاتِ بیشتر بیرون از حوصلهٔ بحثه و افزودنش میتونه موجبِ پیچیدگی و شاید گیج شدن خواننده شه. برای همین در مقالهای جداگونه از ترفندها و نکتههای کاربردیِ بازی کردن روی لینوکس خواهم گفت.
اگر پرسشی براتون پیش اومد مطرح کنین، درصورتی که در توان و گسترهٔ دانشم باشه پاسخ میدم تا شما هم بتونین بهآسونی بازیهای موردعلاقهتونو روی لینوکس بازی کنین. حتی از بازیهایی که تونستین نصب کنین بنویسین و نماگرفت بذارین و در کل تجربهتونو همرسانی کنین.
Comments
July 29, 2024 12:28
@avds
میتوان در wayland بدون xwayland برنامه را اجرا کرد؟ (یا به شکلی خود bottle بتواند آن را مدیریت کند)
در زمان اجرای فایل exe دنبال x server میگردد.
July 29, 2024 13:36
@avds
مطلب بسیار مفید و پرجزئیاتی نوشتهای. ایول ایول.
سپاسگزارم.
July 29, 2024 13:57
@avds
@amirali
July 30, 2024 02:51
@mokazemi @avds 🔥🔥
July 29, 2024 15:15
@[email protected] @[email protected]
اجرای بازی روی لینوکس واقعاً پیشرفت عجیبی کرده. از ۱۰ تا بازیای که روی لینوکس نصب کردم توی این مدت، ۹ تاشون به سادگی و با کمترین زحمت اجرا شدن و فقط یکیش کار نکرد که مطمئنم اگه زمان میذاشتم روش، اونم کار میکرد.
با تشکر از کمکهات.
July 29, 2024 15:27
@avds
حوصله یا اصلأ علافه داری که آفیس ۲۰۱۳ را هم امتحان کنی و دربارهٔ مشکلات احتمالی نصبش بنویسی؟
July 29, 2024 16:40
@[email protected]
@avds
سلطان میتونی درایور سن فرنسیسکو رو واسم راه بندازی؟؟
صدا نداره!
August 6, 2024 21:27
@avds
ویکی endeavors هم خیلی عالیه راجب این قضیه.
من عملی استفاده کردم.
August 6, 2024 23:08
@avds
متاسفانه همه تلاشهای واین فقط برای اجرای بازیهای ویندوزی روی لینوکس هست و اپلیکیشنهای اداری و غیره رو به خوبی پشتیبانی نمیکنه.
August 7, 2024 13:39
@[email protected] تلاش واین پیادهسازی API ویندوزه، نمیدونم متمرکز روی بازی هست یا نه ولی خب چیزی که به ذهن خودم میرسه اینه که درخواستهایی که نرمافزارها میزنن شاید پیچیدهتره از چیزی که بازی میخواد و هنوز توی گسترهٔ پیادهنشدهٔ واینه مثلاً. البته من خودم کلا یه Anydesk، یه Movavi Video Editor و چندتا خردهنرمافزار دیگه رو امتحان کردم ولی آره سر مثلاً مایکروسافت آفیس نشد.
August 25, 2024 19:07
@[email protected]
@[email protected]
خب سلام من اندرمنم از آینده دارم باهاتون حرف میزنم، یه چندتا نکته بهشدت مهم یادم اومد که خواستم بنویسم براتون؛ احتمالا به مذاق بعضیا خوش نیاد:
۱.پروتون دی بی منبعش از استیم دی بیه. استیم دی بی هم خودش دنبال بازی های استیم میگرده، حالا پروتون دی بی یسری از بازی هایی که معروفن و توی استیم نیستن یا قبلا بودن رو آورده. مثلا ولورانت و لیگ آف لنجندز نیست و یه تعداد بازی از اپیک گیمز آوردم تست کردم توش نبود پس اون درصد هم خطا نسبتا زیادی داره.
۲.بازی هایی که نیازمند آنتی چیت هستن در سطح کرنل، اونا با این روش کار نمیدن، مثلا بازی های بسیار محبوبی مثل فورتنایت، ولورانت، لیگ آف لنجدز و... مشکل هم از واین و ناشر بازیه که مثلا Riot games نیومده بازی هاشو با لینوکس سازگار کنه. حالا این انتی چیتا عملکردشون اینجوریه که درسطح کرنل فعالیت کنن و ببینن مثلا سیستم حتی روی ویرچوال ماشین نباشه و پروسس ها رو تحت نظر دارن. چیزی رو تشخیص بدن چیته بازی بسته میشه و آنتی چیت اجازه باز شدن بازیو نمیده. واین بدبختم برای اینکه درستش بکنه احتمالا باید هسته NT رو شبیه سازی کنه که مایکروسافت میفرستشون به دادگاه.
جمع بندی کلی: درسته که به لطف ولو میشه گفت بسیاری از بازیا قابل اجرا شدن روی لینوکسن اما هنوز بازی های محبوبی مثل بتلفیلد ۲۰۴۸ و ولورانت و اینا ران نمیشن توی لینوکس.
پ.ن:اگه این نکات رو هم میگفتی مطلب جامعی میشد، یکم حالت شایعه پراکنی پیدا کرده.
July 28, 2024 15:55
@[email protected] طبق HIG گنوم، برنامههایی که برای گنوم نوشته میشن باید اسامی ساده و قابلترجمه داشته باشن.