Jump to content

Customized OpenCore with additional features


n.d.k
1,348 posts in this topic

Recommended Posts

7 hours ago, Awesome Donkey said:

If any of you guys find any icons (e.g. the ones for Clover themes) for Windows 10, macOS Catalina and Arch Linux that work without the graphical issue(s) or figure out how to get them working please let me know.

 

Hi @Awesome Donkey

 

You can use MaterialBox icons from BadruZeus's Clover theme. There are several OS: Arch, Windows 10, Catalina, etc. Could you share your ndk config.plist because I've some issues with custom entries and scanpolicy settings. Please. 

 

 

icons.zip

Link to comment
Share on other sites

@n.d.k Hearing about the glitches, I'm not convinced you blend correctly, check out "premultiplied alpha"

This code base is utter {censored} atm, but should do as a reference for some stuff: https://github.com/Download-Fritz/OC-GUI/blob/master/GUI.c#L259

It has event delegation, touch and animation support... theoretically it can do V-Sync, but without the VBLANK interrupt it is so-so

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

On 2/21/2020 at 4:04 AM, n.d.k said:

 

Vault = Optional

Thanks @n.d.k

Its work now. but windows not show.

ScreenShot-2020-02-21-121937.thumb.png.ac3eb17750715eaf5bcec4712893af9a.png

 

1298093754_ScreenShot2020-02-21at4_06_33AM.png.a70c6e6b8481685f8b4cbae965c51f83.png

Edited by nmano
Link to comment
Share on other sites

Here's my current relevant settings for my custom entries...

 

    <key>Misc</key>
    <dict>
        <key>BlessOverride</key>
        <array/>
        <key>Boot</key>
        <dict>
            <key>HibernateMode</key>
            <string>None</string>
            <key>HideAuxiliary</key>
            <true/>
            <key>HideSelf</key>
            <true/>
            <key>PickerAttributes</key>
            <integer>0</integer>
            <key>PickerMode</key>
            <string>Builtin</string>
            <key>PollAppleHotKeys</key>
            <true/>
            <key>ShowPicker</key>
            <true/>
            <key>TakeoffDelay</key>
            <integer>0</integer>
            <key>Timeout</key>
            <integer>0</integer>
        </dict>
        <key>Debug</key>
        <dict>
            <key>DisableWatchDog</key>
            <false/>
            <key>DisplayDelay</key>
            <integer>0</integer>
            <key>DisplayLevel</key>
            <integer>2147483650</integer>
            <key>Target</key>
            <integer>0</integer>
        </dict>
        <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>Windows 10</string>
                <key>Path</key>
                <string>PciRoot(0x0)/Pci(0x1D,0x0)/Pci(0x0,0x0)/NVMe(0x1,62-7C-B1-71-5C-38-25-00)/HD(2,GPT,9EF29AAC-62E4-4893-AC7D-113CB4FD2A00,0x109000,0x32000)/\EFI\Microsoft\Boot\Bootmgfw.efi</string>
            </dict>
            <dict>
                <key>Arguments</key>
                <string></string>
                <key>Auxiliary</key>
                <false/>
                <key>Comment</key>
                <string></string>
                <key>Enabled</key>
                <true/>
                <key>Name</key>
                <string>macOS Catalina</string>
                <key>Path</key>
                <string>PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x0,0xFFFF,0x0)/HD(2,GPT,E08BFAAC-998B-4BFD-A646-EF99E948D085,0x64028,0x3A321FE0)/VenMedia(BE74FCF7-0B7C-49F3-9147-01F4042E6842,625D19DCFED0004E9D7D20F2B5DBB8FD)/\CA308F42-E5BE-43B4-8C54-849ABCCE93F9\System\Library\CoreServices\boot.efi</string>
            </dict>
            <dict>
                <key>Arguments</key>
                <string></string>
                <key>Auxiliary</key>
                <false/>
                <key>Comment</key>
                <string></string>
                <key>Enabled</key>
                <true/>
                <key>Name</key>
                <string>Arch Linux</string>
                <key>Path</key>
                <string>PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x1,0xFFFF,0x0)/HD(1,GPT,C0C539B4-B4C5-4486-818F-68C8BB318DD5,0x800,0xFF801)/\EFI\boot\grubx64.efi</string>
            </dict>
        </array>
        <key>Security</key>
        <dict>
            <key>AllowNvramReset</key>
            <true/>
            <key>AllowSetDefault</key>
            <true/>
            <key>AuthRestart</key>
            <false/>
            <key>ExposeSensitiveData</key>
            <integer>6</integer>
            <key>HaltLevel</key>
            <integer>2147483648</integer>
            <key>ScanPolicy</key>
            <integer>983299</integer>
            <key>Vault</key>
            <string>Optional</string>
        </dict>
        <key>Tools</key>
        <array/>
    </dict>

  • Thanks 1
