HOW-TO make dual-boot obsolete using XEN VGA passthrough

Write tutorials here
There are more tutorials here http://community.linuxmint.com/tutorial/welcome
Forum rules
Do not start a support topic here please. Before you post please read this

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby powerhouse on Thu Apr 03, 2014 2:46 am

wolfiegr wrote:Well I think it's time to add my experience with trying to make Xen PCI Passthrough to work. First some hardware info: I got the i7-3930K c2 cpu as powerhouse does and the ASUS p9x79 deluxe mobo (which has vt-d support on my current bios and is enabled) 16GB of ram and two GPUs an Nvidia GTX660Ti and one AMD hd6450 (which i bought only to test if I could make this work). I'm trying to pass the amd card to win. (TBH I'm using debian testing but I guess it'll be like LMDE).
I startted following the guide and I encountered the first problem on the network bridge configuration. When I restarted my networking service I got an error about RTNETLINK or something. Which was easy to bypass by not having eth0 auto configured from network-manager. About the missing links I skipped the first one altogether since I don't have a lib64 under /usr/ (there is a /lib64 folder but I didn't try linking to it). I skipped passing USB devices in order to see how it was working with Synergy.
Next thing was to update the initramfs.
Code: Select all
update-initramfs -k all -c
Using this command I got an error about an already existing file so I changed -c to -u. Everything worked fine as I could tell. I created the win7.cfg and then the lvm partition.
After that it was time to create the VM.
Code: Select all
sudo xm create win7.cfg
returned an error about line 14. I deleted all comments from the cfg file and left only what was necessary and I got an error about: Error: 'NoneType' object has no attribute 'rfind'. (As a sidenote I don't have a qemu-dm on my system and I didn't try to use another qemu binary)
After Googling I decided to try xl since it was the most common solution. I changed my win7.cfg to this:
Code: Select all
builder = 'hvm'
memory = 4096
vcpus = 8
name = 'win7'
vif = [ 'mac=00:16:3e:68:e1:01,bridge=xenbr0' ]
disk = [ '/dev/mapper/guest-win7,,hda,rw','/home/whoami/win7.iso,,hdc,cdrom,r' ]

# Try to boot from CD-ROM first (‘d”), then try hard disk (“c”).
boot = 'dc'

vnc = 1
vncpasswd = 'pass'
pci=[ '02:00.0', '02:00.1' ]
# Necessary for booting as of 12-06-2013
device_model_version = 'qemu-xen'
device_model_override = '/usr/bin/qemu'
bios = 'seabios'


and the VM was created I installed windows 7 with a lot of hassle since my actual dot/mouse wasn't truly in sync and had to use the keyboard mostly. (I had trouble finding the LVM drive to install windows so I destroyed and recreated it under the partition, dunno what changed). After a couple of restarts I was admiring my win 7 pro 64bit installation. I was seeing 2x Standard VGA Graphics Adapter (one with the triangle) and under other devices a PCI Device with a triangle. Downloaded AMD drivers installed them and I rebooted the machine. Nothing happens still the triangle is there and the Standard VGA Graphics Adapter has changed name to AMD Radeon HD6450. The PCI device is still with a triangle. On the hardware properties I get:
"This device cannot find enough free resources it can use (Code 12). If you want to use this device, you will need to disable one of the other devices on this system", And on the PCI Device: "The drivers for this device are not installed (Code 28)".
Any clues about this?

P.S. When I tried to give 8192MB I got an error about not having enough memory. While on grub I have given dom0 8192MB and I should be able to give the rest 8gigs to the domU.

When using the xl toolstack, you need to select qemu-traditional, not qemu-xen (the newer version). This is because qemu-xen doesn't support yet VGA passthrough. Here is my Windows 7 configuration file, for reference:
Code: Select all
kernel = '/usr/lib/xen-default/boot/hvmloader'
builder='hvm'
memory = 8192
name = 'win7'
vcpus=8
pae=1
acpi=1
apic=1
on_xend_stop='shutdown'
vif = [ 'mac=00:16:3e:68:01:01,type=vif,bridge=xenbr0' ]
disk = [ '/dev/mapper/lm13-win7,raw,hda,rw' ]
device_model_version = 'qemu-xen-traditional'
boot='c'
sdl=0
vnc=1
vncpasswd=''
serial='pty'
tsc_mode=0
viridian=1
usb=0
# usbdevice='tablet'
gfx_passthru=0
pci=[ '02:00.0', '02:00.1' , '00:1a.0' , '0a:00.0' , '0b:00.0' ]
localtime=1
xen_platform_pci=1
pci_power_mgmt=1


