AMD RX 560 Graphical Issues in Games (uR 6.4.1, Win10 VM, Ryzen 5, Asrock x370, Bios up to date)


Recommended Posts

Hi All,

 

I've dumped about 8 hours into this so far and have made almost no progress.  I'm hoping to find suggestions for motherboard bios settings, linux config settings, VM xml tweaks, or anything else that might help resolve this.

GPU is the Gigabyte RX 560 4GB Rev2 with AMD Bios Version 17.8.1 (have also tried v18+ with identical results). It is functional, but has intermittent issues with the HDMI Audio Driver and either fails to start games, or shows artifacts within the game.

System Software:
UnRaid (Linux) V6.4.1
Windows 10 64bit VM (GPU Passthrough) - Isolated CPU Cores / Tried both with and Without specified GPU Rom (dumped from card with GPU-Z)
MSI Util - Tried both with and without MSI enabled for all processes related to the GPU
Not using the Gigabyte GPU Utility (Aorus)
I have used DDU to clean the pre-existing drivers in windows safe mode whenever reinstalling device drivers

System Hardware of interest:

  • Seasonic Prime Titanium 650W PSU
  • Asrock x370 Taichi (Bios 4.40 - also tried 3.2 - fairly stock bios settings with the exception of enabling IOMMU groups)
  • Ryzen 5 1600 (stock speed, no overclock)
  • Ballistix 2x16GB DDR4


Downstream Display Devices:

  • Denon X2300W AVR (HDMI Bypass)
  • Samsun UN65JS8500 4k TV
  • All connected via 2.0b spec HDMI cables (tested and working at 4k 444 2020)


Radeon Display Settings:

  • Have tried both 1080P and 4k
  • Have tried HDR mode and Non HDR mode
  • Am Using 444 Full range RGB, have tried 420 as well


Description of Issues:

Graphical errors in games or failure to launch. I have only tried 3 games so far and all have had issues: 

  1. Ori and the Blind Forest, either fails to launch completely or hangs on the main screen with theme music playing. No visible graphical artifacts. System does not lock up and I am able to kill the process to return to desktop
  2. Ballpoint Universe. 3d models have artifacts where the models stretch and distort (pointy spikey distortions) and obscure the screen. The game otherwise runs fine.
  3. Bastion. Game runs fine with the exception of a thin diagonal line of colorful white noise that extends from the center of the screen to the upper right hand corner.

Intermittent issue with HDMI audio failing to initialize. When first installing any Radeon driver the HDMI audio will fail to initialize, recognizing no connected audio devices (red X). Occasionally, this issue resolves itself and it is not clear why. I have also managed to get HDMI audio to initialized by enabling the MSI option associated with the HDMI audio device. 

 

Windows VM XML (Tried both with and without Rom specified - same results):


