User:Xtf/Notes

From ArchWiki

env MOZ_USE_XINPUT2=1 firefox

gpg --recv-keys --keyserver hkp://pool.sks-keyservers.net 79BE3E4300411886 gpg --recv-keys --keyserver hkp://pool.sks-keyservers.net 38DBBDC86092693E


=== OVMF

gpasswd -a user kvm storage disk

  1. /etc/security/limits.d/10-kvm.conf

@kvm soft memlock 16777216 @kvm hard memlock 16777216

  1. /etc/udev/rules.d/10-kvm.conf

KERNEL=="14", SUBSYSTEM=="vfio", OWNER="kvm", GROUP="kvm", MODE="0660" KERNEL=="vfio", SUBSYSTEM=="misc", OWNER="kvm", GROUP="kvm", MODE="0660" KERNEL=="kvm", NAME="%k", GROUP="kvm", MODE="0660"


  1. !/bin/bash
  2. setxkbmap -layout us

loadkeys us source $HOME/.local/xtf_config/.bashrc /usr/bin/tmux -f $HOME/.local/xtf_config/.tmux.conf


  1. !/bin/bash

GPU_VEN_ID="1002" GPU_VIDEO_DEV_ID="6810" GPU_AUDIO_DEV_ID="aab0" GPU_VIDEO_PCI_SLOT="07:00.0" GPU_AUDIO_PCI_SLOT="07:00.1"

USB_MOUSE="09da:9090"

  1. G15

USB_KEYBOARD1="046d:c227" USB_KEYBOARD2="046d:c223" USB_KEYBOARD3="046d:c227"

  1. Unbind AMD GPU from Radeon driver

unbind_gpu () {

   echo "$GPU_VEN_ID $GPU_VIDEO_DEV_ID" > "/sys/bus/pci/drivers/vfio-pci/new_id"
   echo "00${GPU_VIDEO_PCI_SLOT}" > "/sys/bus/pci/devices/00${GPU_VIDEO_PCI_SLOT}/driver/unbind"
   echo "00${GPU_VIDEO_PCI_SLOT}" > "/sys/bus/pci/drivers/vfio-pci/bind"
   echo "$GPU_VEN_ID $GPU_VIDEO_DEV_ID" > "/sys/bus/pci/drivers/vfio-pci/remove_id"
   echo "$GPU_VEN_ID $GPU_AUDIO_DEV_ID" > "/sys/bus/pci/drivers/vfio-pci/new_id"
   echo "00${GPU_VIDEO_PCI_SLOT}" > "/sys/bus/pci/devices/00${GPU_VIDEO_PCI_SLOT}/driver/unbind"
   echo "00${GPU_VIDEO_PCI_SLOT}" > "/sys/bus/pci/drivers/vfio-pci/bind"
   echo "$GPU_VEN_ID $GPU_AUDIO_DEV_ID" > "/sys/bus/pci/drivers/vfio-pci/remove_id"

}

init_shared_gpu_mem () {

   touch /dev/shm/looking-glass
   chown "$USER:kvm" /dev/shm/looking-glass
   chmod 660 /dev/shm/looking-glass

}

start_qemu () {

  1. Copy EFI Boot Vars

cp /usr/share/ovmf/x64/OVMF_VARS.fd /tmp/ovmf_vars.fd

  1. pin real cores to qemu

taskset -c 0,2,4,6,8,10,12,14 \ qemu-system-x86_64 \

   -enable-kvm \
   -m 8G \
   -cpu core2duo,kvm=off \
   -smp cores=8,threads=1 \
   -rtc base=localtime,clock=host,driftfix=none \
   -drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/OVMF_CODE.fd \
   -drive if=pflash,format=raw,file=/tmp/ovmf_vars.fd \

-usb -usbdevice host:${USB_MOUSE} `#maus siehe /etc/udev/rules.d/10-qemu.conf` \

   -usb -usbdevice host:${USB_KEYBOARD1} `#tastatur siehe /etc/udev/rules.d/10-qemu.conf` \
   -usb -usbdevice host:${USB_KEYBOARD2} \
   -usb -usbdevice host:${USB_KEYBOARD3} \
   -device vfio-pci,host=${GPU_VIDEO_PCI_SLOT},multifunction=on,x-vga=on \
   -device vfio-pci,host=${GPU_AUDIO_PCI_SLOT} \
   -soundhw hda \
   -drive file=/dev/nvme0n1p3,media=disk,index=0,if=virtio,format=raw \
   -drive file=$HOME/.local/vm/win10/virtio-win-0.1.149.iso,index=2,media=cdrom \
   -object memory-backend-file,size=32,share,mem-path=/dev/shm/looking-glass,id=looking-glass \
   -device ivshmem-plain,memdev=looking-glass

## Windows as Disk Image, used above directly with nvme

   #-drive file=$HOME/.local/vm/win10/win_sys.raw,index=0,media=disk,format=raw \

## Win 10 Install, copy below drive area

   #-drive file=$HOME/.local/vm/win10/Win10_1803_German_x64.iso,index=1,media=cdrom \

## Disables Qemu Graphical output

   #-vga none \

}

init_shared_gpu_mem start_qemu


  1. vcpu pinning -vcpu 0,affinity=20
  2. -cpu core2duo,kvm=off,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff \