Jump to content
SpaceInvaderOne

[Support] SpaceinvaderOne - Macinabox

965 posts in this topic Last Reply

Recommended Posts

Posted (edited)
3 hours ago, flic said:

when it starts or reboots, hit the F2 a few times, you will enter the BIOS menu

What is 'it'? When you start the vm's (clover) bios? F2 doesnt do anything. If you hit enter so OSX boots, F2 also does NOT do anything. Please explain clearly what we need to do?

Edited by jowi

Share this post


Link to post
Posted (edited)

press esc to enter ovmf bios settings.

Edited by ghost82

Share this post


Link to post
Posted (edited)

I think you mean that once inside the clovis “menu” you need to select restart clovis, THEN hit F2 to get in the actual bios. That is the only way i can get in some bios and get to set a resolution.

 

But... what resolution i set, if i do NOT run clovis/vnc in full screen mode, the video is messed up. So apparently you must go full screen BEFORE you boot osx. Whatever resolution i choose, if i run vnc in a window, video will be messed up.

 

Second, if i select 2560x1600 (the res of my actual monitor) osx starts in 1920x1080 and i can not select any other resolution in osx. There is 1 option and that is 1920x1080... how do i get to use other resolutions?

Edited by jowi

Share this post


Link to post

Press ESC or F2 while the VM is booting up to enter the UEFI configuration screen and there change the resolution.

Share this post


Link to post
Posted (edited)
7 hours ago, Jagadguru said:

Press ESC or F2 while the VM is booting up to enter the UEFI configuration screen and there change the resolution.

Again, see my comment above. The resolution there does not seem to matter. Only running vnc fullscreen BEFORE you boot osx, prevents messy video.

 

If i set video in uefi bios to 2560x1600 (native res of monitor) osx still starts up in 1920x1080, and ONLY if i run vnc fullscreen. 

 

There also is no option to choose any other resolution in osx other then 1920x1080 regardless what resolution i select in uefi.

Edited by jowi

Share this post


Link to post

Another new & exiting issue. If i start vnc i get the message 'Guest has not initialised the display (yet)"... you know what? I quit. It's just not worth the trouble and frustration.

Share this post


Link to post

I've got PCI passthrough working for a USB controller (Renesas uPD720202) with the following XML. Mojave recognizes it but performance is terrible, it can't even keep up with mouse movements.

 

Is there a known solution or path to investigate?

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </hostdev>

 

Share this post


Link to post
Posted (edited)

Hello, I have this kind of problem. w=When I add boot flag -v to clover VM starts like this in VNC

same goes for GPU passthrough (desktop on left is my LG 34 split into 2 sourceD DP and HDMI)

image.thumb.png.88372e42b3ffa5eff90f3c5344e89118.png.5b5fe30cc89baa0bd9473ede479a29b9.png

I've tried to change resolution during boot but nothing really works

IMG_3336.thumb.jpg.9d70434553f4ca9b23c86ad515abc246.jpg.0cde7f1e1855df4c15a759d3a240589b.jpg

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>MacinaboxCatalina</name>
  <uuid>ed39bb50-c438-4272-a33c-587b44ff961c</uuid>
  <description>MacOS Catalina</description>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="default.png" os="Catalina"/>
  </metadata>
  <memory unit='KiB'>25165824</memory>
  <currentMemory unit='KiB'>25165824</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>8</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='1'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='3'/>
    <vcpupin vcpu='4' cpuset='4'/>
    <vcpupin vcpu='5' cpuset='5'/>
    <vcpupin vcpu='6' cpuset='6'/>
    <vcpupin vcpu='7' cpuset='7'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-3.1'>hvm</type>
    <loader readonly='no' type='pflash'>/mnt/user/domains/MacinaboxCatalina/ovmf-hw/OVMF_CODE.fd</loader>
    <nvram>/mnt/user/domains/MacinaboxCatalina/ovmf-hw/OVMF_VARS.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' cores='4' threads='2'/>
    <cache mode='passthrough'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='/mnt/user/domains/MacinaboxCatalina/Clover.qcow2'/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/disk1/domains/MacinaboxCatalina/macos_disk.img'/>
      <target dev='hdd' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x9'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0xa'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:8b:96:39'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/disk1/isos/Sapphire.RX5700XT.8192.190616.rom'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x03' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x046d'/>
        <product id='0xc52b'/>
      </source>
      <address type='usb' bus='0' port='3'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x05ac'/>
        <product id='0x026c'/>
      </source>
      <address type='usb' bus='0' port='4'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x0951'/>
        <product id='0x1666'/>
      </source>
      <address type='usb' bus='0' port='5'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x0a12'/>
        <product id='0x0001'/>
      </source>
      <address type='usb' bus='0' port='6'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x0bda'/>
        <product id='0x8153'/>
      </source>
      <address type='usb' bus='0' port='2.1'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x2109'/>
        <product id='0x0101'/>
      </source>
      <address type='usb' bus='0' port='2.2'/>
    </hostdev>
    <hub type='usb'>
      <address type='usb' bus='0' port='2'/>
    </hub>
    <memballoon model='none'/>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-usb'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd,bus=usb-bus.0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='************************'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check'/>
  </qemu:commandline>
</domain>

 

Edited by podlipny

Share this post


Link to post

Been playing with this epic container for a few days.  I've had some good success in my test setup, including passing through a GTX 970 to HighSierra, though I didn't get the HDMI audio to work.  New components are on order, planning to build a new Unraid system with ATI cards for Mac and Windows compatibility.  

 

