Contribute
Register

Announcement: AMD Ryzen Based Systems and tonymacx86

Ellybz

Retired
Joined
Apr 16, 2017
Messages
417
Motherboard
Gigabyte X299 WU-8
CPU
I9-7980Xe
Graphics
RX 580
Mobile Phone
  1. Android
I used the same setup to extract my SACD's OPPO BDP-103 and use Audirvana from my mini to a Benchmark DAC2-HGC
Love this Benchmark DAC :clap:. I used it for a long time. Even the headphones output was magical.
 
Joined
Jun 8, 2020
Messages
4
Motherboard
HP X2
CPU
7300U
Graphics
HD520
Booting an OS is just a matter of invoking the correct boot file, whether BOOTx64.efi or GRUBx64.efi, etc. (Booting macOS on foreign hardware is much more complicated than that, but booting an OS that is supported by the firmware is much easier.)

On my Z490 Vision D, OpenCore detects macOS and Windows, but not Ubuntu Linux. Clover, however, auto-detects everything. With OpenCore we have to create an entry in Misc section using PCI paths that can be determined by running OpenShell.

Here are the volumes that OpenCore and Clover have auto-detected:
  • OpenCore on top
  • Clover on bottom
We can see that Clover has detected Linux, but OpenCore has not -- even with ScanPolicy set to 0.

View attachment 487981
View attachment 487982

But after manually adding an entry in Misc as follows...
XML:
        <key>Entries</key>
        <array>
            <dict>
                <key>Arguments</key>
                <string></string>
                <key>Auxiliary</key>
                <false/>
                <key>Comment</key>
                <string></string>
                <key>Enabled</key>
                <true/>
                <key>Name</key>
                <string>Ubuntu Linux</string>
                <key>Path</key>
                <string>PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x2,0xFFFF,0x0)/HD(2,GPT,1224743C-A3D6-4286-AA06-4F251E336011,0x109000,0x32000)/\EFI\ubuntu\grubx64.efi</string>
            </dict>
        </array>

...OpenCore now displays an entry for Ubuntu, which in turn boots grubx64.efi:

View attachment 487983


This is also speculation because only the developers know whether it's feature complete and whether it's time to move to 1.0.0. My speculation is that it's still not feature complete.

But this semantic is largely irrelevant as long as OpenCore does what we need it to do.

Again, that's not "linux" detection, that's just showing grub in the menu, unlike clover that has hardcoded paths that it looks for, OpenCore does not have any hardcoded paths to look for but it checks the firmware and other partition information to get boot entries (like macOS boot.efi, and for windows, it assumes bootx64 that is found in your EFI drive as a windows system, like a real mac would do). For me, I'm literally running the kernel directly without any need for another bootloader like grub/systemd-boot, since most linux kernels support EFISTUB and can be ran as an EFI application.

I don't think OpenCore will change in that regard, it will just check for boot entries like a mac would do (that's the behavior acidanthera is going for), so for it to detect Linux like Clover do will most likely never happen, if you want you can just copy grubx64 binary to boot folder and rename it to bootx64, and it will do the job, or add the entry manually which is not wrong either. Check Misc section of OpenCore documentation (Dortania's html documentation conversion from pdf for webviewing).

Again, it all depends on developer, and yes as long as it does what it's meant to do, I guess it's fine.

On another note, if you want to have OC detect linux, boot said linux installer with opencore and install it, tried it on 3 devices (HP PB4540s, HP Elite X2, ThinkPad P50), they all have linux boot entries (in this case, ubuntu and arch) detected after a proper bootloader install (GRUB2).
 
Joined
Sep 5, 2012
Messages
102
Motherboard
Metabox Alpha (Clevo)
CPU
i7-9750H
Graphics
UHD 630
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Good news to get support in multiple places.
I already have my Ryzen 5 3600, Gigiabyte X570 Aorus Pro Wifi, RX580, 32Gb ram running Catalina and Big Sur on opencore for a while now. Rock solid.
B8F72450-F40B-4158-A8B6-E5C02CD8265E.jpeg
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
13,898
Motherboard
Gigabyte Z490 Vision D
CPU
i5-10400
Graphics
RX 580
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Quadra
Mobile Phone
  1. iOS
Again, that's not "linux" detection, that's just showing grub in the menu, unlike clover that has hardcoded paths that it looks for, OpenCore does not have any hardcoded paths to look for but it checks the firmware and other partition information to get boot entries (like macOS boot.efi, and for windows, it assumes bootx64 that is found in your EFI drive as a windows system, like a real mac would do). For me, I'm literally running the kernel directly without any need for another bootloader like grub/systemd-boot, since most linux kernels support EFISTUB and can be ran as an EFI application.
Using the example from my Z490 Vision D, the issue with OpenCore is as follows:
  • If the boot files (BOOTX64.efi, GRUBX64.efi, etc.) for macOS, Windows, and Linux are on three separate EFI partitions, OpenCore will detect each one automatically and present them in the Picker. In this case each operating system is completely isolated from the rest.
  • However, when Windows is already installed and we subsequently install Linux (even to a separate SSD), many Linux distros will combine the Linux and Windows boot files together into the same EFI folder.
Screen Shot 2020-09-14 at 5.07.37 AM.png

  • This might appear to be an invalid configuration, but in fact it is perfectly valid.
  • Modern UEFI BIOSes (firmware) recognize this configuration and present both (a) Windows and (b) Linux boot options as we can see:
200914115159.jpg


  • So:
    • UEFI BIOS interprets this correctly and shows both boot options.
    • Clover interprets this correctly and shows both boot options.
    • OpenCore does not interpret this correctly and shows only the Windows option.
I don't think OpenCore will change in that regard, it will just check for boot entries like a mac would do (that's the behavior acidanthera is going for), so for it to detect Linux like Clover do will most likely never happen, if you want you can just copy grubx64 binary to boot folder and rename it to bootx64, and it will do the job, or add the entry manually which is not wrong either. Check Misc section of OpenCore documentation (Dortania's html documentation conversion from pdf for webviewing).
In order for OpenCore to be UEFI-compliant or at least consistent with prevailing UEFI norms, it needs to handle this case because both Linux and Windows add their boot loaders into the first EFI partition they find (by default). So a single computer with multiple operating systems will have one EFI partition with multiple sub-directories -- one for each of the OSes.

OpenCore is following Apple's "bless" model for macOS volumes, which is nice. But it should not stop there.

It is not right to ask users to add complex entries in Misc --> Entry because that is the job of the boot loader. When UEFI BIOS and Clover can both detect this case (i.e. multiple boot loaders in a single EFI folder), it certainly points to a missing capability in OpenCore.
 
Joined
Oct 15, 2011
Messages
964
Motherboard
ASUS Gryphon Z87
CPU
i7-4770K
Graphics
HD 4600 & RX 580
Mac
  1. MacBook Pro
Classic Mac
  1. Apple
spacebar preview!
It is even faster in playing sounds :)

