Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

** Hackintosh ** Tips to make a bare metal MacOS

Featured Replies

I usually share here ovmf files updated to the latest stable releases.

Well, this time I didn't and I wont share stable release 202111, because it seems the package has issues with gpu passthrough, most probably related to this pr, merged after that stable release:

https://github.com/tianocore/edk2/commit/ee1f8262b83dd88b30091e6e81221ff299796099

With the stable release I wasn't able to have a video output of the bios, so no bios access.

 

There were also some comments on reddit, for example:

 

So, for who is not able to compile or can't compile the files here are the updated ovmf files, commit 6612ff8 (24/12/2021).

I tested them in mac os 12.1 and kali linux.

I didn't test them in mac os 12.1 after a system update, if they allow for automatic reboot or not (latest working version without this issue for me is v. 202011).

Anyway, if the issue is still there, a forced reboot of the vm solves the issue.

 

These were built with gcc 10; gcc 11 gives errors due to brotli dependency, a working pr was issued, hopefully it will be merged soon.

 

OVMF_commit-6612ff8-24-12-2021.zip

Edited by ghost82

  • Replies 1.1k
  • Views 305.3k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Good news, no more AMD reset bug with RX 6xxx XT series GPUs in macOS 11.4 beta 1 on UnRAID.

  • Create a qcow2 image of 256 MB (from Unraid terminal): qemu-img create -f qcow2 /path/to/the/image/test.qcow2 256M This will create a qcow2 image of 256 MB.   Enable NBD on the host a

  • Attached OVMF files from edk2 stable release 202011, released today. Work good for me. edk2-202011.zip

Posted Images

Another topic of interest is sensors, and in particular the ability to monitor temperatures in our mac os vm.

It seems that "it's not possible" to monitor temperatures of cpu(s), even when pa ssed through, because they are not however real cpus, but these can be monitored from the host.

For gpu passthrough, since the host doesn't use it because it's attached to vfio, it can't monitor its temperature: for amd gpu(s) I found RadeonSensor, available here:

https://github.com/aluveitie/RadeonSensor

 

With it, It's possible to monitor the amd gpu temperature from the guest and it works on recent amd gpus, from radeon hd 7000 up to the latest 6000 series.

It is possible to use the builtin widget with only RadeonSensor.kext (to be injected), or to use and inject also SMCRadeonGPU.kext (which depends on RadeonSensor.kext), to export also the gpu temperature to VirtualSMC, so that other third party software, like Sensei, can read that value.

 

Builtin widget:

Widget.png.fb5180931587936190ebd0a5ed117851.png

 

Sensei:

Sensei.png.bc38d13efea3197b66622cdba708e9de.png

 

I don't have any nvme, but it would be useful for others if somebody knows how to read (if it's possible at all) the temperature of the nvme drive, when passed through.

15 hours ago, ghost82 said:

I don't have any nvme, but it would be useful for others if somebody knows how to read (if it's possible at all) the temperature of the nvme drive, when passed through.

If you pass the NVMe device through in its IOMMU group then the hardware is available to the OS.
I can see my drive temps via smartctl so any software should be able to do the same.

Spoiler

=== START OF SMART DATA SECTION ===

SMART overall-health self-assessment test result: PASSED

 

SMART/Health Information (NVMe Log 0x02)

Critical Warning:                   0x00

Temperature:                        35 Celsius

Available Spare:                    100%

Available Spare Threshold:          5%

Percentage Used:                    1%

Data Units Read:                    30,479,282 [15.6 TB]

Data Units Written:                 27,977,046 [14.3 TB]

Host Read Commands:                 507,304,635

Host Write Commands:                400,773,925

Controller Busy Time:               1,011

Power Cycles:                       148

Power On Hours:                     5,730

Unsafe Shutdowns:                   11

Media and Data Integrity Errors:    0

Error Information Log Entries:      46

Warning  Comp. Temperature Time:    0

Critical Comp. Temperature Time:    0

Thermal Temp. 1 Transition Count:   1

