PVE Guest MacOS 13 Venture Setup: Difference between revisions

From WikiMLT
Line 133: Line 133:
=== Setup VoodooHDA and Make the Audio Available within Spice Naively ===
=== Setup VoodooHDA and Make the Audio Available within Spice Naively ===
A good clue how to install VoodooHDA on Mac OS 13 Venture is provide by Yahgoo at GitHub: [https://github.com/yahgoo/installVoodooHDA4BSnMont/blob/main/README.md Install VoodooHDA for Big Sur and Monterey]. Here are the exact steps that I've performed.
A good clue how to install VoodooHDA on Mac OS 13 Venture is provide by Yahgoo at GitHub: [https://github.com/yahgoo/installVoodooHDA4BSnMont/blob/main/README.md Install VoodooHDA for Big Sur and Monterey]. Here are the exact steps that I've performed.
'''0.''' First we will install install the latest built version (currently 2.9.2) provided within the Chris1111's repository: [https://github.com/chris1111/VoodooHDA-OC/releases/tag/V1 VoodooHDA OC]. This is the easiest way to get VoodooHDA's <u>preferences pane</u> operational. The repository is little bit outdated but the PrefPane is not changed since 2018. At all this step is '''optional'''.
Download the file [https://github.com/chris1111/VoodooHDA-OC/files/5752212/VoodooHDA.OC.dmg.zip VoodooHDA OC.dmg.zip]. Then run the contained package. You will need to open  <u>System Settings</u> and at the bottom of the <u>Privacy & Security</u> menu allow the usage of <u>VoodooHDA OC.dmg</u>. After that go back to the file and run the package again. Follow the [https://www.youtube.com/watch?v=GBDCQBqf4_k video guide] provided by the author. Note you may need interact again with <u>System Settings</u> > <u>Privacy & Security</u>.


'''1.''' Reboot the system and within OpenCore's Picker choice Recovery mode.
'''1.''' Reboot the system and within OpenCore's Picker choice Recovery mode.
Line 151: Line 155:
'''6.''' Within the OpenCore Configurator navigate to the <u>NVRAM</u> section and find the entry <code>csr-active-config</code>. Make sure  its value is  <code>0x0285</code> or <code>000285</code>. (My original value was 260F and to be honest haven't tried the following steps without changing it.) Save the file and close the configurator application.
'''6.''' Within the OpenCore Configurator navigate to the <u>NVRAM</u> section and find the entry <code>csr-active-config</code>. Make sure  its value is  <code>0x0285</code> or <code>000285</code>. (My original value was 260F and to be honest haven't tried the following steps without changing it.) Save the file and close the configurator application.


'''7.''' First we will install install the latest built version (currently 2.9.2) provided within the Chris1111's repository: [https://github.com/chris1111/VoodooHDA-2.9.2-Clover/releases/tag/V15 VoodooHDA 2.9.2 Clover-V15]. This is the easiest way to get VoodooHDA's preferences pane operational.
'''7.''' Download [https://sourceforge.net/projects/voodoohda/ '''VoodooHDA''']. At the time I'm writing the article the latest version is '''3.0.1'''.
 
Download the file [https://github.com/chris1111/VoodooHDA-2.9.2-Clover-V15/files/4242657/VoodooHDA.2.9.2.Clover-V15.zip VoodooHDA.2.9.2.Clover-V15.zip]. Then install the contained package. You will need to open  <u>System Settings</u> and at the bottom of the <u>Privacy & Security</u> menu allow the usage of <u>VoodooHDA 2.9.2 Clover-V15.pkg</u>. After that go back to the file explorer and install it.
 
'''8.''' Download [https://sourceforge.net/projects/voodoohda/ '''VoodooHDA''']. At the time I'm writing the article the latest version is '''3.0.1'''.


'''9.''' Open a terminal window and execute the following commands.<syntaxhighlight lang="shell" line="1">
'''8.''' Open a terminal window and execute the following commands.<syntaxhighlight lang="shell" line="1">
sudo cp -R ~/Downloads/VoodooHDA.kext /Volumes/efi/EFI/OC/Kexts
sudo cp -R ~/Downloads/VoodooHDA.kext /Volumes/efi/EFI/OC/Kexts
sudo cp -R ~/Downloads/VoodooHDA.kext /Library/Extensions
sudo cp -R ~/Downloads/VoodooHDA.kext /Library/Extensions
Line 170: Line 170:
* Check  <u>System Settings</u> > <u>Sound</u>, and <u>System Information</u> > <u>Audio</u>.
* Check  <u>System Settings</u> > <u>Sound</u>, and <u>System Information</u> > <u>Audio</u>.
* Check the sound via a Spice connection.
* Check the sound via a Spice connection.
<br />
== Download Links ==
== Download Links ==
* RuTracker.org: [https://rutracker.org/forum/viewtopic.php?t=6260750 <nowiki>Mac OS Ventura 13.0 Beta 8 [ISO] [Intel/Apple]</nowiki>]
* RuTracker.org: [https://rutracker.org/forum/viewtopic.php?t=6260750 <nowiki>Mac OS Ventura 13.0 Beta 8 [ISO] [Intel/Apple]</nowiki>]
Line 178: Line 177:
* Mackie 100 projects: [https://mackie100projects.altervista.org/opencore-configurator/ OpenCore Configurator]
* Mackie 100 projects: [https://mackie100projects.altervista.org/opencore-configurator/ OpenCore Configurator]
* Source Forge: [https://sourceforge.net/projects/voodoohda/ VoodooHDA]
* Source Forge: [https://sourceforge.net/projects/voodoohda/ VoodooHDA]
* Chris1111 at GitHub: [https://github.com/chris1111/VoodooHDA-2.9.2-Clover VoodooHDA-2.9.2-Clover] | [https://github.com/chris1111/VoodooHDA-OC VoodooHDA-OpenCore]
* Chris1111 at GitHub: [https://github.com/chris1111/VoodooHDA-2.9.2-Clover VoodooHDA-2.9.2-Clover] | [https://github.com/chris1111/VoodooHDA-OC '''VoodooHDA-OpenCore'''] > [https://github.com/chris1111/VoodooHDA-OC/releases/tag/V1 Download]
** InstanelyMac: [https://www.insanelymac.com/forum/topic/314406-voodoohda-301/page/21/ VoodooHDA 3.0.1 Discussion]
** InstanelyMac: [https://www.insanelymac.com/forum/topic/314406-voodoohda-301/page/21/ VoodooHDA 3.0.1 Discussion]


Line 186: Line 185:
* Sickcodes at GitHub: [https://github.com/sickcodes/osx-optimizer OSX-optimizer] (i.e. Skip the GUI login screen...)
* Sickcodes at GitHub: [https://github.com/sickcodes/osx-optimizer OSX-optimizer] (i.e. Skip the GUI login screen...)
*The Mac Admin: [https://themacadmin.com/2012/02/15/mounting-the-efi-boot-partition-on-mac-os-x/ Mounting the EFI Boot Partition on Mac OS X]
*The Mac Admin: [https://themacadmin.com/2012/02/15/mounting-the-efi-boot-partition-on-mac-os-x/ Mounting the EFI Boot Partition on Mac OS X]
*Rocket Yard: [https://eshop.macsales.com/blog/52138-how-to-make-your-drive-icons-show-up-in-macos/ How to make your drive icons show up in Mac OS]


== Misc References ==
== Misc References ==

Revision as of 22:26, 24 October 2022

Prox­mox Set­up and Mac OS In­stal­la­tion

Great man­u­al pro­vid­ed by i12bretro which I've used to in­stall Mac OS 13 Ven­ture:

Be­low is shown my fi­nal con­fig­u­ra­tion file.

cat /etc/pve/qemu-server/207.conf
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -global nec-usb-xhci.msi=off -cpu host,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc
audio0: device=ich9-intel-hda,driver=spice
bios: ovmf
boot: order=virtio0
cores: 4
cpu: Penryn
efidisk0: ssd-1TB:207/vm-207-disk-0.qcow2,efitype=4m,size=528K
machine: q35
memory: 16384
meta: creation-qemu=7.0.0,ctime=1666276060
name: MacOS13
net0: vmxnet3=C2:63:A3:4E:7E:E7,bridge=vmbr0,firewall=1
numa: 0
ostype: other
scsihw: virtio-scsi-pci
smbios1: uuid=ac933204-a2a1-4915-aeee-60259bfb3fc1
sockets: 4
spice_enhancements: foldersharing=1,videostreaming=all
tablet: 1
tpmstate0: ssd-1TB:207/vm-207-disk-1.raw,size=4M,version=v2.0
usb0: spice,usb3=1
usb1: spice,usb3=1
usb2: host=0bda:8179,usb3=1
vga: qxl,memory=128
virtio0: local-lvm:vm-207-disk-0,discard=on,size=80G

Post In­stal­la­tion Set­up

Cur­rent­ly I'm us­ing Spice/​​​QXL for dis­play dri­ver. Note there is not Mac OS guest tool avail­able and this is the rea­son we can't change the res­o­lu­tion with­in the guest.

Switch the Res­o­lu­tion while us­ing SPICE/QXL

We can set dif­fer­ent res­o­lu­tions with­in the Open­Core EFI set­tings by the fol­low­ing steps (as ref­er­ence see the sec­tion Con­fig­ur­ing Boot­ing With­out Open­Core Mount­ed from the man­u­al cit­ed above).

  • Use Moun­tE­FI and mount the EFI.
  • Use the Mac OS's file man­ag­er and nav­i­gate to the mount­ed EFI par­ti­tion.
  • Ed­it the file EFI/OC/config.plist – find and mod­i­fy the fol­low­ing <string> di­rec­tive, note on­ly one res­o­lu­tion will be ac­cept­ed and the fall­back res­o­lu­tion is that de­fined in the OVMF EFI set­tings.
    <key>Resolution</key>
    <string>1920x1080@32</string>
    
    <string>1280x960@32</string>
    
    <string>1280x960@16</string>
    

Here is a helper script that ro­tates two tem­plates of EFI/OC/config-{1920x1080,1280x960}.plist – note you need to pre­pare the two tem­plates.

nano ~/bin/change-resolution.sh
#!/bin/bash

# List the available devices
# diskutil list

function main() {
    if [[ ! -z ${1+x} ]]
    then
        diskutil unmount /Volumes/efi 2>/dev/null
        mkdir -p /Volumes/efi
        mount -t msdos /dev/disk0s1 /Volumes/efi
        sleep 1
    
        if [[ -f /Volumes/efi/EFI/OC/config-${1}.plist ]]
        then
    	echo "Template in use: /Volumes/efi/EFI/OC/config-${1}.plist"
            sleep 1
    
            cp /Volumes/efi/EFI/OC/{config-$1,config}.plist
    
            sleep 1
            diskutil unmount /Volumes/efi
            reboot
            exit
        fi
        
        diskutil unmount /Volumes/efi
    fi
    
    sleep 1
    echo "Usage: $0 '1920x1080|1280x960'"
}

# https://unix.stackexchange.com/a/269080
FUNC=$(declare -f main)
sudo bash -c "$FUNC; main"
change-resolution.sh "1280x960"

Us­ing oth­er Dis­play adapter types as "Stan­dard VGA" and "Vir­GL GPU" will al­low you to change the res­o­lu­tion from the Mac OS guest it­self, but the Spice con­nec­tion is much bet­ter than the VNC con­nec­tion that you can use with these de­vices. Us­ing these de­vices could be help­ful if you us­ing Team View­er as client.

Change the OpenCore's Pick­er Set­tings

You can change the OpenCore's boot menu Pick­er op­tions, via config.plist file in the fol­low­ing way:

  • Use Moun­tE­FI and mount the EFI.
  • Use the Mac OS's file man­ag­er and nav­i­gate to the mount­ed EFI par­ti­tion.
  • Ed­it the file EFI/OC/config.plist and mod­i­fy the fol­low­ing di­rec­tives:
    <key>ShowPicker</key>
    <true/>                <!-- Set this to 'false' if you want to disable the picker -->
    <key>Timeout</key>
    <integer>5</integer>   <!-- 0 will disable the timeout, currently it is 5 seconds -->
    

All avail­able op­tions are de­scribed with­in the OpenCore's Con­fig­u­ra­tion man­u­al (PDF file).

En­able the Au­dio while us­ing SPICE/QXL

In my case get­ting the au­dio op­er­a­tional is crit­i­cal, be­cause I'm ac­tu­al­ly do­ing this set­up for brows­er com­pat­i­bil­i­ty tests of web pages and oth­er ap­pli­ca­tions. Oth­er­wise the flash videos and HTML 5 videos fails in Sa­fari.

So I've test­ed the fol­low­ing suc­cess­ful so­lu­tions:

  • Set­up dum­my out­put by the help of Sound­flower (YouTube):
    brew install Caskroom/cask/soundflower
    
    Af­ter that open Sys­tem Set­tings and at the bot­tom of the Pri­va­cy & Se­cu­ri­ty menu al­low the us­age of Sound­flower and restart.
  • Use Team View­er: In­stall team Team View­er Host ap­pli­ca­tion (or the full ap­pli­ca­tion) it will set an Ag­gre­gate au­dio de­vice. Set­up the ap­pli­ca­tion to ac­cept di­rect LAN con­nec­tions and use Team View­er as client to con­nect to the guest via its IP. I think hav­ing dum­my out­put set­up by Sound­flower in­creas­es the au­dio qual­i­ty and avail­abil­i­ty via Team View­er.
  • Use Spice client:
    • Pass an au­dio de­vice from the re­mote in­stance: With­in the Spice client at­tach some USB au­dio de­vice – i.e. Blue­tooth adapter and con­nect Head­phones to that de­vice from the guest Mac OS. In this case you should cre­ate enough num­ber of USB de­vices which use Spice dri­ver with­in the Proxmox's VM con­fig­u­ra­tion.
    • Set­up VoodooH­DA as it is shown in the fol­low­ing sec­tion.

Set­up VoodooH­DA and Make the Au­dio Avail­able with­in Spice Naive­ly

A good clue how to in­stall VoodooH­DA on Mac OS 13 Ven­ture is pro­vide by Yah­goo at GitHub: In­stall VoodooH­DA for Big Sur and Mon­terey. Here are the ex­act steps that I've per­formed.

0. First we will in­stall in­stall the lat­est built ver­sion (cur­rent­ly 2.9.2) pro­vid­ed with­in the Chris1111's repos­i­to­ry: VoodooH­DA OC. This is the eas­i­est way to get VoodooHDA's pref­er­ences pane op­er­a­tional. The repos­i­to­ry is lit­tle bit out­dat­ed but the Pref­Pane is not changed since 2018. At all this step is op­tion­al.

Down­load the file VoodooH­DA OC​.dmg​.zip. Then run the con­tained pack­age. You will need to open Sys­tem Set­tings and at the bot­tom of the Pri­va­cy & Se­cu­ri­ty menu al­low the us­age of VoodooH­DA OC.dmg. Af­ter that go back to the file and run the pack­age again. Fol­low the video guide pro­vid­ed by the au­thor. Note you may need in­ter­act again with Sys­tem Set­tings > Pri­va­cy & Se­cu­ri­ty.

1. Re­boot the sys­tem and with­in OpenCore's Pick­er choice Re­cov­ery mode.

2. Then dis­able Dis­able Sys­tem In­tegri­ty Pro­tec­tion Tem­porar­i­ly oth­er­wise lat­er when we need to use kmu­til you will ex­pire the er­ror "Bad code sig­na­ture". One you are in the re­cov­ery mode, Launch Ter­mi­nal from the Util­i­ties menu (from the top bar). and ex­e­cute the fol­low­ing com­mands.

csrutil clear
csrutil disable
csrutil authenticated-root disable
reboot

3. Af­ter the re­boot use Moun­tE­FI or mount EFI man­u­al­ly as it is shown be­low. Use disku­til list to find which is your EFI de­vice – in my case it is disk0s1.

sudo mkdir -p /Volumes/efi
sudo mount -t msdos /dev/disk0s1 /Volumes/efi

4. Then use the file ex­plor­er and nav­i­gate to the EFI/OC di­rec­to­ry.

5. Use the Open­Core Con­fig­u­ra­tor app and open the file EFI/OC/config.plist. You will need to open Sys­tem Set­tings and at the bot­tom of the Pri­va­cy & Se­cu­ri­ty menu al­low the us­age of Open­Core Con­fig­u­ra­tor.

6. With­in the Open­Core Con­fig­u­ra­tor nav­i­gate to the NVRAM sec­tion and find the en­try csr-ac­tive-con­fig. Make sure its val­ue is 0x0285 or 000285. (My orig­i­nal val­ue was 260F and to be hon­est haven't tried the fol­low­ing steps with­out chang­ing it.) Save the file and close the con­fig­u­ra­tor ap­pli­ca­tion.

7. Down­load VoodooH­DA. At the time I'm writ­ing the ar­ti­cle the lat­est ver­sion is 3.0.1.

8. Open a ter­mi­nal win­dow and ex­e­cute the fol­low­ing com­mands.

sudo cp -R ~/Downloads/VoodooHDA.kext /Volumes/efi/EFI/OC/Kexts
sudo cp -R ~/Downloads/VoodooHDA.kext /Library/Extensions

9. Run the fol­low­ing com­mand.

sudo kmutil load -p /Library/Extensions/voodooHDA.kext

Then: 1) Go to Sys­tem Set­tings and at the bot­tom of the Pri­va­cy & Se­cu­ri­ty menu al­low the us­age of VoodooH­DA. 2) Restart the Mac OS.

10. That's it. Af­ter the re­boot the sound con­troller should be avail­able:

  • Check Sys­tem Set­tings > Sound, and Sys­tem In­for­ma­tion > Au­dio.
  • Check the sound via a Spice con­nec­tion.

Down­load Links

Mac OS us­age ref­er­ences:

Misc Ref­er­ences