انتقل إلى المحتوى
كل الملاحظات

8 د للقراءة

Highball: تشغيل ألعاب Windows على Apple Silicon بكل صراحة

كيف يشغّل Highball ألعاب Windows على أجهزة Mac بمعالجات Apple Silicon: محرّك Wine، والقوارير، ومحرّك الرسوميات المناسب لكل لعبة، وقاعدة بيانات توافق مفتوحة. ما الذي يعمل، وما الذي لن يعمل أبدًا، وكيف تثبّته وتستخدمه.

تشغيل ألعاب Windows على جهاز Mac يطرح دائمًا السؤال نفسه، وهو ليس أبدًا «هل سيشتغل Wine؟». السؤال الحقيقي هو «هل ستعمل لعبتي أنا، وبأي إعدادات، وهل سأعرف ذلك قبل تنزيل 80 غيغابايت أم بعده؟». Highball تطبيق macOS وأداة سطر أوامر، مجانيان ومفتوحا المصدر، من تطوير Gauthier Piarrette، يجيبان عن هذا السؤال أولًا ثم يجهّزان كل شيء نيابة عنك.

تشرح هذه الملاحظة ما هو Highball، وكيف يعمل من الداخل، وكيف تثبّته وتستخدمه.

البندالتفاصيل
ما هوتطبيق macOS أصلي (SwiftUI) مع CLI يقوم بكل ما يقوم به التطبيق
يعمل علىApple Silicon، نظام macOS 14 أو أحدث
السعرمجاني، ولا توجد خطة مدفوعة
الترخيصالتطبيق والـ CLI بترخيص GPL-3.0، وبيانات التوافق بترخيص CC0
المشغّلاتSteam وEpic مباشرة، ومشغّلات أخرى عبر محرّك Wine 11
الحالةنسخة تجريبية، موقّعة من Apple، وتتحدّث تلقائيًا
روابطالموقع · GitHub · قاعدة البيانات

#المشكلة التي يحلّها

لعبة Windows تتعامل مع واجهات Windows البرمجية وترسم باستخدام DirectX. نظام macOS لا يوفّر أيًّا منهما، ومعالجات Apple Silicon تضيف فوق ذلك معمارية مختلفة. لتشغيل لعبة يجب تكديس ثلاث طبقات ترجمة: Rosetta 2 لتشغيل شيفرة x86، وWine لترجمة استدعاءات نظام Windows، وطبقة رسوميات تحوّل Direct3D إلى Metal.

أدوات كل طبقة موجودة أصلًا. الصعوبة هي اختيار التركيبة الصحيحة لكل لعبة، ومعرفة مسبقًا هل ستعمل أصلًا أم لا. حتى الآن كانت الخيارات منتجًا مدفوعًا (CrossOver)، أو إعدادات Wine يدوية، أو واجهات مجتمعية مثل Whisky الذي أُرشف عام 2025. صُمّم Highball لتفادي الأسباب التي تجعل هذه المشاريع تتوقف: لا يصنع نسخة خاصة من Wine، ولا يستضيف ملفات المحرّك بنفسه، وأثمن ما فيه، أي بيانات التوافق، متاح للجميع.

#كيف يعمل، من التنزيل إلى اللعب

يُرسم المخطط

  1. التثبيت. تسحب التطبيق إلى مجلد Applications وتضغط Get started. يثبّت Highball برنامج Rosetta 2 إن لم يكن موجودًا.
  2. المحرّك. ينزّل محرّك Wine مجمَّعًا من إصدارات أصلية مثبّتة، ويتحقق منه بمجموع SHA-256 مسجَّل قبل استخدامه.
  3. القارورة. ينشئ بيئة Windows على قرصك أنت. لا حاجة إلى ترخيص Windows ولا إلى آلة افتراضية.
  4. المشغّل. تثبّت Steam لنظام Windows بنقرة واحدة، أو تربط حسابك في Epic، أو تشغّل مثبّت Windows تملكه. مكتبات التشغيل الشائعة مثل .NET وVisual C++ تُثبَّت بنقرة واحدة أيضًا.
  5. الحكم. كل لعبة في مكتبتك تعرض ما تعرفه قاعدة البيانات المفتوحة عنها. وإذا وُجد إصلاح متحقَّق منه، يطبّقه Highball.
  6. اللعب. يستخدم التشغيل محرّك الرسوميات الذي توصي به القاعدة لتلك اللعبة، مع مسار التزامن الأسرع داخل العملية (msync) عندما تتحمّله اللعبة.