Thermal Temp. 1 Total Time:         207

 

is there a way to change the refresh rate of the display and if not confirmed (like in windows) the refresh rate reverts to the prior value? My default setting is 37,5hz and there is also a 60hz option. 

 

When I was using a vdisk setup some time ago I tried to switch to 60hz, which caused a black screen and I had to reinstall the OS. Since I have a NVME based setup now I don't want to risk a reinstallation. 

 

any advise? 

10 hours ago, doesntaffect said:

any advise? 

Mac os will not give the option to revert the refresh rate like in windows.

However you can reset the display properties:

1. boot into recovery

2. Give following commands:

cd /Volumes/YOURDISK/Users/YOURUSERNAME/Library/Preferences/ByHost/
rm -f com.apple.windowserver.*
rm -f com.apple.preference.displays*

You may need to mount the disk first if you receive error like "read only filesystem" with command 'mount' and options '-uw'

Edited by ghost82

An update on enabling content caching on mac os vm:

one solution is to patch (rename) VMM to something else (XXX) and kern.hv_vmm_present to something else (kern.hv_xxx_present) for mac os big sur 11.3+.

This was coded by @ofawx in his github repo:

https://github.com/ofawx/VmAssetCacheEnable

 

However, user reitermarkus opened an issue in github (https://github.com/ofawx/VmAssetCacheEnable/issues/6), letting us know that the patches break AppleQEMUGuestAgent.

This is because AppleQEMUGuestAgent checks for kern.hv_vmm_present, but if patched in the kernel it will not find it and it will not start.

Unfortunatly, as ofawx reported it's 

Quote

with a kernel patching approach, disguising the various VMM strings in the kernel is going to end up with all-or-nothing outcomes at the application level.

 

After this Acidanthera team included the cache content patch in its FeatureUnlock.kext.

This was not working properly, so after some tests (https://github.com/acidanthera/bugtracker/issues/1910) they implemented the solution in RestricEvents.kext, by patching kern.hv_vmm_present = 0 specifically for the AssetCache process.

With this latest solution both content caching can be enabled and AppleQEMUGuestAgent works as it should.

PR should be implemented soon in the master repo:

https://github.com/acidanthera/RestrictEvents/pull/5

 

and available soon if you want to compile from master, or in the next release version of the kext.

can you share where / when this is relevant?

@doesntaffectaare you referring to my latest post?

If so, content caching is useful to share updates among different apple devices, without downloading them from internet.

AppleQEMUGuestAgent is needed if you want to control the vm from the host, using the agent in the guest.

For example command virsh shutdown vmname --mode=agent does a clean shutdown of the vm from the host, using the guest agent, without relying on acpi instructions.

Can report that Apples AirPod Max work like a charm with a MacOS VM. Probably no surprise, but wanted to share this. 

 

Also came across this system tool (GER and ENG), which allows access to GPU power consumption & temperatures, system load etc. without adding any additional kexts. 

 

1358896190_Bildschirmfoto2022-01-03um23_09_03.thumb.png.49d574f9e5e17eea0c4cd0db8cdaa863.png

On 1/5/2022 at 10:42 PM, doesntaffect said:

which allows access to GPU power consumption & temperatures

This is possible for amd gpus < radeon vii, when apple decided for its drivers to stop reporting the temperature directly (but why???).

Vega 10 and older are able to display temperature without any third party kext.

  • 4 weeks later...

Hello!

 

I managed to install HighSierra thanks to the new Macinabox docker version released recently. I also configured it to passthrough my 1050TI GPU and got the sound to work properly. I configured everything using VNC at the beginning and after that thanks to nomachine&/chrome remote desktop. No problems when i connect to the VM through remote control software. The thing is that i lose signal after the apple logo at boot, the samsung tv which is connected through HDMI cable to the GPU loses signal and i get a black screen, although the VM is fully working if i login with nomachine or chrome remote desktop.

 

Any hints? Thanks!

You installed the nvidia drivers as well?

2 hours ago, david279 said:

You installed the nvidia drivers as well?

 

Yes, i installed the 387.10.10.10.40.139 version. I used a github utility that selects the best version for the macos (High Sierra 17G14033).

 

 

1 hour ago, ghost82 said:

And I think you also need boot arg nvda_drv_vrl=1

Make sure you have an up to date high sierra version: 17G14042

Then download and install webdriver v. 387.10.10.10.40.140.

https://images.nvidia.com/mac/pkg/387/WebDriver-387.10.10.10.40.140.pkg

 

I updated the system through Appstore and got to the 17G14033 version, not the xxx042.

 

Regarding the boot_args, i remembered following a guide that specified the nvda_drv=1, but don't recall the _vrl suffix. I'll look into this and try again.


Thx.

16 hours ago, faramir85 said:

17G14033 version, not the xxx042

17G14033 is before 17G14042, so update to the latest.

 

16 hours ago, faramir85 said:

nvda_drv=1

nvda_drv should be for previous nvidia drivers versions; following dortania guide, using v. 387.10.10.10.40.140, use boot arg nvda_drv_vrl=1

Edited by ghost82

  • 2 weeks later...
On 12/27/2021 at 11:55 PM, ghost82 said:

I usually share here ovmf files updated to the latest stable releases.

Well, this time I didn't and I wont share stable release 202111, because it seems the package has issues with gpu passthrough, most probably related to this pr, merged after that stable release:

https://github.com/tianocore/edk2/commit/ee1f8262b83dd88b30091e6e81221ff299796099

With the stable release I wasn't able to have a video output of the bios, so no bios access.

 

There were also some comments on reddit, for example:

 

So, for who is not able to compile or can't compile the files here are the updated ovmf files, commit 6612ff8 (24/12/2021).

I tested them in mac os 12.1 and kali linux.

I didn't test them in mac os 12.1 after a system update, if they allow for automatic reboot or not (latest working version without this issue for me is v. 202011).

Anyway, if the issue is still there, a forced reboot of the vm solves the issue.

 

These were built with gcc 10; gcc 11 gives errors due to brotli dependency, a working pr was issued, hopefully it will be merged soon.

 

OVMF_commit-6612ff8-24-12-2021.zip 937.61 kB · 7 downloads

 

Did you see any reboot issues with the newest update with this ? 12.2 or 12.2.1

6 hours ago, ab5g said:

Did you see any reboot issues with the newest update with this ? 12.2 or 12.2.1

Apart a kernel panic during the last reboot during the update (solved only by rebooting the whole host), which was probably fixed 2 days ago in opencore (fix to msr 35h for ProvideCurrentCpuInfo, in case of -cpu=host) everything is running smooth.

 

Update: Oh sorry, you were referring to ovmf: no, with this in my build, the update is able to reboot automatically, no force reboots needed (apart the kernel panic I described, but it's not ovmf fault).

Edited by ghost82

  • 2 weeks later...

I noticed that acidanthera has it's own audk repository...

It's a forked edk2 repository with added commits from acidanthera's developers, which is synched with edk2.

At the time of writing it's still synched with 202111 stable (usually it's synched with stable after some weeks), maybe we should use that instead of the original edk2 repo, for better support (?).

I will compile and share it too once it's synched with 202202.

 

Update: attached ovmf compiled from audk repo (synched with edk2 stable 202202)

OVMF_AUDK_202202-06-03-2022.zip

Edited by ghost82

  • 1 month later...

Hi again.

I have both windows and mac VMs on unRaid 6.10.0-rc4.

I've recently swapped a PCI SATA card in order to run Monterey on its own SATA controller, not using my motherboard main Z390 SATA controller, which I want to use exclusively with Windows.

Windows has got allocated all existing resources/controllers except for what Monterey VM has got allocated to himself:

  • [1b73:1100] 7c:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)
  • [1b4b:9215] 7a:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9215 PCIe 2.0 x1 4-port SATA 6 Gb/s Controller (rev 11)
  • [10de:128b] 07:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)
  • [8086:a324] 00:1f.5 Serial bus controller: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)
  • [8086:15bc] 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-V (rev 10)
  • [14e4:43ba] 01:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC (rev 01)
  • [144d:a804] 06:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961/SM963

