Initial commit
commit
829a4ddc2f
@ -0,0 +1,3 @@
|
|||||||
|
This is a collection of scripts for managing the GPU in the Asus Zephyrus G14.
|
||||||
|
|
||||||
|
The setup involves using bumblebee, bbswitch, and GPU passthrough to a Windows 10 vm. bbswitch is unable to wake the GPU up at this time.
|
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
modprobe vfio-pci
|
||||||
|
for dev in "$@"; do
|
||||||
|
vendor=$(cat /sys/bus/pci/devices/$dev/vendor)
|
||||||
|
device=$(cat /sys/bus/pci/devices/$dev/device)
|
||||||
|
if [ -e /sys/bus/pci/devices/$dev/driver ]; then
|
||||||
|
#echo $dev > /sys/bus/pci/devices/$dev/driver/unbind
|
||||||
|
rmmod nvidia_drm
|
||||||
|
rmmod nvidia_modeset
|
||||||
|
rmmod nvidia
|
||||||
|
echo "Unbound old driver"
|
||||||
|
fi
|
||||||
|
echo $vendor $device > /sys/bus/pci/drivers/vfio-pci/new_id
|
||||||
|
echo "Bound VFIO driver"
|
||||||
|
done
|
@ -0,0 +1,71 @@
|
|||||||
|
# Configuration file for Bumblebee. Values should **not** be put between quotes
|
||||||
|
|
||||||
|
## Server options. Any change made in this section will need a server restart
|
||||||
|
# to take effect.
|
||||||
|
[bumblebeed]
|
||||||
|
# The secondary Xorg server DISPLAY number
|
||||||
|
VirtualDisplay=:8
|
||||||
|
# Should the unused Xorg server be kept running? Set this to true if waiting
|
||||||
|
# for X to be ready is too long and don't need power management at all.
|
||||||
|
KeepUnusedXServer=true
|
||||||
|
# The name of the Bumbleblee server group name (GID name)
|
||||||
|
ServerGroup=bumblebee
|
||||||
|
# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
|
||||||
|
# server exits.
|
||||||
|
TurnCardOffAtExit=false
|
||||||
|
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
|
||||||
|
# be ignored.
|
||||||
|
NoEcoModeOverride=false
|
||||||
|
# The Driver used by Bumblebee server. If this value is not set (or empty),
|
||||||
|
# auto-detection is performed. The available drivers are nvidia and nouveau
|
||||||
|
# (See also the driver-specific sections below)
|
||||||
|
Driver=nvidia
|
||||||
|
# Directory with a dummy config file to pass as a -configdir to secondary X
|
||||||
|
XorgConfDir=/etc/bumblebee/xorg.conf.d
|
||||||
|
# PCI Vendor ID of integrated card, empty defaults to INTEL (0x8086)
|
||||||
|
IGCPCIVendorId=0x1002
|
||||||
|
|
||||||
|
## Client options. Will take effect on the next optirun executed.
|
||||||
|
[optirun]
|
||||||
|
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
|
||||||
|
# primus.
|
||||||
|
Bridge=primus
|
||||||
|
# The method used for VirtualGL to transport frames between X servers.
|
||||||
|
# Possible values are proxy, jpeg, rgb, xv and yuv.
|
||||||
|
VGLTransport=proxy
|
||||||
|
# List of paths which are searched for the primus libGL.so.1 when using
|
||||||
|
# the primus bridge
|
||||||
|
PrimusLibraryPath=/usr/lib/primus:/usr/lib32/primus
|
||||||
|
# Should the program run under optirun even if Bumblebee server or nvidia card
|
||||||
|
# is not available?
|
||||||
|
AllowFallbackToIGC=false
|
||||||
|
|
||||||
|
|
||||||
|
# Driver-specific settings are grouped under [driver-NAME]. The sections are
|
||||||
|
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
|
||||||
|
# detection resolves to NAME).
|
||||||
|
# PMMethod: method to use for saving power by disabling the nvidia card, valid
|
||||||
|
# values are: auto - automatically detect which PM method to use
|
||||||
|
# bbswitch - new in BB 3, recommended if available
|
||||||
|
# switcheroo - vga_switcheroo method, use at your own risk
|
||||||
|
# none - disable PM completely
|
||||||
|
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods
|
||||||
|
|
||||||
|
## Section with nvidia driver specific options, only parsed if Driver=nvidia
|
||||||
|
[driver-nvidia]
|
||||||
|
# Module name to load, defaults to Driver if empty or unset
|
||||||
|
KernelDriver=nvidia
|
||||||
|
PMMethod=none
|
||||||
|
# colon-separated path to the nvidia libraries
|
||||||
|
LibraryPath=/usr/lib/nvidia:/usr/lib32/nvidia:/usr/lib:/usr/lib32
|
||||||
|
# comma-separated path of the directory containing nvidia_drv.so and the
|
||||||
|
# default Xorg modules path
|
||||||
|
XorgModulePath=/usr/lib/nvidia/xorg/,/usr/lib/xorg/modules
|
||||||
|
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia
|
||||||
|
|
||||||
|
## Section with nouveau driver specific options, only parsed if Driver=nouveau
|
||||||
|
[driver-nouveau]
|
||||||
|
KernelDriver=nouveau
|
||||||
|
PMMethod=auto
|
||||||
|
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau
|
||||||
|
|
@ -0,0 +1,69 @@
|
|||||||
|
# Configuration file for Bumblebee. Values should **not** be put between quotes
|
||||||
|
|
||||||
|
## Server options. Any change made in this section will need a server restart
|
||||||
|
# to take effect.
|
||||||
|
[bumblebeed]
|
||||||
|
# The secondary Xorg server DISPLAY number
|
||||||
|
VirtualDisplay=:8
|
||||||
|
# Should the unused Xorg server be kept running? Set this to true if waiting
|
||||||
|
# for X to be ready is too long and don't need power management at all.
|
||||||
|
KeepUnusedXServer=false
|
||||||
|
# The name of the Bumbleblee server group name (GID name)
|
||||||
|
ServerGroup=bumblebee
|
||||||
|
# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
|
||||||
|
# server exits.
|
||||||
|
TurnCardOffAtExit=true
|
||||||
|
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
|
||||||
|
# be ignored.
|
||||||
|
NoEcoModeOverride=false
|
||||||
|
# The Driver used by Bumblebee server. If this value is not set (or empty),
|
||||||
|
# auto-detection is performed. The available drivers are nvidia and nouveau
|
||||||
|
# (See also the driver-specific sections below)
|
||||||
|
Driver=nvidia
|
||||||
|
# Directory with a dummy config file to pass as a -configdir to secondary X
|
||||||
|
XorgConfDir=/etc/bumblebee/xorg.conf.d
|
||||||
|
|
||||||
|
## Client options. Will take effect on the next optirun executed.
|
||||||
|
[optirun]
|
||||||
|
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
|
||||||
|
# primus.
|
||||||
|
Bridge=auto
|
||||||
|
# The method used for VirtualGL to transport frames between X servers.
|
||||||
|
# Possible values are proxy, jpeg, rgb, xv and yuv.
|
||||||
|
VGLTransport=proxy
|
||||||
|
# List of paths which are searched for the primus libGL.so.1 when using
|
||||||
|
# the primus bridge
|
||||||
|
PrimusLibraryPath=/usr/lib/primus:/usr/lib32/primus
|
||||||
|
# Should the program run under optirun even if Bumblebee server or nvidia card
|
||||||
|
# is not available?
|
||||||
|
AllowFallbackToIGC=false
|
||||||
|
|
||||||
|
|
||||||
|
# Driver-specific settings are grouped under [driver-NAME]. The sections are
|
||||||
|
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
|
||||||
|
# detection resolves to NAME).
|
||||||
|
# PMMethod: method to use for saving power by disabling the nvidia card, valid
|
||||||
|
# values are: auto - automatically detect which PM method to use
|
||||||
|
# bbswitch - new in BB 3, recommended if available
|
||||||
|
# switcheroo - vga_switcheroo method, use at your own risk
|
||||||
|
# none - disable PM completely
|
||||||
|
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods
|
||||||
|
|
||||||
|
## Section with nvidia driver specific options, only parsed if Driver=nvidia
|
||||||
|
[driver-nvidia]
|
||||||
|
# Module name to load, defaults to Driver if empty or unset
|
||||||
|
KernelDriver=nvidia
|
||||||
|
PMMethod=bbswitch
|
||||||
|
# colon-separated path to the nvidia libraries
|
||||||
|
LibraryPath=/usr/lib/nvidia:/usr/lib32/nvidia:/usr/lib:/usr/lib32
|
||||||
|
# comma-separated path of the directory containing nvidia_drv.so and the
|
||||||
|
# default Xorg modules path
|
||||||
|
XorgModulePath=/usr/lib/nvidia/xorg,/usr/lib/xorg/modules
|
||||||
|
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia
|
||||||
|
|
||||||
|
## Section with nouveau driver specific options, only parsed if Driver=nouveau
|
||||||
|
[driver-nouveau]
|
||||||
|
KernelDriver=nouveau
|
||||||
|
PMMethod=auto
|
||||||
|
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau
|
||||||
|
|
@ -0,0 +1,18 @@
|
|||||||
|
Section "ServerLayout"
|
||||||
|
Identifier "Layout0"
|
||||||
|
Option "AutoAddDevices" "false"
|
||||||
|
Option "AutoAddGPU" "false"
|
||||||
|
EndSection
|
||||||
|
|
||||||
|
Section "Device"
|
||||||
|
Identifier "DiscreteNvidia"
|
||||||
|
Driver "nouveau"
|
||||||
|
|
||||||
|
# If the X server does not automatically detect your VGA device,
|
||||||
|
# you can manually set it here.
|
||||||
|
# To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
|
||||||
|
# as you see in the commented example.
|
||||||
|
# This Setting is needed on Ubuntu 13.04.
|
||||||
|
# BusID "PCI:01:00:0"
|
||||||
|
|
||||||
|
EndSection
|
@ -0,0 +1,40 @@
|
|||||||
|
Section "ServerLayout"
|
||||||
|
Identifier "Layout0"
|
||||||
|
Option "AutoAddDevices" "false"
|
||||||
|
Option "AutoAddGPU" "false"
|
||||||
|
EndSection
|
||||||
|
|
||||||
|
Section "Device"
|
||||||
|
Identifier "DiscreteNvidia"
|
||||||
|
Driver "nvidia"
|
||||||
|
VendorName "NVIDIA Corporation"
|
||||||
|
|
||||||
|
# If the X server does not automatically detect your VGA device,
|
||||||
|
# you can manually set it here.
|
||||||
|
# To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
|
||||||
|
# as you see in the commented example.
|
||||||
|
# This Setting may be needed in some platforms with more than one
|
||||||
|
# nvidia card, which may confuse the proprietary driver (e.g.,
|
||||||
|
# trying to take ownership of the wrong device). Also needed on Ubuntu 13.04.
|
||||||
|
# BusID "PCI:01:00:0"
|
||||||
|
|
||||||
|
# Setting ProbeAllGpus to false prevents the new proprietary driver
|
||||||
|
# instance spawned to try to control the integrated graphics card,
|
||||||
|
# which is already being managed outside bumblebee.
|
||||||
|
# This option doesn't hurt and it is required on platforms running
|
||||||
|
# more than one nvidia graphics card with the proprietary driver.
|
||||||
|
# (E.g. Macbook Pro pre-2010 with nVidia 9400M + 9600M GT).
|
||||||
|
# If this option is not set, the new Xorg may blacken the screen and
|
||||||
|
# render it unusable (unless you have some way to run killall Xorg).
|
||||||
|
Option "ProbeAllGpus" "false"
|
||||||
|
|
||||||
|
Option "NoLogo" "true"
|
||||||
|
Option "UseEDID" "false"
|
||||||
|
Option "UseDisplayDevice" "none"
|
||||||
|
|
||||||
|
Option "NVreg_DynamicPowerManagement=0x02"
|
||||||
|
EndSection
|
||||||
|
|
||||||
|
Section "ServerFlags"
|
||||||
|
Option "IgnoreABI" "1"
|
||||||
|
EndSection
|
@ -0,0 +1 @@
|
|||||||
|
#options bbswitch load_state=1 unload_state=1
|
@ -0,0 +1,5 @@
|
|||||||
|
blacklist nouveau
|
||||||
|
blacklist nvidiafb
|
||||||
|
blacklist rivafb
|
||||||
|
blacklist i2c_nvidia_gpu
|
||||||
|
|
@ -0,0 +1,2 @@
|
|||||||
|
options nvidia_drm modeset=1
|
||||||
|
options nvidia NVreg_DynamicPowerManagement=0x02
|
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
if [ `which-driver-for-gpu` == "nvidia" ]; then
|
||||||
|
sudo systemctl stop bumblebeed
|
||||||
|
sleep 1
|
||||||
|
sudo bind 0000:01:00.0 0000:01:00.1 0000:01:00.2 0000:01:00.3
|
||||||
|
fi
|
||||||
|
vm
|
||||||
|
#sudo unbind 0000:01:00.0 0000:01:00.1 0000:01:00.2 0000:01:00.3
|
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
for dev in "$@"; do
|
||||||
|
vendor=$(cat /sys/bus/pci/devices/$dev/vendor)
|
||||||
|
device=$(cat /sys/bus/pci/devices/$dev/device)
|
||||||
|
echo "Removing ${dev} from vfio-pci id list"
|
||||||
|
echo "${vendor} ${device}" > /sys/bus/pci/drivers/vfio-pci/remove_id
|
||||||
|
sleep 0.1
|
||||||
|
echo "Remove PCI device"
|
||||||
|
echo 1 > /sys/bus/pci/devices/${dev}/remove
|
||||||
|
while [[ -e "/sys/bus/pci/devices/${dev}" ]]; do
|
||||||
|
sleep 0.1
|
||||||
|
done
|
||||||
|
echo "Rescanning..."
|
||||||
|
echo 1 > /sys/bus/pci/rescan
|
||||||
|
while [[ ! -e "/sys/bus/pci/devices/${dev}" ]]; do
|
||||||
|
sleep 0.1
|
||||||
|
done
|
||||||
|
done
|
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
echo "Starting Network"
|
||||||
|
virsh --connect=qemu:///system net-start default
|
||||||
|
echo "Starting VM"
|
||||||
|
virsh --connect=qemu:///system start win10
|
||||||
|
echo "Starting Scream"
|
||||||
|
scream -o pulse -i virbr0 &
|
||||||
|
echo "Starting Looking Glass"
|
||||||
|
looking-glass-client -s no -K 120 -d yes -g egl -a -M no &
|
||||||
|
while [ "$command" != "stop" ]; do
|
||||||
|
read command
|
||||||
|
done
|
||||||
|
echo "Stopping VM..."
|
||||||
|
#stop
|
||||||
|
virsh --connect=qemu:///system shutdown win10
|
||||||
|
echo "Killing Looking Glass and Scream..."
|
||||||
|
kill -9 $(jobs -p)
|
||||||
|
vmstate=$(virsh --connect=qemu:///system domstate win10)
|
||||||
|
echo "Waiting for shutdown..."
|
||||||
|
while [ "$vmstate" != "shut off" ]; do
|
||||||
|
sleep 1
|
||||||
|
vmstate=$(virsh --connect=qemu:///system domstate win10)
|
||||||
|
done
|
||||||
|
sleep 1
|
||||||
|
echo "VM is off, unbinding from vfio-pci"
|
||||||
|
sudo unbind 0000:01:00.0 0000:01:00.1 0000:01:00.2 0000:01:00.3
|
||||||
|
sleep 1
|
||||||
|
sudo modprobe nvidia NVreg_DynamicPowerManagement=0x02
|
||||||
|
sleep 2
|
||||||
|
sudo systemctl start bumblebeed
|
||||||
|
sleep 1
|
||||||
|
clrgpu
|
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
lspci -k -s 01:00.0 | sed -n "s/\s*Kernel driver in use: \(\w*\)/\1/p"
|
@ -0,0 +1,238 @@
|
|||||||
|
<!--
|
||||||
|
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
|
||||||
|
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
|
||||||
|
virsh edit win10
|
||||||
|
or other application using the libvirt API.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
|
||||||
|
<name>win10</name>
|
||||||
|
<uuid>eaaf91f7-9c28-4c33-93c0-9e48a1195983</uuid>
|
||||||
|
<metadata>
|
||||||
|
<libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
|
||||||
|
<libosinfo:os id="http://microsoft.com/win/10"/>
|
||||||
|
</libosinfo:libosinfo>
|
||||||
|
</metadata>
|
||||||
|
<memory unit='KiB'>20280320</memory>
|
||||||
|
<currentMemory unit='KiB'>20280320</currentMemory>
|
||||||
|
<vcpu placement='static'>12</vcpu>
|
||||||
|
<iothreads>1</iothreads>
|
||||||
|
<cputune>
|
||||||
|
<vcpupin vcpu='0' cpuset='2'/>
|
||||||
|
<vcpupin vcpu='1' cpuset='3'/>
|
||||||
|
<vcpupin vcpu='2' cpuset='4'/>
|
||||||
|
<vcpupin vcpu='3' cpuset='5'/>
|
||||||
|
<vcpupin vcpu='4' cpuset='6'/>
|
||||||
|
<vcpupin vcpu='5' cpuset='7'/>
|
||||||
|
<vcpupin vcpu='6' cpuset='8'/>
|
||||||
|
<vcpupin vcpu='7' cpuset='9'/>
|
||||||
|
<vcpupin vcpu='8' cpuset='10'/>
|
||||||
|
<vcpupin vcpu='9' cpuset='11'/>
|
||||||
|
<vcpupin vcpu='10' cpuset='12'/>
|
||||||
|
<vcpupin vcpu='11' cpuset='13'/>
|
||||||
|
<emulatorpin cpuset='0-1,14-15'/>
|
||||||
|
<iothreadpin iothread='1' cpuset='0-1,14-15'/>
|
||||||
|
</cputune>
|
||||||
|
<os>
|
||||||
|
<type arch='x86_64' machine='pc-q35-5.0'>hvm</type>
|
||||||
|
<loader readonly='yes' type='pflash'>/usr/share/edk2-ovmf/x64/OVMF_CODE.fd</loader>
|
||||||
|
<nvram>/var/lib/libvirt/qemu/nvram/win10_VARS.fd</nvram>
|
||||||
|
<boot dev='hd'/>
|
||||||
|
<bootmenu enable='yes'/>
|
||||||
|
</os>
|
||||||
|
<features>
|
||||||
|
<acpi/>
|
||||||
|
<apic/>
|
||||||
|
<hyperv>
|
||||||
|
<relaxed state='on'/>
|
||||||
|
<vapic state='on'/>
|
||||||
|
<spinlocks state='on' retries='8191'/>
|
||||||
|
<vendor_id state='on' value='087D1028'/>
|
||||||
|
</hyperv>
|
||||||
|
<kvm>
|
||||||
|
<hidden state='on'/>
|
||||||
|
</kvm>
|
||||||
|
<vmport state='off'/>
|
||||||
|
</features>
|
||||||
|
<cpu mode='host-passthrough' check='none' migratable='on'>
|
||||||
|
<topology sockets='1' dies='1' cores='6' threads='2'/>
|
||||||
|
<cache mode='passthrough'/>
|
||||||
|
<feature policy='require' name='topoext'/>
|
||||||
|
</cpu>
|
||||||
|
<clock offset='localtime'>
|
||||||
|
<timer name='rtc' tickpolicy='catchup'/>
|
||||||
|
<timer name='pit' tickpolicy='delay'/>
|
||||||
|
<timer name='hpet' present='no'/>
|
||||||
|
<timer name='hypervclock' present='yes'/>
|
||||||
|
</clock>
|
||||||
|
<on_poweroff>destroy</on_poweroff>
|
||||||
|
<on_reboot>restart</on_reboot>
|
||||||
|
<on_crash>destroy</on_crash>
|
||||||
|
<pm>
|
||||||
|
<suspend-to-mem enabled='yes'/>
|
||||||
|
<suspend-to-disk enabled='no'/>
|
||||||
|
</pm>
|
||||||
|
<devices>
|
||||||
|
<emulator>/usr/bin/qemu-system-x86_64</emulator>
|
||||||
|
<disk type='file' device='disk'>
|
||||||
|
<driver name='qemu' type='qcow2' cache='writeback' io='threads' discard='unmap'/>
|
||||||
|
<source file='/var/lib/libvirt/images/win10.qcow2'/>
|
||||||
|
<target dev='sda' bus='scsi'/>
|
||||||
|
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
|
||||||
|
</disk>
|
||||||
|
<disk type='file' device='cdrom'>
|
||||||
|
<driver name='qemu' type='raw'/>
|
||||||
|
<source file='/home/cole/Downloads/SW_DVD5_WIN_ENT_LTSC_2019_64-bit_English_MLF_X21-96425_KMS38_ESD.iso'/>
|
||||||
|
<target dev='sdb' bus='sata'/>
|
||||||
|
<readonly/>
|
||||||
|
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
|
||||||
|
</disk>
|
||||||
|
<disk type='file' device='cdrom'>
|
||||||
|
<driver name='qemu' type='raw'/>
|
||||||
|
<source file='/home/cole/Downloads/virtio-win-0.1.171.iso'/>
|
||||||
|
<target dev='sdc' bus='sata'/>
|
||||||
|
<readonly/>
|
||||||
|
<address type='drive' controller='0' bus='0' target='0' unit='2'/>
|
||||||
|
</disk>
|
||||||
|
<controller type='usb' index='0' model='qemu-xhci' ports='15'>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='sata' index='0'>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='pci' index='0' model='pcie-root'/>
|
||||||
|
<controller type='pci' index='1' model='pcie-root-port'>
|
||||||
|
<model name='pcie-root-port'/>
|
||||||
|
<target chassis='1' port='0x10'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='pci' index='2' model='pcie-root-port'>
|
||||||
|
<model name='pcie-root-port'/>
|
||||||
|
<target chassis='2' port='0x11'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='pci' index='3' model='pcie-root-port'>
|
||||||
|
<model name='pcie-root-port'/>
|
||||||
|
<target chassis='3' port='0x12'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='pci' index='4' model='pcie-root-port'>
|
||||||
|
<model name='pcie-root-port'/>
|
||||||
|
<target chassis='4' port='0x13'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='pci' index='5' model='pcie-root-port'>
|
||||||
|
<model name='pcie-root-port'/>
|
||||||
|
<target chassis='5' port='0x14'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='pci' index='6' model='pcie-root-port'>
|
||||||
|
<model name='pcie-root-port'/>
|
||||||
|
<target chassis='6' port='0x15'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='pci' index='7' model='pcie-to-pci-bridge'>
|
||||||
|
<model name='pcie-pci-bridge'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='pci' index='8' model='pcie-root-port'>
|
||||||
|
<model name='pcie-root-port'/>
|
||||||
|
<target chassis='8' port='0x16'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='pci' index='9' model='pcie-root-port'>
|
||||||
|
<model name='pcie-root-port'/>
|
||||||
|
<target chassis='9' port='0x17'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='pci' index='10' model='pcie-root-port'>
|
||||||
|
<model name='pcie-root-port'/>
|
||||||
|
<target chassis='10' port='0x18'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='pci' index='11' model='pcie-root-port'>
|
||||||
|
<model name='pcie-root-port'/>
|
||||||
|
<target chassis='11' port='0x19'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='virtio-serial' index='0'>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
|
||||||
|
</controller>
|
||||||
|
<controller type='scsi' index='0' model='virtio-scsi'>
|
||||||
|
<driver queues='12' iothread='1'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
|
||||||
|
</controller>
|
||||||
|
<interface type='network'>
|
||||||
|
<mac address='52:54:00:fc:3f:b7'/>
|
||||||
|
<source network='default'/>
|
||||||
|
<model type='virtio'/>
|
||||||
|
<driver queues='8'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
|
||||||
|
</interface>
|
||||||
|
<serial type='pty'>
|
||||||
|
<target type='isa-serial' port='0'>
|
||||||
|
<model name='isa-serial'/>
|
||||||
|
</target>
|
||||||
|
</serial>
|
||||||
|
<console type='pty'>
|
||||||
|
<target type='serial' port='0'/>
|
||||||
|
</console>
|
||||||
|
<channel type='spicevmc'>
|
||||||
|
<target type='virtio' name='com.redhat.spice.0'/>
|
||||||
|
<address type='virtio-serial' controller='0' bus='0' port='1'/>
|
||||||
|
</channel>
|
||||||
|
<input type='tablet' bus='usb'>
|
||||||
|
<address type='usb' bus='0' port='1'/>
|
||||||
|
</input>
|
||||||
|
<input type='mouse' bus='ps2'/>
|
||||||
|
<input type='keyboard' bus='ps2'/>
|
||||||
|
<hostdev mode='subsystem' type='pci' managed='yes'>
|
||||||
|
<source>
|
||||||
|
<address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
|
||||||
|
</source>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
|
||||||
|
</hostdev>
|
||||||
|
<hostdev mode='subsystem' type='pci' managed='yes'>
|
||||||
|
<source>
|
||||||
|
<address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/>
|
||||||
|
</source>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
|
||||||
|
</hostdev>
|
||||||
|
<hostdev mode='subsystem' type='pci' managed='yes'>
|
||||||
|
<source>
|
||||||
|
<address domain='0x0000' bus='0x01' slot='0x00' function='0x2'/>
|
||||||
|
</source>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
|
||||||
|
</hostdev>
|
||||||
|
<hostdev mode='subsystem' type='pci' managed='yes'>
|
||||||
|
<source>
|
||||||
|
<address domain='0x0000' bus='0x01' slot='0x00' function='0x3'/>
|
||||||
|
</source>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x0b' slot='0x00' function='0x0'/>
|
||||||
|
</hostdev>
|
||||||
|
<redirdev bus='usb' type='spicevmc'>
|
||||||
|
<address type='usb' bus='0' port='2'/>
|
||||||
|
</redirdev>
|
||||||
|
<redirdev bus='usb' type='spicevmc'>
|
||||||
|
<address type='usb' bus='0' port='3'/>
|
||||||
|
</redirdev>
|
||||||
|
<memballoon model='virtio'>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
|
||||||
|
</memballoon>
|
||||||
|
<shmem name='looking-glass'>
|
||||||
|
<model type='ivshmem-plain'/>
|
||||||
|
<size unit='M'>32</size>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
|
||||||
|
</shmem>
|
||||||
|
</devices>
|
||||||
|
<qemu:commandline>
|
||||||
|
<qemu:arg value='-acpitable'/>
|
||||||
|
<qemu:arg value='file=/home/cole/vfio/acpitable.bin'/>
|
||||||
|
<qemu:arg value='-device'/>
|
||||||
|
<qemu:arg value='ich9-intel-hda,bus=pcie.0,addr=0x1b'/>
|
||||||
|
<qemu:arg value='-device'/>
|
||||||
|
<qemu:arg value='hda-micro,audiodev=hda'/>
|
||||||
|
<qemu:arg value='-audiodev'/>
|
||||||
|
<qemu:arg value='pa,id=hda,server=unix:/run/user/1000/pulse/native'/>
|
||||||
|
</qemu:commandline>
|
||||||
|
</domain>
|
@ -0,0 +1,21 @@
|
|||||||
|
Section "Device"
|
||||||
|
Identifier "iGPU"
|
||||||
|
Driver "amdgpu"
|
||||||
|
EndSection
|
||||||
|
|
||||||
|
Section "Screen"
|
||||||
|
Identifier "iGPU"
|
||||||
|
Device "iGPU"
|
||||||
|
EndSection
|
||||||
|
|
||||||
|
#Section "Device"
|
||||||
|
# Identifier "dGPU"
|
||||||
|
# Driver "nvidia"
|
||||||
|
# Option "AllowEmptyInitialConfiguration"
|
||||||
|
# Option "NVreg_DynamicPowerManagement=0x02"
|
||||||
|
#EndSection
|
||||||
|
|
||||||
|
#Section "ServerLayout"
|
||||||
|
# Identifier "layout"
|
||||||
|
# Option "AllowNVIDIAGPUScreens"
|
||||||
|
#EndSection
|
@ -0,0 +1,9 @@
|
|||||||
|
Section "InputClass"
|
||||||
|
Identifier "touchpad overrides"
|
||||||
|
MatchDriver "synaptics"
|
||||||
|
MatchIsTouchpad "on"
|
||||||
|
Option "TapButton1" "1"
|
||||||
|
Option "TapButton2" "3"
|
||||||
|
Option "VertEdgeScroll" "1"
|
||||||
|
Option "RBCornerButton" "3"
|
||||||
|
EndSection
|
Loading…
Reference in New Issue