#من الداخل: المحرّكات والقوارير والرسوميات والوصفات

التطبيق والـ CLI مجرد طبقتين رقيقتين فوق مكتبة Swift مشتركة اسمها HighballKit. أربع أفكار تحمل التصميم كله.

يُرسم المخطط

المحرّك. حزمة تضم Wine ومكتباته وطبقات الرسوميات، موضوعة في engines/<id>. تُوصف المحرّكات في ملف manifest وتُجلب من إصدارات أصلية مثبّتة ومتحقَّق منها. وعندما تحتاج لعبة إلى تعديل لم ينشره أحد بعد، مثل تعديل MoltenVK للعبة Red Dead Redemption 2، يوضع التعديل وسكربت البناء في المستودع، ويُنشر الناتج كملف إصدار متحقَّق منه، ويُرسل الإصلاح إلى المشروع الأصلي. تحديث المحرّك ليس إلا طلب دمج (pull request) لملف JSON.

القارورة (Bottle). مجلد WINEPREFIX قياسي مع ملف bottle.json يصفه. إنها بيئة Windows التي تعيش فيها اللعبة.

الرسوميات (Renderer). كل طبقة ترجمة رسومية هي مجلد يُضاف فوق المحرّك ويُختار لحظة التشغيل عبر WINEDLLPATH_PREPEND، لذلك تغيير محرّك الرسوميات للعبة واحدة لا يتطلب إعادة بناء أي شيء.

الوصفة (Recipe). قائمة وصفية من خطوات JSON (مثبّت، سجل Windows، winetricks، نمط التزامن، الرسوميات، التثبيت، النسخ، ملف، ملاحظة) تُطبَّق على القارورة. عبارة مثل «Steam يحتاج sync: none» أو «هذه اللعبة تحتاج DXVK» هي بيانات وليست شيفرة، ويمكن لأي أحد إعادة استخدامها.

#محرّكات الرسوميات الأربعة

المحرّكماذا يترجمما يجب معرفته
WineD3Dمن Direct3D إلى OpenGLالحل الاحتياطي المدمج في Wine
DXVKمن Direct3D 9 و10 و11 إلى Vulkan، ثم MoltenVK إلى Metalبعض الإصلاحات تكون في طبقة MoltenVK
DXMTمن Direct3D 10 و11 إلى Metal مباشرةمفتوح المصدر، من تطوير 3Shain
D3DMetalمن Direct3D 11 و12 إلى Metalجزء من Game Porting Toolkit من Apple؛ توافق على ترخيصه صراحة، وHighball لا يعيد توزيعه أبدًا

#هل ستعمل لعبتي؟ قاعدة البيانات المفتوحة

هذا قلب المشروع. كل لعبة تحمل واحدًا من أربعة أحكام، ولا تُخلط أبدًا ببعضها:

  • متحقَّق منه: اختُبر يدويًا على أجهزة Apple Silicon حقيقية.
  • مُبلَّغ عنه: نتائج أبلغ عنها المشروع الأصلي أو المجتمع.
  • متوقَّع: مستنتج من تقارير ProtonDB مع بيانات مكافحة الغش.
  • محظور: مستحيل التشغيل، غالبًا بسبب مكافحة غش تعمل على مستوى النواة.

وقت كتابة هذه الملاحظة، يعرض الموقع 16 لعبة متحقَّقًا منها يدويًا، و19 مُبلَّغًا عنها من المشاريع الأصلية، و77 من إجماع المجتمع، و41 مصنّفة مستحيلة، وأكثر من 12,000 توقّع. كل معلومة تسجّل مصدرها وتاريخها، والوصفات المتحقَّق منها تحفظ حقل lastVerified (المحرّك، إصدار macOS، المعالج) حتى تظهر البيانات القديمة بوضوح بدل أن تكون خاطئة بصمت.

أمثلة ملموسة من المشروع:

  • Portal 2 كانت تتجمّد عند تحميل كل خريطة. تتبّع المطوّر السبب إلى خلل في MoltenVK في مسار HDR لمحرّك Source، فأصبحت الوصفة تعطّل HDR تلقائيًا، وتعمل اللعبة بنحو 210 إطارات في الثانية.
  • Cyberpunk 2077 تعمل بين 60 و82 إطارًا في الثانية على M5 باستخدام D3DMetal وFSR 2.1.
  • Red Dead Redemption 2 قابلة للعب على M1 Pro بعد إصلاح في MoltenVK أصبح الآن طلب دمج في المشروع الأصلي.