I've used the latest EFI folder (opencore 0.78) from thenickdude and have configured it with opencore debugging versions.

 

I've only added USBToolBox.kext & UTBMap.kext generated from within Windows, (unfortunately the result is the same with or without these files).  

 

I've two Monterey OSs that run perfect in real mode/outside unRaid, plus the USB stick that has this EFI folder is also a Monterey USB installation disk.

 

Now, every time I boot this Monterey VM It doesn't pass the same boot point: "AppleFileSystemDriver: using apfs-preboot-uuid"

IMG_1023.thumb.jpg.208e1d04e9e6fd2e1fff893ecb4364ce.jpg

 

I've read the opencore boot log but I don't any see anything significant that can explain this...

Also uploaded (onto my gdrive) a video (in 240fps) of the whole opencore boot process.

 

What else can I do diagnose this issue ?

 

Thanks in advance for any answers.

 

Tower-UpdateVM.png

Tower-SysDevs.png

Monterey.xml opencore-2022-04-10-091349.txt.zip EFI.zip

Edited by augustopaulo

Try putting the card on a different bus. I run a mac os VM on pop os and usb device would not work when the bus was a high number like 0a. Just something to try.

<hostdev mode="subsystem" type="pci" managed="yes">

<driver name="vfio"/>

<source>

