Jump to content

busily1152

Members
  • Posts

    22
  • Joined

  • Last visited

Posts posted by busily1152

  1. 13 hours ago, ghost82 said:

    It should be ok as far as I know..

    Real Imac Pro 1,1 still has the USBX device with power properties (so the SSDT with USBX is ok), not sure about the EC injection (but it doesn't hurt to add it too).

    Power properties need to be added with kext injection: this is the USB map kext (needed to map usb ports in case a controller has more than 15 ports) with the addition of power values --> in my attached kext there's no ports map, since I don't need it, as my number of ports is lower than 15 for each controller.

     

    As far as your audio issue I read a lot of comments on apple discussion forum and it seems you're not alone, as you know too, so there's a high probability that the issue is with big sur itself..

     

    Can you test a little thing out of curiosity...

    Connect your iphone to your asmedia and go to apple menu -->  about this mac --> system information

    Then go to USB (on the left), select your USB bus to look for your connected iphone; can you see applied extra current?

     

    1.png.197bd336ed5e7db1f5678de7dac16052.png

     

    Extra Operating Current refers to a special feature that Apple Macs support in relation to other Apple devices whereby under the right circumstances they can provide additional power (i.e. above the standard amount) to those connected devices.

     

    One of the "right circumstances" is The connected device actually requires the extra power for some reason: I don't know how it works, maybe you should see Extra operating current different than 0 if your iphone is charging?

    I was able to replicate your kext setup, I combined them in USBPower-ALLINONE.kext.

    I did map my USB probably using USBMap.

    I Will give you more feedback about the audio issue but its better than before but I think its related to BigSur more than USB power. 

     

    When Using Catalina VM work perfect.

     

    Yes the right circumstances was USB-C Cable and maybe iPhone that support fast charing? I am not sure as I only have iPhone XS and that support Fast charing.

     

     

    532867643_ScreenShot2021-03-14at21_24_07.thumb.png.8b716263009503e178146b5ed092e275.png

     

     

    495083254_ScreenShot2021-03-14at21_20_10.thumb.png.2f8a2cebb91072cacf3786f75ac780e7.png

    • Like 1
  2. On 3/13/2021 at 2:14 PM, ghost82 said:

    Ok, I think I fixed it.

    Current case: USB Fresco Logic FL1100 passed through, devices passed through directly (no usb controller passthrough).

    Available controllers in mac os (Big Sur) virtual machine:
    1- AppleUSBXHCIFL1100 (Fresco Logic)

    2- AppleUSBEHCIPCI (qemu EHCI controller for 2.0 usb devices)

    3- AppleUSBUHCIPCI (qemu UHCI controller for USB 1 devices)

     

    Issue:

    USB power properties injected through SSDT.

    Power properties show in AppleUSBHostResources:

     

    1.png.82d07763a3488573fe5f3ea295b9cfb5.png

     

    But something strange showing in the controller (following images refer only to the fresco logic controller):

     

    2.thumb.png.191c027995156e61e9f2b18e0dc04d83.png

     

    3.thumb.png.215c8ef486a984d602bdad71ce36ee10.png

     

    kUSBSleepSupported is showing as false, injected power values don't correspond.

     

    Resolution:

    inject a kext to properly inject power values and properties into controllers too.

    Attached kexts for Fresco, EHCI and UHCI controllers.

     

    Copy kexts in EFI/OC/Kexts and modify config.plist (following example for the injection in Fresco Logic):

    
    
    
    
    
    
    	<key>Kernel</key>
    	<dict>
    		<key>Add</key>
    		<array>
              .....
              .....
              .....
    			<dict>
    				<key>Arch</key>
    				<string>x86_64</string>
    				<key>BundlePath</key>
    				<string>USBPowerFresco.kext</string>
    				<key>Comment</key>
    				<string>Power properties for Fresco USB</string>
    				<key>Enabled</key>
    				<true/>
    				<key>ExecutablePath</key>
    				<string></string>
    				<key>MaxKernel</key>
    				<string></string>
    				<key>MinKernel</key>
    				<string>19.0.0</string>
    				<key>PlistPath</key>
    				<string>Contents/Info.plist</string>
    			</dict>
              .....
              .....
              .....

     

    Now (image refers to Fresco Logic):

     

    4.png.775d667231b48c1ae2641d1476b61c49.png

     

    Properties and values are injected correctly.

     

    Notes:

    USBPowerFresco.kext

    IONameMatch and IOProviderClass in Contents/Info.plist set to AppleUSBXHCIFL1100 (this name can be found with IORegistry Explorer --> look at the above image, top right corner).

    kUSBSleepSupported override to true.

    Power values set to that of the ssdt (in decimal values).

     

    USBPowerEHCI.kext

    IONameMatch and IOProviderClass in Contents/Info.plist set to AppleUSBEHCIPCI

    CFBundleName and CFBundleIdentifier modified (must be different for each kext injected).

    Power values set to that of the ssdt (in decimal values).

     

    USBPowerUHCI.kext

    This kext was generated with Hackintool, the UHCI controller appears "different" from the other controllers in the IORegistry tree (look at the pictures below).

    CFBundleName and CFBundleIdentifier modified (must be different for each kext injected).

     

    Fresco Logic and EHCI (EHCI not shown) appear under pci-bridge@x,x (x,x=2,3 for Fresco)-->IOPP-->pcixxxx,xxxx@x

    5.png.839f06de29c9d595816c5b0b0fadff5c.png

     

    UHCI controller appears under S38@7 instead of a bridge:

    6.png.8ae77ec36ebdcf19913df93e9367d72e.png

     

    So for usb power properties make sure they appear correct both in AppleUSBHostResources and also in each usb controller.

     

    Unfortunately I don't have an iphone/ipad to test if the Extra current option is enabled...it should, but I cannot test

    PS: if someone want to buy me an iphone I can test it ahah (I'm jocking..)

     

    Note 2:

    You can combine all the kexts into a single one, see my kext case attached to combine them all (USBPower-ALLINONE.kext)

    USBPowerEHCI.kext.zip 1.98 kB · 1 download USBPowerFresco.kext.zip 1.93 kB · 1 download USBPowerUHCI.kext.zip 1.94 kB · 1 download

    USBPower-ALLINONE.kext.zip 1.96 kB · 4 downloads

    Thanks.

     

    I was able to have the same result as you fully explained where the problem is.

    Yes the audio dropout I can say it slightly better now, need more testing but there is improvement. 

     

    300470652_ScreenShot2021-03-13at23_06_42.thumb.png.d50e5921d7ca29e0263595d2ae119f98.png

     

     

    631757023_ScreenShot2021-03-13at23_05_41.thumb.png.fb8a3609559c0382a2746cc73a85588a.png

     

     

    999181411_ScreenShot2021-03-13at23_35_48.thumb.png.889f82b0689096d99698074ae409ccd8.png

     

    Here is the iPhone connected to the AsMedia hub.

     

     

     

    If you spot something I didn't apply correctly just let me know happy to test :)

  3. @ghost82 Hello 

     

    I successfully updated my VM to BigSur everything went smoothly using macinbox.

    Had the KP but changing the network to virtio as @bjornatic suggested seem has fixed the problem.

     

    Now I have a small problem with USB audio dropouts I use ASM1142 and Scarlett 3rd Gen worked great under Catalina.

     

    I am not sure if this a general bug as I see some people mentioned in the apple discussion forum.

    Maybe I am missing something? related to configuring USB Power?

    I upload my EFI so maybe you can point me out.

     

  4. 1 hour ago, ghost82 said:

    Glad that some of my posts were useful!

    Maybe..I asked to him what was the root of the issue to try to understand more, he replied if I ever activated that account with facetime/imessage from an iphone or ipad (not a mac), I replied no, only from a macbook pro, he said it's a security measure, in such a way to let me understand that it doesn't depend on a hack or a real mac (however assuming that smbios data and nvram are ok)..so, still not sure about the block.

    However my apple id is from 2008, so it should not be related to only "recent apple ids".

    Did you tried to switch off the two-factor authentication, I think it has something to do with this issue.

    My ID *always* logs into iMessage, from any Apple, Hackintosh, VM I have ever created. I am frequently logged into iMessage from 3-4 devices at once. It just works. This account is *still* configured without "two-factor authentication".

  5. On 5/26/2020 at 3:48 PM, ghost82 said:

    On a boring day I wanted to call again apple to try again to activate imessage and facetime and...they activated them!

    No screen share session, no serial number given, just a confirmation for my apple id and the locking code: all solved in less than 5 minutes.

    🥳🥳🥳🥳🥳🥳

    You helped me a lot with my Catalina vm with opencore, so I know for a fact that using an old Apple ID created in 2012 with all my Hackintosh including VMs without any issues with iMessage or FaceTime, but the moment I use another more recent created Apple ID in 2016, I face this problem. I think Apple introduced sort of a security update to their IDs systems that effected us.

  6. 21 minutes ago, ghost82 said:

    Note also that both en0 and en1 are builtin=false from your ioreg and you could have issues; see my above reply to make it/them builtin.

    It was a silly mistake to not put the *.aml files in the custom folder in side ACPI, forgive me because I am totally noob when it comes to OC.

    Everything works now as intended, thank you very much I do really appreciate your time and efforts. 

    I fixed en0 and en1 to built-in=yes. Although one of them is a PCI wireless card.

     

    I attached the new modified ioreg file+OC folder in case if you have any more suggestions. But everything work perfectly. 

     

     

     

    1821267491_Screenshot2020-02-03at22_28_53.thumb.png.1e5345018b88b033e32c99f96c2b69be.png

    793847621_Screenshot2020-02-03at22_29_17.thumb.png.267608a36736397d32a8e9c1ae73426d.png

    628867407_Screenshot2020-02-03at22_40_54.thumb.png.0e70f73ab142ebc56f7bdeb4b0937f2f.png

    1362438680_Screenshot2020-02-03at22_41_27.thumb.png.98f1c5128c43414ad5fbe03ece56dfb1.png

     

     

     

    Fixed OK.zip

  7. 24 minutes ago, ghost82 said:

    Thanks, can you attach also your oc folder (maybe externally)?Please zip the efi folder, do not attach a qcow2 file.

    Seems a problem with your oc folder structure or config.plist file, since both .aml are not loading.

     

    Please see if you activated both aml in config.plist:

    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>ACPI</key>
    	<dict>
    		<key>Add</key>
    		<array>
    			<dict>
    				<key>Comment</key>
    				<string>x86PlatformPlugin</string>
    				<key>Enabled</key>
    				<true/>
    				<key>Path</key>
    				<string>custom/SSDT-cpu.aml</string>
    			</dict>
    			<dict>
    				<key>Comment</key>
    				<string>EC and USBX injections</string>
    				<key>Enabled</key>
    				<true/>
    				<key>Path</key>
    				<string>custom/SSDT-EC-USBX.aml</string>
    			</dict>
    		</array>

     

    Yes, Both of them are enabled, I added the OC folder as you requested.

    Debug file+OC folder.zip

  8. On 1/27/2020 at 8:53 AM, ghost82 said:

    Hi,

    configuration is very personal, especially if you passthrough different devices to your vm.

    However, I'm attaching my config (some parts are REDACTED related to machine specification), so you can have a look at it.

    Here some advices:

     

    1- ACPI section: I have the following aml files (see attached): SSDT-cpu.aml and SSDT-EC-USBX.aml

    These .aml file are in the EFI/OC/ACPI/custom folder

     

    1a- SSDT-cpu.aml: this will inject plugin-type = one, usefull to load x86platformplugin instead of acpi_smc_platformplugin; not usefull to manage power states of your cpu(s) but usefull to let load AGPM, to manage the power management of the GPU

     

    I'm reporting the source code, for your info, if you are interested:

    
    /*
     * Intel ACPI Component Architecture
     * AML/ASL+ Disassembler version 20180427 (64-bit version)(RM)
     * Copyright (c) 2000 - 2018 Intel Corporation
     * 
     * Disassembling to non-symbolic legacy ASL operators
     *
     * Disassembly of SSDT-cpu.aml, Mon Jan 27 08:07:16 2020
     *
     * Original Table Header:
     *     Signature        "SSDT"
     *     Length           0x000000B1 (177)
     *     Revision         0x02
     *     Checksum         0xC3
     *     OEM ID           "CpuRef"
     *     OEM Table ID     "CpuPlug"
     *     OEM Revision     0x00003000 (12288)
     *     Compiler ID      "INTL"
     *     Compiler Version 0x20190509 (538510601)
     */
    DefinitionBlock ("", "SSDT", 2, "CpuRef", "CpuPlug", 0x00003000)
    {
        External (_SB_.CPUS.C000, ProcessorObj)    // (from opcode)
    
        Scope (\_SB.CPUS.C000)
        {
            Method (DTGP, 5, NotSerialized)
            {
                If (LEqual (Arg0, ToUUID ("a0b5b7c6-1318-441c-b0c9-fe695eaf949b")))
                {
                    If (LEqual (Arg1, One))
                    {
                        If (LEqual (Arg2, Zero))
                        {
                            Store (Buffer (One)
                                {
                                     0x03                                           
                                }, Arg4)
                            Return (One)
                        }
    
                        If (LEqual (Arg2, One))
                        {
                            Return (One)
                        }
                    }
                }
    
                Store (Buffer (One)
                    {
                         0x00                                           
                    }, Arg4)
                Return (Zero)
            }
    
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                Store (Package (0x02)
                    {
                        "plugin-type", 
                        One
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }

     

    1b- SSDT-EC-USBX.aml: this will inject the EC device and usb power properties, usefull for usb devices which needs more power to charge.

    I'm reporting the source code, for your info, if you are interested:

    
    /*
     * Intel ACPI Component Architecture
     * AML/ASL+ Disassembler version 20180427 (64-bit version)(RM)
     * Copyright (c) 2000 - 2018 Intel Corporation
     * 
     * Disassembling to non-symbolic legacy ASL operators
     *
     * Disassembly of SSDT-EC-USBX.aml, Mon Jan 27 08:11:39 2020
     *
     * Original Table Header:
     *     Signature        "SSDT"
     *     Length           0x000000D4 (212)
     *     Revision         0x02
     *     Checksum         0x67
     *     OEM ID           "hack"
     *     OEM Table ID     "EC-USBX"
     *     OEM Revision     0x00000000 (0)
     *     Compiler ID      "INTL"
     *     Compiler Version 0x20180427 (538444839)
     */
    DefinitionBlock ("", "SSDT", 2, "hack", "EC-USBX", 0x00000000)
    {
        Device (_SB.EC)
        {
            Name (_HID, "EC000000")  // _HID: Hardware ID
        }
    
        Device (_SB.USBX)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LNot (Arg2))
                {
                    Return (Buffer (One)
                    {
                         0x03                                           
                    })
                }
    
                Return (Package (0x08)
                {
                    "kUSBSleepPortCurrentLimit", 
                    0x0834, 
                    "kUSBSleepPowerSupply", 
                    0x13EC, 
                    "kUSBWakePortCurrentLimit", 
                    0x0834, 
                    "kUSBWakePowerSupply", 
                    0x13EC
                })
            }
        }
    }

     

    2- DeviceProperties section: I see that you have a layout-id key, most probably it's the layout id for your audio; not sure if it can be specified as <integer>, mine is specified as <data>, but if it works with <integer> do not touch it.

    As you can see, I have 2 devices with the built-in key: these are my virtual network cards to show as built-in: this is usefull for the apple store/imessage/etc. to work.

     

    3- Kernel section (kexts): good that you have Lilu, Whatevergreen and AppleALC, check that they are all the latest version; I have 3 more kexts (see attached): AppleMCEReporterDisabler, AGPMInjector and AppleLPCInjector.

    AppleMCEReporterDisabler: this disables MCE Reporter, because of a kernel panic on boot if you use iMacPro1,1 or MacPro7,1 smbios.

    AGPMInjector: this injects AGPM, the GPU power manager: if you open the info.plist of this kext you will notice this section:

    
    				<key>iMacPro1,1</key>
    				<dict>
    					<key>Vendor10deDevice100c</key>
    					<dict>
    						<key>AGDCEnabled</key>
    						<integer>1</integer>
    						<key>Heuristic</key>
    						<dict>
    							<key>ID</key>
    							<integer>4</integer>
    						</dict>
    						<key>control-id</key>
    						<integer>17</integer>
    						<key>max-power-state</key>
    						<integer>15</integer>
    						<key>min-power-state</key>
    						<integer>0</integer>
    					</dict>
    				</dict>

    The first "key line" is my system (iMacPro1,1);

    Vendor10deDevice100c: this must be changed according to your gpu: this is the case of a GTX Titan Black: Vendor ID=10de, Device ID=100c; you can find your data with hackintool for example, or with DPCIManager.

    Heuristic ID is set to 4: somebody suggests a value of 4 for nvidia gpus and a value of -1 (minus one) for amd gpus.

    Change these lines according to your System, or use the Pavo's utility AGPMInjector app to generate this kext: https://github.com/Pavo-IM/AGPMInjector/releases

    Note: Pavo's app will generate always an heuristic id equal to -1, also for nvidia gpu; note that in my case AGPM is correctly loaded even with an heuristic id of -1, so not sure if 4 or -1 will is making any difference.

     

    AppleLPCInjector: this inject the LPC device.

     

    4- Kernel patch: I see that you have the "avoid a x86 validate topology error": this is usefull to avoid kernel panic if you specified topology in your xml (not 100% sure but if I remember correctly the panic applies only with iMacPro1,1 and MacPro7,1); I would change the count key from 1 to 0 (0 means always), this should not be necessary, but better 0 in my opinion.

     

    5- Misc --> Tools: I have a couple of tools added (optional): VerifyMsrE2 and CleanNvram (see attached); these are shipped with opencore package/AppleSupportPackage; these tools must be put in the EFI/OC/Tools folder.

     

    6- NVRAM --> 7C436110-AB2A-4BBB-A880-FE41995C9F82 --> boot-arg: I have some custom boot args, usefull for debug and also I set the busratio of my cpus manually (optional).

     

    7- UEFI section: in addition to apfs.efi (to scan for apfs disks) and FwRuntimeServices, I have HFSPlus.efi (this is usefull when you have to load the recovery partition, no matter if you have your volume formatted as apfs, recovery needs hfs); the older HFSPlus driver loads the recovery partition faster than the driver included into opencore.

    I have also AppleUsbKbDxe: this should be used to load the usb keyboard driver, to use the keyboard during opencore boot, does your usb keyboard work even without this driver??

    myconfig.plist 11.73 kB · 1 download SSDT-EC-USBX.aml 212 B · 1 download SSDT-cpu.aml 177 B · 1 download Kexts.zip 8.08 kB · 2 downloads Tools.zip 19.19 kB · 1 download Drivers.zip 33.77 kB · 2 downloads

      

     

    Thank you for the extended clarification and those very useful informations, I was able to apply most of your suggestions and for the first time iMacPro1,1 work without any kernel panic.

     

    1- ACPI section: I did as you suggested and I used the SSDT-cpu.aml you provided, but I couldn't able to make  x86platformplugin to load at all, I have the following CPU features:

      <qemu:commandline>
        <qemu:arg value='-device'/>
        <qemu:arg value='-cpu'/>
        <qemu:arg value='IvyBridge,vendor=GenuineIntel,+hypervisor,-erms,+invtsc,kvm=on,+topoext,+svm,+invtsc,+fma,+mmxext,+avx,+avx2,+aes,+xsave,+xsaveopt,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2,+arat,+abm,+3dnowprefetch,+adx,+clflushopt,+cr8legacy,+fsgsbase,+fxsr_opt,+misalignsse,+movbe,+osvw,+pclmuldq,+pdpe1gb,+rdrand,+rdseed,+rdtscp,+sha-ni,+smap,+smep,+svm,+vme,+xgetbv1,+xsave,+xsavec,+clwb,+umip,+topoext,+perfctr-core,+amd-ssbd,+wbnoinvd'/>
      </qemu:commandline>

     

     

    I do planing to make it work because as you suggested it useful to let load AGPM, to manage the power management of the GPU.

    I read about this a little bit but I am a bit confused do I need SSDT.aml and run Pike's ssdtPRGen.sh script to generate this file. because in my case I passthrough my CPUs as Ivy Bridge?

    I do use dual E5-2690 v4 "Broadwell" in my unraid system I passthrough all the cores expect one core for other unraid tasks. 

     

    2- DeviceProperties section: layout-id it works with <integer> I didn't touch it as use suggested.

    I do have a BCM94360cs2 card passthorged as PCI device for the apple store/imessage/etc. to work.

     

    3- Kernel section (kexts): I updated Lilu, Whatevergreen and AppleALC,  I add the 3 kexts you suggested AppleMCEReporterDisabler, AGPMInjector and AppleLPCInjector.

    All of them loaded when I check through

     kextstat

    expet AGPMInjector: I need to make the x86platformplugin load first so I can confirm if it loading or not.

     

    4- Kernel patch: I changed the "avoid a x86 validate topology error" from 1 to 0 as you suggested. 

     

    5- UEFI section: I add HFSPlus.efi didn't know that it is necessary when I have to load the recovery partition,

    I add also AppleUsbKbDxe even thought my mouse and keyboard work without it before but I add it anyway.

     

    I can provide any log or debug files in case if you wanna help me to make the x86platformplugin to load.   

     

      

  9. On 1/21/2020 at 8:30 AM, ghost82 said:

    Just to be sure this isn't related to the clover bootloader, can you try opencore?

    I prepared a qcow2 image for you to try with all drivers/kexts you should need.

    Product name: iMac14,1, preserved serial

    Inject: nvidia drivers

    Kexts to inject: lilu, whatevergreen, applealc, agpminjector, applelpcinjector

    Drivers: apfs, HFSPlus, FWRuntimeServices, AppleUsbKbDxe

     

    PS: not sure if driver apfs will be able to load partition, this is coming from my catalina installation, slightly patched, let me know if it doesn't boot

     

    Instructions:

    Download the opencore image from here:

    <Link sent via pm, since the image contains s.n.>

     

    1- make sure you can access your unraid server shares, where your actual clover.qcow2 image is saved

    2- backup your clover.qcow2 image, just to be sure

    3- do not delete the clover.qcow2 image, extract opencore.qcow2.zip and copy opencore.qcow2 in the same folder where your actual clover.qcow2 image is stored on the unraid server

    4- modifiy the vm template to point to the new opencore.qcow2 image instead of clover.qcow2 image

    5- if you have problems just edit again the vm template to point to clover.qcow2 image

     

    Let me know

    I did use opencore for the first time and I successfully made it to boot.

    I wonder if you can take a look at my config.plist and maybe enhance it further more for Catalina VM. there is no specific VMS guide for opencore bootloader.

    * I did mask the serial and other sensitive information.

    config.plist

  10. On 12/18/2019 at 1:50 PM, Skitals said:

    Can you explain your problem? Is it locking up at boot, or randomly during use? With my 5700 XT, I would randomly crash unraid during gaming or even just using chrome in the win 10 vm. I made a ton of changes, but I finally got it stable. I settled on 6.8.0-rc5 with the kernel from the first thread. I added a second GPU in slot 3 I have set in my bios as the initial video device. With this setup I no longer have to pass a vbios to the vm. I also updated to Adrenalin 2020 drivers. With those changes, instead of locking up the entire host I would "only" lose signal where I was previously crashing. I could hear game audio continue, but the only recourse was the force stop the vm. The final fix was to DISABLE Radeon Anti-Lag and Radeon Enhanced Sync in Adrenalin. With that final change I am 100% stable and have no problem restarting my vm.

     

    That's a long way of saying check if you have Radeon Anti-Lag and Radeon Enhanced Sync on and turn them OFF. They default to on, at least in Adrenalin 2020. The second gpu might not be necessary, it might have just changed the behavior from crashing all of unraid to only having for force stop the vm. Also, use q35-4.0.1 (or newer) if you want gen4 pcie speed without xml changes.

    I’m planning to do something similar, but I’m wondering did this solution eliminate all the problems you had from crashing and the rest bug and the system lock and the random black screens while browsing through chrome? 

     

  11. The thing about Unraid that, l didn’t even know that it exists, l was searching for something to be able to share my data through different operating systems in the same time, l read about it by someone else who mentioned it in reddit comment. I searched about it, form the day l saw how convenient Unraid is. 

    l never look back, best money l ever invested in my life.

     

    Thanks for the efforts that Unraid team do for us. 

     

    • Next year l look forward for ZFS as choice along side other file systems. 

  12. On 8/7/2019 at 11:00 PM, TRAVMO said:

     

    Hey @david279, I've been trying for several days now to get catalina working using those files, but even using the ESP.qcow2 to boot it, I get stuck at "Welcome to clover 4920, scan entries". When you have a sec, can you comment on anything else you had to do? Tried a couple clover versions also just in case, but it seems like any version 4900+ I get this message.

    Note that if you’re booting using a reinstalled Clover, be sure to delete Clover’s “drivers64UEFI/AudioDxe-64.efi” (it causes a hang).

  13. I'm new at this, I succsfully able to bassthrought MY Vega FE card to macOS mojave 10.14.6, and I made sound working by pass-through the video device as multi functional and add the audio device as sub-function on the same bus/slot as showing here to work with macOS-vm:

    <hostdev mode='subsystem' type='pci' managed='yes'>
          <driver name='vfio'/>
          <source>
            <address domain='0x0000' bus='0x84' slot='0x00' function='0x0'/>
          </source>
          <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0' multifunction='on'/>
        </hostdev>
        <hostdev mode='subsystem' type='pci' managed='yes'>
          <driver name='vfio'/>
          <source>
            <address domain='0x0000' bus='0x84' slot='0x00' function='0x1'/>
          </source>
          <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x1' multifunction='on'/>
        </hostdev>

    Now when I play music through display-port and even system sounds I get random micro cuts in the audio, static noises.

    I searched about this I think it's the MSI problem, but how I can fix this with macOS vm.

     

    Here's my XML for my VM:

    <?xml version='1.0' encoding='UTF-8'?>
    <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
      <name>Mojave</name>
      <uuid>e0bc5542-b1c5-9ea4-19d6-afb126fd7de1</uuid>
      <metadata>
        <vmtemplate xmlns="unraid" name="Linux" icon="unraid.png" os="linux"/>
      </metadata>
      <memory unit='KiB'>8388608</memory>
      <currentMemory unit='KiB'>8388608</currentMemory>
      <memoryBacking>
        <nosharepages/>
      </memoryBacking>
      <vcpu placement='static'>52</vcpu>
      <cputune>
        <vcpupin vcpu='0' cpuset='2'/>
        <vcpupin vcpu='1' cpuset='30'/>
        <vcpupin vcpu='2' cpuset='3'/>
        <vcpupin vcpu='3' cpuset='31'/>
        <vcpupin vcpu='4' cpuset='4'/>
        <vcpupin vcpu='5' cpuset='32'/>
        <vcpupin vcpu='6' cpuset='5'/>
        <vcpupin vcpu='7' cpuset='33'/>
        <vcpupin vcpu='8' cpuset='6'/>
        <vcpupin vcpu='9' cpuset='34'/>
        <vcpupin vcpu='10' cpuset='7'/>
        <vcpupin vcpu='11' cpuset='35'/>
        <vcpupin vcpu='12' cpuset='8'/>
        <vcpupin vcpu='13' cpuset='36'/>
        <vcpupin vcpu='14' cpuset='9'/>
        <vcpupin vcpu='15' cpuset='37'/>
        <vcpupin vcpu='16' cpuset='10'/>
        <vcpupin vcpu='17' cpuset='38'/>
        <vcpupin vcpu='18' cpuset='11'/>
        <vcpupin vcpu='19' cpuset='39'/>
        <vcpupin vcpu='20' cpuset='12'/>
        <vcpupin vcpu='21' cpuset='40'/>
        <vcpupin vcpu='22' cpuset='13'/>
        <vcpupin vcpu='23' cpuset='41'/>
        <vcpupin vcpu='24' cpuset='14'/>
        <vcpupin vcpu='25' cpuset='42'/>
        <vcpupin vcpu='26' cpuset='15'/>
        <vcpupin vcpu='27' cpuset='43'/>
        <vcpupin vcpu='28' cpuset='16'/>
        <vcpupin vcpu='29' cpuset='44'/>
        <vcpupin vcpu='30' cpuset='17'/>
        <vcpupin vcpu='31' cpuset='45'/>
        <vcpupin vcpu='32' cpuset='18'/>
        <vcpupin vcpu='33' cpuset='46'/>
        <vcpupin vcpu='34' cpuset='19'/>
        <vcpupin vcpu='35' cpuset='47'/>
        <vcpupin vcpu='36' cpuset='20'/>
        <vcpupin vcpu='37' cpuset='48'/>
        <vcpupin vcpu='38' cpuset='21'/>
        <vcpupin vcpu='39' cpuset='49'/>
        <vcpupin vcpu='40' cpuset='22'/>
        <vcpupin vcpu='41' cpuset='50'/>
        <vcpupin vcpu='42' cpuset='23'/>
        <vcpupin vcpu='43' cpuset='51'/>
        <vcpupin vcpu='44' cpuset='24'/>
        <vcpupin vcpu='45' cpuset='52'/>
        <vcpupin vcpu='46' cpuset='25'/>
        <vcpupin vcpu='47' cpuset='53'/>
        <vcpupin vcpu='48' cpuset='26'/>
        <vcpupin vcpu='49' cpuset='54'/>
        <vcpupin vcpu='50' cpuset='27'/>
        <vcpupin vcpu='51' cpuset='55'/>
      </cputune>
      <os>
        <type arch='x86_64' machine='pc-q35-3.1'>hvm</type>
        <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
        <nvram>/etc/libvirt/qemu/nvram/e0bc5542-b1c5-9ea4-19d6-afb126fd7de1_VARS-pure-efi.fd</nvram>
      </os>
      <features>
        <acpi/>
        <apic/>
      </features>
      <cpu mode='host-passthrough' check='none'/>
      <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='raw' cache='writeback'/>
          <source file='/mnt/user/domains/Mojave/vdisk3.img'/>
          <target dev='hdc' bus='sata'/>
          <boot order='1'/>
          <address type='drive' controller='0' bus='0' target='0' unit='2'/>
        </disk>
        <controller type='sata' index='0'>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' 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='0x10'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
        </controller>
        <controller type='pci' index='2' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='2' port='0x11'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
        </controller>
        <controller type='pci' index='3' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='3' port='0x12'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 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='pci' index='5' model='pcie-root-port'>
          <model name='pcie-root-port'/>
          <target chassis='5' port='0x8'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
        </controller>
        <controller type='virtio-serial' index='0'>
          <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
        </controller>
        <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>
        <interface type='bridge'>
          <mac address='52:54:00:80:db:ed'/>
          <source bridge='br0'/>
          <model type='vmxnet3'/>
          <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='3'/>
        </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='0x84' slot='0x00' function='0x0'/>
          </source>
          <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0' multifunction='on'/>
        </hostdev>
        <hostdev mode='subsystem' type='pci' managed='yes'>
          <driver name='vfio'/>
          <source>
            <address domain='0x0000' bus='0x84' slot='0x00' function='0x1'/>
          </source>
          <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x1' multifunction='on'/>
        </hostdev>
        <hostdev mode='subsystem' type='usb' managed='no'>
          <source>
            <vendor id='0x05ac'/>
            <product id='0x026c'/>
          </source>
          <address type='usb' bus='0' port='1'/>
        </hostdev>
        <hostdev mode='subsystem' type='usb' managed='no'>
          <source>
            <vendor id='0x05ac'/>
            <product id='0x8289'/>
          </source>
          <address type='usb' bus='0' port='2'/>
        </hostdev>
        <hostdev mode='subsystem' type='usb' managed='no'>
          <source>
            <vendor id='0x1bcf'/>
            <product id='0x0824'/>
          </source>
          <address type='usb' bus='0' port='4'/>
        </hostdev>
        <memballoon model='none'/>
      </devices>
      <qemu:commandline>
        <qemu:arg value='-usb'/>
        <qemu:arg value='-device'/>
        <qemu:arg value='usb-mouse,bus=usb-bus.0'/>
        <qemu:arg value='-device'/>
        <qemu:arg value='usb-kbd,bus=usb-bus.0'/>
        <qemu:arg value='-device'/>
        <qemu:arg value='isa-applesmc,osk=,<REDACTED>'/>
        <qemu:arg value='-smbios'/>
        <qemu:arg value='type=2'/>
        <qemu:arg value='-cpu'/>
        <qemu:arg value='Penryn,vendor=GenuineIntel,kvm=on,+fpu,+vme,+de,+pse,+tsc,+msr,+pae,+mce,+cx8,+apic,+sep,+mtrr,+pge,+mca,+cmov,+pat,+pse36,+clflush,+acpi,+mmx,+fxsr,+sse,+sse2,+ss,+ht,+tm,+pbe,+syscall,+nx,+pdpe1gb,+rdtscp,+lm,+tsc,+pni,+pclmulqdq,+dtes64,+monitor,+ds_cpl,+vmx,+smx,+est,+tm2,+ssse3,+fma,+cx16,+xtpr,+pdcm,+pcid,+dca,+sse4_1,+sse4_2,+x2apic,+movbe,+popcnt,+aes,+xsave,+avx,+f16c,+rdrand,+lahf_lm,+abm,+3dnowprefetch,+fsgsbase,+tsc_adjust,+bmi1,+hle,+avx2,+smep,+bmi2,+erms,+invpcid,+rtm,+rdseed,+adx,+smap,+xsaveopt,+arat,vmware-cpuid-freq=on,'/>
    </qemu:commandline>
    </domain>

     

  14. 16 minutes ago, 1812 said:

    Ok, don’t listen to me. Seeing how I’ve run OS X on an 80 core 4 processor machine at the max 64 allowed....

     

     The problem is OS X only recognizes certain topologies and won’t boot if its not within those parameters. Soo... yes, it’s a topology issue. Remove topology and you can do 3, 33, whatever. The added bonus is OS X will utilize threads as single cores for greater performance. 

     

    For further reading see

     

     

     

    or, you know, don’t.

    Thank you for the clarification, to be honest I kinda noob when it comes to kvm l was using macOS as primarily bare metal hackintosh.

     

    if you don’t mind can you share with me your current macOS xml file and your clover EFI folder or .config file so l can try and replicate your setup and to achieve the same performance as you :)

  15. 53 minutes ago, 1812 said:

    remove your topology from the xml, then you can go up to 64

    The problem is not related to the core count as in windows or Linux vm l can easily select the cores l want and passthrough them normally via Unraid web-GUI. 

     

    macOS refuses to boot on my machine because if I pass certain numbers of cores through to it.

     

    I don’t know if Unraid configuration format doesn’t natively support setting a thread count? 

     

    Before as @FoxletFox suggested to me with his macOS-Simple-KVM project due to platform assumptions in XNU, it's better to pass all threads as either single CPUs (_-smp 56,cores=1_) or as dual core pairs (_-smp 56,cores=2_).

    But l can’t figure out how to do that in Unraid xml config. 

  16. I have successfully installed Mojave 10.14.6 as VM with Unraid 6.7.2, and successfully passthrough my Vega FE GPU the tricky part that I have dual E5-2690 v4 CPUs with a total of 28 core and 56 Threads.

    l already tried with selecting all the threads available but clover bootloader won’t boot I had the same experienced before when I used virtmanger but I used this custom flag and I was able to boot normally:

    -smp 56,cores=8 \


    ?How I can use this custom flag with Unraid xml confg file and excluding two threads for unraid system 

    4xc7xy9hrsx21.png

  17. Hey everyone!

    I was able to get my Vega FE to pass on over to the guest, here's everything I did, start to finish, for anyone who maybe trying to pass through a Vega FE on supermicro x10dai on Unraid OS or similar OS and having problems!

    First and foremost, make sure you're UEFI booting to your OS. If I'd spent the time to do this and, I could have saved myself a few hours of troubleshooting.

    Second, the EFI OPROM setting for my card in the Supermicro BIOS was necessary to turn it off completely! This would not under any circumstance work until I did it with the card slot. If for any reason you're using a Supermicro board and under the PCI slot settings you can't passthrough GPU select EFI OPROM for your GPU and turn it off, and make sure your bios setting as you intended before do that because you can't access the bios setting to post in the screen through the GPU if you turn off this option until you reset CMOS.

    • Thanks 1
×
×
  • Create New...