But I think you are right, let's stop at this point and return to the topic.
 
Joined
Mar 6, 2019
Messages
14
Motherboard
Gigabyte Z390 Aorus Master
CPU
i9-9900K
Graphics
RX 5700 XT / UHD 630
Mac
  1. Mac Pro
Mobile Phone
  1. iOS
Joined
Jun 10, 2010
Messages
200
Motherboard
ASRock Z490M-ITX/ac
CPU
i10 10700 3.8GHz
Graphics
RX 580
Mac
  1. MacBook Air
Mobile Phone
  1. Android
Speaking as someone who built a Ryzen 3900 XT system just last month, on OpenCore for the first time, I can heartily recommend OpenCore.

However I am now back on an Intel i7 10700 build instead. The Ryzen was super-fast and all that, but the lack of virtualisation apps (except Virtualbox), some unexplained weirdness with XCode no Android EMulator (see virtualisation) and the failure of most Adobe Creative Studio apps to even launch ended it for me.

That said - the AMD announcement is great news from www.tonymacx86.com
 

Gigamaxx

Moderator
Joined
May 15, 2016
Messages
6,256
Motherboard
GIGABYTE X470 Arous Gaming 7 WiFi
CPU
Ryzen R9 3900X
Graphics
RX 480
Mac
  1. iMac
Speaking as someone who built a Ryzen 3900 XT system just last month, on OpenCore for the first time, I can heartily recommend OpenCore.

However I am now back on an Intel i7 10700 build instead. The Ryzen was super-fast and all that, but the lack of virtualisation apps (except Virtualbox), some unexplained weirdness with XCode no Android EMulator (see virtualisation) and the failure of most Adobe Creative Studio apps to even launch ended it for me.

That said - the AMD announcement is great news from www.tonymacx86.com
Shanee does have some patches for Adobe and other apps. They are also working on performance issues.
I have noticed that my 3900x acts different than the lower core Ryzen chips. The 3600 gets recognized as an Intel i5 where the 3900 is unknown.
 
Joined
Jul 18, 2019
Messages
14
Motherboard
Asus B550-I
CPU
Ryzen 3600
Graphics
RX 580
Mac
  1. iMac
  2. MacBook Pro
Mobile Phone
  1. iOS
Because there is no Intel CPU with 12 core, I think.
It’s nice to know that shanee works on it!
And, yes, it’s problematic for Sndroid emulator but, I’ll use Windows for that.
 
Joined
Jun 10, 2010
Messages
200
Motherboard
ASRock Z490M-ITX/ac
CPU
i10 10700 3.8GHz
Graphics
RX 580
Mac
  1. MacBook Air
Mobile Phone
  1. Android
I didn't find it any different creating the Ryzen bootloader than the Intel one. In fact IIRC, I accidentally booted the Intel install from the SSD that was previously used for the Ryzen board - it worked for both CPUs.

Since then I've tuned the Intel install and removed a couple of surplus kexts of course, but I can't remember there being any differences in the process of creating the AMD or Intel EFI structure - just the details, as you'd expect going from one architecture to another.

The OpenCore docs are amazing.
 
Top