Jump to content

Ozmosis


xpamamadeus
6,231 posts in this topic

Recommended Posts

Well my tool will be a Windows executable though it could also run on a mac since I'm using QT. Its almost done just needs the code cleaned up and error checking. All it does it does is spit out the PNG and Plist files. Nothing more. Pretty simple at the moment but I suppose it could do more if I had more time. I also may enable it to be able to open up the firmware image itself without having to extract the them.bin file but I would have to borrow OZMTool for that and expand it if the author not mind. 

 

As far as testing out those themes you guys have posted haven't had the chance. At work now and would be prefer to be playing with code..

 

Thanks.

Link to comment
Share on other sites

Playing around with the Theme package the King posted and feel like a kid in a candy store.. but was wondering

what pre-requesites are required to compile the files as on my system it completely failed to pack them all...

 

Thanks

Link to comment
Share on other sites

Playing around with the Theme package the King posted and feel like a kid in a candy store..

Haha same for me :D Thanks a lot!

 

There are some folders that are required for the script to work. If you take a look into compile.sh these are:

 

Type | Folder | Name of file

FONTS=$THEME/Fonts/*

LOGOS=$THEME/Logos/*.png

POINTERS=$THEME/Pointers/*.png

BUTTONS=$THEME/Icons/Button_*.png

DEVICES=$THEME/Icons/Device_*.png

BADGES=$THEME/Icons/Badge_*.png

SELECTORS=$THEME/Icons/Selector_*.png

SPECIAL=$THEME/Icons/Special_*.png

BUS=$THEME/Icons/Bus_*.png

BACKGROUNDS=$THEME/Background/*.png

+ Theme.plist in $THEME Folder.

 

And there we also have a directory for a background image, everything you asked for ;)

 

Also make sure you name the files right:

# extract type, name, id and frame from filename ie Device_01_00_InternalDisk.png
  # type  = Device
  # id    = 01
  # frame = 00
  # name  = InternalDisk
I hope that I didn't missunderstand you :/ :)
Link to comment
Share on other sites

Hi,

 

I finally was able to load the OzmosisBlackTheme from the EFI parition and I have some interesting findings. The Oz Black Theme seems not to have keyboard support in my case and all my partitions are spaced too far apart to show all at once. The other finding has to do with where Oz was loading the Theme.bin file from. I assumed it was my Sierra partition running off of the first Sata0 cable but it turns out that I also had an Oz EFI partition on my NVME PCI-E drive that hosts Windows 10. This EFI parition is also completely hidden from OSX as its on a NVME drive and I didn't install any NVME drivers on purpose. Needed Hermit Shell for that and  looking into BdMesg Oz log reported finding the GUID of the Windows NVME first so I assumed thats where to copy the Theme.bin and what do you know it worked! It didn't need a four finger reset either!

 

This opens up an interesting possibility... Loading Sierra from the NVME drive. The only problem in the past I had was that  Oz wouldn't create a boot menu with out a Sata drive but maybe thats changed. Anyhow now thats out of the way time to make some custom themed mods!

 

Thanks

Link to comment
Share on other sites

Haha same for me :D Thanks a lot!

 

There are some folders that are required for the script to work. If you take a look into compile.sh these are:

 

Type | Folder | Name of file

FONTS=$THEME/Fonts/*

LOGOS=$THEME/Logos/*.png

POINTERS=$THEME/Pointers/*.png

BUTTONS=$THEME/Icons/Button_*.png

DEVICES=$THEME/Icons/Device_*.png

BADGES=$THEME/Icons/Badge_*.png

SELECTORS=$THEME/Icons/Selector_*.png

SPECIAL=$THEME/Icons/Special_*.png

BUS=$THEME/Icons/Bus_*.png

BACKGROUNDS=$THEME/Background/*.png

+ Theme.plist in $THEME Folder.

 

And there we also have a directory for a background image, everything you asked for ;)

 

Also make sure you name the files right:

# extract type, name, id and frame from filename ie Device_01_00_InternalDisk.png
  # type  = Device
  # id    = 01
  # frame = 00
  # name  = InternalDisk
I hope that I didn't missunderstand you :/ :)

 

 

 

Just confused about how to name the Background.png file so it can get included in the theme.bin file. I now have The King's script working perfectly and it adds every included png file however skips the Background.png file. Suspect either I've named it wrong or have incorrect header info.

 

Thanks

Link to comment
Share on other sites

"*" stands for a random name so the background picture could have any name, as long as it has the right suffix and is placed in the folder called "Background".

What have you changed to the script to make it work perfectly?

I just found all the required dependencies and put them in a folder called Tools. Then i created a Windows environment variable called %TOOLS% and pointed it to my c:\tools folder and edited the script to look in %Tools% for the files. I named the background png file 'Background_00_00_Default.png' and placed it in the background folder. Also goto rename logo folder to logos as script looks in logos not logo. Then I ran the script and it worked by doing 'compile.bat nameoffolder'. The script even adds the appropriate tEXT header info. Only thing is the background doesnt work or Oz doesnt know what to do with it because bdmesg certainly says it got loaded. Maybe i got the name wrong or the numbers wrong or the plist needs to mention it I dont know. Only The King could possibly know. Cecekpown said its probably not implemented or was going to be in a later release.

 

Besides that I've gotten close to understanding why after my first cmos clearing why Hermitshell doesnt load. Apparently thats the only time i can get into my firmware volume memory mapped shell... After a reboot it no longer works and I'm forced to use bcfg boot add to create a link onto the hard drive. However doing a Bcfg rm for removing the hermitshell FV built-in volume restores functionality until the next reboot. My feeling is that the pointer to the volume gets lost somehow due to bios bug or something. Anyhow I wish I knew how to create my own FFS auto loading shell driver. Even better if you could convert the Clover efi boot file into an autoloading firmware volume driver the skys the limit..

 

Wish i knew how..

 

Thanks.

 

PS: Will post those tools files later if anyone wants them.

Tools.zip

Link to comment
Share on other sites

I don't if it's the right thing, but as I look into the QUO ROM, the module that contain MoBo Manufacturer Logo was deleted from it but steel present in the non Ozmosis ROM. If I'm not wrong, and if we delete it from the ROM as i did 6 months ago, at the boot screen no Logo appear only Black Screen! But my question is, did the QUO Board show the right Logo and background at the boot screen, because the old background with: QUO your configuration. .... your choice. is no more present in XMASS one?

 

@davidm71: Have a look at the Oz-QUO-AOS.ROM and MX-QUO-AOS.ROM, it can help you maybe to know something!

Edited by ammoune78
Link to comment
Share on other sites

I don't if it's the right thing, but as I look into the QUO ROM, the module that contain MoBo Manufacturer Logo was deleted from it but steel present in the non Ozmosis ROM. If I'm not wrong, and if we delete it from the ROM as i did 6 months ago, at the boot screen no Logo appear only Black Screen! But my question is, did the QUO Board show the right Logo and background at the boot screen, because the old background with: QUO your configuration. .... your choice. is no more present in XMASS one?

 

 

Since I don't have a Quo system I'm not sure. All I can tell you is that the Theme package The King posted last week has one called 'OzThemeH256' that has the selection icons twice as large as before, and two extra icons on the top toolbar including an 'About' and 'Config' icon besides the 'CMos' and 'EDKII' icons of which they are non functional. I'll post a picture for you guys later if I can. Unfortunately have no idea how to get the background working. Only can set three colors on the background of the top, mid, and bottom thirds of the screen. If there is a way to enable a background image I bet it needs to be set in the plist file...

 

FullSizeRender.jpg?raw=1

Link to comment
Share on other sites

I think the OzThemeH256 was never been released for public, it's THe KiNG Theme project, we need someone who have QUO board, maybe I'll ask IronManJFF? And if you look at the plist file you only'll see Background:#xxxxx, but no Background PNG instead. That explain, what i was meaning, Background is only color with Ozmosis icon, and this is why cecekpawon maybe asking a year ago for someone to make logo!

 

There's no Background PNG like Clover or Chameleon because as I said it was deleted from the Oz QUO AOS.ROM, this and it's what I think, but I'm still 75% sure.

Link to comment
Share on other sites

I think the OzThemeH256 was never been released for public,

That is correct but is not my project. H256 was designed for high DPI displays and was supposed to be implemented the same way Apple have, i.e. if high DPI resolution found load high resolution images if not smaller one, this is very helpful to have a nice looking theme on high DPI displays and also  on tablets/touch screen displays(yes  Ozmosis have touch screen support) where on small display size with high DPI small icons are almost impossible to touch...

Interface is the work of main developer not mine, I had an attempt with it but had luck and I was saved by BlackFrog who designed and implemented the current theme.

As far I know background image is not implemented yet, only color.

 

P.S. While om UI(UserInterface) pressing F10 will take screenshot on the root of EFI partition...

  • Like 1
Link to comment
Share on other sites

@davidm71 You should be able to change the height and width of the background sections and also add sections. Have you tried that?

 

I don't know if this helps but the Theme.plist of the theme called "Standard" refers to the pointer picture using a GUID. It looks like this:

<key>Pointer</key>
	<dict>
		<key>ImageFile</key>
		<string>2CF68EED-7DDB-4784-9EDB-C1CF119483AE</string>
	</dict>
Maybe you could try to implement these lines into the Background section of the plist to point to a custom background picture. No idea if that will work though.
Link to comment
Share on other sites

@ammoune78 We are not talking about the BIOS splashscreen image, we are trying to figure out if there's a way to set an image as background for the OzmosisGUI. If you look at the image that david posted above, the idea is to replace the blue background behind the displayed boot options. That has nothing to do with the OEM Logo in the UEFI but with image data within the OzmosisHorizontalTheme ;)

 

Btw: Does this theme actually exist? http://www.insanelymac.com/forum/index.php?app=forums&module=forums&section=findpost&pid=2193678

Or is it just a mockup? I would love to know what options you can find behind the toolbar buttons :D

Link to comment
Share on other sites

I tried adding:

<key>Id</key>
<string>0</string>
<key>Image</key>
<string>0</string>

to:

<key>Screen</key>
	<dict>
		<key>Background</key>
		<string>#66ff33</string>
		<key>BottomMargin</key>
		<string>0%</string>
		<key>Height</key>
		<string>100%</string>
		<key>LeftMargin</key>
		<string>0%</string>
		<key>RightMargin</key>
		<string>0%</string>
		<key>TopMargin</key>
		<string>0%</string>
		<key>Width</key>
		<string>100%</string>
		<key>X</key>
		<string>0</string>
		<key>Y</key>
		<string>0</string>
	</dict>

Because I noticed the other icons were referenced by id and image number but that didn't work. I can only assume either its not implemented or the developer just didn't get around to adding it in there. Would bet anything that the original source code probably had it but commented it out. I mean why go through the trouble of writing a script that looks in a 'Background' sub-folder and compiles the file taking into account how many characters were in the word 'background' to parse out the id numbers out of the file name and not bother to include that feature?!

 

My only solution at this point is to use another boot loader like 'Refind' which allows custom background images and turn off the Ozmosis GUI. Only thing is I'm not sure if the Mac emulation would carry forward into another bootloader like Refind. In anycase I'll keep on experimenting on my free time. Only wish we knew who developed it so we could ask him ourselves. Maybe 'Blackfrog' could help?

 

Thanks

Link to comment
Share on other sites

You can add icons on that OzmosisGUI, or link the OEM SplashScreen which we can replace with Background image that we are looking to add to the gui by entering it's Guid or put it on ESP or directly in the Theme.bin.

How can you link the OEM Splashscreen to the GUI and use it as background? I've never seen that and the Gigabyte Splashscreen doesn't get displayed either. So I don't get what you're saying or I'm just missunderstanding you...

The GUID I was talking about is for the pointer image which can be found in the Theme file. That's also why you can't find the ID in the UEFI.

 

 

I tried adding:

<key>Id</key>
<string>0</string>
<key>Image</key>
<string>0</string>
to:
<key>Screen</key>
	<dict>
		<key>Background</key>
		<string>#66ff33</string>
		<key>BottomMargin</key>
		<string>0%</string>
		<key>Height</key>
		<string>100%</string>
		<key>LeftMargin</key>
		<string>0%</string>
		<key>RightMargin</key>
		<string>0%</string>
		<key>TopMargin</key>
		<string>0%</string>
		<key>Width</key>
		<string>100%</string>
		<key>X</key>
		<string>0</string>
		<key>Y</key>
		<string>0</string>
	</dict>
If you look close, you'll see that

<key>Id</key>
<string></string>
<key>Image</key>
<string></string>
is always within a
<dict> </dict>
Also the only places where you can find "Id" and "Image" as the link to a certain picture is within the "Windows" section of the plist.

 

So I would suggest to try to add a background picture by implementing that into the Windows section. To try it out I would delete everything within the "Windows"-Plist-part but keep the "Selector"-section for example. Then change Top- and BottomMargin of that Section (i.e of Selector) so that it fills out the whole display.

Afterwards add

<dict>
	<key>Enable</key>
	<true/>
	<key>Id</key>
	<string></string>
	<key>Image</key>
	<string></string>
</dict>
to

<key>Selector</key>
<dict>
	<key>Background</key>
			<string>#2c364f</string>
instead of the "<string>#2c364f</string>" part. Maybe that'll work or is worth a try.
Link to comment
Share on other sites

How can you link the OEM Splashscreen to the GUI and use it as background? I've never seen that and the Gigabyte Splashscreen doesn't get displayed either. So I don't get what you're saying or I'm just missunderstanding you...

The GUID I was talking about is for the pointer image which can be found in the Theme file. That's also why you can't find the ID in the UEFI.

 

Forget what I said, because i was wondering to put my Profil Logo that i use as splashscreen in my ROM and put it it in the Theme/Icons/ folder, and pointing that Theme.plist to use it with black color background! Problem here is that it need to change the placement of the drives icons and all icons size, after that and finally will have a screengui with to much icons, this is why Hermit developer stuffs maybe decided to leave that damn background gui.

 

I just want to know how to compile it, because I have PNG missing when i'm trying to do it, I can try to change the icons size to have smaller icons and after that the Logo can be fitted discretly, and this is only what i need.

 

Excuse me if I wasn't clear!  

Edited by ammoune78
Link to comment
Share on other sites

@ammoune78 We are not talking about the BIOS splashscreen image, we are trying to figure out if there's a way to set an image as background for the OzmosisGUI. If you look at the image that david posted above, the idea is to replace the blue background behind the displayed boot options. That has nothing to do with the OEM Logo in the UEFI but with image data within the OzmosisHorizontalTheme ;)

 

Btw: Does this theme actually exist? http://www.insanelymac.com/forum/index.php?app=forums&module=forums&section=findpost&pid=2193678

Or is it just a mockup? I would love to know what options you can find behind the toolbar buttons :D

 

Good thing will be to contact BlackFrog maybe?

Link to comment
Share on other sites

Wa

 

You need to understand that theme is strict relation with Ozmosis Interface implementation, so all you can do is to use existing features that are implemented already, or wait for future implementations/releases.

 

Thats good to know and appreciate the information you have provided. Was just hoping to discover an undocumented feature or two to spice up the interface. Though one cool thing I have discovered is that the Theme.Plist references FFS GUIDs under the 'Command' key for certain functions that do not exist for everyone. So was wondering if perhaps I could replace one of the GUIDS with the 'QFlash'  bios module or some other efi program?

 

As far as getting a custom background image patience will be a virtue here I guess..

 

Thank you.

Link to comment
Share on other sites

×
×
  • Create New...