Opencore-Steam-Deck

An opencore EFI configuration for the steamdeck

Stars
47

OpenCore-Steam-Deck

An OpenCore EFI configuration for the Steam Deck

This is a guide targeted at getting users to run macOS bare metal on their Steam Decks.

Some things to know:

  1. Barely anything works. Many devices do not have support. This is more of a "Look what I can do!" thing as of right now.

  2. THIS CAN EASILY WIPE YOUR STEAMOS INSTALL IF YOU ARE NOT CAREFUL. Part of the macOS install is FORMATTING a storage device OF YOUR CHOOSING. IF YOU CHOOSE THE INTERNAL STORAGE OF THE STEAM DECK, IT WILL BE WIPED.

  3. With #2 being said, you can, in fact, dual boot macOS and steamOS or windows on the same drive with some elbow grease.

  4. I did not make any of the software used. I simply helped get macOS booting with some other devs and people interested. It was a team effort.

  5. Stuff will be fixed or not depending on if someone takes interest and adds support. PLEASE dont ask when stuff with be supported, I dont know. As support is added, and added in a way the devs of the software are comfortiable with, I will update the guide.

  6. PLEASE DO NOT FLOOD THE HACKINTOSH SERVERS FOR SUPPORT REQUESTS. Whether it be discord or others. These are niche devices that barely run macOS. For the love of all thats good and holy, dont pester the volunteers that help others with this meme of a computer. If you must ask, come here to and ask IN THE DISCUSSIONS.

  7. Booting from the SD card slot will not work in most cases (booting an online recovery image should work as it is run from memory, not the SD card itself). If you are using an offline image or a full macOS install, you will need to boot from USB or the internal NVME.

Getting Started

Firstly, you need to understand how to run macOS on any other PC. Go to the Dortania OpenCore install guide and familiarize yourself with it. This is what we will be using.

For the most part, you will follow the steps in the OpenCore guide, so make sure that you read and understand it.

As you are following the guide and get to the Gathering Files portion, you will want to have these files for the Steam Deck:

APCI

For this, you are going to want to download a tool called SSDTTime. Running this tool on the steam deck, you are first going to choose option P to dump you DSDT. If you are running this tool from another machine, you will need to get the DSDT from your steam deck select it in the tool. Then you are going to select option 3 to make a SSDT-EC.aml. It should be in the results folder. Copy this to your EFI -> APCI folder, as per the OpenCore guide instructions.

You will also need the SSDT-CPUR in the ACPI folder.

In the end, you should have two files in the ACPI folder:

  1. SSDT-CPUR.aml
  2. SSDT-EC.aml

Firmware Drivers

You only need two firmware drivers:

  1. HfsPlus.efi
  2. OpenRuntime.efi (included in the OpenCore drivers folder already)

Everything other than these two .efi files be trashed. In fact, I recommend that you trash all the extras (there are alot) so the boot menu for OpenCore isnt a confusing mess.

Tools and Resources

Just drag the tools and the resources folders to the trash. Yes I'm serious. We dont need them right now and they can make things much more confusing in the boot menu. Just get rid of them.

Kexts

Note: Kexts with look like regular folders with .kext at the end on Windows and Linux. Just get the folders with the .kext at the end, these are what you want

Make sure you have these Kexts in your kexts folder:

  1. Lilu.kext

  2. VirtualSMC.kext Only the VirtualSMC.kext is needed, none of the others in the folder

  3. GUX-RyzenXHCIFix This kext is experimental! Make sure you read its readme!

  4. USBToolBox.kext

  5. For USBMap.kext, you can make your own with the tool with REQUIRES Windows and DOES NOT support Linux, or if you dont have Windows, you can use this map which should work, but dont be surprised if it stops working

  6. AppleMCEReporterDisabler.kext is only needed for macOS versions newer than but not including Big Sur.

Config.plist

After nabbing the sample.plist from the OpenCorepkg -> docs folder, moving it to your OC folder and renaming it config.plist, follow the steps in that Ryzen and Threadripper portion of the guide with just a few variations:

  1. You can leave Booter -> Quirks -> ResizeAppleGpuBars as -1 for now.

  2. For your AMD patches under the Kernel, the Steam Deck uses 4 cores and 8 threads, so you will want to use 4 in your AMD patches.

  3. Under Kernel -> Quirks, we have a USB map so make sure to disable the XhciPortLimit

  4. Under Misc -> Security, set SecureBootModel to Disabled to make life easier.

  5. Under your NVRAM section in your boot-args, add vsmcgen=1 at the end.

  6. For PlatformInfo, something like MacBookPro16,3 works fine.

  7. Under UEFI -> Output, set DirectGopRendering to True and set the Resolution to 1280x720 Note: If you skip this last part, your screen output will be garbled

That should do it! Just these changes the the standard OpenCore Ryzen install guide should get you up and running. Have fun!

Picture Examples

OC folder image

ACPI folder image

Drivers folder image

Kexts folder image

Related Projects