<domain type='kvm'>

  <name>Windows 10</name>

  <uuid>15667ac1-2465-fe33-d840-a54b512b265b</uuid>

  <metadata>

    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>

  </metadata>

  <memory unit='KiB'>24641536</memory>

  <currentMemory unit='KiB'>24641536</currentMemory>

  <memoryBacking>

    <nosharepages/>

  </memoryBacking>

  <vcpu placement='static'>8</vcpu>

  <cputune>

    <vcpupin vcpu='0' cpuset='4'/>

    <vcpupin vcpu='1' cpuset='5'/>

    <vcpupin vcpu='2' cpuset='6'/>

    <vcpupin vcpu='3' cpuset='7'/>

    <vcpupin vcpu='4' cpuset='8'/>

    <vcpupin vcpu='5' cpuset='9'/>

    <vcpupin vcpu='6' cpuset='10'/>

    <vcpupin vcpu='7' cpuset='11'/>

    <emulatorpin cpuset='0-3'/>

  </cputune>

  <os>

    <type arch='x86_64' machine='pc-i440fx-2.10'>hvm</type>

    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>

    <nvram>/etc/libvirt/qemu/nvram/15667ac1-2465-fe33-d840-a54b512b265b_VARS-pure-efi.fd</nvram>

  </os>

  <features>

    <acpi/>

    <apic/>

    <hyperv>

      <relaxed state='on'/>

      <vapic state='on'/>

      <spinlocks state='on' retries='8191'/>

      <vendor_id state='on' value='none'/>

    </hyperv>

  </features>

  <cpu mode='host-passthrough' check='none'>

    <topology sockets='1' cores='8' threads='1'/>

  </cpu>

  <clock offset='localtime'>

    <timer name='hypervclock' present='yes'/>

    <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='none'/>

      <source file='/mnt/user/domains/Windows 10/vdisk1.img'/>

      <target dev='hdc' bus='virtio'/>

      <boot order='1'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>

    </disk>

    <disk type='file' device='cdrom'>

      <driver name='qemu' type='raw'/>

      <source file='/mnt/user/isos/Windows_10_x64.iso'/>

      <target dev='hda' bus='ide'/>

      <readonly/>

      <boot order='2'/>

      <address type='drive' controller='0' bus='0' target='0' unit='0'/>

    </disk>

    <disk type='file' device='cdrom'>

      <driver name='qemu' type='raw'/>

      <source file='/mnt/user/isos/virtio-win-0.1.141-1.iso'/>

      <target dev='hdb' bus='ide'/>

      <readonly/>

      <address type='drive' controller='0' bus='0' target='0' unit='1'/>

    </disk>

    <controller type='usb' index='0' model='nec-xhci'>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>

    </controller>

    <controller type='pci' index='0' model='pci-root'/>

    <controller type='ide' index='0'>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>

    </controller>

    <controller type='virtio-serial' index='0'>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

    </controller>

    <interface type='bridge'>

      <mac address='52:54:00:4e:e0:7e'/>

      <source bridge='br0'/>

      <model type='virtio'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>

    </interface>

    <serial type='pty'>

      <target port='0'/>

    </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='mouse' bus='ps2'/>

    <input type='keyboard' bus='ps2'/>

    <hostdev mode='subsystem' type='pci' managed='yes'>

      <driver name='vfio'/>

      <source>

        <address domain='0x0000' bus='0x2d' slot='0x00' function='0x0'/>

      </source>
      
      <rom bar='on' file='/mnt/user/Warehouse/roms/Polaris21uefi.rom'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>

    </hostdev>

    <hostdev mode='subsystem' type='pci' managed='yes'>

      <driver name='vfio'/>

      <source>

        <address domain='0x0000' bus='0x2d' slot='0x00' function='0x1'/>

      </source>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>

    </hostdev>

    <hostdev mode='subsystem' type='usb' managed='no'>

      <source>

        <vendor id='0x045e'/>

        <product id='0x0719'/>

      </source>

      <address type='usb' bus='0' port='1'/>

    </hostdev>

    <hostdev mode='subsystem' type='usb' managed='no'>

      <source>

        <vendor id='0x046d'/>

        <product id='0xc52b'/>

      </source>

      <address type='usb' bus='0' port='2'/>

    </hostdev>

    <hostdev mode='subsystem' type='usb' managed='no'>

      <source>

        <vendor id='0x8087'/>

        <product id='0x0aa7'/>

      </source>

      <address type='usb' bus='0' port='3'/>

    </hostdev>

    <memballoon model='virtio'>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>

    </memballoon>

  </devices>

</domain>

 

The Asrock bios does have the following option (have not changed yet and unsure of whether it would have any effect):

Launch Video OpROM Policy Select UEFI only to run those that support UEFI option ROM only. Select Legacy only to run those that support legacy option ROM only. Select Do not launch to not execute both legacy and UEFI option ROM.


Attached are two DXDiag exports and the rom ripped with GPU-Z. One dxdiag with MSI disabled and HDMI audio non-functioning, the other with HDMI audio functioning and most things working (with the exception of the games described in 1). 


Much thanks for any help,

Rob

DxDiagBrokenHDMIAudio.txt

DxDiag.txt

Polaris21uefi.rom

Edited by cablecutter
Link to comment