Link to comment
Share on other sites

19 minutes ago, Awesome Donkey said:

Here's my current relevant settings for my custom entries...

 

 

Thanks a lot :) Always 'Halting on critical error' if I try to boot Windows 10.

 

And with the default ScanPolicy value '983299', I can see ext drive like USB Installer for example.

 

 

Link to comment
Share on other sites

I have something I cannot explain regarding text-size in the boot-picker.

With that current builds, output config have changed.

For some reason, the text size in the boot-picker is much larger (seems about 2x original size?).

In some previous build, there was also a zoom but that was taken out again.

With that larger text, it almost looks like resolution is not right.

 

Can anyone confirm that?.... 

Regards, Mike

 

I guess wrong thread.... should post this in the original OC

Edited by Mike Ranger
wrong thread
Link to comment
Share on other sites

23 hours ago, Awesome Donkey said:

 

Alright, this worked, thanks.

 

I'll still mess around with the icons, but even with just straight using the icons from Clover themes without any modifications still has weird visual glitches on the icons, like on the Windows icon below. I suspect it's because of the transparency indeed. Shame I can't use icons without transparency and just black 128x128 boxes with the OS' icon pasted in the middle and that might work with PNG images, but likely won't for ICNS images... at least until I can figure out how to edit ICNS files without messing up the alpha layer.

 

 

ScreenShot-2020-02-22-180249.png

 

This visual glitches with Windows Icons for example has been solved.

  • Thanks 1
Link to comment
Share on other sites

11 hours ago, Matgen84 said:

with the default ScanPolicy value '983299', I can see ext drive like USB Installer for example.

 

USB.png.435ea7267c90b44d6b2a063457f04964.png

 

983299 = 0F0103

 

Edited by Ellybz
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Hi @n.d.k and all users

 

I create a custom entry for Windows 10, but when I select it in GUI, I have got a issue: Halting on critical error. Needs help, please.

 

		<key>Entries</key>
		<array>
			<dict>
				<key>Arguments</key>
				<string></string>
				<key>Auxiliary</key>
				<false/>
				<key>Comment</key>
				<string>Not signed for security reasons</string>
				<key>Enabled</key>
				<true/>
				<key>Name</key>
				<string>Windows 10</string>
				<key>Path</key>
				<string>PciRoot(0x0)\Pci(0x17,0x0)\Sata(0x2,0xFFFF,0x0)\HD(2,GPT,F15186C6-F501-4C1C-9BCF-990FF40BB10D,0x109000,0x31800)/\EFI\Microsoft\Boot\bootmgfw.efi</string>
			</dict>
		</array>

 

Link to comment
Share on other sites

6 hours ago, Matgen84 said:

I create a custom entry for Windows 10, but when I select it in GUI, I have got a issue: Halting on critical error. Needs help, please.

 

PciRoot(0x0)\Pci(0x17,0x0)\Sata(0x2,0xFFFF,0x0)\HD(2,GPT,F15186C6-F501-4C1C-9BCF-990FF40BB10D,0x109000,0x31800)/\EFI\Microsoft\Boot\bootmgfw.efi

 

The red slash need to be reversed

  • Thanks 1