<address domain="0x0000" bus="0x7c" slot="0x00" function="0x0"/>

</source>

<address type="pci" domain="0x0000" bus="0x3" slot="0x00" function="0x0"/>

</hostdev>

<memballoon model="none"/>

</devices>

 

I changed your code from 0a to 3 in the part above, I did not see anything on 3 in your xml.

2 hours ago, david279 said:

Try putting the card on a different bus. I run a mac os VM on pop os and usb device would not work when the bus was a high number like 0a. Just something to try.

<hostdev mode="subsystem" type="pci" managed="yes">

<driver name="vfio"/>

<source>

<address domain="0x0000" bus="0x7c" slot="0x00" function="0x0"/>

</source>

<address type="pci" domain="0x0000" bus="0x3" slot="0x00" function="0x0"/>

</hostdev>

<memballoon model="none"/>

</devices>

 

I changed your code from 0a to 3 in the part above, I did not see anything on 3 in your xml.

Hi david279,

 

Thanks a lot your quick answer and idea.

 

I'm out at the moment, but when back home I'll try your suggestion ;-)

 

Hi @david279,

 

I've now changed the PCI USB controller bus address to 0x03 (removed existing "virtio-net" br0 at same address ) on the VM xml, booted up but unfortunately the result is the same...

 

I've also attached here the Monterey VM log.

 

I've now started to concentrate on one of the last messages in the opencore log: "AAPL: #[EB|LOG:EXITBS:START]", because this is mentioned on Dortania's trouble shooting guide: Stuck on [EB|#LOG:EXITBS:START]

 

Let's see how much I'll go further...

 

Monterey VM log.txt

3 hours ago, augustopaulo said:

Hi @david279,

 

I've now changed the PCI USB controller bus address to 0x03 (removed existing "virtio-net" br0 at same address ) on the VM xml, booted up but unfortunately the result is the same...

 

I've also attached here the Monterey VM log.

 

I've now started to concentrate on one of the last messages in the opencore log: "AAPL: #[EB|LOG:EXITBS:START]", because this is mentioned on Dortania's trouble shooting guide: Stuck on [EB|#LOG:EXITBS:START]

 

Let's see how much I'll go further...

 

Monterey VM log.txt 5.06 kB · 1 download

Try changing the machine type to 6.0

4 hours ago, david279 said:

Try changing the machine type to 6.0

Unbelievable, it worked!!

 

How ? Why ?

 

(I could kiss you now 😙, so happy 🤩 )

Edited by augustopaulo

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.