VMware Cloud Community
taylorjonl
Enthusiast
Enthusiast

VMDirectPath and ATI Radeon

I am using VMware ESXi and I am trying to setup a guest that is Windows 7 that will have an ATI Radeon video card passed through to it.  I actually had this working on a previous system but I had to reinstall.  Now when I do this the guest fails to start and I get the following:

Error message from localhost.XXXXXXXXXXX:
PCIPassthru 004:00.0: Guest tried to (null)map
32 device pages (with base address of 0xb5d20)
to a range occupied by main memory. This is
outside of the PCI Hole. Add pciHole.start =
"2909" to the configuration file and then power
on the VM.
error
12/23/2010 1:04:36 PM
media
User

When I do as it asks, the guest now starts but gets an immediate BSOD concerning memory management.  Any ideas on why this is occuring and why it worked at one point but now it fails?

814 Replies
KRA77
Contributor
Contributor

Update on my previous post (page 21)

I have now replaced the 4650 with a 6450 card. Status is as follows

WHS2011 installs, catalyst fails to start but no other error, no way to get output to tv.

Win8 Consumer Preview, installs and works, catalyst fails to start, but I have output to tv and can playback video with mediaplayer. Tried to run XBMC, but this failes. XBMC startup fine, then the gui start flickering to black, in and out several times, before it just stays black. XBMC does not crash, but remains black screen, both fullscreen and window mode. Have not tested DXVA because of this.

xbmcbuntu, works out of box, however vaapi is not stable this is not a passthrough issue but a general issue. Using xvba version of xbmc everything seems to be fine, both audio and video work with hdmi (audio needs tweak to setup).

In my previous post I stated that pci slot 2 is shared with onboard server vga card, it is not limited to slot 2. After replacing gfx card I had space to use pci slot 1, and I installed tv-tuner in slot 1, soundcard in slot 2 and slot 3 blocked by pike card. All 3 devices gets linked when enable passthrough.

Reply
0 Kudos
Dimage
Contributor
Contributor

Configuration will work?

PCI-E 2.1 ASUS EAH5450 SILENT/DI/1GD3(LP), 1gb, DDR3, Low Profile, Ret
WD Caviar Green WD30EZRX, 3tb, HDD, SATA III
CORSAIR XMS3 Classic CMX16GX3M4A1333C9 DDR3- 4x 4gb, 1333, DIMM, Ret
INTEL Core i7 3770, LGA 1155, OEM [cpu intel lga1155 i7-3770 oem]
Motherboard GIGABYTE GA-Q67M-D2H-B3

Unfortunately I can not experiment

and want to get a working configuration.

your opinion?

Reply
0 Kudos
AlexAmec
Contributor
Contributor

Hello,

I can report success with a Core I7 3930K on an Asus Rampage IV Extreme.

Tested cards are 5770, 6850, 6870, 6970 on any PCIe 16 ports. Guest OS is Windows 7 with 2GB of memory (two instances running at same time, one with 6850 card, other with the 5770). My only concern is that Esx 5.0 does not recognize the integrated Intel NIC so I'm loosing on PCIe 16 port for additional Intel NIC card.

On my Asus p8b ws, there is no way to make it work Smiley Sad.

Regards,

Alex

Reply
0 Kudos
derickso
Contributor
Contributor

I found a solution to the HDMI audio stuttering/lockups experienced with a Radeon.  If you go to the control panel, then Sound, click your playback device that has a big green check in it, then click properties.  Two things to change, on the Enhancements tab make sure "Disable all sound effects" is checked, and on the Advanced tab make sure "Allow applications to take exclusive control of this device" is unchecked.  Then hit OK, and then configure your playback to ensure it has the right number of expected speakers, and configure within Media Center if you use it.

This has been working great for me for days now.  The downside is it won't directly pass encoded audio to your receiver (it needs exclusive mode to do that), but I believe it will decode the audio in software and pass multiple streams to the receiver (thats what mine is telling me anyway).

I wish there was a way to get this to work while having the receiver do the decoding, but having something work rather than not is at least a start.  Has anyone tried another audio card? I wonder if it is even possible to somehow mix audio from another soundcard into the hdmi stream coming out of a Radeon?

