Jump to content

Proxmox VE OSX Guide discussion


fabiosun

Recommended Posts

  • Supervisor

Benchmark VM:

Windows:

 

image.thumb.png.cb2106b8a409e9d18cbf55f75e9cd88f.pngimage.thumb.png.fdb513e2b21c4053bd6e11f0b5b1edaa.png

 

Benchmark Windows (NO VM):

 

image.thumb.png.0e2a2cc3e7296e1721f28b42f43b5da8.pngimage.thumb.png.04823dc08913d01afbeb82e59727fc10.png

 

Benchmark VM:

OSX macOSHigh Sierra 10.13.6 (17G12034)

 

1558765800_ScreenShot2020-04-07at2_53_55PM.thumb.png.df32f629800735b0a9a400be125891b4.png1983335620_ScreenShot2020-04-07at3_02_02PM.thumb.png.9b97aae00e6d454cd45908f4785b54fd.png

 

625993492_ScreenShot2020-03-26at6_54_17PM.thumb.png.a6a6033156fe25ac362d99a95fb2d1e5.png

 

29562322_ScreenShot2020-04-07at5_32_16PM.thumb.png.4f93d676f074b076849e4a3e2f082787.png

 

518879261_ScreenShot2020-04-30at10_21_03.thumb.png.8728843889f9b980c0ae07c95a3003a5.png

 

Benchmark (NO VM):

OSX macOSHigh Sierra 10.13.6 (17G12034)

 

NOT AVAILABLE see here:

 

 

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

  • Supervisor
7 hours ago, Pavo said:

This is an very detailed instructions

I think I am going to try this on my 3950X system.

Happy for this

i am not a linux expert so i have tried to stay as simple possible

i suggest to start with a clover iso after you have properly configured Proxmox environment

in this way i have had success to configure with an only EFI all main OSX system 🙂

 

  • Like 1
Link to comment
Share on other sites

Thank you Fabio for your effort and for a very detailed instruction set.  I am currently playing  with an old i5 intel system to get comfortable with the  whole setup but I am planning to  put together, using your setup as a guide, a nice setup/experiment/project as:

 

-  having a 3960 TRX40 based system

- install on it one VM for Freenas, to be made available to OSX and Windows to store video production

- Install on it one VM with Catalina (using OSX as a microsoft supported unix box + video editing)

- Install on it  a Windows VM for gaming and for a few apps not supported on osx (mainly Microsoft project and microsoft Visio + Games)

- Install on it  a Windows VM for my wife with a dedicated video card

 

in relation to such project I have a couple of questions you may have gathered some experience on:

 

- Are CPU(s) allocated to a  VM, allocated exclusively or is the CPU count for each VM, just setting an upper bound limit on the number of  threads a certain VM can execute concurrently at any given time?

- Same question for the memory allocated to each VM

- Did you find a way to run a VM from a physical disk rather than from a file? ( meaning, I have a windows installation in one disk,  and I would like now to run it  as a VM)

 

Thank you for your help

 

Link to comment
Share on other sites

  • Supervisor

hi @Renato welcome here 🙂

 

Every VM allocated its resource ie:

my osx high sierra VM is set to have all my 32c/32t allocated.

memory is a bit different..I can allocate a max value of about 125 Gb instead all 128Gb I have

From my OSX vm I can access to my linux installation via web iterface, scp command and maybe also with ftp (not tested)

 

Latest question..I am booting Catalina on a physical ssd disk passed entire sata controller..

in this controller I have disk you can see below :

2028472923_ScreenShot2020-04-11at11_44_21AM.thumb.png.bc1243fb39e5972d8a0eeb5f79ff6f4d.png215904880_ScreenShot2020-04-11at11_44_48AM.thumb.png.69e483dfee1ea00d349e9a73470ea3e0.png

 

I have Catalina on a SSD in a sata external box..now is off

 

  • Like 1
Link to comment
Share on other sites

Thanks Fabio for this excellent guide! I got my hackintosh working! I'm using 3970x,  5700XT GPU passthrough, and MP600 NMVE passthrough. Performance is great.

 

I'll share some tips to get the 5700XT GPU passthrough working. This can be helpful for other people using AMD GPUS. I had to do some extra things:

 

The default GPU BIOS doesn't have UEFI enabled. Instead of updating the firmware, which is risky (or non existent tools) , you can download a ROM with UEFI support and let proxmox load/expose it when starting the VM. In my case I downloaded this rom (https://www.techpowerup.com/vgabios/212439/gigabyte-rx5700xt-8192-190616). You have to copy it to

/usr/share/kvm/5700xtcustom.rom

and specify the ROM file in the GPU pcie passthrough line vm conf:

 

hostpci1: 03:00,pcie=1,x-vga=1,romfile=5700xtref.rom

 

Additionally, I had to enable some extra flags in clover or it didn't boot correctly.

 

Make sure that you pass the agpmod=pikera boot argument. In graphics settings enable RadeonDeinit. Make sure that InjectATI is correctly disabled. If you are using clover configurator press the checkbox twice, otherwise it's enabled by default.

 

 

 

agpmod.png

radeon.png

Edited by Imanol
  • Like 2
