Jump to content

OpenCore General Discussion


dgsga
8,805 posts in this topic

Recommended Posts

9 hours ago, Download-Fritz said:

The technical implementation is not challenging, the design considerations are. We do not wish to scan for more hardcoded paths than necessary (which is how Clover works), those are currently limited to Apple's choices. We could add Windows with one line of change, but next people will ask for GRUB or such. Hence, as it's currently not a high priority concern, ideas on how to best handle the situation are discussed privately from time to time, without a clear choice of handling so far.

If someone thinks to have an idea that conforms to OpenCore's architectural design and security philosophies, we'll be happy to hear and discuss them.

Too many letters!

Why not implement boot option as /EFI/microsoft/boot/bootmgfw.efi?

Link to comment
Share on other sites

4 hours ago, Andrey1970 said:

It can be realized means OpenCore.
Skip

Count

But you have to realize that it can break work of other OS.

 

Would you mind demonstrate a simple example? Take for instance this patch that I wish to achieve.Thank you.

Screenshot 2019-06-19 at 8.10.05 PM.png

Edited by onemanOSX
Link to comment
Share on other sites

1 minute ago, onemanOSX said:

 

How do you achieve count and skip values?

Open DSDT and count it manually.

It is quite useless patch. 99,9% it will break your Windows booting. Because some names are not only in DSDT but in SSDT's too. 

 

Link to comment
Share on other sites

9 hours ago, HmO said:

@v10x maybe something like this

 

I'm quite sure ssdtPRGen.sh is outdated and doesn't work with newer CPUs like the one I mentioned.

 

OC already has the Emulate section, the problem is that I can't find any examples on how to use it or where to get the data for the ID and Mask.

Link to comment
Share on other sites

@Andrey1970 @vandroiy2012 Took a while to figure things out. But managed to use the patch function eventually. I understand the consequence as you guys had mentioned. And this is the only way I can get I2C trackpad to work in interrupt mode (though I had no issue in polling mode). However, glad you guys showed the ropes for my learning and whomever that is reading. Thank you!

Link to comment
Share on other sites

38 minutes ago, wern apfel said:

It does not work here, only with the FN key. I know it's possible to enable the default F keys, but then the media keys will not work anymore. And I do not like this extra menu icon.

I once checked it, worked, but probably I confused the link to a fork.

You can use http://kevingessner.com/software/functionflip/ 

Link to comment
Share on other sites

Again i make a post, @vandroiy2012, @Download-Fritz and @vit9696

Motherboard : Gigabyte Z170X Gaming 7
PRocessor : Intel Core i7 6700
GPU : MSI RX 580 Armor Edition
RAM : 8GB (2x4GB) PC19200
Bootloader : OpenCore Bootloader (latest version, i just compiled, tried and make this post) and Clover

Note : i deleted all my DSDT and SSDT from EFI/OC/ACPI, so please don't say it's about my modifed DSDT.aml. And i set all ACPI->Add, ACPI->Block, ACPI->Patch with Enabled=NO. So there is no ACPI patch with Add, Block or Patch with config.plist of OpenCore. I have uploaded my OC Folder below. Please check,

 

Problem :
I booted with OpenCore Bootloader to macOS, Windows and Linux and i get this result,

1. In Linux i get Brightness Slider, Why? I attach the picture. With CLOVER or direct boot to linux from Bios i don't get this brightness slider.
2. In Windows, i can't sleep and shutdown. But i can restart my PC. I uploaded video. But in Linux, i can sleep, restart and shutdown
3. Boot in to macOS with no DSDT.aml / SSDT.aml (i deleted it), i still can Shutdown, reboot and sleep (but instant wake when sleep, this is another problem, i just need to set HS08 to built-in/0xFF with custom SSDT later).

So, can anybody check this config.plist?. And kindly point me about my mistake :)

imageproxy.php?img=&key=c17464ef1b1b51c7Linux.png.a4dde85390d699ec7d99dac336692670.png 

 

 

OC.zip

Edited by Andres ZeroCross
Add OC folder
  • Haha 1
Link to comment
Share on other sites

@Shaneee & the team, from time to time we receive AMD questions, and do not have a good place to direct these people to. As we took the effort to implement AMD CPU detection patches recently, could you please take some time to prepare patches or what is needed for AMD boot in a closer format to OpenCore? Thanks.

 

@Andres ZeroCross, from the looks you at least do not need FadtEnableReset quirk, it is for old 775 socket based motherboards. You can also entirely remove PlatformNVRAM, SMBIOS, and DataHub sections for simplicity. I do not see any other obvious mistakes.

