เกี่ยวกับเรา บริการของเรา ผลงาน ข่าวสาร และ บทความน่ารู้ ติดต่อเรา

วิธีทำให้ Mac เล่นเกม PC ได้ ผ่าน Game Porting Toolkit

ในงาน WWDC 2023 ที่ผ่านมา Apple ได้ประกาศเปิดตัว MacOS Sonoma ที่จะปล่อยให้อัปเดต และใช้งานอย่างเป็นทางการในช่วงปลายปีนี้ โดยหนึ่งในไฮไลท์ที่ดึงความสนใจของผู้ชม รวมถึงนักพัฒนาสายเกม ก็คือการเปิดตัวชุดพัฒนา Game Porting Toolkit ที่จะนักพัฒนาในการพอร์ตเกมพีซีของตนเอง ให้มาทำงานกับระบบปฏิบัติการ MacOS ได้ และทำให้ Mac เล่นเกมพีซีได้ในที่สุด โดยอาศัยการปรับจูนอีกเล็กน้อยเท่านั้น ทุ่นแรง ทุ่นเวลาในการพอร์ตลงไปได้อย่างมาก

ซึ่งในตอนนี้ Apple ก็ได้ปล่อยชุด Game Porting Toolkit ออกมาให้นักพัฒนาดาวน์โหลดไปทดสอบเกมของตนเองกันได้แล้ว ว่าในเบื้องต้น ตัวเกมจะสามารถทำงานบนเครื่อง Mac และ MacOS Sonoma ได้ดีขนาดไหน ในแบบที่ยังไม่ได้มีการปรับแก้โค้ดใด ๆ ซึ่งผมก็ดาวน์โหลดมาลองแล้ว โดยในบทความนี้เราจะมาดูกันว่าวิธีการทำเป็นอย่างไร ต้องเตรียมอะไรบ้าง และตอนนี้ยังมีข้อจำกัดอะไร สำหรับการทำให้ Mac เล่นเกมพีซีได้ในตอนนี้


Game Porting Toolkit คืออะไร ทำงานอย่างไร

Game Porting Toolkit (GPTK) คือชุดคำสั่งสำหรับนักพัฒนา ที่ออกแบบมาให้นักพัฒนาเกมสามารถดาวน์โหลดไปติดตั้ง เพื่อทดสอบเกมของตนเอง ว่าจะสามารถทำงานบน Mac ได้ดีขนาดไหน โดยที่ยังไม่จำเป็นต้องแก้ไขโค้ดตัวเกมเลย ซึ่งตัวชุดคำสั่งจะทำหน้าที่เป็นตัวกลางในการแปลงโค้ดเกม ทำให้นำ DirectX 11 และ DirectX 12 ไปทำงานบนโมดูล D3DMetal ของ Apple ได้แบบเรียลไทม์ ถ้าในกลุ่มของคนที่เล่นเกมบน Linux มาแล้ว ก็จะคุ้น ๆ ว่ามันคือโปรแกรม Wine ซึ่งถ้าเปรียบเทียบแล้ว ก็จะเหมือนกับโปรแกรม Proton ที่ทำให้ Steam Deck สามารถเล่นเกมพีซีได้นั่นเอง

ซึ่งด้วยการทำงานแบบเรียลไทม์ จึงทำให้สามารถเปิดเกมขึ้นมาเล่นได้ทันที ไม่จำเป็นต้องแก้ไข และคอมไพล์เกมใหม่เลย ปล่อยให้ระบบจัดการแปลงโค้ดให้เอง แต่ในขณะเดียวกัน ด้วยการทำงานแบบเรียลไทม์ ก็เป็นไปได้ว่ามันจะกินประสิทธิภาพเครื่องค่อนข้างสูงพอสมควร ทั้งส่วนของ CPU และ GPU

จากภาพคือจะเห็นว่าตัว GPTK จะเข้ามาเป็นตัวกลางในการแปลงชุดคำสั่ง ทั้งด้านภาพ เสียง การควบคุมเกม และชุดคำสั่งที่ออกแบบมาสำหรับทำงานบน CPU แบบ x86 ให้มาทำงานกับชิป Apple Silicon ที่เป็นสถาปัตยกรรม ARM64 ได้ จึงนับว่าเป็นงานที่ค่อนข้างหนักพอสมควรสำหรับ CPU และ GPU ทำให้ถ้ายิ่งมีจำนวนคอร์ทั้งสองแบบเยอะ ก็จะส่งผลโดยตรงถึงประสิทธิภาพด้วยแน่นอน