Reply
0 Kudos
Flappje
Contributor
Contributor

Hi Guy's

I finnaly also tried to passthrough a ATI card to a VM and it works (not perfectly, but it is good enought for me).

my setup:

OS:         ESXi 5.0.1

Mobo:     Supermicro X8sil-F

GPU:     ATI Radeon Saphire HD6450 1GB

my vm:

CPU:     2

MEM:    2GB

OS:     Windows 7 64bit

installation went without any problems, it was only after i installed the vm tools that my console screen was acting up, after removing vmtools and reinstalling them with mimimal configuration everything seems to be working correctly now.

the only thing that i have is that sometimes my TV changes my collors so that i can see everthing, but it is like it has a reverted contrast, like the back ground is green instead of black, but that automaticly switches back to normal.

if anybody has questions about my setup or wants me to check something please let me know, i love that this is possible so i would like to help others to do the same Smiley Happy

Reply
0 Kudos
technobro1
Contributor
Contributor

Hi guys ,

in my case im seeing some improvement , but still no cigar

I7 3770

Updated my Asrock Z77 Pro3 to 1.60

fresh esx 5.1

AMD 12.8

Gigabyte 6850

Pass trough the Card and the HDMI

Win7 64

Bios as kthree mentioned (thanks buddy)

Primary Graphics Adapter: PCI Express
VT-d: Enabled
IGPU Multi-Monitor: Disabled
Onboard HD Audio: Disable

Did the windows update reboot, card detected as vga compatible , update the driver of windows , See it as a 6800 series , But cannot choose in screen resolution

reboot

Install AMD cata 12.8 install whiout BSOD Smiley Happy good

rebooot whiout bsod , thats also am improvement

Now when i got into windows , Catalyst says : No AMD graphic driver install or the amd driver is not dunctionning properlu please install the drive appropriate for your AMD hardware

And still cannot select the ATI in screen resolution

Thanks

Reply
0 Kudos
DMG210
Contributor
Contributor

Guys - let’s put aside the motherboard/BIOS compatibility issues with pass-through and talk about the actual OS configuration...

This is how I configured my setup around 6 months ago:

I have been using my graphics card pass-through for RemoteFX on the laptop and XBMC on the TV. With RemoteFX the idea is to utilise the graphics card to process graphics sent via remote desktop... so what I normally do for example if I want to play games on my laptop, I disable the SVGA adapter in the display properties via VNC (note you can't do this via remote desktop or the VMware console). This makes the primary graphics card the physical one therefore enabling RemoteFX.

You can't disable the VMware adapter or uninstall the device in device manager it has to stay enabled for this to work - same if you actually have a local monitor connected.

The VMware SVGA adapter + VMware tools (drivers) are needed to allow the pass-through to work. However you can disable the output via VNC in Windows > Display > Screen Resolution. Select Multiple displays | "Show desktop only on 2"

After I did this I connected my TV via HDMI and remote control via USB passthough and all was perfect Smiley Happy...please see ealier posts for hardware ideas etc.

Reply
0 Kudos
derickso
Contributor
Contributor

For anyone connecting your machine to a receiver/TV via HDMI, I ran into an annoying problem that is specific to this type of setup.  When my receiver powers off the video card believes it has disconnected, and so it re-activates the screen on the VMware SVGA card at its default resolution of 1024x768, then when my receiver powers back on, it turns that off and re-enables my Radeon, but instead of 1920x1080 it is set at a resolution of 1024x768.  I found a way to work around this is by using a Gefen HDMI Detective (http://www.amazon.com/gp/product/B001RIMZUW/ref=oh_details_o05_s00_i00), you plug this in between the video card and receiver, and it makes the video card believe it is *always* connected, even when the receiver/TV are off, thus solving the resolution switching problem.

Reply
0 Kudos
DMG210
Contributor
Contributor

Arhh nice one derickso, I'll be purchasing one of those :smileygrin:

I have the same kind of problem because I have split the HDMI and sent to the Lounge via HDMI over Ethernet and the bedroom as well but the bedroom TV defaults to 720P when I turn it on which is a real pain in the arse!

Reply
0 Kudos
technobro1
Contributor
Contributor

Hi guys , FINALLY made it work :smileymischief: !!!!!

All that was lacking from my last post was VMtools, So it was the bios settings ,,,,,, Houra

Still got a problem toughSmiley Sad

When i reboot the pysical ESXi host i hangs at < cnic register loaded successfullyre

Iam pretty positive its cause by the ATI passtrough being the same video card ESXi use to dispay the Hypervisor basic menu

What makes me say that is that when i choose Primary Graphic =Onboard , the ESX load fine but on the VGA, and the problem is that in the Win7 VM its back to the BSOD atimpkg crap. SO i think

I absolutly  need to select in my bios , Primary Graphic = PCI Express, and it seems that ESX use the prinmary

I seach how to make ESX use another card for its local basic display or not use any at all, But i did not find how to. Is it even possible ^

Do you guys experience that as well ^

Reply
0 Kudos
KRA77
Contributor
Contributor

technobro1,

I have the same, I don't think esxi hangs at that point, it's just the point where it looses control over the gfx card (because it's marked for passthrough).

Just give it some more time to load and connect remotly, should work fine.

Reply
0 Kudos
technobro1
Contributor
Contributor

thanks , you were right , Works...

now it seems that 5.1 have a known bug where it canot pass USB anymore,,,, http://communities.vmware.com/message/2121983

Just have to wait for the fix...not too worry about that

Anyways i am quite happy whit the fact that we can pass a GPU to a VM ...

I want to thanks everyone in this post and all the ones who work on this amazing project ESXi.

Reply
0 Kudos
shlomiassaf
Contributor
Contributor

Hi Guys,

Having a hard time for a week... hope you can help.

I have a SuperMicro X9SCM with an HSI Radeon 5450 PCIe 1x GPU sitting on a 4x PCIe

It works, I tested it on this setup without virtualization...

I want to passthrough the GPU but I keep getting the same error, Code 43, which seems to be a nVidia problem....

I am using ESXi 5.1 build 799733 and the latest ATI Drivers.

Trying this on a fresh win 7 x64 installation with 1vCPU and 2GB mem, all other VM`s shut down.

When I disable the "VMware SVGA 3D (Microsoft Corporation - WDDM)"  the error goes away but the ATI drivers dont want to put it as a primary or secondary display in the system, nor through the original windows GUI

I also tried the pciHole start/end trick... no good.

This really troubles me, I cant figure out the problem.

Please, I hope you can help.

Thanks!

Reply
0 Kudos
uyozTic
Enthusiast
Enthusiast

@aaronvm, do you suggest getting a intel cpu without grx capability and getting a PCIe video card?

i'm leaning towards getting a shuttle box with 77 or 79 chipset but not sure if i should get a cpu with/without embedded grx

let me know your thoughts on this please, thanks

Reply
0 Kudos
max888
Contributor
Contributor

There are at least two combos of z77 mobo+PCIe gfx reported working on this thread. Both requires disabling onboard GPU and onboard audio.

Post 313 http://communities.vmware.com/message/2117003#2117003

Post 315 http://communities.vmware.com/message/2117045#2117045

You probably have to try out the shuttle box to see if it works.

Reply
0 Kudos
uyozTic
Enthusiast
Enthusiast

@max888, appreciate the insights and links. i've been to a few "whitebox" sites where the 77 works and i think the common cpu was  i7-3770.

althought Intel lists the 79 chip set has having VT-d capabilities i just haven't seen much on the web for those + ESXi + VT-d. and the  i7-3930 i'd put in the shuttle 79 is expensive compared to the i7-3770.

at least i've narrowed things down to either of two chip sets and two CPU's:   z77 + i7-3770 or x79 + i7-3930.

Reply
0 Kudos
cody_crank
Contributor
Contributor

Checking in with my working config of:

Intel DZ77BH-55K running latest BIOS (BHZ7710H.86A)

Intel i7-3770

Radeon 2600XT

ESXi 5.0 build 821926 (5.0 update 1 with latest patch)

I rolled back from 5.1 as I couldn't get USB passthrough working and installed the latest patches to 5.0u1.  Unsure if that was the trigger as video passthrough was not working previously with 5.0 update 1.  I disabled the on board video as suggested here, I left on board audio turned on as I'm using it to pass through sound.  I tried previously with 5.0u1 and on-board video enabled and was seeing the same results as most here (BSOD in Windows, if Windows didn't blue screen, the card would never flip over to the monitor).

I've tested Ubuntu with the inbox driver and Windows 7 x64 with the latest driver from AMD, both now outputting to my monitor.  I was able to configure either VM with USB ports and the graphics card and get mouse, keyboard, and video.  VM will POST in the console view, and then flip to the monitor rendering the VM console view empty.  I have not experimented with disabling the VMWare graphics driver in the OS.



Reply
0 Kudos
al3c
Contributor
Contributor

Hi!

So I've now built an AMD FX-8150 system based on this build http://communities.vmware.com/message/2125310.

However, I chose the version 2.0 motherboard (which I kind of regret because the original version had two internal SATA controllers, where as 2.0 has one SATA controller for internal ports and the secondary controller is for the onboard eSATA ports)..but anyway...

Here is my host build:

AMD FX-8150

32GB RAM

ASUS M5A99X-EVO-R2 (latest BIOS v0906)

ASUS EAH6670-DC-DI-1GD3 (silent/fanless)

ESXI 5.1

Test VM was XBMCubuntu with the 6670 passed through, video playback is perfect and it claims to be using hardware accerlation (i.e enabled in xbmc) but I can't be sure unless someone can offer a command/suggestion to confirm.

Interesting to note is that the first post-boot XBMCubuntu session will allow the 6670 HDMI sound to passed through as well (device shows up as Unknown Unknown) and sound works (simple stereo audio tested only) . However, subsequent boots the system will fail with a kernel panic at boot.

I have narrowed this down to some weird issue with the monitor being considered in "standby mode" while alsa is probing for the soundcard....what really sux is that I cannot disable (blacklist) the snd_hda_intel because it causes an even more serious kernel panic on boot (i.e no error messages just flashing capslock etc)...

The monitor/HDMI connection is not considering "in standby mode" on the original host boot/reboot because the ESXi console is being displayed onto the screen up until the VGA card is handed off for passthrough use...

Next I will try to head down the Windows 7 route...

Will let you know how it goes...

Reply
0 Kudos
al3c
Contributor
Contributor

Just a quick update on my experience passing HDMI sound through to XBMCubuntu on my 6670..

Steps to get it working:

1) Pass-through the graphics card ONLY (mine shows up as a Turks XT [AMD Radeon HD 6600 Series)

2) Boot/Install xbmbubuntu

3) Modify /etc/modprobe.d/alsa-base.conf and add line:

               options snd-hda-intel enable_msi=0
4) Power off VM
5) Add the HDMI audio device (mine is shown as "Unknown Unknown") under pass through devices..
6) Boot the VM.
7) Remove the line added in /etc/modprobe.d/alsa-base.conf
:smiling_face_with_sunglasses: Run: "alsa force-reload"
9) Test your sound: "aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav", your device location might be different
10) Xbmc settings should be set to: hdmi (ALSA)
To make this work on every boot without manual intrvention I use the following init script:
#!/bin/bash
cp /etc/alsa-good.conf /etc/modprobe.d/alsa-base.conf
sleep 1
alsa force-reload
sleep 2
cp /etc/alsa-boot.conf /etc/modprobe.d/alsa-base.conf
Where /etc/alsa-boot.conf is the one with the option "enable_msi=0" set and  /etc/alsa-good.conf is the one without the option set..
Reply
0 Kudos
MarBen
Contributor
Contributor

Guten Tag,

ich bin bis einschliesslich Dienstag (16. Oktober) in den Ferien und habe keinen Zugriff auf meine Nachrichten.

Mit besten Grüssen

Markus Bendel

Reply
0 Kudos