Link to comment
Share on other sites

Over the weekend, I managed to successfully boot all my systems (Skylake NUC6i5SYH with UEFI, and legacy GA-P55aUD3 desktop & Dell XPS M1530 laptop in my signature) with OC ver 0.0.3 on a GUID HFS+ formatted USB drive. Still testing and tweaking my configs but just about everything works as before :).  While it currently lacks many of the bells and whistles found in Clover, booting to macOS with OC is very, very fast!

 

980360235_OConXPSM1530.thumb.png.c66ecbd817fb1fc88e59b6949622d12d.png

 

Some notes on migrating to OC in legacy machines already booting with Clover

  • Generate config_imprint.plist for currently working Clover installation with clover-genconfig utility.  Device properties can then be imported into OC config.plist/DeviceProperties/Add later

 

Spoiler

 

540744442_CopyDevicePropertiesfromCloverconfig_imprint(genuconfig).thumb.png.f66f6053d9402258649aa0c94e4d4263.png

 

 

 

  • Prepare OC folder, referring to reference configuration.pdf.  Only needed ApfsDriverLoader.efi, HfsPlus.efi, and EmuVariable.efi drivers for my legacy machines.  WhateverGreen.kext basically does all the heavy work that Clover's Graphics Inject function used to do so I kept it for all my systems.
  • Use /Docs/Sample.plist provided as template for config.plist
  • Prepare config.plist with XCODE plist editor

    -Syntax very important, sometimes order of kext loading or kext anomaly prevents loading (eg most Kozlek sensors refuse to load but Slice versions seem ok) <----- Fixed in OC 0.0.4 with this commit so FakeSMC plugins now load OK
    -Kernel/Patch/RTC patches recommend to enable ---> prevent BIOS resets.  Leave MatchKernel blank to apply to all macOS
    -Kernel/Patch/ALPM IO Error AppleAHCIPort patch enable ---> prevent missing SATA drives on legacy SATA controllers eg ICH10

Spoiler

            <dict>
                <key>Comment</key>
                <string>ALPM IO Error AppleAHCIPort</string>
                <key>Count</key>
                <integer>0</integer>
                <key>Enabled</key>
                <true/>
                <key>Find</key>
                <data>QGACAA==</data>
                <key>Identifier</key>
                <string>com.apple.driver.AppleAHCIPort</string>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data></data>
                <key>MatchKernel</key>
                <string></string>
                <key>Replace</key>
                <data>AAAAAA==</data>
                <key>ReplaceMask</key>
                <data></data>
                <key>Skip</key>
                <integer>0</integer>
            </dict>


    -Kernel/Quirks/AppleCpuPmCfgLock ---> Yes to prevent AppleIntelCPUPowerManagement kps
    -ACPI/Quirks/FadtEnableReset ---> Yes to enable shutdown on some legacy machines
    -Misc/Security/ScanPolicy set to 0 to scan all disks and volumes
    -Misc/Security/RequireSignature & RequireVault set to 0 if not using FileVault
    -Misc/Boot/Timeout to 30s better for beginners to see scanned volumes
    -Misc/Debug/Target =69 enables boot logging to file in EFI and Data Hub
    -NVRAM/Add/7C436110-AB2A-4BBB-A880-FE41995C9F82/boot-args ---> for adding boot arguments
    -NVRAM/Add/7C436110-AB2A-4BBB-A880-FE41995C9F82/csr-active-config to enable/disable SIP.  I found setting to <30783637> (0x67) disabled SIP on my UEFI Skylake NUC with working NVRAM but not for my legacy machines without hardware NVRAM
    -PlatformInfo/Automatic set to YES, filled out just Generic values (MLB, ROM, SystemProductName, SystemSerialNumber, SystemUUID from Clover's config.plist)

 

  • Install Clover first in legacy mode to GUID formatted USB (custom install into FAT32 EFI System Partition).  Delete boot file + EFI folder, replacing with OC boot file & EFI folder prepared above - Extra: @RodionS provides a number of different duet boot files for legacy BIOS systems in the Applelife forum - link post#176.  Boot_BIOS_BlockIO can be preferable in some systems ---> faster boot to OpenCore.efi.
  • Change name of entry in OC volume list by making hidden text file ".disk_label.contentDetails" with desired name eg "Linux Mint" or "Windows 10"---> place file in OS loader folder eg /EFI/BOOT, /com.apple.recovery.boot or /System/Library/CoreServices
  • For linux on legacy machines, replace /EFI/BOOT/BOOTX64.efi with grubx64.efi.  BOOTX64.efi installed by the UEFI linux installer is the shim file for secure booting ---> hang for legacy machines when you reach desktop.
  • OC has weakness for multi boot systems: OC needs separate EFI for each OS loader.  If multiple OS loaders installed in single EFI, it will only boot the one installed as /EFI/BOOT/BOOTX64.efi
  • Since Mac ACPI properties are also injected when booting Windows (unlike for Clover), Windows activation may fail if activation is OEM based.

Sample OC config for Legacy BIOS system with drivers and kexts: XPS M1530 OC config.zip (Debug ver 0.0.3)

 

Good Hack/Luck!

 

Edited by fusion71au
Link to extra duet boot files compatible with OC
  • Like 6
Link to comment
Share on other sites

8 hours ago, vit9696 said:

@Shaneee & the team, from time to time we receive AMD questions, and do not have a good place to direct these people to. As we took the effort to implement AMD CPU detection patches recently, could you please take some time to prepare patches or what is needed for AMD boot in a closer format to OpenCore? Thanks.

 

@Andres ZeroCross, from the looks you at least do not need FadtEnableReset quirk, it is for old 775 socket based motherboards. You can also entirely remove PlatformNVRAM, SMBIOS, and DataHub sections for simplicity. I do not see any other obvious mistakes.


Yes, you're right, FadtEnableReset just for Legacy hardware with similar problem like mine. I have tried to set FadtEnableReset=NO yesterday, but i still get problem about sleep and shutdown in windows, so i try to set YES but no change. For experiment, I tried to use "ResetHwSig=YES/NO" but no change too. How about Brightness slider in Linux Ubuntu?? Any clue.

Anyway thanks reply :)

