@ Locust - interesting that you had similar behavior
Here is where it get really weird. I made my last post inthis thread at the end of a night of tinkering- shut down the computer and went to bed. (Thanks to all for the comments and suggestions.) Came back the next night and started the computer up. Let it boot into Xen (default) and was able to log right into Cinamon. Even restarted it a few times to check if I was just that point in the cycle. And got Cinamon. No idea what changed.
But new issue I discovered was that I could not get my Win7 domU to load up. (Error about invalid argument) Wont go through every step I took, but I tried radeon.blacklist=1 in different parts of the line, xen-pciback.hide the video card, and some other ideas. Finally figured out that if I commented out the pci=[...] line of the /etc/xen/win7.cfg it would load up and worked under vnc, but obviously no pci passthrough. I was able to passthrough the USB but not the graphics card.
I then started messing with drivers. Changing the xorg.conf for fglrx-updates to readeon (removing the radeon blacklist of course). That ut me back to a gnome desktop. Tried removing worg.conf, that failed to load X at all. Uninstalled fglrx and fglrx-updates (still gnome), reinstalled fglrx-updates, blacklisted radeon and got a Cinamon desktop.
So at this point I have good perfromance inside Mint 13 with radeon driver, but I can no longer passthrough the 2nd video card.
For reference (sorry if it makes the thread long)
/etc/X11/xorg.conf is removed (renamed xorg.conf.bk) so I assume it is just using the xorg.conf.failsafe
/etc/default/grub
Code: Select all
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT="Xen 4.1-amd64"
#GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="radeon.blacklist=1 quiet splash nomodeset "
GRUB_CMDLINE_LINUX=""
GRUB_CMDLINE_XEN="iommu=1 dom0_mem=4096M "
# xen-pciback.hide=(02:00.0,02:00.1,05:05.0)
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
/boot/grub/grub.cfg
Code: Select all
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
set default="Xen 4.1-amd64"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
}
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 3fa699ed-5e28-40f7-8082-a575890b8cd4
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=auto
load_video
insmod gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root ca975d11-7bc3-431b-8527-1afd9224639a
set locale_dir=($root)/grub/locale
set lang=en_US
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=3
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/06_mint_theme ###
set menu_color_normal=white/black
set menu_color_highlight=white/light-gray
### END /etc/grub.d/06_mint_theme ###
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="$1"
if [ "$1" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ ${recordfail} != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Linux Mint 13 Cinnamon 64-bit, 3.2.0-23-generic (/dev/sda1)' --class linuxmint --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root ca975d11-7bc3-431b-8527-1afd9224639a
linux /vmlinuz-3.2.0-23-generic root=UUID=3fa699ed-5e28-40f7-8082-a575890b8cd4 ro radeon.blacklist=1 quiet splash nomodeset $vt_handoff
initrd /initrd.img-3.2.0-23-generic
}
menuentry 'Linux Mint 13 Cinnamon 64-bit, 3.2.0-23-generic (/dev/sda1) -- recovery mode' --class linuxmint --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root ca975d11-7bc3-431b-8527-1afd9224639a
echo 'Loading Linux 3.2.0-23-generic ...'
linux /vmlinuz-3.2.0-23-generic root=UUID=3fa699ed-5e28-40f7-8082-a575890b8cd4 ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.2.0-23-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/10_lupin ###
### END /etc/grub.d/10_lupin ###
### BEGIN /etc/grub.d/20_linux_xen ###
submenu "Xen 4.1-amd64" {
menuentry 'LinuxMint GNU/Linux, with Xen 4.1-amd64 and Linux 3.2.0-23-generic' --class linuxmint --class gnu-linux --class gnu --class os --class xen {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root ca975d11-7bc3-431b-8527-1afd9224639a
echo 'Loading Xen 4.1-amd64 ...'
multiboot /xen-4.1-amd64.gz placeholder iommu=1 dom0_mem=4096M
echo 'Loading Linux 3.2.0-23-generic ...'
module /vmlinuz-3.2.0-23-generic placeholder root=UUID=3fa699ed-5e28-40f7-8082-a575890b8cd4 ro radeon.blacklist=1 quiet splash nomodeset
echo 'Loading initial ramdisk ...'
module /initrd.img-3.2.0-23-generic
}
menuentry 'LinuxMint GNU/Linux, with Xen 4.1-amd64 and Linux 3.2.0-23-generic (recovery mode)' --class linuxmint --class gnu-linux --class gnu --class os --class xen {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root ca975d11-7bc3-431b-8527-1afd9224639a
echo 'Loading Xen 4.1-amd64 ...'
multiboot /xen-4.1-amd64.gz placeholder iommu=1 dom0_mem=4096M
echo 'Loading Linux 3.2.0-23-generic ...'
module /vmlinuz-3.2.0-23-generic placeholder root=UUID=3fa699ed-5e28-40f7-8082-a575890b8cd4 ro single
echo 'Loading initial ramdisk ...'
module /initrd.img-3.2.0-23-generic
}
}
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root ca975d11-7bc3-431b-8527-1afd9224639a
linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root ca975d11-7bc3-431b-8527-1afd9224639a
linux16 /memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
system settings
Code: Select all
gordon@vmhost ~ $ inxi -Fxz
System: Host: buddy-vmhost Kernel: 3.2.0-23-generic x86_64 (64 bit, gcc: 4.6.3) Desktop: Gnome Distro: Linux Mint 13 Maya
Machine: Mobo: MSI model: 970A-G43 (MS-7693) version: 3.0 Bios: American Megatrends version: V10.0 date: 12/26/2012
CPU: Single core AMD FX-8320 Eight-Core (-UP-) cache: 2048 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3) bmips: 7000.34
Clock Speeds: 1: 3500.170 MHz 2: 3500.170 MHz 3: 3500.170 MHz 4: 3500.170 MHz 5: 3500.170 MHz 6: 3500.170 MHz 7: 3500.170 MHz 8: 3500.170 MHz
Graphics: Card-1: Advanced Micro Devices [AMD] nee ATI Cedar PRO [Radeon HD 5450] bus-ID: 01:00.0
Card-2: Advanced Micro Devices [AMD] nee ATI Cedar PRO [Radeon HD 5450] bus-ID: 02:00.0
Card-3: S3 86c764/765 [Trio32/64/64V+] bus-ID: 05:05.0
X.Org: 1.11.3 drivers: ati,fglrx (unloaded: vesa,fbdev,radeon) Resolution: 1280x1024@60.0hz
GLX Renderer: ATI Radeon HD 5450 GLX Version: 4.2.11903 - CPC Direct Rendering: Yes
Audio: Card-1: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) driver: snd_hda_intel bus-ID: 00:14.2
Card-2: 2x Advanced Micro Devices [AMD] nee ATI Cedar HDMI Audio [Radeon HD 5400/6300 Series] driver: snd_hda_intelpciback bus-ID: 02:00.1
Sound: Advanced Linux Sound Architecture ver: 1.0.24
Network: Card: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller
driver: r8169 ver: 2.3LK-NAPI port: c000 bus-ID: 06:00.0
IF: eth0 state: up speed: 100 Mbps duplex: full mac: <filter>
Drives: HDD Total Size: 3160.6GB (28.1% used) 1: /dev/sda ST3160815AS 160.0GB 34C
2: /dev/sdb WDC_WD30EZRX 3000.6GB 28C
Partition: ID: / size: 15G used: 12G (84%) fs: ext4 ID: /boot size: 2.0G used: 453M (25%) fs: ext3
ID: swap-1 size: 16.78GB used: 0.00GB (0%) fs: swap
Sensors: System Temperatures: cpu: 29.2C mobo: N/A
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 184 Uptime: 23 min Memory: 832.6/2806.5MB Runlevel: 2 Gcc sys: 4.6.3 Client: Shell inxi: 1.7.33
And the vga and usb are still assignable
Code: Select all
gordon@vmhost ~ $ sudo xm pci-list-assignable-devices
0000:02:00.0
0000:02:00.1
0000:00:16.0
0000:00:16.2
And the below /etc/xen/win7.cfg fails unless I comment out the "pci=" line
Code: Select all
kernel = "/usr/lib/xen-default/boot/hvmloader"
builder='hvm'
# Memory reserved for Windows domU, in my case 24GB (adjust to your
# needs:
memory = 2048
# Name of the domU that will be created/used:
name="win7"
vcpus=2 # I gave my Win 7 10 virtual CPUs, out of 12 ( using a 6-core CPU)
#pae=1 may not be needed, but just in case
acpi=1
apic=1
# Here my virtual network interfaces - see /etc/network/interfaces below:
vif = [ 'mac=00:16:3e:68:58:01,bridge=xenbr0' ]
# vif = [ 'vifname=win7,type=ioemu,mac=00:16:3e:68:e1:01,bridge=xenbr0' ]
# I assigned a static MAC address, else it will be changed each time Windows
# boots. The address should start with 00:16:3e., the rest is up to you.
#
# Specifying the disks and Windows ISO for installation, adjust to your
# needs:
disk = [ 'phy:/dev/mapper/guest-win7,hda,w', 'phy:/dev/sr0,hdc:cdrom,r' ]
# , 'phy:/dev/sr0,hdc:cdrom,r'
# More disks can be added later using this same method The path to the
# device or a file can be added. After the first comma is how the device will
# appear. "hda" is the first, "hdb" the second etc. "hda" will appear as IDE,
# sda will appear as SCSI or SATA. After the second comma "r" means read
# only and "w" is for write.
device_model = '/usr/lib/xen-default/bin/qemu-dm'
boot="cd"
# The above should be changed once Windows is installed: boot="c" to only
# show the Windows file system, else it may try to boot from the ISO image.
sdl=0
vnc=1
vncpasswd=''
stdvga=0
# nographic=1 #!!! only uncomment this if you are using win8 or are trying
# to get a Nvidia card to work. In my case - Nvidia Quadro 2000 - this was not
# needed.
serial='pty'
tsc_mode=0
viridian=1
#soundhw='all' # I commented it out since it's not relevant to me now.
usb=1 # This allows sharing the USB mouse/keyboard.
usbdevice='tablet' # is recommended in conjunction with USB=1
gfx_passthru=0
# Leaving this as 0 is how it works for me with my Quadro 2000 card.
# You can change this later for iGPUs or nVdia if needed.
# Try it with 0 first.
pci=[ '02:00.0', '02:00.1', '00:16.0', '00:16.2' ]
#
# These values are the ones you found out using the lspci command earlier.
# I also passed through an entire USB controller for native support.
# You can use usb-devices to find out to which hub/host the keyboard/mouse
# is connected. I use a USB KVM switch to connect my keyboard/mouse to two
# USB ports residing on different hubs! One - 00:1a.0 - is then passed through
# to the domU.
# The following lets Windows take the local time from the dom0:
localtime=1
#To turn on pci power management globally, use (see remarks under pci=... below):
#pci_power_mgmt=1
Code: Select all
gordon@vmhost ~ $ sudo xm create /etc/xen/win7.cfg
[sudo] password for gordon:
Using config file "/etc/xen/win7.cfg".
Error: (22, 'Invalid argument')