The important part is: device_model_version = 'qemu-xen-traditional'. Also, you should delete the Seabios line - if I remember correctly, Seabios is not (yet) supporting VGA passthrough (please check, as I'm not certain). Please see my pm on the subject.
Asus Sabertooth X79, i7 3930K CPU, 8x4GB Kingston DDR3 RAM, Noctua NH-D14 CPU cooler, Sapphire 7770 GPU, PNY Quadro 2000 GPU, Asus Xonar Essence STX, Sandisk Extreme 120GB SSD + various HD, Corsair 500R case, SeaSonic 660W Gold X PS
powerhouse
Level 5
Level 5
 
Posts: 649
Joined: Thu May 03, 2012 3:54 am

Linux Mint is funded by ads and donations.
 

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby powerhouse on Thu Apr 03, 2014 11:02 am

@wolfiegr: I've tried LM16 with Xen 4.3, both xm and xl toolstacks. xl allows me to install Windows, but sometime during the AMD driver installation I get a BSOD. More annoying is the fact that I need to shutdown / hard-reset the dom0 after each domU (Windows) shutdown since else I would get libxl errors. This is a known problem - ejecting the graphics cards in the Windows domU is supposed to help.

Right now I'm installing LM13 with Xen 4.1.2 which used to work with my AMD 7770. I'll report on the results.
Asus Sabertooth X79, i7 3930K CPU, 8x4GB Kingston DDR3 RAM, Noctua NH-D14 CPU cooler, Sapphire 7770 GPU, PNY Quadro 2000 GPU, Asus Xonar Essence STX, Sandisk Extreme 120GB SSD + various HD, Corsair 500R case, SeaSonic 660W Gold X PS
powerhouse
Level 5
Level 5
 
Posts: 649
Joined: Thu May 03, 2012 3:54 am

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby powerhouse on Fri Apr 04, 2014 1:50 pm

About the AMD Radeon HD 6450: I spent a full day and some sweat in getting this work, but finally the card succumbed to Linux Mint 13 with the old kernel and the original Xen 4.1.2 release, using the xm toolstack. More details can be found here: http://forums.linuxmint.com/viewtopic.php?f=47&t=163317&p=843410#p843410.

I have the suspicion that this won't be the last case of resistance to passthrough. Even worse, the actual problem could well be the kernel, qemu, or even Xen. On the path to success I saw enough error 22, invalid argument, and the infamous libxl errors that I could fill encyclopedias.

Too bad! I hope very much that things get better.

On the good side is that the latest stable GPLPV drivers for Windows are now available as signed drivers here: http://wiki.univention.de/index.php?title=Installing-signed-GPLPV-drivers
Asus Sabertooth X79, i7 3930K CPU, 8x4GB Kingston DDR3 RAM, Noctua NH-D14 CPU cooler, Sapphire 7770 GPU, PNY Quadro 2000 GPU, Asus Xonar Essence STX, Sandisk Extreme 120GB SSD + various HD, Corsair 500R case, SeaSonic 660W Gold X PS
powerhouse
Level 5
Level 5
 
Posts: 649
Joined: Thu May 03, 2012 3:54 am

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby wolfiegr on Fri Apr 04, 2014 7:15 pm

So after I've had problems with making this work. qemu-xen-traditional (or should I say qemu-dm) is not part of xen 4.3 and I couldn't find it. I tried downgrading xen to xen 4.1.4 from aptitude (using the wheezy sources) and I now have qemu-dm to mess around. http://xen.1045712.n5.nabble.com/VGA-Passthrough-with-Xen-4-3-and-Qemu-1-7-on-Debian-Jessie-td5720323.html this guy had the same problem as I do (I guess) and he build xen from source with the qemu-dm. I didn't have time to mess with building xen so I tried the already there older version.
Code: Select all
sudo xl create win7.cfg
showed under vnc a black screen saying that it can't access either the drive or the cdrom and that it will shutdown in 30 seconds. I changed back to xm and a couple restarts later and destroying my LVM win partition and recreating (i thought i had to reinstall windows again)
Code: Select all
sudo xm create win7.cfg
gave me for the first time that infamous error 22.
I'm not sure if downgrading only xen-4.3 to xen-4.1 would do the trick, or should I force downgrade other packages too. Is there anyway better to just compile/add as a module qemu-dm for xen 4.3, like that guy on my link did? Or is my only option to install LM 13 with xen-4.1.x ? Something else I'd like to ask is if I had such a quadro gfx card could I use it with xen-4.3 and the new qemu with xl or in other words, if I mess up my geforce (which could go wrong) will it work?

EDIT: I'll try using xl again and the downgraded packages if I could get it booting up and seeing the drives prolly this weekend.
EDIT2: Will LMDE have the same problems as I do using the wheezy repos to downgrade my xen installation or the ubuntu based is the only way? -I prefer Debian to Ubuntu-

I've tried some more with xl using this cfg and version 4.1.4.
Code: Select all
kernel = '/usr/lib/xen-default/boot/hvmloader'
builder = 'hvm'
memory = 4096
vcpus = 8
name = 'win7'
vif = [ 'mac=00:16:3e:68:e1:01,bridge=xenbr0' ]
disk = [ 'phy:/dev/mapper/guest-win7,sda,rw','/home/nyx/win7.iso,hdc,cdrom,r' ]

boot = 'dc'

vnc = 1
vncpasswd = 'xentest'
pci=[ '02:00.0', '02:00.1' ]
# Necessary for booting as of 12-06-2013
device_model_version = 'qemu-xen-traditional'
device_model_override = '/usr/lib/xen-4.1/bin/qemu-dm'
everything starts right and when I login with vnc I see this screen:
http://test.elinx.gr/xlerror.jpg
No clue what to test after this. I guess I'm gonna try once with LMDE and then revert to using LM13 just to check it works.
wolfiegr
Level 1
Level 1
 
Posts: 7
Joined: Wed Mar 26, 2014 5:50 pm

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby wolfiegr on Sat Apr 05, 2014 3:18 pm

Hm I gave LM13 a shot and X crashes after I installed xen and reboot into it. I thought it might be using my AMD gpu as primary because of the X crash messages going to my TV which was connected to the Radeon HD6450. While the installation and the rest till I installed Xen was on my monitor which is hooked on GTX660Ti. Tried to blacklist radeon to no avail. I guess I'll try reinstalling LM13 and see what gives. Btw I couldn't find the 4.1.3 ubuntu versions so I used the 4.1.2. I have commented out medibuntu repos since they were laggish as hell. Any info on resolving this would be much appreciated.
wolfiegr
Level 1
Level 1
 
Posts: 7
Joined: Wed Mar 26, 2014 5:50 pm

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby powerhouse on Sat Apr 05, 2014 5:39 pm

wolfiegr wrote:Hm I gave LM13 a shot and X crashes after I installed xen and reboot into it. I thought it might be using my AMD gpu as primary because of the X crash messages going to my TV which was connected to the Radeon HD6450. While the installation and the rest till I installed Xen was on my monitor which is hooked on GTX660Ti. Tried to blacklist radeon to no avail. I guess I'll try reinstalling LM13 and see what gives. Btw I couldn't find the 4.1.3 ubuntu versions so I used the 4.1.2. I have commented out medibuntu repos since they were laggish as hell. Any info on resolving this would be much appreciated.

Yes, installing LM13 has become a pain in the neck. I described my steps here: http://forums.linuxmint.com/viewtopic.php?f=47&t=163317#p843200.

I got the same phenomenon, for some reason Xen picks the AMD 6450 when booting dom0. I tried to bind it to pciback but it wouldn't help. Only installing the fglrx driver solved it. In your case with a Nvidia card this isn't a solution.

I think this is somehow kernel related, or perhaps kernel and Xen. I managed to install a 3.8 kernel from the repos and that works also well with Xen 4.1.2. Another option would be to check init.d and see if the order of loading the drivers during the boot process can be changed. A helpful tool is bootchart - should be in the repos. Install it, reboot Xen, then reboot into regular Linux. It should save each boot process and provide a graphic chart under /var/log... showing the order in which things are loaded. Don't forget to uninstall when done as it uses up a lot of space for logs, etc.

EDIT: I could swear kernel 3.8 worked but now I get error 22 when running xm create... Oh well.
Last edited by powerhouse on Sun Apr 06, 2014 3:25 pm, edited 1 time in total.
Asus Sabertooth X79, i7 3930K CPU, 8x4GB Kingston DDR3 RAM, Noctua NH-D14 CPU cooler, Sapphire 7770 GPU, PNY Quadro 2000 GPU, Asus Xonar Essence STX, Sandisk Extreme 120GB SSD + various HD, Corsair 500R case, SeaSonic 660W Gold X PS
powerhouse
Level 5
Level 5
 
Posts: 649
Joined: Thu May 03, 2012 3:54 am

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby wolfiegr on Sun Apr 06, 2014 4:01 am

I don't know if it chooses the HD6450 since I was getting output to my monitor which was connected to the GForce. I also tried installing the nvidia proprietary drivers and nvidia-settings was seeing my monitor and saved the xorg through it. I tried blacklisting radeon to no avail under the Xen boot. The only solution I can see as I mentioned is to make all the arrangements and then reinsert the ATI card in the case. I hope it won't choose it after it was installed properly using the nvidia card.
wolfiegr
Level 1
Level 1
 
Posts: 7
Joined: Wed Mar 26, 2014 5:50 pm

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby powerhouse on Sun Apr 06, 2014 3:32 pm

wolfiegr wrote:I don't know if it chooses the HD6450 since I was getting output to my monitor which was connected to the GForce. I also tried installing the nvidia proprietary drivers and nvidia-settings was seeing my monitor and saved the xorg through it. I tried blacklisting radeon to no avail under the Xen boot. The only solution I can see as I mentioned is to make all the arrangements and then reinsert the ATI card in the case. I hope it won't choose it after it was installed properly using the nvidia card.


Now that you mention I also tried it this way, meaning I first installed only one GPU, installed Linux and Xen, then put in the AMD 6450 card. You can't use the Nvidia proprietary driver for Xen. You can create the initramfs to bind the 6450 to pciback even before you install the card.

EDIT: The proprietary Nvidia driver can be installed using a CLI option!
Asus Sabertooth X79, i7 3930K CPU, 8x4GB Kingston DDR3 RAM, Noctua NH-D14 CPU cooler, Sapphire 7770 GPU, PNY Quadro 2000 GPU, Asus Xonar Essence STX, Sandisk Extreme 120GB SSD + various HD, Corsair 500R case, SeaSonic 660W Gold X PS
powerhouse
Level 5
Level 5
 
Posts: 649
Joined: Thu May 03, 2012 3:54 am

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby powerhouse on Fri Apr 11, 2014 12:54 am

Good news! I tested Ubuntu 14.04 Beta2 with the latest 3.13 kernel (from repos) and Xen 4.4 using the xl toolstack and qemu-xen-traditional. It worked flawlessly with a AMD 6450, except some minor issues with the vncviewer. More about that later.
Asus Sabertooth X79, i7 3930K CPU, 8x4GB Kingston DDR3 RAM, Noctua NH-D14 CPU cooler, Sapphire 7770 GPU, PNY Quadro 2000 GPU, Asus Xonar Essence STX, Sandisk Extreme 120GB SSD + various HD, Corsair 500R case, SeaSonic 660W Gold X PS
powerhouse
Level 5
Level 5
 
Posts: 649
Joined: Thu May 03, 2012 3:54 am

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby wolfiegr on Fri Apr 11, 2014 10:54 am

So I tried reinstalling LM13 but enountered the same X crash. Bootchart didn't help (me) much. Since I'm not that tech savvy. While searching the problem I encountered someone saying that X starts loading before the actual PCI devices are being probed from the system or something but none of the solutions seemed to work for me. Any info regarding what steps I should follow to troubleshoot are welcome.
I saw your successful attempt with Xen 4.4. Is the qemu-dm still there? I think that qemu-xen-traditional thing was removed since version 4.3? I'll prolly give it a try though since I don't have an OS at all right now on my desktop. Could I build that qemu-dm (qemu-xen-traditional) as a binary without compiling the whole of Xen?
wolfiegr
Level 1
Level 1
 
Posts: 7
Joined: Wed Mar 26, 2014 5:50 pm

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby powerhouse on Fri Apr 11, 2014 12:01 pm

wolfiegr wrote:So I tried reinstalling LM13 but enountered the same X crash. Bootchart didn't help (me) much. Since I'm not that tech savvy. While searching the problem I encountered someone saying that X starts loading before the actual PCI devices are being probed from the system or something but none of the solutions seemed to work for me. Any info regarding what steps I should follow to troubleshoot are welcome.
I saw your successful attempt with Xen 4.4. Is the qemu-dm still there? I think that qemu-xen-traditional thing was removed since version 4.3? I'll prolly give it a try though since I don't have an OS at all right now on my desktop. Could I build that qemu-dm (qemu-xen-traditional) as a binary without compiling the whole of Xen?


EDIT 25.4.2014: What I wrote below seems to work with a AMD HD 6450 card, but not with my AMD HD 7770. With the 7770 card I can boot only once with VGA passthrough, after a reboot of the guest I get only a VNC screen and a yellow triangle next to the AMD 7770 card in the Windows Device Manager (code 43). The guest reboot problem has NOT been solved!!!! :cry:

After testing Ubuntu (Gnome) 14.04 yesterday I would say yes, go with it. Here is the /etc/xen/win7.cfg config file I used:
Code: Select all
builder='hvm'
memory = 8192
name = 'win7'
vcpus=6
pae=1
acpi=1
apic=1
on_xend_stop='shutdown'
vif = [ 'mac=00:16:3e:68:01:0e,type=vif,bridge=xenbr0' ]
disk = [ '/dev/mapper/guest-win7,raw,hda,rw' , '/home/user/ISOs/win7.iso,raw,hdd,devtype=cdrom' ]
device_model_version = 'qemu-xen-traditional'
boot='dc'
sdl=0
vnc=1
vncpasswd='password'
serial='pty'
tsc_mode=0
viridian=1
usb=0
usbdevice='tablet'
gfx_passthru=0
pci=[ '02:00.0', '02:00.1' ]
localtime=1
xen_platform_pci=1
pci_power_mgmt=1


Important:
1. Don't install your 2nd graphics card, or remove it !!!
2. Install Ubuntu 14.04 (whatever flavour you prefer)
3. Reboot into the installed Ubuntu, update the packages and kernel, reboot. Then install Xen hypervisor, xtightvncviewer, and modify grub (iommu=1 etc.), see the how-to. Don't change to xm toolstack, but keep the default xl toolstack.
4. Reboot into Xen.
5. Follow steps 6 to 14. You should remember the PCI IDs for your second graphics card (the one which isn't yet installed). Just enter them in step 11 and run update-initramfs ...
6. Shut down the PC and turn off the power supply. Install the graphics card, turn on the power and boot into Xen.
7. Now continue with the installation. When you create the VM with xl create /etc/xen/win7.cfg and later connect to it via VNC using xl vncviewer 1 (or whatever ID xl list gives you), enter the password "password" (the one defined in the win7.cfg file above). There is a bug with xtightvncviewer in that it doesn't allow empty passwords :( . Don't try vnc4viewer - they got a more serious bug.
8. Install Windows. It will reboot a few times. Once you have successfully booted into Windows, download and install the driver. After reboot, you should be greeted with a nice full-screen display of your second graphics card.
Note: You need to run xl vncviewer even when you use VGA passthrough. The cursor must be inside the VNC window for the mouse pointer to work properly inside the passed through Windows screen. Otherwise, use either synergy or a KVM USB switch and pass through some USB port for keyboard/mouse.

Hope I haven't forgot anything important. Good luck!

EDIT: In my opinion, the X crash has nothing to do with X starting before pciback. I checked it on my regular rig and pciback runs way before X even starts, let alone the display driver. I had the same issue with X crashing, and "simply" installed the ATI (AMD) driver for my dom0 AMD graphics card. That solved the issue. Still, X shouldn't be crashing when running under Xen, I believe this is due to some missing configuration file. See also the above instructions for installing Ubuntu/Xen without the second graphics card - this could perhaps solve the issue with LM13 too.
Last edited by powerhouse on Thu Apr 24, 2014 11:42 pm, edited 1 time in total.
Asus Sabertooth X79, i7 3930K CPU, 8x4GB Kingston DDR3 RAM, Noctua NH-D14 CPU cooler, Sapphire 7770 GPU, PNY Quadro 2000 GPU, Asus Xonar Essence STX, Sandisk Extreme 120GB SSD + various HD, Corsair 500R case, SeaSonic 660W Gold X PS
powerhouse
Level 5
Level 5
 
Posts: 649
Joined: Thu May 03, 2012 3:54 am

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby mturei on Thu Apr 17, 2014 7:38 am

Can someone give me an idea How would a system with only one graphic card work in a situation like described in this how to?
I mean a system with enough resources: modern multi core processor with AMD-Vi, an IOMMU motherboard and 16 to 32 Gb of ram but no embedded graphic card and only one dedicated graphic card.
What solution can be used for such a system if a VM with good graphic support (like VGA Passthrough) is desired?
Thank you
mturei
Level 1
Level 1
 
Posts: 5
Joined: Fri May 25, 2012 4:11 pm

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby powerhouse on Thu Apr 17, 2014 1:29 pm

mturei wrote:Can someone give me an idea How would a system with only one graphic card work in a situation like described in this how to?
I mean a system with enough resources: modern multi core processor with AMD-Vi, an IOMMU motherboard and 16 to 32 Gb of ram but no embedded graphic card and only one dedicated graphic card.
What solution can be used for such a system if a VM with good graphic support (like VGA Passthrough) is desired?
Thank you

The only possibility that makes sense is running the Linux dom0 headless (that is without graphics card/keyboard/mouse) and the domU using the single graphics card. To do this would require to set up for example a ssh server and access the dom0 (Linux Mint) from a remote machine to setup both Xen and the Windows guest.

Once you passed through the graphics card to the guest and Windows runs using its own graphics card, keyboard, and mouse, then you could access Linux via remote desktop or a terminal and use it from there (without the need for a second PC to connect to the PC). You would need to automate the process to load the Windows domU automatically on boot.

I'm not sure Linux Mint is the best distribution for that, unless you will use Linux Mint via remote desktop. Else a server distribution might be a better choice.

The main purpose of this how-to is to avoid dual-booting for those who use both Linux and Windows, and who can't use Windows in a VM without the graphics performance of a bare-metal Windows installation. In other words, gamers or other people who need to run Windows with graphics intensive applications.
Asus Sabertooth X79, i7 3930K CPU, 8x4GB Kingston DDR3 RAM, Noctua NH-D14 CPU cooler, Sapphire 7770 GPU, PNY Quadro 2000 GPU, Asus Xonar Essence STX, Sandisk Extreme 120GB SSD + various HD, Corsair 500R case, SeaSonic 660W Gold X PS
powerhouse
Level 5
Level 5
 
Posts: 649
Joined: Thu May 03, 2012 3:54 am

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby mturei on Thu Apr 17, 2014 4:44 pm

powerhouse wrote:The main purpose of this how-to is to avoid dual-booting for those who use both Linux and Windows, and who can't use Windows in a VM without the graphics performance of a bare-metal Windows installation. In other words, gamers or other people who need to run Windows with graphics intensive applications.


Thank you for the answer, that is may purpose as well to avoid dual booting. I was honestly hoping for something like a "VGA scheduler" something similar to CPU scheduler so that you would be able to do this on the same card.
Or something like this http://www.nvidia.com/object/virtual-gpus.html and I'm pretty sure I saw something similar from AMD.
Any way thank you.
mturei
Level 1
Level 1
 
Posts: 5
Joined: Fri May 25, 2012 4:11 pm

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby powerhouse on Thu Apr 17, 2014 11:49 pm

mturei wrote:
powerhouse wrote:The main purpose of this how-to is to avoid dual-booting for those who use both Linux and Windows, and who can't use Windows in a VM without the graphics performance of a bare-metal Windows installation. In other words, gamers or other people who need to run Windows with graphics intensive applications.


Thank you for the answer, that is may purpose as well to avoid dual booting. I was honestly hoping for something like a "VGA scheduler" something similar to CPU scheduler so that you would be able to do this on the same card.
Or something like this http://www.nvidia.com/object/virtual-gpus.html and I'm pretty sure I saw something similar from AMD.
Any way thank you.


Oh yes, I already forgot that I had the same hopes. Reality is unfortunately a little different. Many/most PCI devices can in fact be reclaimed by dom0 (Linux Mint in our case), but not the graphics cards. If I remember correctly it has to do with the way graphics devices get initialised - they essentially still use some ancient boot code written at the beginning of the PC era so that they would be backward compatible and able to display any motherboard BIOS screen. In short, you can't easily reset a graphics card and use it for another guest or dom0.

I also heard about the virtual GPUs. With all the virtualisation taking place in the enterprise world, it's about high time the GPU manufacturers do something about it (remember, it was Steve Perlman's "onlive" company that showed them what could be done). But those graphics cards won't be for the private user, as their price will most likely be prohibitively high. Well, Nvidia sells the Quadro series of professional cards at a high price (those usable for VGA passthrough), even though they are mostly hardware coded equivalents of their much cheaper consumer line brethren (see the eevblog link in the beginning of the how-to).

To make a long story short: For practical reasons, I strongly recommend that you use 2 graphics cards (or an IGD - the integrated graphics device - and a graphics card). Try to borrow a card from a friend, if you haven't got a spare one, so you can test your hardware before spending extra money. It should be easy to find a nice GPU second hand at a good price.
Asus Sabertooth X79, i7 3930K CPU, 8x4GB Kingston DDR3 RAM, Noctua NH-D14 CPU cooler, Sapphire 7770 GPU, PNY Quadro 2000 GPU, Asus Xonar Essence STX, Sandisk Extreme 120GB SSD + various HD, Corsair 500R case, SeaSonic 660W Gold X PS
powerhouse
Level 5
Level 5
 
Posts: 649
Joined: Thu May 03, 2012 3:54 am

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby powerhouse on Fri Apr 25, 2014 12:00 am

Yesterday I did some experiments using the final Ubuntu 14.04 LTS release with Xen 4.4 and a 3.13 kernel, using a AMD HD 7770 graphics card for VGA passthrough. The disappointing result of this test is that although VGA passthrough works using the xl toolstack, rebooting the Windows 7 guest would leave me with a VNC screen and a yellow triangle in the Windows Device Manager ("code 43" is the Microsoft explanation for this).

In other words, what had worked nicely with the AMD 6450 card and Ubuntu 14.04beta2 doesn't work with the AMD 7770 and the final Ubuntu release. My guess is that it's the graphics card. The 6450 is a passively cooled card without separate power connector. Whereas the AMD 7770 has a separate 4-pin power connector to get extra juice from the power supply. A wild guess is that this second card doesn't reset properly after the guest shuts down. Different makes and models may react differently, however. Still, I hoped that this issue had been solved.
Asus Sabertooth X79, i7 3930K CPU, 8x4GB Kingston DDR3 RAM, Noctua NH-D14 CPU cooler, Sapphire 7770 GPU, PNY Quadro 2000 GPU, Asus Xonar Essence STX, Sandisk Extreme 120GB SSD + various HD, Corsair 500R case, SeaSonic 660W Gold X PS
powerhouse
Level 5
Level 5
 
Posts: 649
Joined: Thu May 03, 2012 3:54 am

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby mturei on Tue Apr 29, 2014 4:36 am

powerhouse wrote:I also heard about the virtual GPUs. With all the virtualisation taking place in the enterprise world, it's about high time the GPU manufacturers do something about it (remember, it was Steve Perlman's "onlive" company that showed them what could be done). But those graphics cards won't be for the private user, as their price will most likely be prohibitively high. Well, Nvidia sells the Quadro series of professional cards at a high price (those usable for VGA passthrough), even though they are mostly hardware coded equivalents of their much cheaper consumer line brethren (see the eevblog link in the beginning of the how-to).