ส่วนถ้าเทียบกับแอปที่ทำให้ Mac เล่นเกม และลง Windows ได้บนเครื่องที่ใช้ชิป Apple Silicon ที่มีอยู่แล้ว เช่น CrossOver และ Parallels จุดที่ GPTK ทำได้เหนือกว่าก็คือมันสามารถทำงานร่วมกับ DirectX 12 ได้ด้วย ในขณะที่ Parallels จะได้สูงสุดในตอนนี้แค่ DirectX 11 ส่วน CrossOver ก็เพิ่งประกาศเมื่อต้นเดือนมิถุนายนที่ผ่านมา ว่าจะรองรับ DX12 ใน CrossOver เวอร์ชัน 23 ที่จะเปิดให้ใช้งานได้ในช่วงปลายปีนี้

สำหรับเรื่องค่าใช้จ่าย ในเบื้องต้นยังไม่สามารถระบุได้แน่ชัดว่าสุดท้าย Apple จะเปิดช่องทางให้ผู้ใช้งานทั่วไปสามารถเล่นเกมพีซีบน Mac ได้อย่างไร อาจจะเป็นได้ทั้งผ่านแอป client ตามปกติ เช่นบน Steam แบบที่ให้ผู้ใช้งานสามารถเล่นเกมที่ซื้อไว้ก่อนแล้ว เสมือนว่าเกมนั้นได้รับการออกแบบมาให้เล่นได้ทั้งบนพีซีและ Mac หรือที่น่ากังวลหน่อยก็คือ อาจจะใช้เป็นการวางขายใหม่บน Mac App Store ที่ผู้ใช้งานที่มีเกมนี้บนพีซีอยู่แล้ว จำเป็นต้องซื้อเกมใหม่อีกรอบ ซึ่งคงต้องรอดูกันอีกที และน่าจะเห็นภาพชัดเจนขึ้นในช่วงปลายปี ช่วงที่เปิดให้ใช้งาน MacOS Sonoma ตัวเต็ม


สิ่งที่ต้องเตรียม

ในการจะทำให้ Mac เล่นเกมพีซีได้ในตอนนี้ ก่อนอื่นเลยคือต้องบอกว่า ไม่แนะนำสำหรับเครื่องที่ต้องใช้ในการทำงาน เพราะซอฟต์แวร์เกือบทั้งหมดยังเป็นรุ่นสำหรับทดสอบเท่านั้น อาจมีบั๊ก ความเสี่ยง ข้อผิดพลาดที่ส่งผลถึงการใช้งานทั่วไป การใช้งานแอปเฉพาะทางได้ ถ้าพร้อมและมั่นใจแล้ว สิ่งที่ต้องมีและเตรียม ได้แก่

  • เครื่อง Mac รุ่นที่ใช้ชิป Apple Silicon เท่านั้น เช่น MacBook Air, MacBook Pro, iMac, Mac mini, Mac Studio ที่ใช้ชิปตั้งแต่ M1 ขึ้นมา
  • ติดตั้ง MacOS Sonoma Developer Preview (ทางที่ดีควรล้างข้อมูลในเครื่องด้วย)
  • ติดตั้ง Command Line Tools for Xcode 15 beta โดยค้นหาได้จากเว็บ Apple Developer
  • ดาวน์โหลดไฟล์ Game Porting Toolkit beta จากเว็บ Apple Developer และเปิดไฟล์ขึ้นมา จนมี drive ใหม่ขึ้นมาในเครื่อง

ในการทดสอบเกมด้วย GPTK ในตอนนี้ รูปแบบการทำงานจะใช้เป็นการติดตั้งชุดคำสั่ง เพื่อสร้างระบบจำลองแบบ Windows ขึ้นมาในเครื่อง (ลักษณะแบบโปรแกรม Wine) จากนั้นก็ติดตั้งโปรแกรม client สำหรับติดตั้งเกมอีกที โดยในขณะนี้จะรองรับ Steam, Epic, Battle.net และ GOG เท่านั้น

นอกจากนี้อีกข้อจำกัดที่น่าสนใจคือ เกมที่มาพร้อมระบบป้องกัน เช่นพวก anti-cheat หรือระบบ DRM อาจจะไม่สามารถทำงานร่วมกับ GPTK ได้ รวมถึงเกมที่จำเป็นต้องใช้ชุดคำสั่ง AVX และ AVX 2 ใน CPU เช่น The Last of Us Part I ก็อาจจะไม่สามารถทำงานได้ด้วยเช่นกัน


ขั้นตอนการติดตั้ง

