ilf

Members
  • Posts

    2
  • Joined

Everything posted by ilf

  1. Hi, quick reply. I tried with device-id, but it did not work. Since my post, I went a bit mad, and reinstalled the machine back with clover (just to realize how convoluted it is and how bad it is), so now it works, however my plan is to install another one with HS and opencore and play around till I make it work, this way I would still be able to have a functioning MacOS while trying to work out OpenCore. Anyway, back to the device-id, what I did was put under the PCI device path: device-id = 68e0 & vendor-id = 1002 also added the ATY,device-id = 68f9 & ATY,vendor-id = 1002. My assumption is that device-id is the desired one, while the ATY,device-id is the real one that I want changed (btw, I tried it vice-a-versa, too, to no avail). Those were all base64 encoded values of course (i.e. data). However when I look at your proposal, you seem to flip the value 67b0 (which is the ID of R290, not my card, but I get what you mean) to b067, so did I mess up the endianness ? If I understood correctly I should set device-id = b64(e068) and ATY,device-id = b64(f968)? I can skip the vendor-id, I think, as it is not changing anyway. There is another key that I don't know what it is and if it is critical. According to this Clover conversion readme of OpenCore in the FakeAti section there is also "@0,compatible" key, that I have no idea what it should be, what type it is, or is it mandatory. I couldn't figure it out from the source code. If I'm not successful with doing it through the config.plist I'm also thinking about the SSSD GPU SPOOF from opencore, which would be pain, as I don't know how to easily find the ACPI path of the video card under a VM. As to the frame-buffer, my config.plist (the clover one) says this: <key>Graphics</key> <dict> <key>DualLink</key> <integer>0</integer> <key>FBName</key> <string>Eulemur</string> <key>Inject</key> <dict> <key>ATI</key> <true/> </dict> <key>VideoPorts</key> <integer>3</integer> </dict> Again, I'm not very well versed in the hackintosh ways, I'm a linux guy by trade, who happens to shoot film in his spare time :). Sidenote to libvirt.xml: My proposal of setting cpu features as policies works with opencore flawlessly, when I attempted using it with Clover it did not work as expected so I had to revert to qemu arguments in the libvirt.xml. You live, you learn, I guess.
  2. I installed HS with OpenCore, because I have an ATI 5450, and HS is the latest that supports that hardware. Previously I used clover and managed to make the video work with HS. I don't use the VM a lot, just to convert some negatives in Lightroom that later I process mostly in Darktable under Linux, so my needs are pretty modest. However with OpenCore I cannot make the ATI work. Previously I used Inject ATI, FakeID and Eulemur as framebuffer name, however I do not know how to achieve that with OpenCore. I tried adding a dictionary for my card under Root -> DeviceProperties -> PciRoot(0x1)/Pci(0x2,0x2)/Pci(0x0,0x0) -> by setting the device-id and vendor-id to 68e0 & 1002 (this is the 0x68e01002 Fake ATI id), however this did not work for me. Does anyone know how to achieve what clover did, under OpenCore. I am starting to regret reinstalling the vm, but I just wanted to make HDMI Audio work and wasn't able to do it under clover, so I though why not give OpenCore a try. Btw, I like opencore, it's cleaner and far more logical, however documentation is scarce and even the source code doesn't give me enough pointers how to fix certain problems. Btw, I would just drop my 2 cents here on the proposed libvirt xml file. Instead of passing qemu arguments, I usually declare policies i.e. <cpu mode="custom" match="exact" check="full"> <model fallback="forbid">Penryn</model> <vendor>GenuineIntel</vendor> <feature policy="require" name="vme"/> <feature policy="require" name="x2apic"/> <feature policy="require" name="xsave"/> <feature policy="require" name="xsaveopt"/> <feature policy="require" name="pcid"/> <feature policy="require" name="rdrand"/> <feature policy="require" name="f16c"/> <feature policy="require" name="fma"/> <feature policy="require" name="hypervisor"/> <feature policy="require" name="invtsc"/> <feature policy="require" name="avx"/> <feature policy="require" name="avx2"/> <feature policy="require" name="aes"/> <feature policy="require" name="ssse3"/> <feature policy="require" name="sse4.2"/> <feature policy="require" name="popcnt"/> <feature policy="require" name="bmi1"/> <feature policy="require" name="bmi2"/> </cpu> Which I think is the 'official' libvirt way, however I would like to know if there is any advantage to passing qemu arguments through <qemu:commandline> in libvirt, but that is secondary and more of an academic question ?