I posted this question to AMD Support "Is it possible for one graphic card to be shared between 2 OS's at the same time one host the other guest in a virtual machine. And by shared I mean full access to the cards features."

And the response: "Yes, one card R9 290X can support two OS at the same time, and also can access to the cards features, but pay attention that the related certified graphics drivers should be installed properly. Thanks for contacting AMD."

Do you know anything about this? Is this something new?
mturei
Level 1
Level 1
 
Posts: 5
Joined: Fri May 25, 2012 4:11 pm

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby Nesousx on Tue Apr 29, 2014 5:20 am

Hello all,

I have an hardware question for you. I plan to upgrade my scren to a 27" WQHD. However, in order to attain this resolution both in Dom0 and domU I need to replace the Dom0 onboad IGP by a dedicated PCIe card. The problem is that my current motheboard (Asrock Z77 Pro 4 M) only boot from first PCI express card. This means that my Linux "working" rig has "low end" PCIe card at PCI 3.0 16x while my "gaming" rig has a "high end" card at PCI 2.0 1X (I can't use the 4X slot with my current case, space limitation). The best solution would be to use my "high end" card in PCIe slot 1 and "low end" card in PCIe slot 2 or 3. Which probably means changing motherboard.

I am looking for motherboard (supporting socket 1155 CPUs), that offers the possibiilty to boot from PCI express 1 or 2. Something like PEG1 or PEG2 into the bios. I know Asus does it, but it also seems that Asus doesn't offer VT-d. It is very hard to find accurate information about bios even from vendors themselves, that's why I am asking here directly.