Link to comment
Share on other sites

5 hours ago, Download-Fritz said:

@bayard about your question at 

Make sure you compiled the driver with assertions *disabled* because it might hang right here: https://github.com/tianocore/edk2/blob/1d3215fd24f47eaa4877542a59b4bbf5afc0cfe8/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseEntry.c#L175-L185

 

@bayard,

NdkBootPicker.efi doesn't depend on the HiDatabase.efi. I said, I will release the something in a day or two that doesn't require HiiFont protocol to run.

  • Like 1
Link to comment
Share on other sites

21 hours ago, n.d.k said:

 

This visual glitches with Windows Icons for example has been solved.

 

Nice, please somebody let me know when it lands on Github and I'll test it. Oh wait, built the latest commit and it looks nice now, YAY!

 

ScreenShot-2020-02-24-150829.thumb.png.74b122d85394fe672bfb0811d390e7d7.png

 

 

Also, yesterday I did a clean reinstall of macOS Catalina, but I noticed when performing the 10.15.3 update (via combo update) the macOS Installer entry wasn't added to the boot picker. In fact, I had to remove all custom entries for it to appear, then it worked fine. Any thoughts why? Also is it possible to add a macOS Installer entry via custom entry or will the path always change with each macOS update? My ideal setup would be to have custom boot entries with the macOS Installer entry only appearing when a system update is in progress.

Edited by Awesome Donkey
  • Like 1
Link to comment
Share on other sites

11 hours ago, eng_redaesm said:

 I think there a little bug here with NDKbootbicker the option misc->security->Allowsetdefault  isn't working at all 

however with your fork is working good

 

If you refer to the Auto boot to previous booted OS (if Misc->Security->AllowSetDefault is NO/false). then yes, this option is removed from the NdkBootPicker.efi due to OC doesn't want this function to be altered.  I can put it back in if OC team doesn't object to this.

 

 

1 hour ago, Awesome Donkey said:

Also, yesterday I did a clean reinstall of macOS Catalina, but I noticed when performing the 10.15.3 update (via combo update) the macOS Installer entry wasn't added to the boot picker. In fact, I had to remove all custom entries for it to appear, then it worked fine. Any thoughts why? Also is it possible to add a macOS Installer entry via custom entry or will the path always change with each macOS update? My ideal setup would be to have custom boot entries with the macOS Installer entry only appearing when a system update is in progress.

 

 You shouldn't have to disable all the custom entries, just the one that you're updating.

  • Like 2
Link to comment
Share on other sites

29 minutes ago, n.d.k said:

If you refer to the Auto boot to previous booted OS (if Misc->Security->AllowSetDefault is NO/false). then yes, this option is removed from the NdkBootPicker.efi due to OC doesn't want this function to be altered.  I can put it back in if OC team doesn't object to this.

It will not be upstreamed or alike, but you're free to design your fork/GUI whatever way you want of course, so long as it does not bring any disadvantages to us (i.e. please support your people and/or try to make sure they do not abuse our bugtracker or threads too much). Though of course we're happy if you do not support ambiguous or unintuitive behaviour like this.

29 minutes ago, n.d.k said:

You shouldn't have to disable all the custom entries, just the one that you're updating.

That's among the reasons why we rejected this. :) I don't like the bless concept myself, but that's what we're given to work with, so I support letting it live as well as possible, not trying to kill it for convenience. iirc people want this to rename entries, which they could easily do by either renaming the macOS volume or (for all other OSes) create the .contentDetails file as Apple does - not quite a big task honestly.

 

EDIT: To clarify the first paragraph, nobody who uses this fork or the GUI will get any support on the bug tracker at all. Because this will be interpreted again as some hate and disrespect comment by who knows, I'll also clarify this is due to how software debugging works... we cannot magically check OC for whether it is our bug or where it is, so everything interfering must be removed. Obviously this does not mean you cannot just temporarily remove and then put back the GUI after debugging with us.

Edited by Download-Fritz
Link to comment
Share on other sites