Edited by Andres ZeroCross
Link to comment
Share on other sites

7 minutes ago, Andres ZeroCross said:

How about Brightness slider in Linux Ubuntu?? Any clue.

 

For Linux your hackintosh with OpenCore is a regular iMac with built-in display. Unlike Clover OpenCore inject SMBIOS data for all Operating Systems, not only for macOS.  So i think Brightness slider is normal in this case. I'll try one of my builds with Linux and report back. And you can try change your model to MacPro6,1 and check Brightness slider in Linux.:)  

  • Like 1
Link to comment
Share on other sites

1 minute ago, vandroiy2012 said:

 

For Linux your hackintosh with OpenCore is a regular iMac with built-in display. Unlike Clover OpenCore inject SMBIOS data for all Operating Systems, not only for macOS.  So i think Brightness slider is normal in this case. I'll try one of my builds with Linux and report back. And you can try change your model to MacPro6,1 and check Brightness slider in Linux.:)  

Thanks, will try changing SMBIOS profile for testing purpose in Linux.

Link to comment
Share on other sites

32 minutes ago, vandroiy2012 said:

 

For Linux your hackintosh with OpenCore is a regular iMac with built-in display. Unlike Clover OpenCore inject SMBIOS data for all Operating Systems, not only for macOS.  So i think Brightness slider is normal in this case. I'll try one of my builds with Linux and report back. And you can try change your model to MacPro6,1 and check Brightness slider in Linux.:)  

No change,, still get Brightness SLider with MacPro6,1. 

Screenshot from 2019-06-20 15-38-15.png

  • Like 1
Link to comment
Share on other sites

9 hours ago, vit9696 said:

You can also entirely remove PlatformNVRAM, SMBIOS, and DataHub sections for simplicity. I do not see any other obvious mistakes.


Just need clarify,,
if i set PlatformInfo->Automatic = YES, the OC will read data from Generic, right??? So, if i fill PlatformNVRAM, SMBIOS and DataHub will be ignored by OC and no harm to configuration (not a mistake). Sometime i just need to use ManualData. Because with Automatic i got "Boot ROM Version: 166.0.0.0.0" for iMac17,1. Newest Firmware is 168.0.0.0.0

But for testing purpose (because i got problem with Sleep and Shutdown in Windows), i just set Automatic = YES.
Thanks :)

Edited by Andres ZeroCross
Link to comment
Share on other sites

@Andres ZeroCross, correct.

 

Tbh, I do not have an idea what can be broken. What I know for sure is that OC will not do anything if you disable all the options and quirks. Perhaps it is the right way to find out what exactly causes your strange behaviour in both operating systems. But I would say it is extremely strange...

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...