Project steamed-windows

From www.evillabs.net
Jump to navigation Jump to search

Steamed Windows

Running Windows XP under SteamOS in a VM, with IOMMU access to a physical video card.

Hardware

  • AMD 6 core CPU (AMD FX 6300)
  • AMD 970 chipset motherboard (which IOMMU enabled in BIOS)
  • SATA drive (500GB+)


Oracle VirtualBox Notes

  • Log in as 'desktop', password of 'desktop'
  • Execute sudo bash to become root.
  • Create a /etc/apt/sources.list.d/virtualbox.list file:
# cat <<EOF >/etc/apt/sources.list.d/virtualbox.list
deb http://download.virtualbox.org/virtualbox/debian precise contrib
deb http://us.archive.ubuntu.com/ubuntu/ precise main
EOF
# apt-get update
  • Install VirtualBox 4.3
# apt-get install virtualbox-4.3
# wget http://download.virtualbox.org/virtualbox/4.3.6/Oracle_VM_VirtualBox_Extension_Pack-4.3.6-91406.vbox-extpack
# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.6-91406.vbox-extpack
  • Run 'virtualbox' as desktop:
# exit
$ virtualbox
  • In virtualbox, create a new VM:
    • Name 'steamed-windows'
    • Type 'Microsoft Windows'
    • Version 'Windows XP'
    • Assign the virtual machine some ram (minimum 2G)
    • Create a virtual hard driver
      • Hard drive type of VMDK - allows us to migrate to VMWare or QEMU later.
      • Select 'Dynamically allocated'
      • Minimum 10G - we will be using a shared filesystem for the actual Steam games
    • Adjust the VM settings:
      • System
        • Motherboard
          • Chipset: ICH9
          • Enable I/O APIC
      • Storage
        • Controller
          • Type: ICH6
        • CDROM
          • Point to your Windows XP install CD or ISO
  • Start virtualbox, and install Windows XP (do all your updates, blah blah)
    • In Windows:
      • Control Panel -> System -> Remote
        • Check: Allow users to connect remotely to this computer
  • Exit virtualbox, and run the following from the command line:
$ lspci | grep NVIDIA | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640] (rev a1)
02:00.0 VGA compatible controller: NVIDIA Corporation G92 [GeForce 9800 GT] (rev a2)
  • Select the higher bus number - that should be your secondary display (02:00.0 is this example)
  • Verify that the display has MSI support
$ lspci -v -s 02:00.0 | grep MSI | grep Enable+
	Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
  • Attach the secondary display to the VirtualBox
$ VBoxManage modifyvm steamed-windows --pciattach 02:00.0@01:05.0
$ sudo sh -c 'echo 0000:02:00.0 >/sys/bus/pci/devices/0000\:02\:00.0/driver/unbind'