Question that i have is, is there a preferred method to install multiple instances of MacVMs? The Macinabox Docker puts them in the OS's in the same spot.  I have a Catalina and a Sierra, though through my misunderstanding i ended up creating kind of a mess because i didn't understand what the "VM Images Location" field was doing.  I assumed that i would want to change that for each install, but, clearly that was not the intent. Anyway, i'm assuming that i can just move and rename the the  macos_disk.img file to a different location and run the docker again? If i move the .img, do i take the Clover.qcow2 with it?  Is there a best practices way to do this?

Share this post


Link to post

As the youtube video created for this app on how to use it was done in 2019 is this video still relevant on how do play around with move advanced settings? 

 

Share this post


Link to post

So upon installation of Macinabox, CPUS 0 and 1 are assinged to the VM. When I got to change this default from 0 and 1 to, say, 8 and 9 and start my VM, I have a display error. Do we have to keep CPUS 0 and 1 assigned to Catalina since we set it up with those CPUs?

Share this post


Link to post
So upon installation of Macinabox, CPUS 0 and 1 are assinged to the VM. When I got to change this default from 0 and 1 to, say, 8 and 9 and start my VM, I have a display error. Do we have to keep CPUS 0 and 1 assigned to Catalina since we set it up with those CPUs?

No, you can change CPU assignments, but the XML contains other custom bits that gets wiped out when changing CPUs via the unRAID GUI.
So you have two options:
1. Edit the CPU assignment directly in the xml (swap to advanced view in unRAID)
Or
2. Make a copy of the original xml, then edit CPU assignment in the GUI, save, switch to XML view and paste in all the bits that got removed from the original xml (from memory it’s the ovmf path and the block of custom arguments at the end of the xml)

Either way you need to understand a bit about the xml structure, and it helps using a text editor that lets you compare two text files.


Sent from my iPhone using Tapatalk

Share this post


Link to post

Finally i also got my mac VM working with macinabox. The key was not to adjust anything the XML using the GUI, although I used to consider the few lines at the bottom - that crashed my VM all the time. Then I figured out that once I adjust anything using the GUI, not only the custom code will be gone, this will basically change everything (model types, bus assignments, etc.). Then I decided to keep the preconfigured xml as it is and only add my lines for passthrough dedicated graphics and keyboard as well as change the assigned RAM and CPU cores directly in the xml view.

 

My steps (used at the end High Sierra at is has most compatibility with Nvidia):

1. Setup the VM by using macinabox (awesome docker, mate @SpaceInvaderOne!!)

2. ran through the installation process of High Sierra using VNC

3. in macOS started Clover Configurator

   3.1 mounted the EFI and loaded the plist

   3.2 SMBIOS -> changed to iMac 18,1 and refreshed UUID and serial + ensured that the UUID is not in use by someone

   3.3 Sys Parameters -> activated Nvida Webdriver

4. installed TeamViewer and activated unattended remote access

5. Turned off the VM

6. edited VM -> Switch to xml view

   6.1 increased memory for both lines to 8388608 (8GB RAM)

   6.2 added two more cores (number of cores entries in lines 14 and 31 have to be increased to 4)

   6.3 adjusted the maschine to the latest pc-q35-5.0 (i'm already on 6.9b25)

   6.4 changed the model type for my internet bridge to e1000-82545em as the type in standardprofile did not allow to login to Apple services (e.g. iCloud)

   6.4 copied the four entries starting with <hostdev [...] until ending with  </hostdev> from my Win10 VM. The four entries are my USB devices I want to pass 

        through as well as my Nvidia GT1030 (video + sound)

   6.5 inserted the entries before line  </devices> almost at the bottom of the xml

   6.6 deleted the entries  <graphics .... and <video ... as they are one necessary for VNC

   6.7 saved the xml and bootet the VM

7. as picture on my TV (attached to the GT1030) looked as distorted as expected, I switched to TeamViewer

8. opened the Terminal, pulled and installed the nvidia driver by using the command posted by @SpaceInvaderOne 

       bash <(curl -s https://raw.githubusercontent.com/Benjamin-Dobell/nvidia-update/master/nvidia-update.sh)

9. rebooted and done.

 

At the end it was a lot of trial and error and especially editing the xml using the unraid GUI which everytime crashed the VM completely cost a lot of time and effort. But as soon as I realized not to touch the GUI at all and just edit the xml directly, it went smooth.

 

What I forgot to mention: After step 5 I made a copy of the xml file and created a new VM using this xml file (with adjusted VM name and UUID) to have two VMs with the same disk. One low-end VM for VNC (2 cores + 4gb RAM) and one more powerful for my TV (4 cores + 8gb RAM + dedicated graphics).

 

Fun fact: my 400 EUR "NAS" virtualizing macOS has more performance in macOS with 4k than my 2018 1600 EUR MacBookPro does with 2k Retina.

 

Coming to the bad news: I did not manage yet to have audio (although passed through with my nvidia graphics) and bluetooth (onboard intel bluetooth chip; also passed through -> same way as in my Win10 VM for which it works perfectly) . Do you guys have any idea?

 

Thanks!

 

Greenshot 2020-08-06 16.28.37.png

Edited by Coke84

Share this post


Link to post

So, why can i set all kinds of resolutions in my (spaceinvader inspired) Windows 10 VM, but i can only select 1920x1080 in OSX? (even if i set the clover? bios to 2560x1600) What is the trick for adding more resolutions in OSX? I’m using vm’s through chrome remote desktop btw so remote always.

Edited by jowi

Share this post


Link to post

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.