Could you please let me know if your motherboard allows those functionnalities :

* ability to choose from PEG1 / PEG2 in Bios
* VT-D
* has to be micro ATX (or smaller)

Thanks in advance
Nesousx
Level 1
Level 1
 
Posts: 10
Joined: Thu Jan 10, 2013 6:45 am

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby SIPHOR3ON on Wed Apr 30, 2014 8:28 am

Hi,
I just updated to Ubuntu 14.04. My VM just works fine with 2GB RAM assigned, but when I go for 4GB the VM will start but without a passthru or I get the error NUMA placement failed. Have you ever seen that bug? I will attatch the config files later..
My hardware i5 2400, HD 7870GHz and 8GB RAM just worked fine with Ubuntu 12.04.
Greets
SIPHOR3ON
Level 1
Level 1
 
Posts: 2
Joined: Wed Apr 30, 2014 8:22 am

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Postby powerhouse on Wed Apr 30, 2014 10:12 am

mturei wrote:
powerhouse wrote:I also heard about the virtual GPUs. With all the virtualisation taking place in the enterprise world, it's about high time the GPU manufacturers do something about it (remember, it was Steve Perlman's "onlive" company that showed them what could be done). But those graphics cards won't be for the private user, as their price will most likely be prohibitively high. Well, Nvidia sells the Quadro series of professional cards at a high price (those usable for VGA passthrough), even though they are mostly hardware coded equivalents of their much cheaper consumer line brethren (see the eevblog link in the beginning of the how-to).


