SOLVED - XFX RX 6900 XT Merc 319 black and osx Monterey. Booting but no display.


Recommended Posts

Hi.

 

I just upgraded my Unraid box with a new graphics card, the XFX RX 6900 XT Merc 319 black. I previously had the Radeon 580, that worked great with all my VM's,  but the reset bug became too much of a pain ☹️

 

The 6900 works great in all my VM's, exept osx Monterey. I get half the way on the boot screen and then I am stuck. Monterey will fully boot, but the display is stuck half way.

 

So my question is:

Has anyone got this card working with Monteray, or can anyone point me in a direction of getting this working?

 

All help is greatly appreciated!

 

Harald

 

Hardware:

ASUSTeK COMPUTER INC. X99-WS/IPMI , Version Rev 1.xx
American Megatrends Inc., Version 4001
BIOS dated: Tuesday, 28-05-2019

Intel® Xeon® CPU E5-2697 v3 @ 2.60GHz

Link to comment

Hi again.

Thanks for your answer ghost82.

 

I tried adding 'agdpmod=pikera' to the boot-args in config.plist, but the result is still the same😟

I have attached  my config.plist, Monterey xml file and a screenshot from GPU-Z on the GPU specs.

 

It would be greatly appreciated if anyone would take the time to have a look at it, and help me solve this.

Maybe there are others out there having the same issues as well?

 

Thanks in advance!

Harald

rx6900xt.JPG

config.plist Monterey.xml

Link to comment
4 hours ago, Harald D said:

Thanks for your answer ghost82

A couple of comments.

In your xml change from this:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/disk2/domains/AMD.RX6900XT-REF.rom'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </hostdev>

To this:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/disk2/domains/AMD.RX6900XT-REF.rom'/>
      <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='0x04' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x1'/>
    </hostdev>

 

What is the output of lspci?Does this gpu has also an usb controller/serial bus controller?If so you need to pass also that devices, paste following block right under the corrected block above (in the same multifunction), i.e. probably:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x2'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x2'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x3'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x3'/>
    </hostdev>

Note: attach to vfio also usb controller and serial bus if you didn't.

 

Where did you grab AMD.RX6900XT-REF.rom?

Dump your own, or if it's not the only gpu in the system do not pass at all the vbios, my 6900xt (sapphire) works without vbios too.

If you are passing through a vbios that's not grabbed from your gpu, maybe you are passing through an xtxh vbios, which has different product id and it will not work.

Vendor/product ids (from your screenshot) match that inside the apple driver, so it should work.

 

Additional note: if your gpu has a switch dump/use the regular one and not the performance one.

 

If it doesn't work:

1. try other video outputs (if you can) on the gpu

2. xfx gpus may have customized vbioses, that could not play well with mac os; you can try to pass a reference card vbios, I'm seeing that the video output layout should be the same as the reference card (1 hdmi, 2 dp, 1 usb c); you could try this:

https://www.techpowerup.com/vgabios/230799/amd-rx6900xt-16384-201104

Memory clock/type is the same so it should be good, at least mine outputs the video signal with the reference vbios, but only on hdmi and on 1 dp out of 3 (take into account that the sapphire layout is different, 1 hdmi, 3 dp).

With its vbios or without any vbios the sapphire nitro+ se 6900xt (vendor id 1002, product id 73bf) works good, it only outputs on hdmi and 1 dp port, it outputs to all ports with agdpmod=pikera.

 

Always try all video outputs if you can and always maintain agdpmod=pikera in boot-args.

Edited by ghost82
Link to comment

Thanks again ghost82!

 

I have done some more tests, but still no luck unfortunately ☹️

 

- I have made the changes to the xml file.

- I have switched the cards bios from advanced to regular.

- I have tested without vbios, with my own dumped vbios, and with the one from your link.

- I have tried all the display ports (one of them gives the same result as the hdmi port).

 

And I have combined the above in all possible ways.

 

My card has no usb-c port, only 3x dp's and 1x hdmi.

 

I have attached the output from the lspci.

lspci.txt

Link to comment

ok, no usb, you could run this test:

enable the passthrough, enable remote management inside mac os (or any other tool to remote into the vm), boot the vm (black screen), connect inside the vm remotely and run ioregistry explorer, save a copy of that file: you can send it to me in private so we can take a look about how and if the gpu is detected.

Can you attach also the diagnostics?

59 minutes ago, Harald D said:

(one of them gives the same result as the hdmi port).

Sorry, what do you mean with this?

Edited by ghost82
Link to comment
  • Harald D changed the title to SOLVED - XFX RX 6900 XT Merc 319 black and osx Monterey. Booting but no display.

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.