Link to comment
Share on other sites

I believe we both speak Italian, do you mind if I PVT in Italian if I need some hints?

the question on the processors would be easy  to address verifying if you can run 2 VM at the same time having 32 (or 64? not sure if as far as proxmox is concerned, one core is one thread) processors allocated. Anyway, this is something I should be able to try by myself once I have proxmox on my "training" system. on IaaS providers one has option to purchase either dedicated or shared CPUs, I would reckon this should be no different.

I rather do all my test in advance  before spending 4K Euros on a system I can't use the way I envisioned.

I love to see that proxmox is debian based which opens lots of other possibilities .

Tell me, did  pormox recognize all of your TRX40 hardware? (bluetooth, wifi, soundcard, etc?) or you did not care and allocated  those resources directly to your OSX?

Link to comment
Share on other sites

  • Supervisor

Hi, I prefer a public discussion so it is useful for other

For your question I have only executed a VM not 2 or more togheter

My main goal was to have a perfect hackintosh and it is a near task 🙂

For now I have passed audio (working on it because it seems to be shared its IOMMU group) , HDMI/DP audio (perfect with a ssdt created by @Gengik84here) nvme and all sata disk passed
Nvidia passed...

 

  • Like 2
Link to comment
Share on other sites

@fabiosun  I've researching some CPU flags not added in the boot args list (based on this post) and cat /proc/cpuinfo

 

I added those extra flags that are supported in the 3970x:

+fma,+f16c,+avx,+avx2,+bmi1,+bmi2,+adx,

 

This is my output after running

sysctl -a | grep hw.optional

 

f16c and fma has been enabled but not the others. Do ypu have similar flags or extra flags in the OpenCore boot? I read that OpenCore allows to use other CPU than Penryn which is better to detect CPU flags.

hw.optional.png

Link to comment
Share on other sites

@fabiosun btw does shutdown/reboot/sleep work correctly in your build? I have to force reset the computer most of the times I want to shutdown or reboot. I tried to enable FixShutdown and HaltEnabler In Clover  with no luck. Do you know any workaround? It's one of the things missing to have a perfect hackintosh 🙂

Edited by Imanol
Link to comment
Share on other sites

  • Supervisor

Hi @Imanol

so you have had success to follow this guide?   (seen 🙂 )

 

yes you can activate in boot arg (I mean boot args VM.conf file many others cpu features

you can check it with MacCPUid intel app 🙂
669051071_ScreenShot2020-04-11at3_33_18PM.thumb.png.79943fd1389e4daa2571c06f0fc070e4.png

obviously also via terminal as you said above

 

Now I am focusing my research in others part and if you have some good idea tested feel free to say here if you like 🙂

 

  • Like 1
Link to comment
Share on other sites

  • Supervisor
1 minute ago, Imanol said:

@fabiosun btw does shutdown/reboot/sleep work correctly in your build? I have to force reset the computer most of the times I want to shutdown or reboot. I tried to enable FixShutdown and HaltEnabler  with no luck. Do you know any workaround? It's one of the things missing to have a perfect hackintosh 🙂

Please put in your signature your hardware.

 

Restart or shutdown are referred to your VM..so without doing anything if you choose to restart you will see again bootloader menu

if you choose shutdown your vm will closed entirely..in this state you have to shutdown your linux to close your pc

 

Sleep...remember it seems a real hack..but it is hosted in a linux environment

If you put in sleep your system you will see in your web interface start to become resume..

here are some classics problem..but I have not investigated at all (loosing usb after "wake up"

for now this is my only test I did in this field

 

 

  • Like 1
Link to comment
Share on other sites

  • Supervisor

then take a look here

 

stepping        : 0
microcode       : 0x8301025
cpu MHz         : 3510.071
cache size      : 512 KB
physical id     : 0
siblings        : 64
core id         : 5
cpu cores       : 32
apicid          : 11
initial apicid  : 11
fpu             : yes
fpu_exception   : yes
cpuid level     : 16
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate sme ssbd mba sev ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif umip rdpid overflow_recov succor smca
bugs            : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 7400.02
TLB size        : 3072 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 43 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

start to pass in your vm boot args this one on one starting from tested ones

execute cat /proc/cpuinfo in linux shell.

 

  • Like 1
Link to comment
Share on other sites

So I have had success with config.plist settings for OpenCore, still working on GPU passthrough, it works but it uses the web console as its main monitor and the 2x real monitors are secondary. Anyway to turn off the web console? Also still trying to figure out the NVMe passthrough to install on physical drive. All in all its actually pretty easy to do. The only thing I don't like is having to go to multiple places to get settings and scripts needed. So.... once I figure everything out that is actually needed I will write one single script that will do everything needed. Might even look into making a Ansible script to automated it all.

Link to comment
Share on other sites

  • Supervisor

@pavo

when you will have all working as you desire you can autostart and shutdown your system as you want..

I do not understand well your passthrough problem 🙂

 

@pavo @Imanol

when you have time could you post some gfx benchmark? I would like to see if you loose performance in vm compared with a real windows also @Pavoyou can do a cinebench in a "vanilla" hack and here in vm 🙂 🙂

 

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • There are no registered users currently online
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.