البيانات المنقّحة بترخيص CC0، وبيانات التوقّع المشتقة من ProtonDB بترخيص ODbL 1.0، وبيانات مكافحة الغش من AreWeAntiCheatYet بترخيص MIT. يمكنك تصفّح قاعدة البيانات قبل تثبيت أي شيء.

#كيف تثبّته وتستخدمه

#المتطلبات

جهاز Mac بمعالج Apple Silicon (M1 أو أحدث) يعمل بنظام macOS 14 أو أحدث، وبضعة غيغابايتات فارغة للمحرّك والمشغّل، إضافة إلى المساحة التي تحتاجها ألعابك.

#1. ثبّت التطبيق

نزّل الملف الموقّع Highball.dmg واسحبه إلى Applications، أو استخدم Homebrew:

bash
brew install --cask gauthierpiarrette/highball/highball

#2. شغّل الإعداد الأول

افتح Highball واضغط Get started. تحلَّ بالصبر في المرة الأولى: المحرّك بحجم بضع مئات من الميغابايت، وSteam يفكّ ضغط برنامجه الخاص بحجم نحو 235 ميغابايت تحت Rosetta، لذلك توقّع من 15 إلى 25 دقيقة. يعرض شريط التقدّم أسفل النافذة الخطوة الحالية والوقت المنقضي والمدة المعتادة. إذا توقّف، أعد تشغيل التطبيق وسيكمل من حيث توقّف. بعد ذلك يصبح التشغيل فوريًا.

#3. أضف ألعابك

اختر مصدر ألعابك:

  • Steam: يثبّت Steam لنظام Windows بنقرة واحدة. تسجّل الدخول بحسابك المعتاد وتستخدم مكتبتك الحالية.
  • Epic: اربط حسابك، وتعمل مكتبتك عبر برنامج Legendary مفتوح المصدر.
  • أي شيء آخر: شغّل مثبّت Windows تملكه، مثل مثبّتات GOG غير المتصلة الخالية من DRM.

#4. راجع الحكم، ثم العب

كل لعبة في شبكة الأغلفة تعرض مصدرها وحكم قاعدة البيانات. افتح اللعبة لترى محرّك الرسوميات الموصى به وأي إصلاح سيطبّقه Highball. تحديد عدد الإطارات وترجمة الـ shaders بشكل غير متزامن متاحان بمفتاح واحد إذا تقطّعت اللعبة.

#لوحة المفاتيح والملفات

  • اختصارات Command+C وCommand+V وCommand+A تعمل داخل تطبيقات Windows لأن مفتاح Command مربوط بـ Ctrl، ومفتاح Option مربوط بـ Alt حتى تبقى اختصارات الألعاب المعتمدة على Alt تعمل. يمكنك العودة إلى سلوك Wine الافتراضي لكل بيئة من الإعدادات، ثم البيئات.
  • كل شيء يُحفظ في ~/Library/Application Support/Highball/. لا يُكتب شيء في /usr أو /Library، لذا فحذف هذا المجلد يعني إزالة كاملة.
  • لا حساب ولا تتبّع. لا يطلب Highball تسجيل الدخول ولا يرسل أي بيانات.

#استخدام الـ CLI

إن كنت تفضّل الطرفية، فالـ CLI يقوم بكل ما يقوم به التطبيق. انسخ مستودع التطبيق ومستودع قاعدة البيانات جنبًا إلى جنب، ثم ابنِ المشروع، ثم أنشئ قارورة بوصفة Steam:

bash
git clone https://github.com/gauthierpiarrette/highball && cd highball
git clone https://github.com/gauthierpiarrette/highball-db ../highball-db
swift build -c release

# تثبيت المحرّك الموصوف في ملف manifest
.build/release/highball engine install spike/engine-manifest.json

# اختياري: الموافقة على ترخيص Apple لتفعيل D3DMetal
.build/release/highball engine accept x64-sikarugir10.0_6-r2 apple-gptk-license-2023-08-17

# إنشاء قارورة بوصفة Steam ثم تشغيلها
.build/release/highball bottle create play --recipe steam
.build/release/highball run play Steam

نفّذ كل الأوامر من جذر مستودع highball: مسارات الوصفات وقاعدة البيانات تُحسب نسبة إلى المجلد الحالي، ويُتوقَّع أن يكون highball-db مجلدًا مجاورًا.

#دعم المشغّلات