ในการติดตั้งและเรียกใช้งาน GPTK เพื่อทำให้ Mac เล่นเกมได้นั้น จะมีขั้นตอนที่ค่อนข้างเยอะ และต้องอาศัยการพิมพ์คำสั่งในแอป Terminal ทั้งหมด โดยสามารถเข้าไปดูข้อมูล ขั้นตอน และคำสั่งต่าง ๆ แบบเต็มจากหน้าเว็บนี้ได้เลย ส่วนที่ผมติดตั้งเองมาแล้ว จะมีคำสั่งที่จำเป็นตามหัวข้อด้านล่างนี้ สามารถก็อปปี้เฉพาะคำสั่งไปใส่ใน Terminal ได้ทันที

  • 1) Install Rosettasoftwareupdate --install-rosetta
  • 2) Enter an x86_64 shell to continue the following steps in a Rosetta environmentarch -x86_64 zsh
  • 3) Install the x86_64 version of Homebrew/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 4) Set the path(echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> /Users/$USER/.zprofileeval "$(/usr/local/bin/brew shellenv)"
  • 5) ทดสอบด้วยการพิมพ์ which brew ถ้าทำตามขั้นตอนข้างบนมาถูกต้อง จะได้คำตอบเป็น /usr/local/bin/brew
  • 6) ดาวน์โหลด Apple tap brew tap apple/apple http://github.com/apple/homebrew-apple
  • 7) Install the game-porting-toolkit formula (ขั้นตอนนี้จะใช้เวลานาน อาจถึงหลักชั่วโมงได้ ขึ้นอยู่กับความแรงเครื่องด้วย) brew -v install apple/apple/game-porting-toolkit
  • 8) เช็คว่าได้โหลด และเปิดไฟล์ Game Porting Toolkit ตามที่ระบุไว้ด้านบนหรือยัง ถ้าเปิดแล้ว จะมี drive ใหม่ที่ชื่อว่า Game Porting Toolkit ขึ้นมาที่หน้าจอเดสก์ท็อป
  • 9) Copy the Game Porting Toolkit library directory into Wine's library directoryditto /Volumes/Game\ Porting\ Toolkit-1.0/lib/ `brew --prefix game-porting-toolkit`/lib/
  • 9) Put the 3 scripts from the Game Porting Toolkit DMG into here /usr/local/bincp /Volumes/Game\ Porting\ Toolkit*/gameportingtoolkit* /usr/local/bin
  • 10) Create a new Wine prefix named my-game-prefix in your home directoryWINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wine64 winecfg

ถ้าทำมาถึงขั้นตอนนี้ ก็ถือว่าได้ติดตั้ง GPTK เสร็จเรียบร้อยแล้วครับ ต่อไปคือเป็นการติดตั้ง client สำหรับติดตั้งเกมอีกที โดยวิธีการติดตั้งของแต่ละตัวก็จะแตกต่างกันไป และยังต้องมีการพิมพ์คำสั่งลง Terminal ประกอบด้วยเช่นกัน


ติดตั้ง Steam

  • 1) ดาวน์โหลด Steam ที่เป็นเวอร์ชันสำหรับ Windows จากหน้าเว็บ Steam (ย้ำว่าโหลดเวอร์ชันของ Windows เท่านั้น)
  • 2) ติดตั้ง Steam จากไฟล์ที่โหลดมา โดยที่ไฟล์อยู่ในโฟลเดอร์ Downloads ตามปกติgameportingtoolkit ~/my-game-prefix~/Downloads/SteamSetup.exe
  • 3) เปิด Steam ขึ้นมา และล็อกอินบัญชีที่มีอยู่ได้ทันที gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)/Steam/steam.exe'

ในการเปิด Steam ขึ้นมา บางครั้งอาจเกิดปัญหาจอเป็นสีดำ หรือเปิดไม่ขึ้นบ้าง ก็ให้ปิด (Quit) Terminal แล้วเปิดขึ้นมา พิมพ์คำสั่งเพื่อเปิด Steam ใหม่ดู โดยบางรอบอาจต้องใช้หลายครั้งหน่อย หรืออาจลองใช้อีกคำสั่งในการเปิด Steam ขึ้นมา นั่นคือ

MTL_HUD_ENABLED=1 WINEESYNC=1 WINEPREFIX=~/my-game-prefix /usr/local/Cellar/game-porting-toolkit/1.0/bin/wine64 'C:\ProgramFiles (x86)\Steam\steam.exe'

หลังจากล็อกอินเสร็จแล้ว ก็สามารถดาวน์โหลดเกมที่มีอยู่ใน Library ได้เลย

ในระหว่างการดาวน์โหลด สิ่งที่พบคือเครื่องจะใช้ CPU เยอะมากจนเครื่องร้อน และพัดลมในตัวต้องทำงานแบบเต็มที่สุด ๆ โดยทดสอบบน MacBook Pro 14″ M1 Pro ที่ใช้ CPU 8 คอร์ GPU 14 คอร์ ส่วนในระหว่างเล่นเกม พบว่าก็ใช้ CPU สูงเหมือนกัน แต่ไม่เท่ากับตอนโหลดไฟล์เกม

