{"id":523,"date":"2021-07-06T15:39:57","date_gmt":"2021-07-06T13:39:57","guid":{"rendered":"https:\/\/www.codefraction.com\/?p=523"},"modified":"2022-09-27T14:10:59","modified_gmt":"2022-09-27T12:10:59","slug":"windows-10-virtual-machine-on-popos-20-04-with-gpu-passthrough","status":"publish","type":"post","link":"https:\/\/www.codefraction.com\/index.php\/2021\/07\/06\/windows-10-virtual-machine-on-popos-20-04-with-gpu-passthrough\/","title":{"rendered":"Windows 10 virtual machine on PopOS 20.04 with GPU passthrough"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"523\" class=\"elementor elementor-523\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-22b84131 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"22b84131\" data-element_type=\"section\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-narrow\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4478757\" data-id=\"4478757\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0421967 elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading\" data-id=\"0421967\" data-element_type=\"widget\" data-widget_type=\"theme-post-title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Windows 10 virtual machine on PopOS 20.04 with GPU passthrough<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f311992 elementor-align-left elementor-widget elementor-widget-global elementor-global-471 elementor-widget-post-info\" data-id=\"f311992\" data-element_type=\"widget\" data-widget_type=\"post-info.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-inline-items elementor-icon-list-items elementor-post-info\">\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-a9d1b46 elementor-inline-item\" itemprop=\"datePublished\">\n\t\t\t\t\t\t<a href=\"https:\/\/www.codefraction.com\/index.php\/2021\/07\/06\/\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-calendar\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date\">\n\t\t\t\t\t\t\t\t\t\t<time>July 6, 2021<\/time>\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-8fee4f0 elementor-inline-item\" itemprop=\"about\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-tags\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms\">\n\t\t\t\t\t\t\t<span class=\"elementor-post-info__item-prefix\">Tags: <\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-post-info__terms-list\">\n\t\t\t\t<a href=\"https:\/\/www.codefraction.com\/index.php\/tag\/gpu-passthrough\/\" class=\"elementor-post-info__terms-list-item\">GPU passthrough<\/a>, <a href=\"https:\/\/www.codefraction.com\/index.php\/tag\/pop-os\/\" class=\"elementor-post-info__terms-list-item\">Pop OS<\/a>, <a href=\"https:\/\/www.codefraction.com\/index.php\/tag\/vfio\/\" class=\"elementor-post-info__terms-list-item\">VFIO<\/a>, <a href=\"https:\/\/www.codefraction.com\/index.php\/tag\/virtual-machine\/\" class=\"elementor-post-info__terms-list-item\">Virtual Machine<\/a>, <a href=\"https:\/\/www.codefraction.com\/index.php\/tag\/windows-10\/\" class=\"elementor-post-info__terms-list-item\">Windows 10<\/a>\t\t\t\t<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b82449d elementor-widget elementor-widget-text-editor\" data-id=\"b82449d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In this guide I will go through how I got Windows 10 to run on a virtual machine under PopOS 20.04 with GPU passthrough. I will passthrough a Nvidia RTX 2080 GPU on the first PCI-e slot of the motherboard to Windows 10. Here&#8217;s the whole specs of my system:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9ff3084 elementor-widget elementor-widget-text-editor\" data-id=\"9ff3084\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>AMD Ryzen 3950X (later updated to 5950X)<\/em><br \/><em>Asrock X570 Creator motherboard (BIOS version: 3.30, AGESA version: AMD AGESA Combo-AM4 V2 1.1.0.0 patch D)<br \/>MSI RTX 2080 Sea Hawk EK X GPU (on the first PCI-e x16 slot, for Windows 10)<br \/>AMD Radeon VII GPU (on the second PCI-e x16 slot, for PopOS)<\/em><br \/><em>64GB DDR4<\/em><br \/><em>Inateck 2 port USB 3.0 PCI-E card (on the third PCI-e x4 slot for Windows 10)<\/em><br \/><em>PopOS 20.04 as host OS<\/em><br \/><em>Windows 10 as guest OS<br \/><\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-93250f7 elementor-widget elementor-widget-spacer\" data-id=\"93250f7\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-760913c elementor-widget elementor-widget-heading\" data-id=\"760913c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">USB on Windows 10<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-502585f elementor-widget elementor-widget-text-editor\" data-id=\"502585f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tAs you can see from the specs I will also passthrough an USB PCI-e card, as it can be quite difficult to passthrough any USB ports that are directly on your motherboard. For example I tried to passthrough some USB ports in my motherboard to Windows, but unfortunately it didn&#8217;t work or it resulted in hanging up the whole system. That&#8217;s why I would recommend getting a seperate USB PCI-e card. Other solution is to passthrough each USB device by device (instead of passthrough the whole USB port), but in that case when you want to passthrough a new USB device, you would need to then add that device to the list of devices that you want to be passed through. Second problem that you might encounter with this solution, is that if your USB device gets disconneted and reconnected again, the virtual machine might not find the USB device again until you restart the virtual machine. For example I have a hardware KVM which I use to switch my mouse and keyboard to different computers, in this case the seperate USB PCI-e card is much better solution.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e801272 elementor-widget elementor-widget-spacer\" data-id=\"e801272\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e5e8040 elementor-widget elementor-widget-heading\" data-id=\"e5e8040\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Installing SSH server<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e29639 elementor-widget elementor-widget-text-editor\" data-id=\"2e29639\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>My second recommendation would be to install SSH server on your PopOS. Especially if you are going to passthrough your GPU in the first PCI-e slot of your motherboard, as you might stumble to a problem that after you have backlisted the GPU and restarted your computer, PopOS can&#8217;t start X Server (basically meaning a blank screen with no graphical interface). We will talk about more how to solve this problem later, if you happen to encounter it. With an SSH server running, you can remote connect to your computer from another computer. To install SSH server run the following command:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c84be4d elementor-widget elementor-widget-text-editor\" data-id=\"c84be4d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>sudo apt install openssh-server<\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-97b24d0 elementor-widget elementor-widget-text-editor\" data-id=\"97b24d0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThen I would just in case test that you can connect to the computer from another computer. By using the following command from the other computer (if you are using Linux or Mac on the other computer):\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e607bf elementor-widget elementor-widget-text-editor\" data-id=\"2e607bf\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>ssh your_username@your_ip_address\n<\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5835d49 elementor-widget elementor-widget-spacer\" data-id=\"5835d49\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4105045 elementor-widget elementor-widget-heading\" data-id=\"4105045\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">BIOS settings<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-46ecf66 elementor-widget elementor-widget-text-editor\" data-id=\"46ecf66\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>You should first enable IOMMU in BIOS (IOMMU allows us to passthrough PCI-e devices). For example in my Asrock motherboard the setting can be found under: Advanced -&gt; AMD CBS -&gt; NBIO Common Settings -&gt; IOMMU<\/p><p>\u00a0<\/p><p>You might also need to enable SR-IOV Support under Advanced -&gt; PCI Configuration -&gt; SR-IOV support. And you might need to enable CSM under Boot -&gt; CSM (Compatibility Support Module) -&gt; CSM<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a73bd76 elementor-widget elementor-widget-spacer\" data-id=\"a73bd76\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fc6b0de elementor-widget elementor-widget-heading\" data-id=\"fc6b0de\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Installing Qemu and enabling IOMMU<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-32a48db elementor-widget elementor-widget-text-editor\" data-id=\"32a48db\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>First we will start by installing Qemu (handles the virtualization), Virt-manager (graphical interface for QEMU so we can set up the VM a bit more easier) and all the other needed software:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f58f492 elementor-widget elementor-widget-text-editor\" data-id=\"f58f492\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>sudo apt install qemu-kvm qemu-utils virt-manager libvirt-daemon-system libvirt-clients bridge-utils\u00a0ovmf<br \/><\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-99b8754 elementor-widget elementor-widget-text-editor\" data-id=\"99b8754\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Enabling IOMMU for AMD CPUs:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fa1848a elementor-widget elementor-widget-text-editor\" data-id=\"fa1848a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>sudo kernelstub -o \"amd_iommu=on amd_iommu=pt\"<br><\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3bc763 elementor-widget elementor-widget-text-editor\" data-id=\"d3bc763\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tRestart your computer.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7e3f40c elementor-widget elementor-widget-spacer\" data-id=\"7e3f40c\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5d0f2f6 elementor-widget elementor-widget-heading\" data-id=\"5d0f2f6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Identifying PCI bus \/ device ids <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-09c6b28 elementor-widget elementor-widget-text-editor\" data-id=\"09c6b28\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Next we want to find out the PCI bus ids and device ids for the GPU and USB card that we want to passthrough:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-09a3aa3 elementor-widget elementor-widget-text-editor\" data-id=\"09a3aa3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>lspci -nnv\n<\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9727b82 elementor-widget elementor-widget-text-editor\" data-id=\"9727b82\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>This should print out a really long list of all the different devices in your computer. You need to look through this list and find your GPU and USB card. For example here&#8217;s my Nvidia card:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1ece24 elementor-widget elementor-widget-text-editor\" data-id=\"c1ece24\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>\n<pre><span style=\"color: #ff0000;\">35:00.0<\/span> VGA compatible controller [0300]: NVIDIA Corporation TU104 [GeForce RTX 2080 Rev. A] [<span style=\"color: #ff0000;\">10de:1e87<\/span>] \n(rev a1) (prog-if 00 [VGA controller])\nSubsystem: Micro-Star International Co., Ltd. \\[MSI\\] TU104 \\[GeForce RTX 2080 Rev. A\\] \\[1462:3728\\]\nFlags: fast devsel, IRQ 255\nMemory at dc000000 (32-bit, non-prefetchable) \\[size=16M\\]\nMemory at 90000000 (64-bit, prefetchable) \\[size=256M\\]\nMemory at a0000000 (64-bit, prefetchable) \\[size=32M\\]\nI\/O ports at e000 \\[size=128\\]\nExpansion ROM at dd000000 \\[disabled\\] \\[size=512K\\]\nCapabilities: \nKernel driver in use: vfio-pci\nKernel modules: nvidiafb, nouveau, nvidia\\_drm, nvidia\n\n<span style=\"color: #ff0000;\">35:00.1<\/span> Audio device [0403]: NVIDIA Corporation Device [<span style=\"color: #ff0000;\">10de:10f8<\/span>] (rev a1)\nSubsystem: Micro-Star International Co., Ltd. \\[MSI\\] Device \\[1462:3728\\]\nFlags: fast devsel, IRQ 255\nMemory at dd080000 (32-bit, non-prefetchable) \\[disabled\\] \\[size=16K\\]\nCapabilities: \nKernel driver in use: vfio-pci\nKernel modules: snd\\_hda\\_intel\n\n<span style=\"color: #ff0000;\">35:00.2<\/span> USB controller [0c03]: NVIDIA Corporation Device [<span style=\"color: #ff0000;\">10de:1ad8<\/span>] (rev a1) (prog-if 30 [XHCI])\nSubsystem: Micro-Star International Co., Ltd. \\[MSI\\] Device \\[1462:3728\\]\nFlags: fast devsel, IRQ 80\nMemory at a2000000 (64-bit, prefetchable) \\[size=256K\\]\nMemory at a2040000 (64-bit, prefetchable) \\[size=64K\\]\nCapabilities: \nKernel driver in use: xhci\\_hcd\n\n<span style=\"color: #ff0000;\">35:00.3<\/span> Serial bus controller [0c80]: NVIDIA Corporation Device [<span style=\"color: #ff0000;\">10de:1ad9<\/span>] (rev a1)\nSubsystem: Micro-Star International Co., Ltd. \\[MSI\\] Device \\[1462:3728\\]\nFlags: fast devsel, IRQ 255\nMemory at dd084000 (32-bit, non-prefetchable) \\[disabled\\] \\[size=4K\\]\nCapabilities: \nKernel driver in use: vfio-pci\nKernel modules: i2c\\_nvidia\\_gpu<\/pre>\n<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a21c2f3 elementor-widget elementor-widget-text-editor\" data-id=\"a21c2f3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>And here&#8217;s my USB card:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d133d74 elementor-widget elementor-widget-text-editor\" data-id=\"d133d74\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em><span style=\"color: #ff0000;\">2b:00.0<\/span> USB controller [0c03]: Fresco Logic FL1100 USB 3.0 Host Controller [<span style=\"color: #ff0000;\">1b73:1100<\/span>] (rev 10) (prog-if 30 [XHCI])\nSubsystem: Fresco Logic FL1100 USB 3.0 Host Controller [1b73:1100]\nFlags: fast devsel, IRQ 27\nMemory at eaa00000 (64-bit, non-prefetchable) [size=64K]\nMemory at eaa11000 (64-bit, non-prefetchable) [size=4K]\nMemory at eaa10000 (64-bit, non-prefetchable) [size=4K]\nCapabilities: \nKernel driver in use: vfio-pci\nKernel modules: xhci_pci\n<\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cdf7277 elementor-widget elementor-widget-text-editor\" data-id=\"cdf7277\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tAll the different devices that are related to the GPU are listed consecutively, and they will belong to the same group (in my example: 35:00). You can see from the list that my GPU card has been listed four times: VGA compatible controller (video), Audio device (as most cards can output audio through HDMI\/DisplayPort, so you will probably also have this one), USB controller (this might be a bit more rare as my Nvidia card has also an USB-C connector, so you might not have this entry), Serial bus controller. You should then write down the GPU&#8217;s PCI bus ids (35:00.0, 35:00.1, 35:00.2, 35:00.3), device ids (10de:1e87, 10de:10f8, 10de:1ad8, 10de:1ad9) and also what kind of device it is (VGA, Audio, USB and Serial Bus). For the device ids it is enough to write down only the ids that are listed on the title of each entry. For example I would write down on my VGA combatible controller only 10de:1e87 (don&#8217;t need the 1462:3728).\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a18e2ab elementor-widget elementor-widget-text-editor\" data-id=\"a18e2ab\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>For my USB card , I would write down PCI bus id 2b:00.0 and device id 1b73:1100.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-62a1018 elementor-widget elementor-widget-spacer\" data-id=\"62a1018\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-91d73ef elementor-widget elementor-widget-heading\" data-id=\"91d73ef\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Blacklisting your GPU and USB card<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4416c04 elementor-widget elementor-widget-text-editor\" data-id=\"4416c04\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Next we will blacklist our GPU that we want to passthrough to Windows. Before we blacklist the GPU, there&#8217;s few things you should know: The BIOS menu will still show up in the first GPU, but when Pop OS starts to load up, you will see video output only on the second GPU. Second thing is that you might not get any video output at all in PopOS, if the X Server fails to start, but don&#8217;t panic, we will fix that problem later. To blacklist our GPU and USB card, run the following command, but remember to replace with your own device ids:<\/p>\n<p><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-39fed59 elementor-widget elementor-widget-text-editor\" data-id=\"39fed59\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>sudo kernelstub --add-options \"vfio-pci.ids=10de:1e87, 10de:10f8, 10de:1ad8, 10de:1ad9, 1b73:1100\"\n<\/em><\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b991299 elementor-widget elementor-widget-text-editor\" data-id=\"b991299\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tAnd if you happen to make a mistake, for example if you put wrong device ids, you can delete the changes with the following command (for example if I would want to delete the above changes from my kernelstub, I would use the following command):\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d1b2bc5 elementor-widget elementor-widget-text-editor\" data-id=\"d1b2bc5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>sudo kernelstub --delete-options \"vfio-pci.ids=10de:1e87, 10de:10f8, 10de:1ad8, 10de:1ad9, 1b73:1100\"<\/em><\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7959739 elementor-widget elementor-widget-text-editor\" data-id=\"7959739\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Next we will run the following command (some certain Windows version require it):<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-086deb9 elementor-widget elementor-widget-text-editor\" data-id=\"086deb9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>sudo kernelstub --add-options \"kvm.ignore_msrs=1\"\n<\/em><\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a9d0b8c elementor-widget elementor-widget-text-editor\" data-id=\"a9d0b8c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Next we will disable the EFI\/VESA framebuffer when the PopOS is booting (as otherwise the Pop OS will reserve the first GPU card, and then the GPU passthrough might not work):<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c715c62 elementor-widget elementor-widget-text-editor\" data-id=\"c715c62\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>sudo kernelstub --add-options \"video=efifb:off\"\n<\/em><\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5687316 elementor-widget elementor-widget-text-editor\" data-id=\"5687316\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Last the step before rebooting, is to blacklist the Nvidia\/Nouveau drivers in PopOS, so the Nvidia drivers don&#8217;t try to initiliaze the GPU (and then the GPU passthrough would fail). Go to edit the following file (in my example I&#8217;m using Emacs to edit it):<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a611f80 elementor-widget elementor-widget-text-editor\" data-id=\"a611f80\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>sudo emacs \/etc\/modprobe.d\/blacklist.conf\n<\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b298f12 elementor-widget elementor-widget-text-editor\" data-id=\"b298f12\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Add the following lines to the end of the file:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-642b527 elementor-widget elementor-widget-text-editor\" data-id=\"642b527\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>blacklist nvidia\nblacklist nouveau\n<\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-971d137 elementor-widget elementor-widget-text-editor\" data-id=\"971d137\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Finally reboot your computer. After rebooting your computer you can run the &#8220;ls -nnv&#8221; command again, and now you should see on your GPU and USB card devices that have &#8220;Kernel driver in use&#8221; as &#8220;vfio-pci&#8221; (except for the USB-C port that&#8217;s on the Nvidia GPU, if you\u00a0 happen to have an USB-C port in your Nvidia GPU). For example for my VGA controller it would show the following:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-245320a elementor-widget elementor-widget-text-editor\" data-id=\"245320a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>35:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU104 [GeForce RTX 2080 Rev. A] [10de:1e87] \n(rev a1) (prog-if 00 [VGA controller])\nSubsystem: Micro-Star International Co., Ltd. \\[MSI\\] TU104 \\[GeForce RTX 2080 Rev. A\\] \\[1462:3728\\]\nFlags: fast devsel, IRQ 255\nMemory at dc000000 (32-bit, non-prefetchable) \\[size=16M\\]\nMemory at 90000000 (64-bit, prefetchable) \\[size=256M\\]\nMemory at a0000000 (64-bit, prefetchable) \\[size=32M\\]\nI\/O ports at e000 \\[size=128\\]\nExpansion ROM at dd000000 \\[disabled\\] \\[size=512K\\]\nCapabilities: \n<span style=\"color: #ff0000;\">Kernel driver in use: vfio-pci<\/span>\nKernel modules: nvidiafb, nouveau, nvidia\\_drm, nvidia<\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bb08890 elementor-widget elementor-widget-spacer\" data-id=\"bb08890\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4cf0495 elementor-widget elementor-widget-heading\" data-id=\"4cf0495\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Problems after rebooting<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5d6c8a1 elementor-widget elementor-widget-text-editor\" data-id=\"5d6c8a1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>If you didn&#8217;t have any problems after rebooting then you can skip this section. But if you have any problems after rebooting, like no video signal on your second GPU after PopOS has started to boot (no PopOS boot information and no login screen). Then you might need to have to edit your xorg.conf. If you encrypted your PopOS hard drive then after booting, wait a bit, and then input your encryption password blindly (even though you can&#8217;t see the input encryption screen). And then wait a bit again. And then try to SSH from another computer to your computer. Create xorg.conf.d folder under \/etc\/X11\/<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cf1ab91 elementor-widget elementor-widget-text-editor\" data-id=\"cf1ab91\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>sudo mkdir \/etc\/X11\/xorg.conf.d\n<\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bad6965 elementor-widget elementor-widget-text-editor\" data-id=\"bad6965\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Then create the 10-gpus.conf file to under that folder:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a0e6ec elementor-widget elementor-widget-text-editor\" data-id=\"4a0e6ec\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>sudo emacs \/etc\/X11\/xorg.conf.d\/10-gpus.conf\n<\/em><\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bd4d852 elementor-widget elementor-widget-text-editor\" data-id=\"bd4d852\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>And then add the following to the file (this applies to only AMD GPU):<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ccec847 elementor-widget elementor-widget-text-editor\" data-id=\"ccec847\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><pre><em># For AMD<br \/>Section \"Device\"<br \/>  Identifier \"AMD\"<br \/>  Driver \"amdgpu\"<br \/>EndSection<br \/><\/em><\/pre><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f9fa590 elementor-widget elementor-widget-text-editor\" data-id=\"f9fa590\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Then disconnect SSH and reboot your computer. Hopefully now you can see PopOS booting and the encryption\/login screen.<\/p><p>\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f0cd979 elementor-widget elementor-widget-text-editor\" data-id=\"f0cd979\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tBut if you can&#8217;t still see anything, then I would recommend to turn off the computer and then switch the GPUs&#8217; places (so put the AMD GPU to the first slot and then Nvidia GPU to the second slot). You should then able to boot normally and you can then try to backtrack, if you missed anything.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2a99171 elementor-widget elementor-widget-spacer\" data-id=\"2a99171\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-770a6b5 elementor-widget elementor-widget-heading\" data-id=\"770a6b5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Creating a virtual disk for the Windows VM<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-06b3456 elementor-widget elementor-widget-text-editor\" data-id=\"06b3456\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Now we will create a virtual disk for the Windows VM that will host our Windows VM install. There are different approaches for this (for example you could passthrough a whole NVMe SSD drive), but I have usually created just img-file. Maybe one advantage for this is that if you want to make a backup of the Windows install, then you just copy the img-file. Of course one disadvantage will be that the file size will be as big as the size of the virtual disk (even though you haven&#8217;t filled up your virtual disk). We can create a virtual disk with the following command. The 512G option means that the virtual disk will 512GB big. You can make the disk bigger or smaller as you want. The virtual disk can be made bigger later, if you find that you need more space (I will cover this one in a later post).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-67f9722 elementor-widget elementor-widget-text-editor\" data-id=\"67f9722\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>fallocate -l 512G win10.img\n<\/em><\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-32127f5 elementor-widget elementor-widget-spacer\" data-id=\"32127f5\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d6b4992 elementor-widget elementor-widget-heading\" data-id=\"d6b4992\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Download necessary files<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-80e7c65 elementor-widget elementor-widget-text-editor\" data-id=\"80e7c65\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Download Windows 10 installation ISO from Microsoft (<a href=\"https:\/\/www.microsoft.com\/software-download\/windows10ISO\">https:\/\/www.microsoft.com\/software-download\/windows10ISO<\/a>). Then download Virtio drivers for the virtual disk, as otherwise Windows installer won&#8217;t recognize the virtual disk. The Virtio drivers can be found at <a href=\"https:\/\/fedorapeople.org\/groups\/virt\/virtio-win\/direct-downloads\/\">https:\/\/fedorapeople.org\/groups\/virt\/virtio-win\/direct-downloads\/<\/a> (Download the stable-virtio version that has a version number on it and that ends with .iso). You can optionally download your GPU drivers and put them on a USB stick, if you prefer to install the GPU drivers without Windows automatic driver installation.<\/p><p>\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4f92fa2 elementor-widget elementor-widget-spacer\" data-id=\"4f92fa2\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a98116f elementor-widget elementor-widget-heading\" data-id=\"a98116f\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">(Optional) Download vBIOS<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-79187b0 elementor-widget elementor-widget-text-editor\" data-id=\"79187b0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThis is an optional step as in new Nvidia drivers for Windows there shouldn&#8217;t be any problems running consumer Nvidia GPUs under VM. But in older Nvidia drivers, Nvidia blocked running consumer GPUs under VMs. Basically after you installed Nvidia drivers in Windows, the drivers wouldn&#8217;t load after reboot and Windows&#8217; Device Manager would show Error 43 under the Nvidia GPU. You wouldn&#8217;t able to change resolution or use 3D accelaration. To counter the Error 43, we will provide a fresh copy of the GPU&#8217;s vBIOS. For example in my case as I will passthrough the GPU in the first PCI-e slot, when I start up my computer the BIOS will show up on Nvidia GPU (before the video output would move to my second GPU when the PopOS will start to load). At this point when the BIOS is loaded, the Nvidia GPU will be marked as initialized. But when I go to my VM side, and I start up my Windows VM, the Nvidia CPU would know that it has been initiliazed in another OS first (so it is running under a VM). And at this point the Nvidia drivers would block using the Nvidia GPU and not load the drivers.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c0db1f0 elementor-widget elementor-widget-text-editor\" data-id=\"c0db1f0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>This step doesn&#8217;t affect, if you use already new enough drivers (it will work with those too). But you can of course try first without doing this step and then come back if you encounter to the Error 43.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e8e7b1c elementor-widget elementor-widget-text-editor\" data-id=\"e8e7b1c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>To fix Error 43, we will first download a copy of the GPU&#8217;s vBIOS from <a href=\"https:\/\/www.techpowerup.com\/vgabios\/\">https:\/\/www.techpowerup.com\/vgabios\/<\/a>. Find the exact GPU model that you are using and download its vBIOS (you can&#8217;t use another manufacturer&#8217;s or another version of vBIOS, it needs to be the same manufacturer and exactly the same model otherwise it can be harmful to your GPU).\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1a8b9e elementor-widget elementor-widget-text-editor\" data-id=\"c1a8b9e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Then we create vgabios folder under usr\/share folder (because usr\/share folder is accessible for Qemu, for example if we put the vBIOS under our own home directory PopOS&#8217; AppArmor security might block access to it):<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1221c8 elementor-widget elementor-widget-text-editor\" data-id=\"c1221c8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>sudo mkdir \/usr\/share\/vgabios\n<\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3daa7d7 elementor-widget elementor-widget-text-editor\" data-id=\"3daa7d7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Then we just go to the folder that has our donwloaded vBIOS and move it to the vgabios folder (for example my ROM-file is named MSI):<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3bc0f2b elementor-widget elementor-widget-text-editor\" data-id=\"3bc0f2b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>sudo cp MSI.rom \/usr\/share\/vgabios\/MSI.rom\n<\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c88744a elementor-widget elementor-widget-text-editor\" data-id=\"c88744a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We will add this vBIOS file later to the VM settings, when we get to that point.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1fe4091 elementor-widget elementor-widget-spacer\" data-id=\"1fe4091\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-75aee77 elementor-widget elementor-widget-heading\" data-id=\"75aee77\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Creating the VM in Virtio<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5b712a1 elementor-widget elementor-widget-text-editor\" data-id=\"5b712a1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>After all the pre-configurations we are ready to create the VM in Virtio. Launch Virt-manager. And select File -&gt; New Virtual Machine<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-be4a891 elementor-widget elementor-widget-image\" data-id=\"be4a891\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"570\" height=\"605\" src=\"https:\/\/www.codefraction.com\/wp-content\/uploads\/2021\/06\/Step-1.png\" class=\"attachment-large size-large wp-image-624\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5c7686b elementor-widget elementor-widget-text-editor\" data-id=\"5c7686b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>From the new window select &#8220;Local install media (ISO image or CDROM&#8221;).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-19ec2dd elementor-widget elementor-widget-image\" data-id=\"19ec2dd\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"502\" height=\"539\" src=\"https:\/\/www.codefraction.com\/wp-content\/uploads\/2021\/07\/Step2a.png\" class=\"attachment-large size-large wp-image-700\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-58bf911 elementor-widget elementor-widget-text-editor\" data-id=\"58bf911\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In the next window click &#8220;Browse&#8221;, then &#8220;Browse Local&#8221;, and then select the Windows installer ISO that you downloaded previously.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-78a0f71 elementor-widget elementor-widget-image\" data-id=\"78a0f71\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"502\" height=\"539\" src=\"https:\/\/www.codefraction.com\/wp-content\/uploads\/2021\/06\/Step2.png\" class=\"attachment-large size-large wp-image-628\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4506d48 elementor-widget elementor-widget-text-editor\" data-id=\"4506d48\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Next you can choose how much memory and CPUs (threads), you want to assign to your VM. Leave some threads and memory to Pop OS (don&#8217;t assign everything to Windows). For example I used 24 threads (so 12 cores) and 49152MiB.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-305080e elementor-widget elementor-widget-image\" data-id=\"305080e\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"502\" height=\"539\" src=\"https:\/\/www.codefraction.com\/wp-content\/uploads\/2021\/06\/Step3.png\" class=\"attachment-large size-large wp-image-629\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c89a531 elementor-widget elementor-widget-text-editor\" data-id=\"c89a531\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Next we will assign the virtual disk where Windows will be installed that we created before hand. Select &#8220;Select or create custom storage&#8221; option, and then click &#8220;Manage&#8221;, then &#8220;Browse Local&#8221;, and then find your virtual disk.\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8c189d8 elementor-widget elementor-widget-image\" data-id=\"8c189d8\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"502\" height=\"539\" src=\"https:\/\/www.codefraction.com\/wp-content\/uploads\/2021\/06\/Step4.png\" class=\"attachment-large size-large wp-image-630\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6e6badd elementor-widget elementor-widget-text-editor\" data-id=\"6e6badd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In the next window enable the &#8220;<span style=\"color: #ff0000;\">Customize configuration before install<\/span>&#8221; option and hit Finish.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-85741dc elementor-widget elementor-widget-image\" data-id=\"85741dc\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"502\" height=\"539\" src=\"https:\/\/www.codefraction.com\/wp-content\/uploads\/2021\/07\/Step5.png\" class=\"attachment-large size-large wp-image-713\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-599dcab elementor-widget elementor-widget-text-editor\" data-id=\"599dcab\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Now we will add the Virtio ISO that we downloaded previously. Click &#8220;Add Hardware&#8221;.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-46e5f0c elementor-widget elementor-widget-image\" data-id=\"46e5f0c\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"580\" height=\"435\" src=\"https:\/\/www.codefraction.com\/wp-content\/uploads\/2021\/06\/Step6.png\" class=\"attachment-large size-large wp-image-638\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fba4bb4 elementor-widget elementor-widget-text-editor\" data-id=\"fba4bb4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Choose &#8220;Storage&#8221;, and then as &#8220;Device Type&#8221; &#8220;CDROM device&#8221; and &#8220;Bus Type&#8221; as&#8221;SATA&#8221;. Click the &#8220;Manage&#8221;, and then &#8220;Browse Local&#8221;, and find the location where the Virtio ISO is.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-be9c691 elementor-widget elementor-widget-image\" data-id=\"be9c691\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"520\" height=\"631\" src=\"https:\/\/www.codefraction.com\/wp-content\/uploads\/2021\/06\/Step7.png\" class=\"attachment-large size-large wp-image-639\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7cfc9d4 elementor-widget elementor-widget-text-editor\" data-id=\"7cfc9d4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Next we will add the GPU devices and the USB card that we want to passthrough. At the beginning of this guide we wrote down the PCI bus ids of the GPU and USB card. Click the &#8220;Add Hardware&#8221; again, then select &#8220;PCI Host Device&#8221;, and select the PCI bus id that you had written down before. And repeat this until you have added all the devices that you want to passthrough.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3890338 elementor-widget elementor-widget-image\" data-id=\"3890338\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"580\" height=\"502\" src=\"https:\/\/www.codefraction.com\/wp-content\/uploads\/2021\/06\/Step8.png\" class=\"attachment-large size-large wp-image-640\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0f54639 elementor-widget elementor-widget-text-editor\" data-id=\"0f54639\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>(Optional step) Depending on the Nvidia drivers, you might encounter Error 43 inside Windows. To avoid this we will give a fresh copy of CPU&#8217;s vBios that we downloaed earlierly to the VM. Select your VGA controller (in my case it&#8217;s the 0000:32:00:0). And go to the XML-tab and add the line &#8220;&lt;rom bar=&#8221;on&#8221; file=&#8221;\/usr\/share\/vgabios\/MSI.rom&#8221;\/&gt;&#8221;. And click Apply. You don&#8217;t need to add the vBios to other deviced related to your GPU.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6369164 elementor-widget elementor-widget-image\" data-id=\"6369164\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"580\" height=\"435\" src=\"https:\/\/www.codefraction.com\/wp-content\/uploads\/2021\/06\/Step9.png\" class=\"attachment-large size-large wp-image-641\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9a3946e elementor-widget elementor-widget-spacer\" data-id=\"9a3946e\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8dc5f1c elementor-widget elementor-widget-spacer\" data-id=\"8dc5f1c\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c56565 elementor-widget elementor-widget-heading\" data-id=\"4c56565\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Installing Windows<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5f77cb8 elementor-widget elementor-widget-text-editor\" data-id=\"5f77cb8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tFinally we are ready to start the VM. Optionally if you prefer to Windows not automatically install your GPU drivers, but install the drivers yourself, then you should now disable your network connection. Now we click the Run button to start the VM. And then the Monitor button to open the monitor tab. Because we don&#8217;t yet have any drivers, you might not get any video output through your GPU at this point. But don&#8217;t panic, we can see video output inside the monitor tab (of course this won&#8217;t be GPU accelerated, but this shouldn&#8217;t matter for the intallation process).\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2a81cb5 elementor-widget elementor-widget-image\" data-id=\"2a81cb5\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"580\" height=\"435\" src=\"https:\/\/www.codefraction.com\/wp-content\/uploads\/2021\/07\/Step10.png\" class=\"attachment-large size-large wp-image-714\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cb81089 elementor-widget elementor-widget-text-editor\" data-id=\"cb81089\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>During the Windows installation you might notice that Windows can&#8217;t find a disk to install the OS. This is because we need to load the Virtio drivers that we donwloaded earlierly. Click &#8220;Load driver&#8221; and point to the Virtio disc. The drivers should be inside the &#8220;amd64\/w10&#8221; folder. Now you should able to continue with the installation.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ec485da elementor-widget elementor-widget-text-editor\" data-id=\"ec485da\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>After Windows has finished installing, we can install the Nvidia drivers. Depending if you disabled your network connection, then you need to insert the USB stick with the GPU drivers and install from there. Or if you didn&#8217;t disable your network connection, then Windows should automatically recognize your GPU and install the correct drivers. After the drivers have finished installing, you should able to extend the desktop to the monitor that is connected to your GPU. You can disable the &#8220;virtual monitor&#8221; from Windows&#8217; monitor settings. Or you can even delete the Spice Server\/Screen in your VM settings to completely disable the &#8220;virtual monitor&#8221;.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-17ce64f elementor-widget elementor-widget-text-editor\" data-id=\"17ce64f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Now you should have a Windows VM up and running! I hope that this guide has been helpful. If you notice that there&#8217;s some errors in the guide, or if you have encountered any problems, please leave a comment. I posted some problems that I have encountered myself below.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d39a525 elementor-widget elementor-widget-spacer\" data-id=\"d39a525\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7af341e elementor-widget elementor-widget-heading\" data-id=\"7af341e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Problems:<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-65408c1 elementor-widget elementor-widget-spacer\" data-id=\"65408c1\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3211ce6 elementor-widget elementor-widget-heading\" data-id=\"3211ce6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Slow upload speed with Dropbox<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2f70ea2 elementor-widget elementor-widget-text-editor\" data-id=\"2f70ea2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>I noticed that some times I had really slow upload speeds in Dropbox some times for some reason. I haven&#8217;t yet found a reason why this happens when I use the shared ethernet connection. Currently I have passthrough the second Ethernet connection to the VM (as my motherboard has two Ethernet ports). And I haven&#8217;t noticed any slow down anymore. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e5d6682 elementor-widget elementor-widget-spacer\" data-id=\"e5d6682\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d5bd054 elementor-widget elementor-widget-heading\" data-id=\"d5bd054\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">VM not starting up<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-03b5bd0 elementor-widget elementor-widget-text-editor\" data-id=\"03b5bd0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>If for some reason, your VM doesn&#8217;t start, for example you get an error, but the error message isn&#8217;t that clear what&#8217;s the problem, then you can try to see Qemu&#8217;s log file (replace the &#8220;win10&#8221; with the name that you gave to your VM in Virt-manager):<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c32db48 elementor-widget elementor-widget-text-editor\" data-id=\"c32db48\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>sudo emacs \/var\/log\/libvirt\/qemu\/win10.log\n<\/em><\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b9f6716 elementor-widget elementor-widget-spacer\" data-id=\"b9f6716\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-05522f4 elementor-widget elementor-widget-heading\" data-id=\"05522f4\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">How to check what you have added to your kernelstub<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4174d68 elementor-widget elementor-widget-text-editor\" data-id=\"4174d68\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>If you want to check what you have added to your kernelstub, for example you have some problems with the VM and you want to double check, if everything is correct in the kernelstub. Or if you bought a new GPU, and you want to remove the old one, but you don&#8217;t remeber exactly what you have added to the kernelstub. You can quickly check with the following command: <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-069282e elementor-widget elementor-widget-text-editor\" data-id=\"069282e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>cat \/proc\/cmdline\n<\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-98c7fac elementor-widget elementor-widget-text-editor\" data-id=\"98c7fac\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>For example I get the following output (remember not to remove the initrd or root, as they relate which hard drive to use to boot your Pop OS):<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fedca98 elementor-widget elementor-widget-text-editor\" data-id=\"fedca98\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>initrd=\\EFI\\Pop_OS-********-****-****-****-************\\initrd.img root=UUID=********-****-****-****-************<\/em><em> ro kvm.ignore_msrs=1 amd_iommu=on amd_iommu=pt video=efifb:off vfio-pci.ids=10de:1e87,10de:10f8,10de:1ad8,10de:1ad9,1b73:1100<\/em><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dab1485 elementor-widget elementor-widget-spacer\" data-id=\"dab1485\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eb7a5c9 elementor-widget elementor-widget-heading\" data-id=\"eb7a5c9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Ignored rdmsr problem when booting PopOS<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-49dc0e5 elementor-widget elementor-widget-text-editor\" data-id=\"49dc0e5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>If you are booting your PopOS, but the bootup fails, and you get a black screen, and the following error message (the number values might be different for you):<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5f04768 elementor-widget elementor-widget-text-editor\" data-id=\"5f04768\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<pre><em>[27.508658] kvm [2055]: ignored rdmsr: 0x48b data 0x0\n<\/em><\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6acf513 elementor-widget elementor-widget-text-editor\" data-id=\"6acf513\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>This might be that the IOMMU and SR-IOV settings in your motherboard&#8217;s BIOS have been disabled (because of a BIOS reset). This might happen if you have updated your motherboard&#8217;s BIOS. Or for example if there has been some electric blackout during at the same time as you were using your computer and the computer then has shutdown incorrectly and caused a BIOS reset. So you should then check your BIOS settings that the IOMMU and SR-IOV are enabled (and that other settings are also correct).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9dfeec9 elementor-widget elementor-widget-spacer\" data-id=\"9dfeec9\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-01a66fd elementor-widget elementor-widget-heading\" data-id=\"01a66fd\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Updates<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-63e976d elementor-widget elementor-widget-text-editor\" data-id=\"63e976d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>-21. November 2021 added ignored rdmsr problem<br><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-98c0ff6 elementor-widget elementor-widget-spacer\" data-id=\"98c0ff6\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0383cfa elementor-widget elementor-widget-heading\" data-id=\"0383cfa\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Useful links and sources:<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bef651b elementor-widget elementor-widget-text-editor\" data-id=\"bef651b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Few useful guides from Mathias Hueber that have helped me a lot:<\/p><p><a href=\"https:\/\/mathiashueber.com\/pci-passthrough-ubuntu-2004-virtual-machine\/\">https:\/\/mathiashueber.com\/pci-passthrough-ubuntu-2004-virtual-machine\/<\/a><\/p><p><a href=\"https:\/\/mathiashueber.com\/windows-virtual-machine-gpu-passthrough-ubuntu\/\">https:\/\/mathiashueber.com\/windows-virtual-machine-gpu-passthrough-ubuntu\/<\/a><\/p><p>\u00a0<\/p><p>Level1Techs have really good forums about VMs:<\/p><p><a href=\"https:\/\/forum.level1techs.com\/c\/software\/vfio\/132\">https:\/\/forum.level1techs.com\/c\/software\/vfio\/132<\/a><\/p><p>\u00a0<\/p><p>Discussion about vBIOS and Pop OS&#8217; AppArmor:<\/p><p><a href=\"https:\/\/askubuntu.com\/questions\/985854\/gpu-passthrough-problem-on-adding-dumped-rom\">https:\/\/askubuntu.com\/questions\/985854\/gpu-passthrough-problem-on-adding-dumped-rom<\/a><\/p><p>\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c24402 elementor-widget elementor-widget-spacer\" data-id=\"1c24402\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>In this guide I will go through how I got Windows 10 to run on a virtual machine under PopOS 20.04 with GPU passthrough. I will passthrough a Nvidia RTX 2080 GPU on the first PCI-e slot of the motherboard to Windows 10. Here's the whole specs of my system: AMD Ryzen 3950X (later updated [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[18,15,19,17,14],"class_list":["post-523","post","type-post","status-publish","format-standard","hentry","category-virtual-machine","tag-gpu-passthrough","tag-pop-os","tag-vfio","tag-virtual-machine","tag-windows-10"],"_links":{"self":[{"href":"https:\/\/www.codefraction.com\/index.php\/wp-json\/wp\/v2\/posts\/523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codefraction.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codefraction.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codefraction.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codefraction.com\/index.php\/wp-json\/wp\/v2\/comments?post=523"}],"version-history":[{"count":277,"href":"https:\/\/www.codefraction.com\/index.php\/wp-json\/wp\/v2\/posts\/523\/revisions"}],"predecessor-version":[{"id":1177,"href":"https:\/\/www.codefraction.com\/index.php\/wp-json\/wp\/v2\/posts\/523\/revisions\/1177"}],"wp:attachment":[{"href":"https:\/\/www.codefraction.com\/index.php\/wp-json\/wp\/v2\/media?parent=523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codefraction.com\/index.php\/wp-json\/wp\/v2\/categories?post=523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codefraction.com\/index.php\/wp-json\/wp\/v2\/tags?post=523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}