This is the suggestion from AMD.  I have not tried it yet but am doubtful that it will resolve the issue:

 

"

First, I request you to download and install the Windows Show or Hide updates tool and run it and check if there is any graphics driver available from windows. If yes then follow the instruction to hide it.

 

https://support.microsoft.com/en-us/help/3073930/how-to-temporarily-prevent-a-driver-update-from-reinstalling-in-windows-10

 

After preventing windows to install the driver automatically, I request you to please follow the below steps.

 

  • Step 1 – Please use DDU Utility (Display Driver Uninstaller) by launching it in Safe mode and uninstall the previous driver. It will help you completely uninstall AMD graphics card drivers and packages from your system, without leaving leftovers behind.

  • Step 2 – then restart your computer again and enter into the normal windows mode.

  • Step 3 - install all the critical and recommended updates from Windows.

  • Step 4 – Again restart the computer and then install the 18.3.1 drivers by clicking this below link. Please disconnect the network connection and disable antivirus before running the installer file. https://support.amd.com/en-us/download/desktop?os=Windows%2010%20-%2064

     

 

Thanks for contacting AMD."

Link to comment
  • 2 weeks later...

@cablecutterIt appears to be a temp fix.  I have two 7850's and both of them work after running the DDU to clean the system\reinstall of drivers.  Then 1 or 2 reboots later its back to hosed.  I have tried old drivers and new ones but no matter what it is the same result which has me dumbfounded because this only started a month ago.

 

Side note I discovered if I completely reboot the server any ATI card will pass the audio through on the VM until the VM is rebooted.  

Edited by Terrified Addict
Link to comment
  • 2 weeks later...
On 3/27/2018 at 11:52 PM, Terrified Addict said:

@cablecutterIt appears to be a temp fix.  I have two 7850's and both of them work after running the DDU to clean the system\reinstall of drivers.  Then 1 or 2 reboots later its back to hosed.  I have tried old drivers and new ones but no matter what it is the same result which has me dumbfounded because this only started a month ago.

 

Side note I discovered if I completely reboot the server any ATI card will pass the audio through on the VM until the VM is rebooted.  

 

I fixed my issues like yours with temperamental audio by changing the machine type from i440fx to Q35. My HDMI audio now initializes perfectly upon every boot and I no longer have the rex X over the sound icon on the task bar.

Link to comment

@PROJECTBLUE I will definitely give that a try next time the audio stops (aka when the next Windows Update reboots the VM).  I took a quick look and mine is currently running "pc-i440fx-2.10" which must be the default template value for Windows 10.  The one thing that is a little concerning is mine never had a red x icon overlay-ed on the speaker but instead showed as perfectly functional it just would throw an error on any attempt to use the audio. 

Link to comment
1 hour ago, Terrified Addict said:

@PROJECTBLUE I will definitely give that a try next time the audio stops (aka when the next Windows Update reboots the VM).  I took a quick look and mine is currently running "pc-i440fx-2.10" which must be the default template value for Windows 10.  The one thing that is a little concerning is mine never had a red x icon overlay-ed on the speaker but instead showed as perfectly functional it just would throw an error on any attempt to use the audio. 

I was running i440fx too, I would give it a try! When you next boot after changing the machine type windows will sit at a loading screen for a while saying "getting devices ready" but once that's done it will boot straight to windows and everything will be fine.

 

Mine would be very 50/50 on i440fx - sometimes it would show the red x over the speaker icon and I also had the same issue as you there sometimes too, it would show as working correctly etc - but when I actually tried to use the audio or test the device in windows it either just wouldn't play any sound or windows would claim the device was in use by another program. No amounts of reboots/disabling & enabling the device worked for me. The only thing that worked was uninstall all AMD software, reboot then reinstall it all again. Obviously this wasn't viable for a daily use machine.

Next time you shut down the machine change the machine type to Q35 and see if it helps. I have had 0 issues using Q35 for the past 24 hours and I've rebooted the host and the VM multiple times. My sound now works perfectly!

Link to comment

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.