I posted this question to AMD Support "Is it possible for one graphic card to be shared between 2 OS's at the same time one host the other guest in a virtual machine. And by shared I mean full access to the cards features."

And the response: "Yes, one card R9 290X can support two OS at the same time, and also can access to the cards features, but pay attention that the related certified graphics drivers should be installed properly. Thanks for contacting AMD."

Do you know anything about this? Is this something new?

Yes I read about this subject, but in general terms, not specifically related to that card. There should be a nice market for it in the enterprise field, for graphics workstations. Or perhaps some servers. Anyway I assume we will see more on virtual graphics cards, though what you mention here with the AMD 290X is a slightly different case. Good to know. I'd love to get my fingers on one for trial.
Asus Sabertooth X79, i7 3930K CPU, 8x4GB Kingston DDR3 RAM, Noctua NH-D14 CPU cooler, Sapphire 7770 GPU, PNY Quadro 2000 GPU, Asus Xonar Essence STX, Sandisk Extreme 120GB SSD + various HD, Corsair 500R case, SeaSonic 660W Gold X PS
powerhouse
Level 5
Level 5
 
Posts: 649
Joined: Thu May 03, 2012 3:54 am

Linux Mint is funded by ads and donations.
 
PreviousNext

Return to Tutorials

Who is online

Users browsing this forum: No registered users and 4 guests