[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] VGA passthrough - anyone with Radeon in linux guest to compare output?


  • To: xen-users@xxxxxxxxxxxxx
  • From: Gordan Bobic <gordan@xxxxxxxxxx>
  • Date: Sat, 14 Mar 2015 19:03:20 +0000
  • Delivery-date: Sat, 14 Mar 2015 19:04:31 +0000
  • List-id: Xen user discussion <xen-users.lists.xen.org>

The problem is that ATIs don't initialize properly by driver alone, it needs to 
be initialized by the VBIOS, and not otherwise touched untik the driver loads. 
The driver only knows how to deal with the GPU in a clean state. If the driver 
is loaded in dom0 it will taint the state and the Windows driver in domU will 
fall over flat on it's face (ATI drivers are really crap). To avoid this, 
blacklist radeon and fglrx and start kernel with nomodeset. That might be 
enough (forget about X).

This is also why ATI cards are rather "one-shot" in the sense that to reboot 
the domU you have to reboot the host so VBIOS reinitializes the card.

I never saw a card that wasn't secondary in dom0 get initialized properly in 
domU, though.

If you have a spare PCIe slot, I suggest you get something like a single slot 
passively cooled HD6450 (XFX do one) as a secondary and see how you get on with 
that. You are likely to have far more chance of success with secondary 
passthrough, with the reboot caveats mentioned.