المشغّلالحالة
Steamيعمل على المحرّك الافتراضي
Epic Gamesيعمل عبر Legendary
Rockstarيسجّل الدخول ويشغّل GTA V وRed Dead Redemption 2 على محرّك Wine 11
EA appيسجّل الدخول ويشغّل The Sims 4 على محرّك Wine 11
Ubisoft Connect وBattle.netتظهر نافذة تسجيل الدخول، ولم تُؤكَّد أي لعبة بعد
GOG Galaxyتبقى النافذة سوداء؛ استخدم مثبّتات GOG غير المتصلة بدلًا منه

محرّك Wine 11 مبني من شجرة مصدر CrossOver 26.3. يقترحه Highball عندما تحتاجه لعبة ما، ويمكنك نقل أي بيئة إليه من الإعدادات.

#ما لن يعمل أبدًا: مكافحة الغش على مستوى النواة

ألعاب مثل Valorant وFortnite وDestiny 2 وCall of Duty تحمّل برامج تشغيل على مستوى نواة Windows لمكافحة الغش. لا توجد طبقة توافق تستطيع توفيرها، على أي Mac، وفي أي تطبيق. يصنّف Highball هذه الألعاب كمحظورة قبل أن تنزّلها، ويشير إلى شرح مفصّل للسبب، بدل أن تكتشف ذلك بعد تثبيت طويل.

#المساهمة

  • شارك نتيجة لعبة: بعد اللعب، نفّذ highball report <bottle> "<title>" --rating N. يفتح هذا تقريرًا جاهزًا على highball-db، وتُدمج التقارير المقبولة تلقائيًا عبر CI.
  • أبلغ عن خلل في Highball نفسه: استخدم Report a Problem من قائمة Highball، وسيرفق معلومات النظام والسجل.
  • شارك وصفة: افتح طلب دمج على highball-db/recipes مع إرفاق مخرجات الـ CLI.
  • حدّث محرّكًا: قدّم طلب دمج لملف manifest مع ملاحظة تحقّق.

#لماذا أرى أن هذا التصميم صحيح

معظم أدوات التوافق تتعامل مع سؤال «هل تعمل اللعبة؟» كمعرفة متناقلة مبعثرة في المنتديات. أما Highball فيحوّلها إلى بيانات مُؤرشفة الإصدارات، مقروءة آليًا، بترخيص CC0، مع مصدر كل سطر، ويُبقي طبقة المحرّك قابلة للاستبدال بدل المراهنة على نسخة واحدة من Wine. إنه المبدأ نفسه الذي يجعل أي نظام قابلًا للصيانة: افصل البيانات عن الشيفرة، وثبّت ما تعتمد عليه وتحقّق منه، وكن صريحًا في ما يفشل. والمشروع كريم أيضًا مع المنظومة التي يقوم عليها: الأخطاء تُرسل إلى المشاريع الأصلية، وروابط التبرّع تشير إلى Gcenx وDXMT، ويوصي صراحة بـ CrossOver لمن يريد دعمًا مدفوعًا.

#الأسئلة الشائعة

  • هل Highball مجاني فعلًا؟

    نعم. التطبيق والـ CLI بترخيص GPL-3.0 وبيانات التوافق بترخيص CC0. لا توجد خطة مدفوعة، ولا حساب، ولا تتبّع.

  • هل أحتاج إلى ترخيص Windows أو آلة افتراضية؟

    لا. يستخدم Highball برنامج Wine لتشغيل برامج Windows مباشرة على macOS، مع Rosetta 2 لشيفرة x86 وطبقة تترجم Direct3D إلى Metal.

  • هل يعمل على أجهزة Mac بمعالجات Intel؟

    لا. يتطلب جهاز Mac بمعالج Apple Silicon ونظام macOS 14 أو أحدث.

  • هل عليّ شراء ألعابي مرة أخرى؟

    لا. تسجّل الدخول إلى Steam لنظام Windows أو تربط حساب Epic وتلعب المكتبة التي تملكها أصلًا.

  • لماذا لا تعمل Valorant أو Fortnite؟

    لأنها تعتمد على برامج مكافحة غش تعمل على مستوى النواة، ولا تستطيع أي طبقة توافق توفيرها على macOS. يصنّفها Highball كمحظورة قبل التنزيل.

  • كيف أزيله بالكامل؟

    احذف التطبيق والمجلد ~/Library/Application Support/Highball/. لا يُثبَّت أي شيء في مكان آخر.

#روابط

هل أفادك هذا؟

النقاش

تبني شيئًا من هذا القبيل؟

أخبرني بما تعمل عليه. أردّ في غضون يوم.

راسلني