ส่วนถ้าใครต้องการเล่นเกมแบบใช้จอย ก็สามารถทำได้แบบไม่ต้องติดตั้งอะไรเพิ่มเลย ขอเพียงแค่เชื่อมต่อกับ MacOS ได้ ก็สามารถนำมาใช้ในเกมได้ทันที อย่างในรอบนี้ผมใช้จอย Xbox One สำหรับพีซี ก็เพียงแค่เอามาเชื่อมกับ MacBook ผ่าน Bluetooth เท่านั้นเอง พอเปิดเกมขึ้นมา ก็สามารถใช้จอยควบคุมได้โดยอัตโนมัติทันที


ติดตั้ง client อื่น ๆ

สำหรับการจะติดตั้ง client อื่น ๆ ให้ Mac เล่นเกมบนแต่ละโปรแกรมได้ ขอใช้การอ้างอิงไปที่เว็บต้นทางแทนนะครับ เพราะขั้นตอนค่อนข้างเยอะและยาวนิดนึง

ติดตั้ง Battle.net (วิธีและการทำงานจะคล้าย ๆ กับ Steam)

ติดตั้ง Heroic Games Launcher เพื่อเล่นเกมที่อยู่ใน Epic และ GOG (ตัว Heroic จะเป็นแอปที่อยู่ในฝั่ง Mac แต่ต้องมีการตั้งค่าอีกเล็กน้อย เพื่อใช้ชุดคำสั่ง Wine จาก GPTK อีกทีในการรันเกม)

นอกจากนี้ ในเว็บ Apple Gaming Wiki ที่ใช้อ้างอิง จะมีชุดคำสั่งที่ใช้สำหรับแก้ปัญหาที่อาจเกิดขึ้นได้ เช่น เปิดโปรแกรมแล้วไม่มีอะไรเกิดขึ้น หรือมีปัญหากับภาพ กับจอยเกม ซึ่งก็สามารถเข้าไปไล่หาในหน้าหลักได้เลย แต่ทั้งหมดจะเป็นภาษาอังกฤษนะ รวมถึงยังมีรายชื่อเกม และผลการทดสอบที่มีการรวบรวมไว้ด้วย ว่าเกมไหนสามารถเล่นได้บ้าง เล่นได้ระดับไหน หรือถ้าเล่นไม่ได้ ติดปัญหาที่ส่วนไหน


ทดสอบการใช้ Mac เล่นเกมพีซี

ในรอบนี้ผมทดสอบด้วยเกมที่คุ้นเคย คุ้นมือตัวเองไป 7 เกม กลุ่มของเกมที่จัดว่าเปิดไม่ได้ เล่นไม่ได้ก็จะมี

Hogwarts Legacy - เกมนี้ค่อนข้างแปลกครับ เพราะคนอื่นเปิดเล่นได้ แต่ที่ผมทดสอบกับเครื่องตัวเอง คือเปิดได้แค่รอบแรกเท่านั้น โดยที่เกมโหลดช้ามาก เฟรมเรตต่ำมากด้วย แต่พอปิดแล้วเปิดใหม่ ก็เปิดเกมไม่ขึ้นอีกเลย Resident Evil 4 Chainsaw demo - เปิดไม่ได้เลย แต่ผมไม่มีเกมตัวเต็ม เลยไม่ได้ทดสอบกับเกมเต็ม Cyberpunk 2077 จาก GOG ผ่าน Heroic launcher - เปิดไม่ได้เช่นกัน Metal Gear Rising Revengeance - เปิดไม่ได้

Tags:

ซ่อมโน้ตบุ๊ค
ซ่อมโน้ตบุ๊คทาวน์อินทาวน์
ซ่อมโน้ตบุ๊คใกล้ฉัน
ร้านซ่อมโน้ตบุ๊ค
ร้านซ่อมมือถือ
ร้านซ่อมมือถือทาวน์อินทาวน์
ร้านซ่อมมือถือใกล้ฉัน
ร้านซ่อมมือถือไว้ใจได้
ซ่อมโน้ตบุ๊คไว้ใจได้
ร้านมือถือ
ร้านโน้ตบุ๊คทาวน์อินทาวน์
ร้านโน้ตบุ๊คใกล้ฉัน
ศูนย์ซ่อมโน้ตบุ๊ค
ศูนย์ซ่อมโน้ตบุ๊คทาวน์อินทาวน์
ศูนย์ซ่อมโน้ตบุ๊คใกล้ฉัน
ศูนย์ซ่อมมือถือ
ศูนย์ซ่อมมือถือทาวน์อินทาวน์
ศูนย์ซ่อมมือถือใกล้ฉัน
บริการซ่อมโน้ตบุ๊ค
บริการซ่อมโน้ตบุ๊คใกล้ฉัน
บริการซ่อมโน้ตบุ๊คทาวน์อินทาวน์
บริการดูแลโน้ตบุ๊ค
บริการซ่อมมือถือ
บริการซ่อมมือถือใกล้ฉัน
บริการซ่อมมือถือทาวน์อินทาวน์