On 14 Mar 2015 15:12, Jiri 'Ghormoon' Novak <ghormoon@xxxxxxxxx> wrote:
>
> Hi, 
>
> what's most different in passing (dom0) primary/secondary gpu except 
> that you have to control the dom0 over ssh? 
> Even after that experiments, I can reconnect the Radeon to the dom0 and 
> it works back, so it's possible to init it back somehow. 
>
> Ghor 
>
> Gordan Bobic wrote: 
> > I cannot say I have ever seen passthrough of the only GPU in the 
> > system work on any hypervisor. In practically every case I have seen 
> > it is always the GPU that is secondary on the host being passed as the 
> > secondary GPU to the domU. 
> > 
> > I'm not saying it's impossible, I'm just saying I've never seen it work. 
> > 
> > 
> > On 03/14/2015 01:27 AM, Jiri 'Ghormoon' Novak wrote: 
> >> Hi, 
> >> 
> >> how do you mean to load the VBIOS? 
> >> I've found that config gfx_passthru=1 exists, but then qemu doesn't 
> >> start. 
> >> When I try bios="ovmf" qemu starts, but the VM dies in few seconds, I 
> >> didn't manage to get anything out of it (I'm passing my only GPU, can't 
> >> watch it from the dom0). 
> >> It doesn't matter much if I have the cirrus on or not (only the number 
> >> changes to 00:06.0). 
> >> In dmesg I've found evidence that the ROM (VBIOS?) is missing, though 
> >> that's all I have ... 
> >> 
> >> [ÂÂÂ 2.168598] radeon 0000:00:06.0: Invalid ROM contents 
> >> [ÂÂÂ 2.175729] radeon 0000:00:06.0: Invalid ROM contents 
> >> [ÂÂÂ 2.179335] [drm:radeon_get_bios] *ERROR* Unable to locate a BIOS ROM 
> >> [ÂÂÂ 2.179378] radeon 0000:00:06.0: Fatal error during GPU init 
> >> [ÂÂÂ 2.179408] [drm] radeon: finishing device. 
> >> [ÂÂÂ 2.179409] [TTM] Memory type 2 has not been initialized 
> >> 
> >> Any ideas how to pass the ROM correctly? 
> >> Thanks, 
> >> Ghor 
> >> 
> >> PS: the drivers are already installed in the domU, I can boot it 
> >> bare-metal and the gpu works. 
> >> 
> >> Gordan Bobic wrote: 
> >>> Until you install the driver in the guest, you need the emulated VGA 
> >>> card to get any output. For primary VGA pass through you need to 
> >>> either side load the card's VBIOS or use OVMF with a GPU that has a 
> >>> UEFI capable VBIOS. 
> >>> 
> >>> On 13 Mar 2015 00:25, Jiri 'Ghormoon' Novak <ghormoon@xxxxxxxxx> wrote: 
> >>>> Hi, 
> >>>> 
> >>>> I'm attemting VGA passthrough, passing in Radeon 6470M. 
> >>>> 
> >>>> Using Xen 4.5 on Debian - to be able to use vga="none" so the cirrus 
> >>>> doesn't mess in. 
> >>>> Though I was in similar situation on 4.4. 
> >>>> 
> >>>> The problem is that Radeon driver in guest doesn't bind on the card. 
> >>>> Also when I try Windows guest (either installed or try to boot iso to 
> >>>> install), 
> >>>> I see nothing (though I don't know how to debug next then, so I'm 
> >>>> attempting linux guest first). 
> >>>> When I had cirrus on in Windows, it always complained on the Radeon 
> >>>> that 
> >>>> it can't bind the memory range cirrus uses. 
> >>>> 
> >>>> Here lspci output, first one is on real HW, second the passed one. 
> >>>> It misses few of the lines (maybe the "vendor specific information" 
> >>>> one 
> >>>> makes difference, or maybe the "MSI: Enable-"). 
> >>>> So the question is, can anyone with Radeon confirm they can bind it 
> >>>> without that line? 
> >>>> Or do you manage to pass it to the domU somehow too? 
> >>>> 
> >>>> Lspci: 
> >>>> 
> >>>> 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. 
> >>>> [AMD/ATI] Seymour [Radeon HD 6400M/7400M Series] (prog-if 00 [VGA 
> >>>> controller]) 
> >>>> Subsystem: Hewlett-Packard Company Radeon HD 6470M 
> >>>> Flags: bus master, fast devsel, latency 0, IRQ 83 
> >>>> Memory at c0000000 (64-bit, prefetchable) [size=256M] 
> >>>> Memory at d0400000 (64-bit, non-prefetchable) [size=128K] 
> >>>> I/O ports at 2000 [size=256] 
> >>>> Expansion ROM at d0440000 [disabled] [size=128K] 
> >>>> Capabilities: [50] Power Management version 3 
> >>>> Capabilities: [58] Express Legacy Endpoint, MSI 00 
> >>>> Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+ 
> >>>> Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 
> >>>> Len=010 <?> 
> >>>> Capabilities: [150] Advanced Error Reporting 
> >>>> Kernel driver in use: radeon 
> >>>> 
> >>>> 00:05.0 VGA compatible controller: Advanced Micro Devices, Inc. 
> >>>> [AMD/ATI] Seymour [Radeon HD 6400M/7400M Series] (prog-if 00 [VGA 
> >>>> controller]) 
> >>>> Subsystem: Hewlett-Packard Company Radeon HD 6470M 
> >>>> Physical Slot: 5 
> >>>> Flags: fast devsel, IRQ 36 
> >>>> Memory at 290000000 (64-bit, prefetchable) [size=256M] 
> >>>> Memory at f1040000 (64-bit, non-prefetchable) [size=128K] 
> >>>> I/O ports at c200 [size=256] 
> >>>> Expansion ROM at f1060000 [disabled] [size=128K] 
> >>>> Capabilities: [50] Power Management version 3 
> >>>> Capabilities: [58] Express Legacy Endpoint, MSI 00 
> >>>> Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+ 
> >>>> 
> >>>> Thanks in advance, 
> >>>> Ghor 
> >>>> 
> >>>> 
> >>>> _______________________________________________ 
> >>>> Xen-users mailing list 
> >>>> Xen-users@xxxxxxxxxxxxx 
> >>>> http://lists.xen.org/xen-users 
> >>> _______________________________________________ 
> >>> Xen-users mailing list 
> >>> Xen-users@xxxxxxxxxxxxx 
> >>> http://lists.xen.org/xen-users 
> >> 
> >> 
> >> _______________________________________________ 
> >> Xen-users mailing list 
> >> Xen-users@xxxxxxxxxxxxx 
> >> http://lists.xen.org/xen-users 
> > 
> > 
> > _______________________________________________ 
> > Xen-users mailing list 
> > Xen-users@xxxxxxxxxxxxx 
> > http://lists.xen.org/xen-users 
>
>
> _______________________________________________ 
> Xen-users mailing list 
> Xen-users@xxxxxxxxxxxxx 
> http://lists.xen.org/xen-users 
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.