22 minutes ago, n.d.k said:

You shouldn't have to disable all the custom entries, just the one that you're updating.

 

IMO, that's kinda annoying to have to do every time there's a new system update. I don't suppose it's possible to have a feature to toggle this, like the auxiliary spacebar toggle? Like a key press to instantly disable/toggle back from custom entries to whatever OS entries OC is detecting? Or something like automatically show/add macOS Installer entries that are detected regardless of custom entries being used? I mean, there's gotta be a way to have the cake and eat it too.

Link to comment
Share on other sites

29 minutes ago, Awesome Donkey said:

 

IMO, that's kinda annoying to have to do every time there's a new system update. I don't suppose it's possible to have a feature to toggle this, like the auxiliary spacebar toggle? Like a key press to instantly disable/toggle back from custom entries to whatever OS entries OC is detecting? Or something like automatically show/add macOS Installer entries that are detected regardless of custom entries being used? I mean, there's gotta be a way to have the cake and eat it too.

 

There's better way to overcome this inconvenience without option or user interaction, it's just i haven't got a chance to get to it yet. Plus Update doesn't come that often, so i let this live for now.

Edited by n.d.k
  • Like 3
Link to comment
Share on other sites

1 hour ago, cpla said:

Which theme are those icons from @Awesome Donkey? They look pretty good now.

 

They're from the BeautyX Clover theme.

 

3 minutes ago, n.d.k said:

 

There's better way to overcome this inconvenience without option or user interaction, it's just i haven't got a chance to get to it yet. Plus Update doesn't come that often, so i let this live for now.

 

Nice, what is it if you don't mind me asking? I'm curious! Hopefully you do get a chance soon, it'd be much appreciated! Keep up the great work with this fork! :)

  • Like 1
Link to comment
Share on other sites

Ok, I just pushed out a new commit which address a couple issues:

 

- Fixed the Install MacOS not show up due to existing custom entry. ( no need to disable custom entry before update any more)

- Use custom font.png instead of HiiFont protocol which use system font. (So, please don't forget to copy font.png from Icons folder to EFI\OC\Icons).

  

Edited by n.d.k
  • Like 3
Link to comment
Share on other sites

Hi there,

Trying to compile using Xcode 10.13.1
fresh install and I've compiled other xcode projects. Any ideas what's wrong?
 

/Volumes/Home/Desktop/OpenCorePkg-master/edk2/OpenCorePkg/Platform/OpenCore/OpenCoreUefi.c:435:26: error: too few arguments to function call, single argument 'Route' was not specified

    OcProvideConsoleGop ();

    ~~~~~~~~~~~~~~~~~~~  ^

/Volumes/Home/Desktop/OpenCorePkg-master/edk2/OcSupportPkg/Include/Library/OcConsoleLib.h:132:1: note: 'OcProvideConsoleGop' declared here

VOID

^

/Volumes/Home/Desktop/OpenCorePkg-master/edk2/MdePkg/Include/Base.h:278:19: note: expanded from macro 'VOID'

#define VOID      void

                  ^

1 error generated.

make: *** [/Volumes/Home/Desktop/OpenCorePkg-master/edk2/Build/OpenCorePkg/DEBUG_XCODE5/X64/OpenCorePkg/Platform/OpenCore/OpenCore/OUTPUT/OpenCoreUefi.obj] Error 1





build.py...

 : error 7000: Failed to execute command

make tbuild [/Volumes/Home/Desktop/OpenCorePkg-master/edk2/Build/OpenCorePkg/DEBUG_XCODE5/X64/OpenCorePkg/Platform/OpenCore/OpenCore]





build.py...

 : error F002: Failed to build module

/Volumes/Home/Desktop/OpenCorePkg-master/edk2/OpenCorePkg/Platform/OpenCore/OpenCore.inf [X64, XCODE5, DEBUG]



- Failed -

Build end time: 23:07:28, Feb.24 2020

Build total time: 00:00:04

 

Link to comment
Share on other sites

×
×
  • Create New...