From b45368cbdf93576ae221dfa72c6a5e4301b416e3 Mon Sep 17 00:00:00 2001 From: UmmIt Date: Sun, 1 Dec 2024 16:50:21 +0800 Subject: [PATCH] Deploy website - based on 26592fc2b5232655f58eb1246ac301a98c578e46 --- 404.html | 8 +- CNAME | 1 - assets/js/0058b4c6.37cf89de.js | 1 + assets/js/0e384e19.686f4658.js | 1 - assets/js/0e384e19.bc5d8f62.js | 1 + assets/js/20aab5b5.85242405.js | 1 - assets/js/2424ea14.fbb6d915.js | 1 + assets/js/393be207.89956143.js | 1 + assets/js/393be207.8ef620a3.js | 1 - assets/js/44191dd7.1285663d.js | 1 - assets/js/44191dd7.ead0d836.js | 1 + assets/js/4c69877e.1a80e43e.js | 1 - assets/js/4c69877e.23006bc9.js | 1 + assets/js/4e74f26b.4813a073.js | 1 - assets/js/4e74f26b.5cbcd6e8.js | 1 + assets/js/57f0c23e.4e94f258.js | 1 + assets/js/57f0c23e.e4a37fc9.js | 1 - assets/js/63a3ead2.119c1de5.js | 1 + assets/js/63a3ead2.d4f28d91.js | 1 - assets/js/68ec3be2.b3c04dd9.js | 1 - assets/js/6a1dee16.b915eb63.js | 1 + assets/js/6a1dee16.f085b9a4.js | 1 - assets/js/6bb166bd.623aa8ba.js | 1 + assets/js/7b1264a8.3c6835e6.js | 1 + assets/js/7b1264a8.d5f1a142.js | 1 - assets/js/7f3cffad.955ed218.js | 1 + assets/js/7f3cffad.cdd6caad.js | 1 - assets/js/cd5453fa.66457f3c.js | 1 - assets/js/cd5453fa.db75c801.js | 1 + assets/js/ce29ed2b.0e86ac6a.js | 1 - assets/js/ce29ed2b.347273aa.js | 1 + assets/js/d528e438.6eeb6d52.js | 1 + assets/js/d528e438.838c2f9b.js | 1 - assets/js/dff1c289.3c48ce99.js | 1 - assets/js/dff1c289.ac7024c6.js | 1 + assets/js/e44a2883.64853d0c.js | 1 - assets/js/e44a2883.877367ee.js | 1 + assets/js/e9c04861.ac9e574e.js | 1 - assets/js/e9c04861.baa27456.js | 1 + assets/js/ed285987.07eda72f.js | 1 + assets/js/ed285987.62f325e5.js | 1 - assets/js/effe9807.578fb60b.js | 1 - assets/js/effe9807.932f6214.js | 1 + assets/js/fffd43af.1ee43d13.js | 1 - assets/js/main.a9c58109.js | 2 + ...CENSE.txt => main.a9c58109.js.LICENSE.txt} | 0 assets/js/main.e7a003e0.js | 2 - assets/js/runtime~main.34e1acfc.js | 1 + assets/js/runtime~main.525d3803.js | 1 - .../index.html | 8 +- docs/category/tutorial---extras/index.html | 8 +- .../dual-gpu-passthru-desktop/BIOS/index.html | 10 +- .../Bootloader-enable-distro/index.html | 10 +- docs/dual-gpu-passthru-desktop/CPU/index.html | 10 +- .../Configuring-Libvirt/index.html | 10 +- .../Download-OS/index.html | 10 +- docs/dual-gpu-passthru-desktop/GPU/index.html | 10 +- .../Install-require-packages/index.html | 10 +- .../InstallOS-GNU-Linux/index.html | 34 ++--- .../InstallOS-win10/index.html | 132 +++++++++--------- .../InstallOS-win11/index.html | 130 ++++++++--------- .../Optional-device/index.html | 10 +- .../Passthrough-GPU/index.html | 10 +- docs/dual-gpu-passthru-desktop/index.html | 10 +- .../motherboard/index.html | 10 +- docs/intro/index.html | 10 +- .../manage-docs-versions/index.html | 12 +- .../translate-your-site/index.html | 12 +- index.html | 8 +- markdown-page/index.html | 8 +- sitemap.xml | 2 +- 71 files changed, 265 insertions(+), 266 deletions(-) delete mode 100644 CNAME create mode 100644 assets/js/0058b4c6.37cf89de.js delete mode 100644 assets/js/0e384e19.686f4658.js create mode 100644 assets/js/0e384e19.bc5d8f62.js delete mode 100644 assets/js/20aab5b5.85242405.js create mode 100644 assets/js/2424ea14.fbb6d915.js create mode 100644 assets/js/393be207.89956143.js delete mode 100644 assets/js/393be207.8ef620a3.js delete mode 100644 assets/js/44191dd7.1285663d.js create mode 100644 assets/js/44191dd7.ead0d836.js delete mode 100644 assets/js/4c69877e.1a80e43e.js create mode 100644 assets/js/4c69877e.23006bc9.js delete mode 100644 assets/js/4e74f26b.4813a073.js create mode 100644 assets/js/4e74f26b.5cbcd6e8.js create mode 100644 assets/js/57f0c23e.4e94f258.js delete mode 100644 assets/js/57f0c23e.e4a37fc9.js create mode 100644 assets/js/63a3ead2.119c1de5.js delete mode 100644 assets/js/63a3ead2.d4f28d91.js delete mode 100644 assets/js/68ec3be2.b3c04dd9.js create mode 100644 assets/js/6a1dee16.b915eb63.js delete mode 100644 assets/js/6a1dee16.f085b9a4.js create mode 100644 assets/js/6bb166bd.623aa8ba.js create mode 100644 assets/js/7b1264a8.3c6835e6.js delete mode 100644 assets/js/7b1264a8.d5f1a142.js create mode 100644 assets/js/7f3cffad.955ed218.js delete mode 100644 assets/js/7f3cffad.cdd6caad.js delete mode 100644 assets/js/cd5453fa.66457f3c.js create mode 100644 assets/js/cd5453fa.db75c801.js delete mode 100644 assets/js/ce29ed2b.0e86ac6a.js create mode 100644 assets/js/ce29ed2b.347273aa.js create mode 100644 assets/js/d528e438.6eeb6d52.js delete mode 100644 assets/js/d528e438.838c2f9b.js delete mode 100644 assets/js/dff1c289.3c48ce99.js create mode 100644 assets/js/dff1c289.ac7024c6.js delete mode 100644 assets/js/e44a2883.64853d0c.js create mode 100644 assets/js/e44a2883.877367ee.js delete mode 100644 assets/js/e9c04861.ac9e574e.js create mode 100644 assets/js/e9c04861.baa27456.js create mode 100644 assets/js/ed285987.07eda72f.js delete mode 100644 assets/js/ed285987.62f325e5.js delete mode 100644 assets/js/effe9807.578fb60b.js create mode 100644 assets/js/effe9807.932f6214.js delete mode 100644 assets/js/fffd43af.1ee43d13.js create mode 100644 assets/js/main.a9c58109.js rename assets/js/{main.e7a003e0.js.LICENSE.txt => main.a9c58109.js.LICENSE.txt} (100%) delete mode 100644 assets/js/main.e7a003e0.js create mode 100644 assets/js/runtime~main.34e1acfc.js delete mode 100644 assets/js/runtime~main.525d3803.js diff --git a/404.html b/404.html index 5cbe57e..d02877b 100644 --- a/404.html +++ b/404.html @@ -3,11 +3,11 @@ -Page Not Found | gpu.passthru.info - - +Page Not Found | gpu.passthru.info + + -
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

\ No newline at end of file diff --git a/CNAME b/CNAME deleted file mode 100644 index 9504fb9..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -gpu-passthru.ummit.dev \ No newline at end of file diff --git a/assets/js/0058b4c6.37cf89de.js b/assets/js/0058b4c6.37cf89de.js new file mode 100644 index 0000000..27dce4e --- /dev/null +++ b/assets/js/0058b4c6.37cf89de.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[849],{6164:t=>{t.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Dual GPU-Passthrough (Dekstop user)","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Introduction","href":"/docs/dual-gpu-passthru-desktop/","docId":"dual-gpu-passthru-desktop/index","unlisted":false},{"type":"link","label":"How to Buy a CPU","href":"/docs/dual-gpu-passthru-desktop/CPU","docId":"dual-gpu-passthru-desktop/CPU","unlisted":false},{"type":"link","label":"How to Buy a Motherboard","href":"/docs/dual-gpu-passthru-desktop/motherboard","docId":"dual-gpu-passthru-desktop/motherboard","unlisted":false},{"type":"link","label":"How to Buy a GPU","href":"/docs/dual-gpu-passthru-desktop/GPU","docId":"dual-gpu-passthru-desktop/GPU","unlisted":false},{"type":"link","label":"Optional Devices","href":"/docs/dual-gpu-passthru-desktop/Optional-device","docId":"dual-gpu-passthru-desktop/Optional-device","unlisted":false},{"type":"link","label":"Enabling Virtualization in BIOS","href":"/docs/dual-gpu-passthru-desktop/BIOS","docId":"dual-gpu-passthru-desktop/BIOS","unlisted":false},{"type":"link","label":"Edit Bootloader Configuration","href":"/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro","docId":"dual-gpu-passthru-desktop/Bootloader-enable-distro","unlisted":false},{"type":"link","label":"Passthrough the GPU!","href":"/docs/dual-gpu-passthru-desktop/Passthrough-GPU","docId":"dual-gpu-passthru-desktop/Passthrough-GPU","unlisted":false},{"type":"link","label":"Installing require Packages","href":"/docs/dual-gpu-passthru-desktop/Install-require-packages","docId":"dual-gpu-passthru-desktop/Install-require-packages","unlisted":false},{"type":"link","label":"Configuring Libvirt","href":"/docs/dual-gpu-passthru-desktop/Configuring-Libvirt","docId":"dual-gpu-passthru-desktop/Configuring-Libvirt","unlisted":false},{"type":"link","label":"Downloading the Operating System","href":"/docs/dual-gpu-passthru-desktop/Download-OS","docId":"dual-gpu-passthru-desktop/Download-OS","unlisted":false},{"type":"link","label":"Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps","href":"/docs/dual-gpu-passthru-desktop/InstallOS-win10","docId":"dual-gpu-passthru-desktop/InstallOS-win10","unlisted":false},{"type":"link","label":"Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps","href":"/docs/dual-gpu-passthru-desktop/InstallOS-win11","docId":"dual-gpu-passthru-desktop/InstallOS-win11","unlisted":false},{"type":"link","label":"Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps","href":"/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux","docId":"dual-gpu-passthru-desktop/InstallOS-GNU-Linux","unlisted":false}],"href":"/docs/category/dual-gpu-passthrough-dekstop-user"},{"type":"category","label":"Tutorial - Extras","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manage Docs Versions","href":"/docs/tutorial-extras/manage-docs-versions","docId":"tutorial-extras/manage-docs-versions","unlisted":false},{"type":"link","label":"Translate your site","href":"/docs/tutorial-extras/translate-your-site","docId":"tutorial-extras/translate-your-site","unlisted":false}],"href":"/docs/category/tutorial---extras"}]},"docs":{"dual-gpu-passthru-desktop/BIOS":{"id":"dual-gpu-passthru-desktop/BIOS","title":"Enabling Virtualization in BIOS","description":"Let\'s say You\'ve got your PC all set up and running\u2014now.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/Bootloader-enable-distro":{"id":"dual-gpu-passthru-desktop/Bootloader-enable-distro","title":"Edit Bootloader Configuration","description":"If your arch is ready to go, it\'s time to dive into bootloader configuration. To fine-tune your bootloader settings, let\u2019s customize them based on your CPU type:","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/Configuring-Libvirt":{"id":"dual-gpu-passthru-desktop/Configuring-Libvirt","title":"Configuring Libvirt","description":"Now that we\'ve got the packages installed, you might notice that when you try to open virt-manager, it asks for the root password. To smooth things out, we\'ll need to configuring libvirt, qemu, and virt-manager for adjust permissions so everything runs more seamlessly.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/CPU":{"id":"dual-gpu-passthru-desktop/CPU","title":"How to Buy a CPU","description":"To enable GPU passthrough, you need a CPU that supports virtualization. Without this capability, your system won\u2019t be able to run GPU passthrough effectively. Here\u2019s how to choose the right CPU.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/Download-OS":{"id":"dual-gpu-passthru-desktop/Download-OS","title":"Downloading the Operating System","description":"This section cover how to download both Windows 10/11 and the Virtio ISO.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/GPU":{"id":"dual-gpu-passthru-desktop/GPU","title":"How to Buy a GPU","description":"Choosing a GPU is straightforward, but there are a few considerations based on your needs.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/index":{"id":"dual-gpu-passthru-desktop/index","title":"Introduction","description":"This section is part of the Dual GPU-Passthrough, which means also is the most expensive and best setup.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/Install-require-packages":{"id":"dual-gpu-passthru-desktop/Install-require-packages","title":"Installing require Packages","description":"Alright, let\'s installing the essential packages. Each of these plays a key role in getting virtualization up and running smoothly.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/InstallOS-GNU-Linux":{"id":"dual-gpu-passthru-desktop/InstallOS-GNU-Linux","title":"Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps","description":"Setting up passthrough on GNU/Linux is a breeze. You won\'t need extra drivers like VirtIO because GNU/Linux has what you need built right in. This makes the setup smoother and simpler.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/InstallOS-win10":{"id":"dual-gpu-passthru-desktop/InstallOS-win10","title":"Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps","description":"Well done! You\u2019re almost there. The last crucial steps for setting up your Windows 10 virtual machine.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/InstallOS-win11":{"id":"dual-gpu-passthru-desktop/InstallOS-win11","title":"Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps","description":"This guide will walk you through the steps needed to set up a Windows 11 virtual machine on QEMU/KVM. It includes installing necessary packages, configuring the virtual machine, and handling installation steps.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/motherboard":{"id":"dual-gpu-passthru-desktop/motherboard","title":"How to Buy a Motherboard","description":"The motherboard is crucial for GPU passthrough. Make sure it supports virtualization technology.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/Optional-device":{"id":"dual-gpu-passthru-desktop/Optional-device","title":"Optional Devices","description":"Choose the mouse, keyboard, and monitors that best suit your preferences. These devices enhance your overall experience, as mentioned earlier.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/Passthrough-GPU":{"id":"dual-gpu-passthru-desktop/Passthrough-GPU","title":"Passthrough the GPU!","description":"Let passthrough our second GPU now, run the following command in your terminal:","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Introduction","description":"Hi, welcome to our website! Here, you\'ll find everything you need to know about GPU passthrough.","sidebar":"tutorialSidebar"},"tutorial-extras/manage-docs-versions":{"id":"tutorial-extras/manage-docs-versions","title":"Manage Docs Versions","description":"Docusaurus can manage multiple versions of your docs.","sidebar":"tutorialSidebar"},"tutorial-extras/translate-your-site":{"id":"tutorial-extras/translate-your-site","title":"Translate your site","description":"Let\'s translate docs/intro.md to French.","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/0e384e19.686f4658.js b/assets/js/0e384e19.686f4658.js deleted file mode 100644 index 294929f..0000000 --- a/assets/js/0e384e19.686f4658.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[976],{2053:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"intro","title":"Introduction","description":"Hi, welcome to our website! Here, you\'ll find everything you need to know about GPU passthrough.","source":"@site/docs/intro.md","sourceDirName":".","slug":"/intro","permalink":"/gpu.passthru.info/docs/intro","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/intro.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","next":{"title":"Dual GPU-Passthrough (Dekstop user)","permalink":"/gpu.passthru.info/docs/category/dual-gpu-passthrough-dekstop-user"}}');var o=n(4848),i=n(8453);const r={sidebar_position:1},a="Introduction",u={},l=[{value:"So, what exactly is GPU passthrough?",id:"so-what-exactly-is-gpu-passthrough",level:2},{value:"Why? It sounds stupid.",id:"why-it-sounds-stupid",level:2}];function c(t){const e={blockquote:"blockquote",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.header,{children:(0,o.jsx)(e.h1,{id:"introduction",children:"Introduction"})}),"\n",(0,o.jsx)(e.p,{children:"Hi, welcome to our website! Here, you'll find everything you need to know about GPU passthrough."}),"\n",(0,o.jsx)(e.h2,{id:"so-what-exactly-is-gpu-passthrough",children:"So, what exactly is GPU passthrough?"}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"In short, GPU passthrough lets you pass your real GPU into a virtual machine."})}),"\n"]}),"\n",(0,o.jsx)(e.p,{children:"Not a virtual GPU. This means the virtual machine gets direct access to the physical GPU.\nPlay games or run applications within that virtual machine."}),"\n",(0,o.jsx)(e.h2,{id:"why-it-sounds-stupid",children:"Why? It sounds stupid."}),"\n",(0,o.jsx)(e.p,{children:"I always got a similar question. Here are some answers:"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsx)(e.li,{children:"It's more secure and you don't need to install an OS on your computer. Everything runs in the virtual machine."}),"\n",(0,o.jsx)(e.li,{children:"You don't want to have two operating systems on your computer because it takes up space."}),"\n",(0,o.jsx)(e.li,{children:"You hate Windows and some software on Windows is more stable than on GNU/Linux. (like DaVinci Resolve)"}),"\n",(0,o.jsx)(e.li,{children:"You're doing some production testing and need a GPU environment to install another GNU/Linux distro."}),"\n"]})]})}function h(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(c,{...t})}):c(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>r,x:()=>a});var s=n(6540);const o={},i=s.createContext(o);function r(t){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:r(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/0e384e19.bc5d8f62.js b/assets/js/0e384e19.bc5d8f62.js new file mode 100644 index 0000000..5193c44 --- /dev/null +++ b/assets/js/0e384e19.bc5d8f62.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[976],{2053:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"intro","title":"Introduction","description":"Hi, welcome to our website! Here, you\'ll find everything you need to know about GPU passthrough.","source":"@site/docs/intro.md","sourceDirName":".","slug":"/intro","permalink":"/docs/intro","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/intro.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","next":{"title":"Dual GPU-Passthrough (Dekstop user)","permalink":"/docs/category/dual-gpu-passthrough-dekstop-user"}}');var o=n(4848),i=n(8453);const r={sidebar_position:1},a="Introduction",u={},l=[{value:"So, what exactly is GPU passthrough?",id:"so-what-exactly-is-gpu-passthrough",level:2},{value:"Why? It sounds stupid.",id:"why-it-sounds-stupid",level:2}];function c(t){const e={blockquote:"blockquote",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.header,{children:(0,o.jsx)(e.h1,{id:"introduction",children:"Introduction"})}),"\n",(0,o.jsx)(e.p,{children:"Hi, welcome to our website! Here, you'll find everything you need to know about GPU passthrough."}),"\n",(0,o.jsx)(e.h2,{id:"so-what-exactly-is-gpu-passthrough",children:"So, what exactly is GPU passthrough?"}),"\n",(0,o.jsxs)(e.blockquote,{children:["\n",(0,o.jsx)(e.p,{children:(0,o.jsx)(e.strong,{children:"In short, GPU passthrough lets you pass your real GPU into a virtual machine."})}),"\n"]}),"\n",(0,o.jsx)(e.p,{children:"Not a virtual GPU. This means the virtual machine gets direct access to the physical GPU.\nPlay games or run applications within that virtual machine."}),"\n",(0,o.jsx)(e.h2,{id:"why-it-sounds-stupid",children:"Why? It sounds stupid."}),"\n",(0,o.jsx)(e.p,{children:"I always got a similar question. Here are some answers:"}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsx)(e.li,{children:"It's more secure and you don't need to install an OS on your computer. Everything runs in the virtual machine."}),"\n",(0,o.jsx)(e.li,{children:"You don't want to have two operating systems on your computer because it takes up space."}),"\n",(0,o.jsx)(e.li,{children:"You hate Windows and some software on Windows is more stable than on GNU/Linux. (like DaVinci Resolve)"}),"\n",(0,o.jsx)(e.li,{children:"You're doing some production testing and need a GPU environment to install another GNU/Linux distro."}),"\n"]})]})}function h(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(c,{...t})}):c(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>r,x:()=>a});var s=n(6540);const o={},i=s.createContext(o);function r(t){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:r(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/20aab5b5.85242405.js b/assets/js/20aab5b5.85242405.js deleted file mode 100644 index dd415c7..0000000 --- a/assets/js/20aab5b5.85242405.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[175],{2745:t=>{t.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/gpu.passthru.info/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Dual GPU-Passthrough (Dekstop user)","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Introduction","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/","docId":"dual-gpu-passthru-desktop/index","unlisted":false},{"type":"link","label":"How to Buy a CPU","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/CPU","docId":"dual-gpu-passthru-desktop/CPU","unlisted":false},{"type":"link","label":"How to Buy a Motherboard","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/motherboard","docId":"dual-gpu-passthru-desktop/motherboard","unlisted":false},{"type":"link","label":"How to Buy a GPU","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/GPU","docId":"dual-gpu-passthru-desktop/GPU","unlisted":false},{"type":"link","label":"Optional Devices","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Optional-device","docId":"dual-gpu-passthru-desktop/Optional-device","unlisted":false},{"type":"link","label":"Enabling Virtualization in BIOS","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/BIOS","docId":"dual-gpu-passthru-desktop/BIOS","unlisted":false},{"type":"link","label":"Edit Bootloader Configuration","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro","docId":"dual-gpu-passthru-desktop/Bootloader-enable-distro","unlisted":false},{"type":"link","label":"Passthrough the GPU!","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Passthrough-GPU","docId":"dual-gpu-passthru-desktop/Passthrough-GPU","unlisted":false},{"type":"link","label":"Installing require Packages","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Install-require-packages","docId":"dual-gpu-passthru-desktop/Install-require-packages","unlisted":false},{"type":"link","label":"Configuring Libvirt","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Configuring-Libvirt","docId":"dual-gpu-passthru-desktop/Configuring-Libvirt","unlisted":false},{"type":"link","label":"Downloading the Operating System","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Download-OS","docId":"dual-gpu-passthru-desktop/Download-OS","unlisted":false},{"type":"link","label":"Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/InstallOS-win10","docId":"dual-gpu-passthru-desktop/InstallOS-win10","unlisted":false},{"type":"link","label":"Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/InstallOS-win11","docId":"dual-gpu-passthru-desktop/InstallOS-win11","unlisted":false},{"type":"link","label":"Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps","href":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux","docId":"dual-gpu-passthru-desktop/InstallOS-GNU-Linux","unlisted":false}],"href":"/gpu.passthru.info/docs/category/dual-gpu-passthrough-dekstop-user"},{"type":"category","label":"Tutorial - Extras","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manage Docs Versions","href":"/gpu.passthru.info/docs/tutorial-extras/manage-docs-versions","docId":"tutorial-extras/manage-docs-versions","unlisted":false},{"type":"link","label":"Translate your site","href":"/gpu.passthru.info/docs/tutorial-extras/translate-your-site","docId":"tutorial-extras/translate-your-site","unlisted":false}],"href":"/gpu.passthru.info/docs/category/tutorial---extras"}]},"docs":{"dual-gpu-passthru-desktop/BIOS":{"id":"dual-gpu-passthru-desktop/BIOS","title":"Enabling Virtualization in BIOS","description":"Let\'s say You\'ve got your PC all set up and running\u2014now.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/Bootloader-enable-distro":{"id":"dual-gpu-passthru-desktop/Bootloader-enable-distro","title":"Edit Bootloader Configuration","description":"If your arch is ready to go, it\'s time to dive into bootloader configuration. To fine-tune your bootloader settings, let\u2019s customize them based on your CPU type:","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/Configuring-Libvirt":{"id":"dual-gpu-passthru-desktop/Configuring-Libvirt","title":"Configuring Libvirt","description":"Now that we\'ve got the packages installed, you might notice that when you try to open virt-manager, it asks for the root password. To smooth things out, we\'ll need to configuring libvirt, qemu, and virt-manager for adjust permissions so everything runs more seamlessly.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/CPU":{"id":"dual-gpu-passthru-desktop/CPU","title":"How to Buy a CPU","description":"To enable GPU passthrough, you need a CPU that supports virtualization. Without this capability, your system won\u2019t be able to run GPU passthrough effectively. Here\u2019s how to choose the right CPU.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/Download-OS":{"id":"dual-gpu-passthru-desktop/Download-OS","title":"Downloading the Operating System","description":"This section cover how to download both Windows 10/11 and the Virtio ISO.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/GPU":{"id":"dual-gpu-passthru-desktop/GPU","title":"How to Buy a GPU","description":"Choosing a GPU is straightforward, but there are a few considerations based on your needs.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/index":{"id":"dual-gpu-passthru-desktop/index","title":"Introduction","description":"This section is part of the Dual GPU-Passthrough, which means also is the most expensive and best setup.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/Install-require-packages":{"id":"dual-gpu-passthru-desktop/Install-require-packages","title":"Installing require Packages","description":"Alright, let\'s installing the essential packages. Each of these plays a key role in getting virtualization up and running smoothly.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/InstallOS-GNU-Linux":{"id":"dual-gpu-passthru-desktop/InstallOS-GNU-Linux","title":"Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps","description":"Setting up passthrough on GNU/Linux is a breeze. You won\'t need extra drivers like VirtIO because GNU/Linux has what you need built right in. This makes the setup smoother and simpler.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/InstallOS-win10":{"id":"dual-gpu-passthru-desktop/InstallOS-win10","title":"Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps","description":"Well done! You\u2019re almost there. The last crucial steps for setting up your Windows 10 virtual machine.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/InstallOS-win11":{"id":"dual-gpu-passthru-desktop/InstallOS-win11","title":"Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps","description":"This guide will walk you through the steps needed to set up a Windows 11 virtual machine on QEMU/KVM. It includes installing necessary packages, configuring the virtual machine, and handling installation steps.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/motherboard":{"id":"dual-gpu-passthru-desktop/motherboard","title":"How to Buy a Motherboard","description":"The motherboard is crucial for GPU passthrough. Make sure it supports virtualization technology.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/Optional-device":{"id":"dual-gpu-passthru-desktop/Optional-device","title":"Optional Devices","description":"Choose the mouse, keyboard, and monitors that best suit your preferences. These devices enhance your overall experience, as mentioned earlier.","sidebar":"tutorialSidebar"},"dual-gpu-passthru-desktop/Passthrough-GPU":{"id":"dual-gpu-passthru-desktop/Passthrough-GPU","title":"Passthrough the GPU!","description":"Let passthrough our second GPU now, run the following command in your terminal:","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Introduction","description":"Hi, welcome to our website! Here, you\'ll find everything you need to know about GPU passthrough.","sidebar":"tutorialSidebar"},"tutorial-extras/manage-docs-versions":{"id":"tutorial-extras/manage-docs-versions","title":"Manage Docs Versions","description":"Docusaurus can manage multiple versions of your docs.","sidebar":"tutorialSidebar"},"tutorial-extras/translate-your-site":{"id":"tutorial-extras/translate-your-site","title":"Translate your site","description":"Let\'s translate docs/intro.md to French.","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/2424ea14.fbb6d915.js b/assets/js/2424ea14.fbb6d915.js new file mode 100644 index 0000000..a6cf1f6 --- /dev/null +++ b/assets/js/2424ea14.fbb6d915.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[18],{2645:t=>{t.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Dual GPU-Passthrough (Dekstop user)","description":"it\'s really easy to setup, dont worry i will guide you through the process :)","slug":"/category/dual-gpu-passthrough-dekstop-user","permalink":"/docs/category/dual-gpu-passthrough-dekstop-user","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"Introduction","permalink":"/docs/intro"},"next":{"title":"Introduction","permalink":"/docs/dual-gpu-passthru-desktop/"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/393be207.89956143.js b/assets/js/393be207.89956143.js new file mode 100644 index 0000000..22287d3 --- /dev/null +++ b/assets/js/393be207.89956143.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[134],{591:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>p,default:()=>l,frontMatter:()=>s,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"type":"mdx","permalink":"/markdown-page","source":"@site/src/pages/markdown-page.md","title":"Markdown page example","description":"You don\'t need React to write simple standalone pages.","frontMatter":{"title":"Markdown page example"},"unlisted":false}');var o=t(4848),r=t(8453);const s={title:"Markdown page example"},p="Markdown page example",c={},d=[];function i(e){const n={h1:"h1",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"markdown-page-example",children:"Markdown page example"})}),"\n",(0,o.jsx)(n.p,{children:"You don't need React to write simple standalone pages."})]})}function l(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(i,{...e})}):i(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>p});var a=t(6540);const o={},r=a.createContext(o);function s(e){const n=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),a.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/393be207.8ef620a3.js b/assets/js/393be207.8ef620a3.js deleted file mode 100644 index e337754..0000000 --- a/assets/js/393be207.8ef620a3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[134],{591:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>p,default:()=>l,frontMatter:()=>s,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"type":"mdx","permalink":"/gpu.passthru.info/markdown-page","source":"@site/src/pages/markdown-page.md","title":"Markdown page example","description":"You don\'t need React to write simple standalone pages.","frontMatter":{"title":"Markdown page example"},"unlisted":false}');var o=t(4848),r=t(8453);const s={title:"Markdown page example"},p="Markdown page example",c={},d=[];function i(e){const n={h1:"h1",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"markdown-page-example",children:"Markdown page example"})}),"\n",(0,o.jsx)(n.p,{children:"You don't need React to write simple standalone pages."})]})}function l(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(i,{...e})}):i(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>p});var a=t(6540);const o={},r=a.createContext(o);function s(e){const n=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),a.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/44191dd7.1285663d.js b/assets/js/44191dd7.1285663d.js deleted file mode 100644 index 1776b66..0000000 --- a/assets/js/44191dd7.1285663d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[877],{6868:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>d,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"dual-gpu-passthru-desktop/InstallOS-win11","title":"Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps","description":"This guide will walk you through the steps needed to set up a Windows 11 virtual machine on QEMU/KVM. It includes installing necessary packages, configuring the virtual machine, and handling installation steps.","source":"@site/docs/dual-gpu-passthru-desktop/InstallOS-win11.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/InstallOS-win11","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/InstallOS-win11","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/InstallOS-win11.mdx","tags":[],"version":"current","sidebarPosition":13,"frontMatter":{"sidebar_position":13},"sidebar":"tutorialSidebar","previous":{"title":"Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/InstallOS-win10"},"next":{"title":"Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux"}}');var t=n(4848),a=n(8453);const d={sidebar_position:13},r="Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps",l={},o=[{value:"1. Installing Required Packages",id:"1-installing-required-packages",level:2},{value:"2. Creating a New VM",id:"2-creating-a-new-vm",level:2},{value:"2.1 Opening virt-manager",id:"21-opening-virt-manager",level:3},{value:"2.2 Selecting Installation Media",id:"22-selecting-installation-media",level:3},{value:"2.3 Locating the Windows 11 ISO",id:"23-locating-the-windows-11-iso",level:3},{value:"2.4 Configuring Memory and CPU",id:"24-configuring-memory-and-cpu",level:3},{value:"2.5 Setting Up Storage",id:"25-setting-up-storage",level:3},{value:"2.6 Naming the VM",id:"26-naming-the-vm",level:3},{value:"3. Virt-manager Configuration",id:"3-virt-manager-configuration",level:2},{value:"3.1 Configuring Firmware",id:"31-configuring-firmware",level:3},{value:"3.2 Setting Up CPUs",id:"32-setting-up-cpus",level:3},{value:"3.3 Adding VirtIO Disk",id:"33-adding-virtio-disk",level:3},{value:"3.4 Adding VirtIO ISO",id:"34-adding-virtio-iso",level:3},{value:"3.5 Configuring Boot Options",id:"35-configuring-boot-options",level:3},{value:"3.6 Adding TPM Device",id:"36-adding-tpm-device",level:3},{value:"3.7 Removing NIC",id:"37-removing-nic",level:3},{value:"4. Booting the VM and Installing Windows 11",id:"4-booting-the-vm-and-installing-windows-11",level:2},{value:"4.1 Starting the Installation",id:"41-starting-the-installation",level:3},{value:"4.1.1 Accessing the UEFI Shell",id:"411-accessing-the-uefi-shell",level:4},{value:"4.1.2 Navigating to Boot Manager",id:"412-navigating-to-boot-manager",level:4},{value:"4.1.3 Booting from the Windows 11 ISO",id:"413-booting-from-the-windows-11-iso",level:4},{value:"4.2 Completing Windows Setup",id:"42-completing-windows-setup",level:3},{value:"4.2.1 Selecting Language and Settings",id:"421-selecting-language-and-settings",level:4},{value:"4.2.2 Installing Windows",id:"422-installing-windows",level:4},{value:"4.2.3 Skipping Product Key",id:"423-skipping-product-key",level:4},{value:"4.2.4 Selecting Edition",id:"424-selecting-edition",level:4},{value:"4.2.5 Accepting License Terms",id:"425-accepting-license-terms",level:4},{value:"4.2.6 Choosing Installation Type",id:"426-choosing-installation-type",level:4},{value:"4.2.7 Loading VirtIO Driver",id:"427-loading-virtio-driver",level:4},{value:"4.2.8 Selecting Installation Disk",id:"428-selecting-installation-disk",level:4},{value:"4.2.9 Rebooting During Installation",id:"429-rebooting-during-installation",level:4},{value:"4.3 Bypassing Network Requirements",id:"43-bypassing-network-requirements",level:3},{value:"5. Post-Installation Configuration",id:"5-post-installation-configuration",level:2},{value:"5.1 Power Off the System",id:"51-power-off-the-system",level:3},{value:"5.2 Adding GPU and GPU-Audio Devices",id:"52-adding-gpu-and-gpu-audio-devices",level:3},{value:"5.2.1 Adding the GPU",id:"521-adding-the-gpu",level:4},{value:"5.3.2 Adding GPU-Audio",id:"532-adding-gpu-audio",level:4},{value:"5.4 Reconnecting the Network Interface Card (NIC)",id:"54-reconnecting-the-network-interface-card-nic",level:3},{value:"5.5 Removing the Windows 11 ISO",id:"55-removing-the-windows-11-iso",level:3},{value:"6. Final Configuration and Updates",id:"6-final-configuration-and-updates",level:2},{value:"6.1 Updating Windows 11",id:"61-updating-windows-11",level:3},{value:"6.1.1 Checking for Updates",id:"611-checking-for-updates",level:4},{value:"6.1.2 Handling Update Errors",id:"612-handling-update-errors",level:4},{value:"6.2 Installing VirtIO Drivers",id:"62-installing-virtio-drivers",level:3},{value:"6.2.1 Opening Device Manager",id:"621-opening-device-manager",level:4},{value:"6.2.2 Updating PCI Devices Driver",id:"622-updating-pci-devices-driver",level:4},{value:"6.2.3 Browsing for the VirtIO ISO",id:"623-browsing-for-the-virtio-iso",level:4},{value:"6.3 Installing VirtIO Driver gt",id:"63-installing-virtio-driver-gt",level:3},{value:"6.3.1 Launching the Installer",id:"631-launching-the-installer",level:4},{value:"6.3.2 Installing Guest Tools",id:"632-installing-guest-tools",level:4},{value:"7. Enabling and Installing GPU Drivers",id:"7-enabling-and-installing-gpu-drivers",level:2},{value:"7.1 Enabling AMD GPU",id:"71-enabling-amd-gpu",level:3},{value:"7.1.1 Accessing Device Manager",id:"711-accessing-device-manager",level:4},{value:"7.1.2 Enabling the GPU",id:"712-enabling-the-gpu",level:4},{value:"7.2 Installing GPU Drivers",id:"72-installing-gpu-drivers",level:3},{value:"9. Conclusion",id:"9-conclusion",level:2}];function c(e){const i={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",img:"img",p:"p",pre:"pre",strong:"strong",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.header,{children:(0,t.jsx)(i.h1,{id:"setting-up-your-virtual-machine-windows-11--the-final-steps",children:"Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps"})}),"\n",(0,t.jsx)(i.p,{children:"This guide will walk you through the steps needed to set up a Windows 11 virtual machine on QEMU/KVM. It includes installing necessary packages, configuring the virtual machine, and handling installation steps."}),"\n",(0,t.jsx)(i.h2,{id:"1-installing-required-packages",children:"1. Installing Required Packages"}),"\n",(0,t.jsx)(i.p,{children:"Windows 11 has a requirement for TPM (Trusted Platform Module). To address this, you need to install the required packages."}),"\n",(0,t.jsxs)(i.p,{children:["Install the ",(0,t.jsx)(i.code,{children:"swtpm"})," package to provide a virtual TPM:"]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-shell",children:"sudo pacman -S swtpm\n"})}),"\n",(0,t.jsx)(i.h2,{id:"2-creating-a-new-vm",children:"2. Creating a New VM"}),"\n",(0,t.jsx)(i.h3,{id:"21-opening-virt-manager",children:"2.1 Opening virt-manager"}),"\n",(0,t.jsxs)(i.p,{children:["Open virt-manager on your system and click on ",(0,t.jsx)(i.code,{children:"New Virtual Machine"})," to start the creation process."]}),"\n",(0,t.jsx)(i.h3,{id:"22-selecting-installation-media",children:"2.2 Selecting Installation Media"}),"\n",(0,t.jsxs)(i.p,{children:["In the installation method selection screen, choose ",(0,t.jsx)(i.code,{children:"Local install media (ISO image or CDROM)"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Local install media",src:n(2408).A+"",width:"528",height:"566"})}),"\n",(0,t.jsx)(i.h3,{id:"23-locating-the-windows-11-iso",children:"2.3 Locating the Windows 11 ISO"}),"\n",(0,t.jsxs)(i.p,{children:["Click ",(0,t.jsx)(i.code,{children:"Browse"})," to locate your Windows 11 ISO file and select it from your file system."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Windows ISO",src:n(417).A+"",width:"528",height:"566"})}),"\n",(0,t.jsx)(i.h3,{id:"24-configuring-memory-and-cpu",children:"2.4 Configuring Memory and CPU"}),"\n",(0,t.jsx)(i.p,{children:"Set the amount of memory (RAM) and number of CPU cores according to your requirements."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Memory and CPU",src:n(6018).A+"",width:"528",height:"566"})}),"\n",(0,t.jsx)(i.h3,{id:"25-setting-up-storage",children:"2.5 Setting Up Storage"}),"\n",(0,t.jsx)(i.p,{children:"Configure your storage settings by allocating a virtual hard disk size appropriate for Windows 11."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Enable Storage",src:n(8787).A+"",width:"528",height:"566"})}),"\n",(0,t.jsx)(i.h3,{id:"26-naming-the-vm",children:"2.6 Naming the VM"}),"\n",(0,t.jsxs)(i.p,{children:["Provide a name for your virtual machine and select ",(0,t.jsx)(i.code,{children:"Customize configuration before install"})," to access advanced settings."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Customize Configuration",src:n(476).A+"",width:"528",height:"566"})}),"\n",(0,t.jsx)(i.h2,{id:"3-virt-manager-configuration",children:"3. Virt-manager Configuration"}),"\n",(0,t.jsx)(i.h3,{id:"31-configuring-firmware",children:"3.1 Configuring Firmware"}),"\n",(0,t.jsxs)(i.p,{children:["In the Overview section, set the ",(0,t.jsx)(i.code,{children:"Firmware"})," to ",(0,t.jsx)(i.code,{children:"UEFI x86_64: /usr/share/edk2/x64/OVMF_CODE.secboot.fd"}),"."]}),"\n",(0,t.jsx)(i.p,{children:"This is crucial as secure boot is required for Windows 11."}),"\n",(0,t.jsxs)(i.blockquote,{children:["\n",(0,t.jsx)(i.p,{children:(0,t.jsxs)(i.strong,{children:["IMPORTANT!!! Ensure you are using the correct firmware as the changes cannot be undone after selecting ",(0,t.jsx)(i.code,{children:"Begin installation"}),". If necessary, you will need to recreate the VM."]})}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Firmware",src:n(7710).A+"",width:"1052",height:"876"})}),"\n",(0,t.jsx)(i.h3,{id:"32-setting-up-cpus",children:"3.2 Setting Up CPUs"}),"\n",(0,t.jsxs)(i.p,{children:["Configure the CPU settings by setting the CPU mode to ",(0,t.jsx)(i.code,{children:"host-passthrough"}),". Enable the option ",(0,t.jsx)(i.code,{children:"Copy host CPU configuration (host-passthrough)"})," and manually set the CPU topology according to your requirements."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"CPU",src:n(4539).A+"",width:"1052",height:"876"})}),"\n",(0,t.jsx)(i.h3,{id:"33-adding-virtio-disk",children:"3.3 Adding VirtIO Disk"}),"\n",(0,t.jsxs)(i.p,{children:["Add a ",(0,t.jsx)(i.code,{children:"VirtIO"})," storage device with a size of ",(0,t.jsx)(i.code,{children:"40GB"}),". Configure this device with the ",(0,t.jsx)(i.code,{children:"VirtIO"})," bus type and set the device type to ",(0,t.jsx)(i.code,{children:"Disk device"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Add VirtIO Disk",src:n(4341).A+"",width:"865",height:"714"})}),"\n",(0,t.jsx)(i.h3,{id:"34-adding-virtio-iso",children:"3.4 Adding VirtIO ISO"}),"\n",(0,t.jsxs)(i.p,{children:["Create a ",(0,t.jsx)(i.code,{children:"VirtIO ISO"})," storage device and set it as a CDROM device. This will be used for installing VirtIO drivers during the Windows setup."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Add VirtIO ISO",src:n(6723).A+"",width:"865",height:"714"})}),"\n",(0,t.jsx)(i.h3,{id:"35-configuring-boot-options",children:"3.5 Configuring Boot Options"}),"\n",(0,t.jsxs)(i.p,{children:["Set the ",(0,t.jsx)(i.code,{children:"SATA CDROM 1"})," as the primary boot device to ensure the VM boots from the Windows 11 ISO."]}),"\n",(0,t.jsx)(i.h3,{id:"36-adding-tpm-device",children:"3.6 Adding TPM Device"}),"\n",(0,t.jsxs)(i.p,{children:["Add a TPM device and configure it to version ",(0,t.jsx)(i.code,{children:"2.0"}),". This is required for Windows 11 installation."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"TPM",src:n(8020).A+"",width:"723",height:"682"})}),"\n",(0,t.jsx)(i.h3,{id:"37-removing-nic",children:"3.7 Removing NIC"}),"\n",(0,t.jsx)(i.p,{children:"Remove the network interface card (NIC) to avoid the Microsoft Account sign-in requirements during the Windows installation. You can reconnect the NIC after the installation."}),"\n",(0,t.jsxs)(i.blockquote,{children:["\n",(0,t.jsx)(i.p,{children:"Tips: Removing the NIC ensures that the installation does not require online activation, which can be bypassed by using command-line tools to enable offline mode."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"4-booting-the-vm-and-installing-windows-11",children:"4. Booting the VM and Installing Windows 11"}),"\n",(0,t.jsx)(i.h3,{id:"41-starting-the-installation",children:"4.1 Starting the Installation"}),"\n",(0,t.jsxs)(i.p,{children:["To begin the installation process, first click on ",(0,t.jsx)(i.code,{children:"Begin Installation"})," to start your VM. If you miss the ",(0,t.jsx)(i.code,{children:"Press any key"})," prompt that appears when the VM starts, follow these steps:"]}),"\n",(0,t.jsx)(i.h4,{id:"411-accessing-the-uefi-shell",children:"4.1.1 Accessing the UEFI Shell"}),"\n",(0,t.jsxs)(i.p,{children:["Enter the UEFI Shell by pressing the necessary key to open the BIOS menu. Type ",(0,t.jsx)(i.code,{children:"exit"})," to leave the BIOS menu."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Exit BIOS",src:n(5335).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"412-navigating-to-boot-manager",children:"4.1.2 Navigating to Boot Manager"}),"\n",(0,t.jsxs)(i.p,{children:["Use the arrow keys to navigate to ",(0,t.jsx)(i.code,{children:"Boot Manager"})," and select the UEFI DVD-ROM from the list of boot options."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Boot Manager",src:n(4860).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Boot Manager",src:n(5856).A+"",width:"1308",height:"935"})]}),"\n",(0,t.jsx)(i.h4,{id:"413-booting-from-the-windows-11-iso",children:"4.1.3 Booting from the Windows 11 ISO"}),"\n",(0,t.jsx)(i.p,{children:"Press any key to initiate the boot process from the Windows 11 ISO."}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Press any key",src:n(6479).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Win11 Launch",src:n(1041).A+"",width:"1308",height:"935"})]}),"\n",(0,t.jsx)(i.h3,{id:"42-completing-windows-setup",children:"4.2 Completing Windows Setup"}),"\n",(0,t.jsx)(i.h4,{id:"421-selecting-language-and-settings",children:"4.2.1 Selecting Language and Settings"}),"\n",(0,t.jsxs)(i.p,{children:["On the Windows setup screen, choose your preferred language, time, and keyboard layout. Click ",(0,t.jsx)(i.code,{children:"Next"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Setup",src:n(1752).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"422-installing-windows",children:"4.2.2 Installing Windows"}),"\n",(0,t.jsxs)(i.p,{children:["Click ",(0,t.jsx)(i.code,{children:"Install now"})," to start the installation process."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Install Now",src:n(8545).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"423-skipping-product-key",children:"4.2.3 Skipping Product Key"}),"\n",(0,t.jsxs)(i.p,{children:["When prompted for a product key, click ",(0,t.jsx)(i.code,{children:"I Don't have the product key"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Product Key",src:n(2773).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"424-selecting-edition",children:"4.2.4 Selecting Edition"}),"\n",(0,t.jsxs)(i.p,{children:["Choose ",(0,t.jsx)(i.code,{children:"Windows 11 Pro"})," as the edition and click ",(0,t.jsx)(i.code,{children:"Next"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Pro Version",src:n(9645).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"425-accepting-license-terms",children:"4.2.5 Accepting License Terms"}),"\n",(0,t.jsx)(i.p,{children:"Accept the license terms to proceed with the installation."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Accept License",src:n(8076).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"426-choosing-installation-type",children:"4.2.6 Choosing Installation Type"}),"\n",(0,t.jsxs)(i.p,{children:["Select ",(0,t.jsx)(i.code,{children:"Custom: Install Windows only (advanced)"})," for a clean installation."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Custom Installation",src:n(2666).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"427-loading-virtio-driver",children:"4.2.7 Loading VirtIO Driver"}),"\n",(0,t.jsxs)(i.p,{children:["To install the required drivers, click ",(0,t.jsx)(i.code,{children:"Load driver"}),", then ",(0,t.jsx)(i.code,{children:"Browse"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Load Driver",src:n(892).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsxs)(i.p,{children:["Navigate to ",(0,t.jsx)(i.code,{children:"E:\\amd64\\w11"}),", click ",(0,t.jsx)(i.code,{children:"OK"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Select Drivers",src:n(3756).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsxs)(i.p,{children:["select the REDHAT result. Click ",(0,t.jsx)(i.code,{children:"Next"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 REDHAT Driver Next",src:n(6528).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.p,{children:"will take a while, just wait."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Waiting for Installation Complete",src:n(6971).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"428-selecting-installation-disk",children:"4.2.8 Selecting Installation Disk"}),"\n",(0,t.jsxs)(i.p,{children:["Choose the disk where you want to install Windows (e.g: ",(0,t.jsx)(i.code,{children:"400GB"}),") and continue with the installation."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Win11 Install Disk",src:n(5494).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Win11 Installing",src:n(5648).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Win11 Installing Restart",src:n(3096).A+"",width:"1308",height:"935"})]}),"\n",(0,t.jsx)(i.h4,{id:"429-rebooting-during-installation",children:"4.2.9 Rebooting During Installation"}),"\n",(0,t.jsxs)(i.p,{children:["The installation process will reboot several times. During these reboots, ignore any ",(0,t.jsx)(i.code,{children:"Press any key"})," prompts."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Win11 Ignore Press Any Key",src:n(1503).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Win11 Installing",src:n(8053).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Win11 Loading Installing",src:n(5579).A+"",width:"1308",height:"935"})]}),"\n",(0,t.jsx)(i.h3,{id:"43-bypassing-network-requirements",children:"4.3 Bypassing Network Requirements"}),"\n",(0,t.jsxs)(i.p,{children:["When you reach the ",(0,t.jsx)(i.code,{children:"Hi"})," screen, press ",(0,t.jsx)(i.code,{children:"Shift + F10"})," to open the Command Prompt. In the Command Prompt window, type:"]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-cmd",children:"OOBE\\BYPASSNRO\n"})}),"\n",(0,t.jsx)(i.p,{children:"The system will automatically reboot after executing this command."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"OOBE\\BYPASSNRO",src:n(6037).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h2,{id:"5-post-installation-configuration",children:"5. Post-Installation Configuration"}),"\n",(0,t.jsx)(i.p,{children:"Now just install the window in the normal way. Don't worry too much about it being different."}),"\n",(0,t.jsx)(i.h3,{id:"51-power-off-the-system",children:"5.1 Power Off the System"}),"\n",(0,t.jsxs)(i.p,{children:["After completing the Windows 11 installation, you should power off the VM. This is done by using the ",(0,t.jsx)(i.code,{children:"Power off"})," option from the VM\u2019s menu."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Power Off",src:n(4819).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h3,{id:"52-adding-gpu-and-gpu-audio-devices",children:"5.2 Adding GPU and GPU-Audio Devices"}),"\n",(0,t.jsx)(i.h4,{id:"521-adding-the-gpu",children:"5.2.1 Adding the GPU"}),"\n",(0,t.jsx)(i.p,{children:"Add your GPU to the VM configuration. This involves specifying the GPU as a passthrough device in the VM settings."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Add GPU",src:n(976).A+"",width:"1049",height:"713"})}),"\n",(0,t.jsx)(i.h4,{id:"532-adding-gpu-audio",children:"5.3.2 Adding GPU-Audio"}),"\n",(0,t.jsx)(i.p,{children:"Similarly, add your GPU-Audio device. This step ensures that audio functionalities from the GPU are also included in the VM setup."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Add GPU-Audio",src:n(9337).A+"",width:"1049",height:"713"})}),"\n",(0,t.jsx)(i.h3,{id:"54-reconnecting-the-network-interface-card-nic",children:"5.4 Reconnecting the Network Interface Card (NIC)"}),"\n",(0,t.jsx)(i.p,{children:"Since, previously we removed the NIC to avoid Microsoft account sign-in requirements during installation, reconnect it now. This step will restore network connectivity for the VM."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Add NIC",src:n(9948).A+"",width:"1049",height:"713"})}),"\n",(0,t.jsx)(i.h3,{id:"55-removing-the-windows-11-iso",children:"5.5 Removing the Windows 11 ISO"}),"\n",(0,t.jsx)(i.p,{children:"Finally, remove the Windows 11 ISO from the VM\u2019s virtual drives to complete the setup. This ensures that the VM will not boot from the ISO again."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Remove Win11 ISO",src:n(2534).A+"",width:"1289",height:"935"})}),"\n",(0,t.jsx)(i.h2,{id:"6-final-configuration-and-updates",children:"6. Final Configuration and Updates"}),"\n",(0,t.jsx)(i.h3,{id:"61-updating-windows-11",children:"6.1 Updating Windows 11"}),"\n",(0,t.jsx)(i.p,{children:"You need to ensure your Windows 11 system is up to date."}),"\n",(0,t.jsx)(i.h4,{id:"611-checking-for-updates",children:"6.1.1 Checking for Updates"}),"\n",(0,t.jsx)(i.p,{children:"Power on your VM and navigate to the Windows Update settings to check for updates."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Check for Update",src:n(8084).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"612-handling-update-errors",children:"6.1.2 Handling Update Errors"}),"\n",(0,t.jsx)(i.p,{children:"If you encounter any update errors, allow the system to reboot automatically as it may resolve the issue."}),"\n",(0,t.jsxs)(i.blockquote,{children:["\n",(0,t.jsx)(i.p,{children:"That's windows problem, don't worry too much. just force-reboot."}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Win11 Update Error",src:n(4006).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Win11 Up to Date",src:n(8084).A+"",width:"1308",height:"935"})]}),"\n",(0,t.jsx)(i.h3,{id:"62-installing-virtio-drivers",children:"6.2 Installing VirtIO Drivers"}),"\n",(0,t.jsx)(i.p,{children:"To ensure optimal performance and functionality, you need to install VirtIO drivers."}),"\n",(0,t.jsx)(i.h4,{id:"621-opening-device-manager",children:"6.2.1 Opening Device Manager"}),"\n",(0,t.jsxs)(i.p,{children:["Open ",(0,t.jsx)(i.code,{children:"Device Manager"})," to begin the process of updating drivers."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Device Manager",src:n(7737).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"622-updating-pci-devices-driver",children:"6.2.2 Updating PCI Devices Driver"}),"\n",(0,t.jsxs)(i.p,{children:["Update the driver for ",(0,t.jsx)(i.code,{children:"PCI Devices"})," by selecting the appropriate option in Device Manager."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Device Manager Update PCI",src:n(5200).A+"",width:"1332",height:"958"})}),"\n",(0,t.jsx)(i.h4,{id:"623-browsing-for-the-virtio-iso",children:"6.2.3 Browsing for the VirtIO ISO"}),"\n",(0,t.jsxs)(i.p,{children:["Browse to the location of the ",(0,t.jsx)(i.code,{children:"VirtIO ISO"})," on ",(0,t.jsx)(i.code,{children:"E:\\"})," to locate the necessary drivers."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Device Manager Search Driver",src:n(6998).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Device Manager Search E Driver",src:n(3251).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Device Manager Searching E",src:n(303).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Device Manager Loaded",src:n(583).A+"",width:"1332",height:"958"})]}),"\n",(0,t.jsx)(i.h3,{id:"63-installing-virtio-driver-gt",children:"6.3 Installing VirtIO Driver gt"}),"\n",(0,t.jsx)(i.h4,{id:"631-launching-the-installer",children:"6.3.1 Launching the Installer"}),"\n",(0,t.jsxs)(i.p,{children:["Open ",(0,t.jsx)(i.code,{children:"Explorer"}),", navigate to the ",(0,t.jsx)(i.code,{children:"VirtIO"})," folder, and start the installation of ",(0,t.jsx)(i.code,{children:"virtio-win-gt-x64.msi"}),"."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64",src:n(4831).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Next",src:n(2653).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"License VirtIO",src:n(9381).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Select",src:n(2218).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Install",src:n(8805).A+"",width:"1332",height:"958"})]}),"\n",(0,t.jsx)(i.p,{children:"Grant any necessary superuser permissions to complete the installation."}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Permission",src:n(6741).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Installing",src:n(7273).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Finish",src:n(3423).A+"",width:"1332",height:"958"})]}),"\n",(0,t.jsx)(i.h4,{id:"632-installing-guest-tools",children:"6.3.2 Installing Guest Tools"}),"\n",(0,t.jsx)(i.p,{children:"Finally, install the guest tools to enhance the VM\u2019s performance and integration."}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Guest Tool",src:n(3469).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Guest Tool Install",src:n(1507).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Guest Tool Install Yes",src:n(421).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Guest Tool Installing",src:n(2547).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Guest Tool Success",src:n(706).A+"",width:"1076",height:"926"})]}),"\n",(0,t.jsx)(i.h2,{id:"7-enabling-and-installing-gpu-drivers",children:"7. Enabling and Installing GPU Drivers"}),"\n",(0,t.jsx)(i.h3,{id:"71-enabling-amd-gpu",children:"7.1 Enabling AMD GPU"}),"\n",(0,t.jsx)(i.p,{children:"For windows 11, you need to manually enable the GPU utilize it for your VM."}),"\n",(0,t.jsx)(i.h4,{id:"711-accessing-device-manager",children:"7.1.1 Accessing Device Manager"}),"\n",(0,t.jsxs)(i.p,{children:["Back to the ",(0,t.jsx)(i.code,{children:"Device Manager"})," on your Windows 11 VM."]}),"\n",(0,t.jsx)(i.h4,{id:"712-enabling-the-gpu",children:"7.1.2 Enabling the GPU"}),"\n",(0,t.jsxs)(i.p,{children:["Locate your GPU under the ",(0,t.jsx)(i.code,{children:"Display adapters"})," section, right-click it, and select ",(0,t.jsx)(i.code,{children:"Enable"})," to activate the GPU."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Enable GPU",src:n(5201).A+"",width:"1332",height:"958"})}),"\n",(0,t.jsx)(i.h3,{id:"72-installing-gpu-drivers",children:"7.2 Installing GPU Drivers"}),"\n",(0,t.jsx)(i.p,{children:"To ensure your GPU functions correctly, you need to install the appropriate drivers, Since it's windows LOL"}),"\n",(0,t.jsx)(i.p,{children:"Visit your GPU manufacturer\u2019s website (AMD, Nvidia, or Intel) to download the latest drivers for your GPU."}),"\n",(0,t.jsx)(i.h2,{id:"9-conclusion",children:"9. Conclusion"}),"\n",(0,t.jsx)(i.p,{children:"Congratulations! You have successfully set up Windows 11 on a QEMU/KVM virtual machine, including configuring a virtual TPM and GPU. Explore and enjoy the features of Windows 11"})]})}function h(e={}){const{wrapper:i}={...(0,a.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},2408:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/1of5-f01d869e730ee60b6464c58f58d8877a.png"},417:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/2of5-5afa058bb09078d3900b20d9e76bf376.png"},6018:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/3of5-b64af35a62efa48dcd8b493e8a4d42f6.png"},8787:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/4of5-f9ab2e0164a150a8c8feab5b7b5a1792.png"},476:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/5of5-d778858ce34249f159e08f9de1f3ad6b.png"},7737:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-Device-manger-0f1cfa00e776cf63d9a3c6005e7e5bfc.png"},6998:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-device-manager-search-driver-3c8bcebf6a95644759cc66b28cc9e112.png"},303:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-device-manager-searching-e-88d78ef6593f1e7fdcfb99a369a3c79c.png"},583:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-device-manger-loaded-bc024976f266c20de616a029317f7971.png"},3251:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-device-manger-search-e-driver-a2aa0898b66413a59c92423d133d85ab.png"},5200:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-device-manger-update-pci-cee3e1007b9deec686ed9e328ff3f943.png"},3423:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-finish-add4451c1ff8f5c09d2a1f0ec82ed1d1.png"},421:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-guest-tool-install-yes-37a217acf03d44645e479a299ba50fc2.png"},1507:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-guest-tool-install-88c8493b84fc4f3c69ec44026211ece9.png"},2547:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-guest-tool-installing-86f204273ad9cab27db0851c7c1412c0.png"},706:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-guest-tool-sucess-73ec106b6e40ea7d24c50b86fa97743b.png"},3469:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-guest-tool-c28e8458298f78ce09f81faf742c7e8a.png"},8805:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-install-592281bc78d49d33d082fa1f507a3a04.png"},7273:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-installing-2aa4834e2541b6a4f8899f297f8c2f8f.png"},9381:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-license-a4d32db6d98dd77bfbe6322e2e261185.png"},2653:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-next-38667cb53214f8278db3e492da82c66f.png"},6741:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-premission-35834bf669a36c1dba5f3fccacb41285.png"},2218:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-select-6e7e09bef3981ffa4deafa26ca4aa8c0.png"},4831:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-e6801e1de26f08f3faffb4a3f7efb4c8.png"},4539:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/CPU Select-8672286e11d0c4c5878a2b9a95cd0395.png"},7710:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/Firmware-94f0d0a32004b75064db55a2145ac238.png"},4341:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/VirtIO Disk-75e394b413011c4a3ff4eec5674bc21f.png"},6723:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/VirtIO iso-aefcd12bdaac4f2755e03f0364a091ee.png"},8020:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/tls-tpm-e6d777aa86516abf3f9bba622b3748ba.png"},4860:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/Boot-manger-exit-241408c938b1349b3e4929a4979ebf6f.png"},1041:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/Loading-one-612c2c030f5ab88dbbbf8446830fdbf4.png"},6479:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/Pressanykey-one-c597314c3ea653898fe215b7657e195d.png"},5856:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/boot-manager-exit-2-c52b2dc539cb0dba0d8c166b42de9c60.png"},5335:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/exit bios-af89a1489fbfe301e08e8f029b82145c.png"},6971:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-REDHAT-driver-load-cd13d661aca4e354b8bd38d00fa6f100.png"},3756:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-amd64-win11-c3a73fcf27a6ac8ba7ce56e2aae5bdd3.png"},2666:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-custom-disk-5a1f18a7d45ce96a4b038983cb19d4f7.png"},6528:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-driver-RedHAT-999e1e5c5867fe603358b9dc7dddf5b5.png"},8076:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-i-accpect-license-758c2e39d6bfac6a798f8d6c7b5b0a54.png"},2773:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-i-dont-have-product-key-51ea857c339fffb470d19ca37427ee4e.png"},1503:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-ignore-installing-9b49720d78d9fe689c953926d2cfe5ce.png"},8545:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-install-now-0a280c24c226f13675cd34ffe8f65dcb.png"},5494:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-install-726246e7fa52c93e9f3a0907aa428ec7.png"},8053:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-installing-2-904f68074edadfa4c001a46b4b22a6e7.png"},5648:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-installing-e3e86b43c2f3757993f36d25c1a1f311.png"},892:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-load-driver-86c302b92fff316ea1987255bf7559eb.png"},5579:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-loading-d31c30b5c3d59321016de01c4de3b944.png"},3096:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-restarting-8a87200b106ab9bfea97ffa0f4576f92.png"},9645:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-select-pro-6323b6114caf84d9c18e7ec207310d49.png"},1752:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-fb51a9ed9f3351790f62982cf0372e74.png"},6037:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-bypassnro-6edc8352c64495b16c4d3d345b9259d8.png"},4819:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/poweroff-7db46f3552c37495a5e6cf18754d2754.png"},9337:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-add-gpu-audio-751a671ad8156efa3ca6d134fd1cb6dd.png"},976:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-add-gpu-28324ce9f38b93ac9e4a19aa9ac30715.png"},9948:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-add-nic-948a0cd9d22e68469eb92d424394cc03.png"},2534:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-remove-iso-987cc849c81a7838732623d782221b08.png"},4006:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-error-f35d1e25fe19ee9f9022732e4503e512.png"},8084:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-makesure-uptodated-d39aa5d92b84274067984f2272df6f29.png"},5201:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/enable-amd-driver-a8cbdb4f783bc4bd152da44fd82bd7db.png"},8453:(e,i,n)=>{n.d(i,{R:()=>d,x:()=>r});var s=n(6540);const t={},a=s.createContext(t);function d(e){const i=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(a.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/44191dd7.ead0d836.js b/assets/js/44191dd7.ead0d836.js new file mode 100644 index 0000000..71d68ca --- /dev/null +++ b/assets/js/44191dd7.ead0d836.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[877],{6868:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>d,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"dual-gpu-passthru-desktop/InstallOS-win11","title":"Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps","description":"This guide will walk you through the steps needed to set up a Windows 11 virtual machine on QEMU/KVM. It includes installing necessary packages, configuring the virtual machine, and handling installation steps.","source":"@site/docs/dual-gpu-passthru-desktop/InstallOS-win11.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/InstallOS-win11","permalink":"/docs/dual-gpu-passthru-desktop/InstallOS-win11","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/InstallOS-win11.mdx","tags":[],"version":"current","sidebarPosition":13,"frontMatter":{"sidebar_position":13},"sidebar":"tutorialSidebar","previous":{"title":"Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps","permalink":"/docs/dual-gpu-passthru-desktop/InstallOS-win10"},"next":{"title":"Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps","permalink":"/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux"}}');var t=n(4848),a=n(8453);const d={sidebar_position:13},r="Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps",l={},o=[{value:"1. Installing Required Packages",id:"1-installing-required-packages",level:2},{value:"2. Creating a New VM",id:"2-creating-a-new-vm",level:2},{value:"2.1 Opening virt-manager",id:"21-opening-virt-manager",level:3},{value:"2.2 Selecting Installation Media",id:"22-selecting-installation-media",level:3},{value:"2.3 Locating the Windows 11 ISO",id:"23-locating-the-windows-11-iso",level:3},{value:"2.4 Configuring Memory and CPU",id:"24-configuring-memory-and-cpu",level:3},{value:"2.5 Setting Up Storage",id:"25-setting-up-storage",level:3},{value:"2.6 Naming the VM",id:"26-naming-the-vm",level:3},{value:"3. Virt-manager Configuration",id:"3-virt-manager-configuration",level:2},{value:"3.1 Configuring Firmware",id:"31-configuring-firmware",level:3},{value:"3.2 Setting Up CPUs",id:"32-setting-up-cpus",level:3},{value:"3.3 Adding VirtIO Disk",id:"33-adding-virtio-disk",level:3},{value:"3.4 Adding VirtIO ISO",id:"34-adding-virtio-iso",level:3},{value:"3.5 Configuring Boot Options",id:"35-configuring-boot-options",level:3},{value:"3.6 Adding TPM Device",id:"36-adding-tpm-device",level:3},{value:"3.7 Removing NIC",id:"37-removing-nic",level:3},{value:"4. Booting the VM and Installing Windows 11",id:"4-booting-the-vm-and-installing-windows-11",level:2},{value:"4.1 Starting the Installation",id:"41-starting-the-installation",level:3},{value:"4.1.1 Accessing the UEFI Shell",id:"411-accessing-the-uefi-shell",level:4},{value:"4.1.2 Navigating to Boot Manager",id:"412-navigating-to-boot-manager",level:4},{value:"4.1.3 Booting from the Windows 11 ISO",id:"413-booting-from-the-windows-11-iso",level:4},{value:"4.2 Completing Windows Setup",id:"42-completing-windows-setup",level:3},{value:"4.2.1 Selecting Language and Settings",id:"421-selecting-language-and-settings",level:4},{value:"4.2.2 Installing Windows",id:"422-installing-windows",level:4},{value:"4.2.3 Skipping Product Key",id:"423-skipping-product-key",level:4},{value:"4.2.4 Selecting Edition",id:"424-selecting-edition",level:4},{value:"4.2.5 Accepting License Terms",id:"425-accepting-license-terms",level:4},{value:"4.2.6 Choosing Installation Type",id:"426-choosing-installation-type",level:4},{value:"4.2.7 Loading VirtIO Driver",id:"427-loading-virtio-driver",level:4},{value:"4.2.8 Selecting Installation Disk",id:"428-selecting-installation-disk",level:4},{value:"4.2.9 Rebooting During Installation",id:"429-rebooting-during-installation",level:4},{value:"4.3 Bypassing Network Requirements",id:"43-bypassing-network-requirements",level:3},{value:"5. Post-Installation Configuration",id:"5-post-installation-configuration",level:2},{value:"5.1 Power Off the System",id:"51-power-off-the-system",level:3},{value:"5.2 Adding GPU and GPU-Audio Devices",id:"52-adding-gpu-and-gpu-audio-devices",level:3},{value:"5.2.1 Adding the GPU",id:"521-adding-the-gpu",level:4},{value:"5.3.2 Adding GPU-Audio",id:"532-adding-gpu-audio",level:4},{value:"5.4 Reconnecting the Network Interface Card (NIC)",id:"54-reconnecting-the-network-interface-card-nic",level:3},{value:"5.5 Removing the Windows 11 ISO",id:"55-removing-the-windows-11-iso",level:3},{value:"6. Final Configuration and Updates",id:"6-final-configuration-and-updates",level:2},{value:"6.1 Updating Windows 11",id:"61-updating-windows-11",level:3},{value:"6.1.1 Checking for Updates",id:"611-checking-for-updates",level:4},{value:"6.1.2 Handling Update Errors",id:"612-handling-update-errors",level:4},{value:"6.2 Installing VirtIO Drivers",id:"62-installing-virtio-drivers",level:3},{value:"6.2.1 Opening Device Manager",id:"621-opening-device-manager",level:4},{value:"6.2.2 Updating PCI Devices Driver",id:"622-updating-pci-devices-driver",level:4},{value:"6.2.3 Browsing for the VirtIO ISO",id:"623-browsing-for-the-virtio-iso",level:4},{value:"6.3 Installing VirtIO Driver gt",id:"63-installing-virtio-driver-gt",level:3},{value:"6.3.1 Launching the Installer",id:"631-launching-the-installer",level:4},{value:"6.3.2 Installing Guest Tools",id:"632-installing-guest-tools",level:4},{value:"7. Enabling and Installing GPU Drivers",id:"7-enabling-and-installing-gpu-drivers",level:2},{value:"7.1 Enabling AMD GPU",id:"71-enabling-amd-gpu",level:3},{value:"7.1.1 Accessing Device Manager",id:"711-accessing-device-manager",level:4},{value:"7.1.2 Enabling the GPU",id:"712-enabling-the-gpu",level:4},{value:"7.2 Installing GPU Drivers",id:"72-installing-gpu-drivers",level:3},{value:"9. Conclusion",id:"9-conclusion",level:2}];function c(e){const i={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",img:"img",p:"p",pre:"pre",strong:"strong",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.header,{children:(0,t.jsx)(i.h1,{id:"setting-up-your-virtual-machine-windows-11--the-final-steps",children:"Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps"})}),"\n",(0,t.jsx)(i.p,{children:"This guide will walk you through the steps needed to set up a Windows 11 virtual machine on QEMU/KVM. It includes installing necessary packages, configuring the virtual machine, and handling installation steps."}),"\n",(0,t.jsx)(i.h2,{id:"1-installing-required-packages",children:"1. Installing Required Packages"}),"\n",(0,t.jsx)(i.p,{children:"Windows 11 has a requirement for TPM (Trusted Platform Module). To address this, you need to install the required packages."}),"\n",(0,t.jsxs)(i.p,{children:["Install the ",(0,t.jsx)(i.code,{children:"swtpm"})," package to provide a virtual TPM:"]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-shell",children:"sudo pacman -S swtpm\n"})}),"\n",(0,t.jsx)(i.h2,{id:"2-creating-a-new-vm",children:"2. Creating a New VM"}),"\n",(0,t.jsx)(i.h3,{id:"21-opening-virt-manager",children:"2.1 Opening virt-manager"}),"\n",(0,t.jsxs)(i.p,{children:["Open virt-manager on your system and click on ",(0,t.jsx)(i.code,{children:"New Virtual Machine"})," to start the creation process."]}),"\n",(0,t.jsx)(i.h3,{id:"22-selecting-installation-media",children:"2.2 Selecting Installation Media"}),"\n",(0,t.jsxs)(i.p,{children:["In the installation method selection screen, choose ",(0,t.jsx)(i.code,{children:"Local install media (ISO image or CDROM)"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Local install media",src:n(9335).A+"",width:"528",height:"566"})}),"\n",(0,t.jsx)(i.h3,{id:"23-locating-the-windows-11-iso",children:"2.3 Locating the Windows 11 ISO"}),"\n",(0,t.jsxs)(i.p,{children:["Click ",(0,t.jsx)(i.code,{children:"Browse"})," to locate your Windows 11 ISO file and select it from your file system."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Windows ISO",src:n(6186).A+"",width:"528",height:"566"})}),"\n",(0,t.jsx)(i.h3,{id:"24-configuring-memory-and-cpu",children:"2.4 Configuring Memory and CPU"}),"\n",(0,t.jsx)(i.p,{children:"Set the amount of memory (RAM) and number of CPU cores according to your requirements."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Memory and CPU",src:n(2681).A+"",width:"528",height:"566"})}),"\n",(0,t.jsx)(i.h3,{id:"25-setting-up-storage",children:"2.5 Setting Up Storage"}),"\n",(0,t.jsx)(i.p,{children:"Configure your storage settings by allocating a virtual hard disk size appropriate for Windows 11."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Enable Storage",src:n(4740).A+"",width:"528",height:"566"})}),"\n",(0,t.jsx)(i.h3,{id:"26-naming-the-vm",children:"2.6 Naming the VM"}),"\n",(0,t.jsxs)(i.p,{children:["Provide a name for your virtual machine and select ",(0,t.jsx)(i.code,{children:"Customize configuration before install"})," to access advanced settings."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Customize Configuration",src:n(2379).A+"",width:"528",height:"566"})}),"\n",(0,t.jsx)(i.h2,{id:"3-virt-manager-configuration",children:"3. Virt-manager Configuration"}),"\n",(0,t.jsx)(i.h3,{id:"31-configuring-firmware",children:"3.1 Configuring Firmware"}),"\n",(0,t.jsxs)(i.p,{children:["In the Overview section, set the ",(0,t.jsx)(i.code,{children:"Firmware"})," to ",(0,t.jsx)(i.code,{children:"UEFI x86_64: /usr/share/edk2/x64/OVMF_CODE.secboot.fd"}),"."]}),"\n",(0,t.jsx)(i.p,{children:"This is crucial as secure boot is required for Windows 11."}),"\n",(0,t.jsxs)(i.blockquote,{children:["\n",(0,t.jsx)(i.p,{children:(0,t.jsxs)(i.strong,{children:["IMPORTANT!!! Ensure you are using the correct firmware as the changes cannot be undone after selecting ",(0,t.jsx)(i.code,{children:"Begin installation"}),". If necessary, you will need to recreate the VM."]})}),"\n"]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Firmware",src:n(1139).A+"",width:"1052",height:"876"})}),"\n",(0,t.jsx)(i.h3,{id:"32-setting-up-cpus",children:"3.2 Setting Up CPUs"}),"\n",(0,t.jsxs)(i.p,{children:["Configure the CPU settings by setting the CPU mode to ",(0,t.jsx)(i.code,{children:"host-passthrough"}),". Enable the option ",(0,t.jsx)(i.code,{children:"Copy host CPU configuration (host-passthrough)"})," and manually set the CPU topology according to your requirements."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"CPU",src:n(1974).A+"",width:"1052",height:"876"})}),"\n",(0,t.jsx)(i.h3,{id:"33-adding-virtio-disk",children:"3.3 Adding VirtIO Disk"}),"\n",(0,t.jsxs)(i.p,{children:["Add a ",(0,t.jsx)(i.code,{children:"VirtIO"})," storage device with a size of ",(0,t.jsx)(i.code,{children:"40GB"}),". Configure this device with the ",(0,t.jsx)(i.code,{children:"VirtIO"})," bus type and set the device type to ",(0,t.jsx)(i.code,{children:"Disk device"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Add VirtIO Disk",src:n(2741).A+"",width:"865",height:"714"})}),"\n",(0,t.jsx)(i.h3,{id:"34-adding-virtio-iso",children:"3.4 Adding VirtIO ISO"}),"\n",(0,t.jsxs)(i.p,{children:["Create a ",(0,t.jsx)(i.code,{children:"VirtIO ISO"})," storage device and set it as a CDROM device. This will be used for installing VirtIO drivers during the Windows setup."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Add VirtIO ISO",src:n(998).A+"",width:"865",height:"714"})}),"\n",(0,t.jsx)(i.h3,{id:"35-configuring-boot-options",children:"3.5 Configuring Boot Options"}),"\n",(0,t.jsxs)(i.p,{children:["Set the ",(0,t.jsx)(i.code,{children:"SATA CDROM 1"})," as the primary boot device to ensure the VM boots from the Windows 11 ISO."]}),"\n",(0,t.jsx)(i.h3,{id:"36-adding-tpm-device",children:"3.6 Adding TPM Device"}),"\n",(0,t.jsxs)(i.p,{children:["Add a TPM device and configure it to version ",(0,t.jsx)(i.code,{children:"2.0"}),". This is required for Windows 11 installation."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"TPM",src:n(499).A+"",width:"723",height:"682"})}),"\n",(0,t.jsx)(i.h3,{id:"37-removing-nic",children:"3.7 Removing NIC"}),"\n",(0,t.jsx)(i.p,{children:"Remove the network interface card (NIC) to avoid the Microsoft Account sign-in requirements during the Windows installation. You can reconnect the NIC after the installation."}),"\n",(0,t.jsxs)(i.blockquote,{children:["\n",(0,t.jsx)(i.p,{children:"Tips: Removing the NIC ensures that the installation does not require online activation, which can be bypassed by using command-line tools to enable offline mode."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"4-booting-the-vm-and-installing-windows-11",children:"4. Booting the VM and Installing Windows 11"}),"\n",(0,t.jsx)(i.h3,{id:"41-starting-the-installation",children:"4.1 Starting the Installation"}),"\n",(0,t.jsxs)(i.p,{children:["To begin the installation process, first click on ",(0,t.jsx)(i.code,{children:"Begin Installation"})," to start your VM. If you miss the ",(0,t.jsx)(i.code,{children:"Press any key"})," prompt that appears when the VM starts, follow these steps:"]}),"\n",(0,t.jsx)(i.h4,{id:"411-accessing-the-uefi-shell",children:"4.1.1 Accessing the UEFI Shell"}),"\n",(0,t.jsxs)(i.p,{children:["Enter the UEFI Shell by pressing the necessary key to open the BIOS menu. Type ",(0,t.jsx)(i.code,{children:"exit"})," to leave the BIOS menu."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Exit BIOS",src:n(2436).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"412-navigating-to-boot-manager",children:"4.1.2 Navigating to Boot Manager"}),"\n",(0,t.jsxs)(i.p,{children:["Use the arrow keys to navigate to ",(0,t.jsx)(i.code,{children:"Boot Manager"})," and select the UEFI DVD-ROM from the list of boot options."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Boot Manager",src:n(5833).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Boot Manager",src:n(9867).A+"",width:"1308",height:"935"})]}),"\n",(0,t.jsx)(i.h4,{id:"413-booting-from-the-windows-11-iso",children:"4.1.3 Booting from the Windows 11 ISO"}),"\n",(0,t.jsx)(i.p,{children:"Press any key to initiate the boot process from the Windows 11 ISO."}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Press any key",src:n(4792).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Win11 Launch",src:n(3878).A+"",width:"1308",height:"935"})]}),"\n",(0,t.jsx)(i.h3,{id:"42-completing-windows-setup",children:"4.2 Completing Windows Setup"}),"\n",(0,t.jsx)(i.h4,{id:"421-selecting-language-and-settings",children:"4.2.1 Selecting Language and Settings"}),"\n",(0,t.jsxs)(i.p,{children:["On the Windows setup screen, choose your preferred language, time, and keyboard layout. Click ",(0,t.jsx)(i.code,{children:"Next"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Setup",src:n(9537).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"422-installing-windows",children:"4.2.2 Installing Windows"}),"\n",(0,t.jsxs)(i.p,{children:["Click ",(0,t.jsx)(i.code,{children:"Install now"})," to start the installation process."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Install Now",src:n(8924).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"423-skipping-product-key",children:"4.2.3 Skipping Product Key"}),"\n",(0,t.jsxs)(i.p,{children:["When prompted for a product key, click ",(0,t.jsx)(i.code,{children:"I Don't have the product key"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Product Key",src:n(5608).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"424-selecting-edition",children:"4.2.4 Selecting Edition"}),"\n",(0,t.jsxs)(i.p,{children:["Choose ",(0,t.jsx)(i.code,{children:"Windows 11 Pro"})," as the edition and click ",(0,t.jsx)(i.code,{children:"Next"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Pro Version",src:n(1390).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"425-accepting-license-terms",children:"4.2.5 Accepting License Terms"}),"\n",(0,t.jsx)(i.p,{children:"Accept the license terms to proceed with the installation."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Accept License",src:n(5417).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"426-choosing-installation-type",children:"4.2.6 Choosing Installation Type"}),"\n",(0,t.jsxs)(i.p,{children:["Select ",(0,t.jsx)(i.code,{children:"Custom: Install Windows only (advanced)"})," for a clean installation."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Custom Installation",src:n(1039).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"427-loading-virtio-driver",children:"4.2.7 Loading VirtIO Driver"}),"\n",(0,t.jsxs)(i.p,{children:["To install the required drivers, click ",(0,t.jsx)(i.code,{children:"Load driver"}),", then ",(0,t.jsx)(i.code,{children:"Browse"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Load Driver",src:n(857).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsxs)(i.p,{children:["Navigate to ",(0,t.jsx)(i.code,{children:"E:\\amd64\\w11"}),", click ",(0,t.jsx)(i.code,{children:"OK"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Select Drivers",src:n(9317).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsxs)(i.p,{children:["select the REDHAT result. Click ",(0,t.jsx)(i.code,{children:"Next"}),"."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 REDHAT Driver Next",src:n(9649).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.p,{children:"will take a while, just wait."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Waiting for Installation Complete",src:n(4748).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"428-selecting-installation-disk",children:"4.2.8 Selecting Installation Disk"}),"\n",(0,t.jsxs)(i.p,{children:["Choose the disk where you want to install Windows (e.g: ",(0,t.jsx)(i.code,{children:"400GB"}),") and continue with the installation."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Win11 Install Disk",src:n(6543).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Win11 Installing",src:n(1095).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Win11 Installing Restart",src:n(2011).A+"",width:"1308",height:"935"})]}),"\n",(0,t.jsx)(i.h4,{id:"429-rebooting-during-installation",children:"4.2.9 Rebooting During Installation"}),"\n",(0,t.jsxs)(i.p,{children:["The installation process will reboot several times. During these reboots, ignore any ",(0,t.jsx)(i.code,{children:"Press any key"})," prompts."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Win11 Ignore Press Any Key",src:n(7786).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Win11 Installing",src:n(634).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Win11 Loading Installing",src:n(3546).A+"",width:"1308",height:"935"})]}),"\n",(0,t.jsx)(i.h3,{id:"43-bypassing-network-requirements",children:"4.3 Bypassing Network Requirements"}),"\n",(0,t.jsxs)(i.p,{children:["When you reach the ",(0,t.jsx)(i.code,{children:"Hi"})," screen, press ",(0,t.jsx)(i.code,{children:"Shift + F10"})," to open the Command Prompt. In the Command Prompt window, type:"]}),"\n",(0,t.jsx)(i.pre,{children:(0,t.jsx)(i.code,{className:"language-cmd",children:"OOBE\\BYPASSNRO\n"})}),"\n",(0,t.jsx)(i.p,{children:"The system will automatically reboot after executing this command."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"OOBE\\BYPASSNRO",src:n(7252).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h2,{id:"5-post-installation-configuration",children:"5. Post-Installation Configuration"}),"\n",(0,t.jsx)(i.p,{children:"Now just install the window in the normal way. Don't worry too much about it being different."}),"\n",(0,t.jsx)(i.h3,{id:"51-power-off-the-system",children:"5.1 Power Off the System"}),"\n",(0,t.jsxs)(i.p,{children:["After completing the Windows 11 installation, you should power off the VM. This is done by using the ",(0,t.jsx)(i.code,{children:"Power off"})," option from the VM\u2019s menu."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Power Off",src:n(2460).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h3,{id:"52-adding-gpu-and-gpu-audio-devices",children:"5.2 Adding GPU and GPU-Audio Devices"}),"\n",(0,t.jsx)(i.h4,{id:"521-adding-the-gpu",children:"5.2.1 Adding the GPU"}),"\n",(0,t.jsx)(i.p,{children:"Add your GPU to the VM configuration. This involves specifying the GPU as a passthrough device in the VM settings."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Add GPU",src:n(7901).A+"",width:"1049",height:"713"})}),"\n",(0,t.jsx)(i.h4,{id:"532-adding-gpu-audio",children:"5.3.2 Adding GPU-Audio"}),"\n",(0,t.jsx)(i.p,{children:"Similarly, add your GPU-Audio device. This step ensures that audio functionalities from the GPU are also included in the VM setup."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Add GPU-Audio",src:n(6928).A+"",width:"1049",height:"713"})}),"\n",(0,t.jsx)(i.h3,{id:"54-reconnecting-the-network-interface-card-nic",children:"5.4 Reconnecting the Network Interface Card (NIC)"}),"\n",(0,t.jsx)(i.p,{children:"Since, previously we removed the NIC to avoid Microsoft account sign-in requirements during installation, reconnect it now. This step will restore network connectivity for the VM."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Add NIC",src:n(4413).A+"",width:"1049",height:"713"})}),"\n",(0,t.jsx)(i.h3,{id:"55-removing-the-windows-11-iso",children:"5.5 Removing the Windows 11 ISO"}),"\n",(0,t.jsx)(i.p,{children:"Finally, remove the Windows 11 ISO from the VM\u2019s virtual drives to complete the setup. This ensures that the VM will not boot from the ISO again."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Remove Win11 ISO",src:n(6013).A+"",width:"1289",height:"935"})}),"\n",(0,t.jsx)(i.h2,{id:"6-final-configuration-and-updates",children:"6. Final Configuration and Updates"}),"\n",(0,t.jsx)(i.h3,{id:"61-updating-windows-11",children:"6.1 Updating Windows 11"}),"\n",(0,t.jsx)(i.p,{children:"You need to ensure your Windows 11 system is up to date."}),"\n",(0,t.jsx)(i.h4,{id:"611-checking-for-updates",children:"6.1.1 Checking for Updates"}),"\n",(0,t.jsx)(i.p,{children:"Power on your VM and navigate to the Windows Update settings to check for updates."}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Win11 Check for Update",src:n(6625).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"612-handling-update-errors",children:"6.1.2 Handling Update Errors"}),"\n",(0,t.jsx)(i.p,{children:"If you encounter any update errors, allow the system to reboot automatically as it may resolve the issue."}),"\n",(0,t.jsxs)(i.blockquote,{children:["\n",(0,t.jsx)(i.p,{children:"That's windows problem, don't worry too much. just force-reboot."}),"\n"]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Win11 Update Error",src:n(1725).A+"",width:"1308",height:"935"}),"\n",(0,t.jsx)(i.img,{alt:"Win11 Up to Date",src:n(6625).A+"",width:"1308",height:"935"})]}),"\n",(0,t.jsx)(i.h3,{id:"62-installing-virtio-drivers",children:"6.2 Installing VirtIO Drivers"}),"\n",(0,t.jsx)(i.p,{children:"To ensure optimal performance and functionality, you need to install VirtIO drivers."}),"\n",(0,t.jsx)(i.h4,{id:"621-opening-device-manager",children:"6.2.1 Opening Device Manager"}),"\n",(0,t.jsxs)(i.p,{children:["Open ",(0,t.jsx)(i.code,{children:"Device Manager"})," to begin the process of updating drivers."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Device Manager",src:n(7354).A+"",width:"1308",height:"935"})}),"\n",(0,t.jsx)(i.h4,{id:"622-updating-pci-devices-driver",children:"6.2.2 Updating PCI Devices Driver"}),"\n",(0,t.jsxs)(i.p,{children:["Update the driver for ",(0,t.jsx)(i.code,{children:"PCI Devices"})," by selecting the appropriate option in Device Manager."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Device Manager Update PCI",src:n(8301).A+"",width:"1332",height:"958"})}),"\n",(0,t.jsx)(i.h4,{id:"623-browsing-for-the-virtio-iso",children:"6.2.3 Browsing for the VirtIO ISO"}),"\n",(0,t.jsxs)(i.p,{children:["Browse to the location of the ",(0,t.jsx)(i.code,{children:"VirtIO ISO"})," on ",(0,t.jsx)(i.code,{children:"E:\\"})," to locate the necessary drivers."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Device Manager Search Driver",src:n(2563).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Device Manager Search E Driver",src:n(4196).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Device Manager Searching E",src:n(5850).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Device Manager Loaded",src:n(770).A+"",width:"1332",height:"958"})]}),"\n",(0,t.jsx)(i.h3,{id:"63-installing-virtio-driver-gt",children:"6.3 Installing VirtIO Driver gt"}),"\n",(0,t.jsx)(i.h4,{id:"631-launching-the-installer",children:"6.3.1 Launching the Installer"}),"\n",(0,t.jsxs)(i.p,{children:["Open ",(0,t.jsx)(i.code,{children:"Explorer"}),", navigate to the ",(0,t.jsx)(i.code,{children:"VirtIO"})," folder, and start the installation of ",(0,t.jsx)(i.code,{children:"virtio-win-gt-x64.msi"}),"."]}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64",src:n(8926).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Next",src:n(6626).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"License VirtIO",src:n(8104).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Select",src:n(1441).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Install",src:n(4604).A+"",width:"1332",height:"958"})]}),"\n",(0,t.jsx)(i.p,{children:"Grant any necessary superuser permissions to complete the installation."}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Permission",src:n(830).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Installing",src:n(9186).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Finish",src:n(3048).A+"",width:"1332",height:"958"})]}),"\n",(0,t.jsx)(i.h4,{id:"632-installing-guest-tools",children:"6.3.2 Installing Guest Tools"}),"\n",(0,t.jsx)(i.p,{children:"Finally, install the guest tools to enhance the VM\u2019s performance and integration."}),"\n",(0,t.jsxs)(i.p,{children:[(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Guest Tool",src:n(486).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Guest Tool Install",src:n(7556).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Guest Tool Install Yes",src:n(1834).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Guest Tool Installing",src:n(842).A+"",width:"1332",height:"958"}),"\n",(0,t.jsx)(i.img,{alt:"Explorer E VirtIO Win X64 Guest Tool Success",src:n(8119).A+"",width:"1076",height:"926"})]}),"\n",(0,t.jsx)(i.h2,{id:"7-enabling-and-installing-gpu-drivers",children:"7. Enabling and Installing GPU Drivers"}),"\n",(0,t.jsx)(i.h3,{id:"71-enabling-amd-gpu",children:"7.1 Enabling AMD GPU"}),"\n",(0,t.jsx)(i.p,{children:"For windows 11, you need to manually enable the GPU utilize it for your VM."}),"\n",(0,t.jsx)(i.h4,{id:"711-accessing-device-manager",children:"7.1.1 Accessing Device Manager"}),"\n",(0,t.jsxs)(i.p,{children:["Back to the ",(0,t.jsx)(i.code,{children:"Device Manager"})," on your Windows 11 VM."]}),"\n",(0,t.jsx)(i.h4,{id:"712-enabling-the-gpu",children:"7.1.2 Enabling the GPU"}),"\n",(0,t.jsxs)(i.p,{children:["Locate your GPU under the ",(0,t.jsx)(i.code,{children:"Display adapters"})," section, right-click it, and select ",(0,t.jsx)(i.code,{children:"Enable"})," to activate the GPU."]}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:"Enable GPU",src:n(9492).A+"",width:"1332",height:"958"})}),"\n",(0,t.jsx)(i.h3,{id:"72-installing-gpu-drivers",children:"7.2 Installing GPU Drivers"}),"\n",(0,t.jsx)(i.p,{children:"To ensure your GPU functions correctly, you need to install the appropriate drivers, Since it's windows LOL"}),"\n",(0,t.jsx)(i.p,{children:"Visit your GPU manufacturer\u2019s website (AMD, Nvidia, or Intel) to download the latest drivers for your GPU."}),"\n",(0,t.jsx)(i.h2,{id:"9-conclusion",children:"9. Conclusion"}),"\n",(0,t.jsx)(i.p,{children:"Congratulations! You have successfully set up Windows 11 on a QEMU/KVM virtual machine, including configuring a virtual TPM and GPU. Explore and enjoy the features of Windows 11"})]})}function h(e={}){const{wrapper:i}={...(0,a.R)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},9335:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/1of5-f01d869e730ee60b6464c58f58d8877a.png"},6186:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/2of5-5afa058bb09078d3900b20d9e76bf376.png"},2681:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/3of5-b64af35a62efa48dcd8b493e8a4d42f6.png"},4740:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/4of5-f9ab2e0164a150a8c8feab5b7b5a1792.png"},2379:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/5of5-d778858ce34249f159e08f9de1f3ad6b.png"},7354:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-Device-manger-0f1cfa00e776cf63d9a3c6005e7e5bfc.png"},2563:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-device-manager-search-driver-3c8bcebf6a95644759cc66b28cc9e112.png"},5850:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-device-manager-searching-e-88d78ef6593f1e7fdcfb99a369a3c79c.png"},770:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-device-manger-loaded-bc024976f266c20de616a029317f7971.png"},4196:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-device-manger-search-e-driver-a2aa0898b66413a59c92423d133d85ab.png"},8301:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-device-manger-update-pci-cee3e1007b9deec686ed9e328ff3f943.png"},3048:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-finish-add4451c1ff8f5c09d2a1f0ec82ed1d1.png"},1834:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-guest-tool-install-yes-37a217acf03d44645e479a299ba50fc2.png"},7556:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-guest-tool-install-88c8493b84fc4f3c69ec44026211ece9.png"},842:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-guest-tool-installing-86f204273ad9cab27db0851c7c1412c0.png"},8119:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-guest-tool-sucess-73ec106b6e40ea7d24c50b86fa97743b.png"},486:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-guest-tool-c28e8458298f78ce09f81faf742c7e8a.png"},4604:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-install-592281bc78d49d33d082fa1f507a3a04.png"},9186:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-installing-2aa4834e2541b6a4f8899f297f8c2f8f.png"},8104:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-license-a4d32db6d98dd77bfbe6322e2e261185.png"},6626:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-next-38667cb53214f8278db3e492da82c66f.png"},830:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-premission-35834bf669a36c1dba5f3fccacb41285.png"},1441:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-select-6e7e09bef3981ffa4deafa26ca4aa8c0.png"},8926:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/explorer-e-virt-win-x64-e6801e1de26f08f3faffb4a3f7efb4c8.png"},1974:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/CPU Select-8672286e11d0c4c5878a2b9a95cd0395.png"},1139:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/Firmware-94f0d0a32004b75064db55a2145ac238.png"},2741:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/VirtIO Disk-75e394b413011c4a3ff4eec5674bc21f.png"},998:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/VirtIO iso-aefcd12bdaac4f2755e03f0364a091ee.png"},499:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/tls-tpm-e6d777aa86516abf3f9bba622b3748ba.png"},5833:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/Boot-manger-exit-241408c938b1349b3e4929a4979ebf6f.png"},3878:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/Loading-one-612c2c030f5ab88dbbbf8446830fdbf4.png"},4792:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/Pressanykey-one-c597314c3ea653898fe215b7657e195d.png"},9867:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/boot-manager-exit-2-c52b2dc539cb0dba0d8c166b42de9c60.png"},2436:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/exit bios-af89a1489fbfe301e08e8f029b82145c.png"},4748:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-REDHAT-driver-load-cd13d661aca4e354b8bd38d00fa6f100.png"},9317:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-amd64-win11-c3a73fcf27a6ac8ba7ce56e2aae5bdd3.png"},1039:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-custom-disk-5a1f18a7d45ce96a4b038983cb19d4f7.png"},9649:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-driver-RedHAT-999e1e5c5867fe603358b9dc7dddf5b5.png"},5417:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-i-accpect-license-758c2e39d6bfac6a798f8d6c7b5b0a54.png"},5608:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-i-dont-have-product-key-51ea857c339fffb470d19ca37427ee4e.png"},7786:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-ignore-installing-9b49720d78d9fe689c953926d2cfe5ce.png"},8924:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-install-now-0a280c24c226f13675cd34ffe8f65dcb.png"},6543:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-install-726246e7fa52c93e9f3a0907aa428ec7.png"},634:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-installing-2-904f68074edadfa4c001a46b4b22a6e7.png"},1095:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-installing-e3e86b43c2f3757993f36d25c1a1f311.png"},857:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-load-driver-86c302b92fff316ea1987255bf7559eb.png"},3546:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-loading-d31c30b5c3d59321016de01c4de3b944.png"},2011:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-restarting-8a87200b106ab9bfea97ffa0f4576f92.png"},1390:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-select-pro-6323b6114caf84d9c18e7ec207310d49.png"},9537:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-fb51a9ed9f3351790f62982cf0372e74.png"},7252:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-bypassnro-6edc8352c64495b16c4d3d345b9259d8.png"},2460:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/poweroff-7db46f3552c37495a5e6cf18754d2754.png"},6928:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-add-gpu-audio-751a671ad8156efa3ca6d134fd1cb6dd.png"},7901:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-add-gpu-28324ce9f38b93ac9e4a19aa9ac30715.png"},4413:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-add-nic-948a0cd9d22e68469eb92d424394cc03.png"},6013:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-remove-iso-987cc849c81a7838732623d782221b08.png"},1725:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-error-f35d1e25fe19ee9f9022732e4503e512.png"},6625:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/w11-makesure-uptodated-d39aa5d92b84274067984f2272df6f29.png"},9492:(e,i,n)=>{n.d(i,{A:()=>s});const s=n.p+"assets/images/enable-amd-driver-a8cbdb4f783bc4bd152da44fd82bd7db.png"},8453:(e,i,n)=>{n.d(i,{R:()=>d,x:()=>r});var s=n(6540);const t={},a=s.createContext(t);function d(e){const i=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(a.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4c69877e.1a80e43e.js b/assets/js/4c69877e.1a80e43e.js deleted file mode 100644 index 703f717..0000000 --- a/assets/js/4c69877e.1a80e43e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[436],{1791:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"dual-gpu-passthru-desktop/InstallOS-win10","title":"Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps","description":"Well done! You\u2019re almost there. The last crucial steps for setting up your Windows 10 virtual machine.","source":"@site/docs/dual-gpu-passthru-desktop/InstallOS-win10.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/InstallOS-win10","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/InstallOS-win10","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/InstallOS-win10.mdx","tags":[],"version":"current","sidebarPosition":12,"frontMatter":{"sidebar_position":12},"sidebar":"tutorialSidebar","previous":{"title":"Downloading the Operating System","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Download-OS"},"next":{"title":"Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/InstallOS-win11"}}');var n=i(4848),d=i(8453);const a={sidebar_position:12},o="Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps",r={},c=[{value:"1. Launch virt-manager and Create a New VM",id:"1-launch-virt-manager-and-create-a-new-vm",level:3},{value:"1.2 Select Your Windows 10 ISO",id:"12-select-your-windows-10-iso",level:3},{value:"1.3 Choose Your RAM",id:"13-choose-your-ram",level:3},{value:"1.4 Set Disk Image Size",id:"14-set-disk-image-size",level:3},{value:"1.5 Configure VM Settings",id:"15-configure-vm-settings",level:3},{value:"1.6 Select Firmware",id:"16-select-firmware",level:3},{value:"1.7 Set Boot Options",id:"17-set-boot-options",level:3},{value:"1.8 Add VirtIO Disk",id:"18-add-virtio-disk",level:3},{value:"1.9 Add VirtIO ISO",id:"19-add-virtio-iso",level:3},{value:"1.9.1 Confirm Boot Options",id:"191-confirm-boot-options",level:3},{value:"2. Begin Installation",id:"2-begin-installation",level:2},{value:"3. Boot Your System",id:"3-boot-your-system",level:2},{value:"3.2 Exit the UEFI Shell",id:"32-exit-the-uefi-shell",level:3},{value:"3.3 Select Boot Manager",id:"33-select-boot-manager",level:3},{value:"3.4 Select Boot Manager (DVD)",id:"34-select-boot-manager-dvd",level:3},{value:"3.5 Press Any Key Again",id:"35-press-any-key-again",level:3},{value:"4. Windows Setup",id:"4-windows-setup",level:2},{value:"4.2 Install Now",id:"42-install-now",level:3},{value:"4.3 Skip Product Key",id:"43-skip-product-key",level:3},{value:"4.4 Select Version",id:"44-select-version",level:3},{value:"4.5 Accept License Terms",id:"45-accept-license-terms",level:3},{value:"4.6 Custom Installation",id:"46-custom-installation",level:3},{value:"4.7 Load Drivers",id:"47-load-drivers",level:3},{value:"4.8 Browse for Drivers",id:"48-browse-for-drivers",level:3},{value:"4.9 Select Virtio-Win",id:"49-select-virtio-win",level:3},{value:"4.9.1 Red Hat VirtIO SCSI Controller",id:"491-red-hat-virtio-scsi-controller",level:3},{value:"4.9.2 VirtIO Disk",id:"492-virtio-disk",level:3},{value:"4.9.3 Select Installation Disk",id:"493-select-installation-disk",level:3},{value:"4.9.4 Installing Windows",id:"494-installing-windows",level:2},{value:"4.9.5 Windows Configuration",id:"495-windows-configuration",level:3},{value:"4.9.6 Power Off",id:"496-power-off",level:3},{value:"5. Remove ISO from virt-manager",id:"5-remove-iso-from-virt-manager",level:2},{value:"6. Add PCI Devices",id:"6-add-pci-devices",level:2},{value:"7. Update Your VM",id:"7-update-your-vm",level:2},{value:"7.2 Update Drivers",id:"72-update-drivers",level:3},{value:"7.3 Install VirtIO Drivers",id:"73-install-virtio-drivers",level:3},{value:"8. Configure Display Settings",id:"8-configure-display-settings",level:2},{value:"8.2 Passthrough USB and Mouse",id:"82-passthrough-usb-and-mouse",level:3},{value:"8.3 Optimize CPU Configuration",id:"83-optimize-cpu-configuration",level:3},{value:"9. Disable Automatic Suspend",id:"9-disable-automatic-suspend",level:2},{value:"Conclusion: You\u2019re All Set!",id:"conclusion-youre-all-set",level:2}];function l(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"setting-up-your-virtual-machine-windows-10--the-final-steps",children:"Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps"})}),"\n",(0,n.jsx)(s.p,{children:"Well done! You\u2019re almost there. The last crucial steps for setting up your Windows 10 virtual machine."}),"\n",(0,n.jsx)(s.h3,{id:"1-launch-virt-manager-and-create-a-new-vm",children:"1. Launch virt-manager and Create a New VM"}),"\n",(0,n.jsxs)(s.p,{children:["Open up ",(0,n.jsx)(s.code,{children:"virt-manager"})," and start by creating a new virtual machine."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"New VM",src:i(4868).A+"",width:"500",height:"500"})}),"\n",(0,n.jsx)(s.h3,{id:"12-select-your-windows-10-iso",children:"1.2 Select Your Windows 10 ISO"}),"\n",(0,n.jsx)(s.p,{children:"Choose your Windows 10 ISO file."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Select ISO",src:i(6987).A+"",width:"500",height:"500"})}),"\n",(0,n.jsx)(s.h3,{id:"13-choose-your-ram",children:"1.3 Choose Your RAM"}),"\n",(0,n.jsx)(s.p,{children:"Decide on the amount of RAM you want to allocate to your VM."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Select RAM",src:i(7584).A+"",width:"500",height:"500"})}),"\n",(0,n.jsx)(s.h3,{id:"14-set-disk-image-size",children:"1.4 Set Disk Image Size"}),"\n",(0,n.jsxs)(s.p,{children:["Set the size of your virtual machine\u2019s disk. Make sure to check ",(0,n.jsx)(s.code,{children:"Enable storage for this virtual machine."})]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Select Disk Size",src:i(2769).A+"",width:"500",height:"500"})}),"\n",(0,n.jsx)(s.h3,{id:"15-configure-vm-settings",children:"1.5 Configure VM Settings"}),"\n",(0,n.jsxs)(s.p,{children:["Give your virtual machine a name and tick the box to ",(0,n.jsx)(s.code,{children:"Customize configuration before install."})]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Ready to Install",src:i(6038).A+"",width:"500",height:"500"})}),"\n",(0,n.jsx)(s.h3,{id:"16-select-firmware",children:"1.6 Select Firmware"}),"\n",(0,n.jsxs)(s.p,{children:["Choose ",(0,n.jsx)(s.code,{children:"OVMF_CODE.fd"})," for firmware."]}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"IMPORTANT"}),": This setting cannot be changed after you begin the installation, so double-check this choice."]}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Firmware",src:i(8750).A+"",width:"1076",height:"899"})}),"\n",(0,n.jsx)(s.h3,{id:"17-set-boot-options",children:"1.7 Set Boot Options"}),"\n",(0,n.jsxs)(s.p,{children:["Enable the boot menu. Select ",(0,n.jsx)(s.code,{children:"SATA CDROM 1"})," and ensure it is checked. Set it as the first boot device to make sure it detects your Windows 10 installation ISO."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Boot Options",src:i(6828).A+"",width:"1076",height:"899"})}),"\n",(0,n.jsx)(s.h3,{id:"18-add-virtio-disk",children:"1.8 Add VirtIO Disk"}),"\n",(0,n.jsx)(s.p,{children:"After installing Windows, add a VirtIO Disk. we'll use for later."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Add VirtIO Disk",src:i(5680).A+"",width:"862",height:"705"})}),"\n",(0,n.jsx)(s.h3,{id:"19-add-virtio-iso",children:"1.9 Add VirtIO ISO"}),"\n",(0,n.jsx)(s.p,{children:"add the VirtIO ISO. This will be essential for smooth operation once Windows is installed."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Add VirtIO ISO",src:i(9866).A+"",width:"862",height:"705"})}),"\n",(0,n.jsx)(s.h3,{id:"191-confirm-boot-options",children:"1.9.1 Confirm Boot Options"}),"\n",(0,n.jsx)(s.p,{children:"Verify that your boot options look like the example below."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Boot Options Result",src:i(477).A+"",width:"1076",height:"899"})}),"\n",(0,n.jsx)(s.h2,{id:"2-begin-installation",children:"2. Begin Installation"}),"\n",(0,n.jsxs)(s.p,{children:["Click the ",(0,n.jsx)(s.code,{children:"Begin Installation"})," button to start the process."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Begin Installation",src:i(3031).A+"",width:"1076",height:"899"})}),"\n",(0,n.jsx)(s.h2,{id:"3-boot-your-system",children:"3. Boot Your System"}),"\n",(0,n.jsx)(s.p,{children:"When prompted, press any key to boot from your CD/DVD."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Press Any Key",src:i(4284).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"32-exit-the-uefi-shell",children:"3.2 Exit the UEFI Shell"}),"\n",(0,n.jsxs)(s.p,{children:["If you get stuck in the UEFI Shell, type ",(0,n.jsx)(s.code,{children:"exit"})," and press Enter to move forward."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Exit UEFI Shell",src:i(1775).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"33-select-boot-manager",children:"3.3 Select Boot Manager"}),"\n",(0,n.jsxs)(s.p,{children:["Use the arrow keys to navigate to and select ",(0,n.jsx)(s.code,{children:"Boot Manager"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Boot Manager",src:i(2985).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"34-select-boot-manager-dvd",children:"3.4 Select Boot Manager (DVD)"}),"\n",(0,n.jsx)(s.p,{children:"Choose the first option to boot from the DVD."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Boot Manager Select DVD",src:i(4413).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"35-press-any-key-again",children:"3.5 Press Any Key Again"}),"\n",(0,n.jsx)(s.p,{children:"Press any key to continue booting up your system."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Press Any Key Again",src:i(4284).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h2,{id:"4-windows-setup",children:"4. Windows Setup"}),"\n",(0,n.jsxs)(s.p,{children:["Now you\u2019ll see the Windows setup process start. The installation steps are similar to a regular Windows installation. Keep clicking ",(0,n.jsx)(s.code,{children:"Next"})," until you reach the ",(0,n.jsx)(s.code,{children:"Install Windows"})," option."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Windows Setup",src:i(2024).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"42-install-now",children:"4.2 Install Now"}),"\n",(0,n.jsxs)(s.p,{children:["Click ",(0,n.jsx)(s.code,{children:"Install now"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Install Now",src:i(5065).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"43-skip-product-key",children:"4.3 Skip Product Key"}),"\n",(0,n.jsxs)(s.p,{children:["Click ",(0,n.jsx)(s.code,{children:"I don\u2019t have a product key"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Skip Product Key",src:i(6471).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"44-select-version",children:"4.4 Select Version"}),"\n",(0,n.jsx)(s.p,{children:"Choose the Pro version of Windows. The Pro version supports offline accounts."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Windows Pro",src:i(5870).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"45-accept-license-terms",children:"4.5 Accept License Terms"}),"\n",(0,n.jsx)(s.p,{children:"Tick the box to accept the license terms."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Accept License",src:i(3597).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"46-custom-installation",children:"4.6 Custom Installation"}),"\n",(0,n.jsxs)(s.p,{children:["Select ",(0,n.jsx)(s.code,{children:"Custom"})," installation."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Custom Install",src:i(2692).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"47-load-drivers",children:"4.7 Load Drivers"}),"\n",(0,n.jsxs)(s.p,{children:["Click ",(0,n.jsx)(s.code,{children:"Load drivers"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Load Drivers",src:i(6257).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"48-browse-for-drivers",children:"4.8 Browse for Drivers"}),"\n",(0,n.jsxs)(s.p,{children:["Click ",(0,n.jsx)(s.code,{children:"Browse"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Browse Drivers",src:i(4355).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"49-select-virtio-win",children:"4.9 Select Virtio-Win"}),"\n",(0,n.jsxs)(s.p,{children:["Choose the path ",(0,n.jsx)(s.code,{children:"E:\\amd64\\w10"})," and click ",(0,n.jsx)(s.code,{children:"OK"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Select Virtio-Win",src:i(7321).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"491-red-hat-virtio-scsi-controller",children:"4.9.1 Red Hat VirtIO SCSI Controller"}),"\n",(0,n.jsxs)(s.p,{children:["Select ",(0,n.jsx)(s.code,{children:"Red Hat VirtIO SCSI controller"})," and click ",(0,n.jsx)(s.code,{children:"Next"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Red Hat VirtIO SCSI",src:i(7511).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"492-virtio-disk",children:"4.9.2 VirtIO Disk"}),"\n",(0,n.jsx)(s.p,{children:"You should see the new VirtIO Disk. This disk is crucial for installing new drivers later, so do not delete it."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"VirtIO Disk",src:i(6142).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"493-select-installation-disk",children:"4.9.3 Select Installation Disk"}),"\n",(0,n.jsx)(s.p,{children:"Choose your disk for installing Windows. You can partition it into drives (e.g., 150 GB and 350 GB) as needed."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Select Installation Disk",src:i(222).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h2,{id:"494-installing-windows",children:"4.9.4 Installing Windows"}),"\n",(0,n.jsx)(s.p,{children:"Click to start the installation. This process will take some time."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Installing Windows",src:i(4497).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"495-windows-configuration",children:"4.9.5 Windows Configuration"}),"\n",(0,n.jsx)(s.p,{children:"Follow the prompts to complete the Windows setup. You can customize settings or proceed with defaults."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(7017).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(1874).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(875).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(932).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(3437).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(2758).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(4296).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(4241).A+"",width:"1440",height:"1026"})]}),"\n",(0,n.jsx)(s.h3,{id:"496-power-off",children:"4.9.6 Power Off"}),"\n",(0,n.jsx)(s.p,{children:"Once the setup is complete, power off your VM."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Power Off",src:i(9158).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h2,{id:"5-remove-iso-from-virt-manager",children:"5. Remove ISO from virt-manager"}),"\n",(0,n.jsxs)(s.p,{children:["You no longer need the Windows ISO file, so go ahead and remove it from ",(0,n.jsx)(s.code,{children:"virt-manager"}),"."]}),"\n",(0,n.jsx)(s.h2,{id:"6-add-pci-devices",children:"6. Add PCI Devices"}),"\n",(0,n.jsx)(s.p,{children:"Back to virt-manger and your virtual machine, add your PCI devices such as GPU, GPU-Audio, and Network, and power on the VM."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.img,{alt:"Add PCI Devices",src:i(7448).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Add PCI Devices",src:i(2723).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Add PCI Devices",src:i(5146).A+"",width:"1440",height:"1026"})]}),"\n",(0,n.jsx)(s.p,{children:"Once added, power on your VM."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Power On VM",src:i(2197).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h2,{id:"7-update-your-vm",children:"7. Update Your VM"}),"\n",(0,n.jsx)(s.p,{children:"Ensure your system is up-to-date by connecting to the network and running Windows Update."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Update Windows",src:i(5372).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.p,{children:"Windows updates can be slow, so be patient lmfao."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.img,{alt:"Update Windows",src:i(1975).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Update Windows",src:i(1982).A+"",width:"1440",height:"1026"})]}),"\n",(0,n.jsx)(s.h3,{id:"72-update-drivers",children:"7.2 Update Drivers"}),"\n",(0,n.jsxs)(s.p,{children:["To update your drivers, open Device Manager, find your PCI device, right-click, and select ",(0,n.jsx)(s.code,{children:"Update Driver"}),"."]}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Open Device Manager:\n",(0,n.jsx)(s.img,{alt:"Device Manager",src:i(4103).A+"",width:"1440",height:"1026"})]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Right-click on your PCI device and choose ",(0,n.jsx)(s.code,{children:"Update Driver"}),":\n",(0,n.jsx)(s.img,{alt:"Update Drivers",src:i(3358).A+"",width:"1440",height:"1026"})]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Select ",(0,n.jsx)(s.code,{children:"Browse my computer for drivers"}),":\n",(0,n.jsx)(s.img,{alt:"Browse for Drivers",src:i(4837).A+"",width:"1440",height:"1026"})]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Browse to the path where your drivers are located (typically ",(0,n.jsx)(s.code,{children:"E:\\"})," or the path where you stored your VirtIO drivers) and click ",(0,n.jsx)(s.code,{children:"Next"}),":\n",(0,n.jsx)(s.img,{alt:"Select Path",src:i(8924).A+"",width:"1440",height:"1026"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"You should see your GPU listed in Device Manager, indicating that it\u2019s correctly passthroughed."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"GPU Passthrough",src:i(8788).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"73-install-virtio-drivers",children:"7.3 Install VirtIO Drivers"}),"\n",(0,n.jsx)(s.p,{children:"To improve your VM\u2019s performance, you need to install VirtIO drivers. Follow these steps:"}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Open File Explorer and navigate to the ",(0,n.jsx)(s.code,{children:"E:\\"})," drive where your VirtIO drivers are located."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"VirtIO Installation",src:i(232).A+"",width:"469",height:"107"})}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Find the file ",(0,n.jsx)(s.code,{children:"virtio-win-gt-x64.msi"})," and double-click to start the installation."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Install VirtIO",src:i(2003).A+"",width:"626",height:"443"})}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Click ",(0,n.jsx)(s.code,{children:"Next"})," to continue with the installation."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Next",src:i(6248).A+"",width:"626",height:"443"})}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Accept the license agreement and click ",(0,n.jsx)(s.code,{children:"Next"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Accept License",src:i(7377).A+"",width:"626",height:"443"})}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Continue clicking ",(0,n.jsx)(s.code,{children:"Next"})," to proceed through the installation steps."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Next",src:i(9662).A+"",width:"626",height:"443"})}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["You might be prompted for superuser permissions. Click ",(0,n.jsx)(s.code,{children:"Next"})," to grant the necessary permissions."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Superuser Permission",src:i(8887).A+"",width:"626",height:"443"})}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"Wait for the installation to complete."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Complete Installation",src:i(780).A+"",width:"626",height:"443"})}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"8-configure-display-settings",children:"8. Configure Display Settings"}),"\n",(0,n.jsx)(s.p,{children:"For optimal performance, use a physical monitor instead of a virtual one. Ensure your second monitor displays your Windows 10 VM."}),"\n",(0,n.jsx)(s.p,{children:"If not displayed, back to your vm and check that the GPU is enabled? if not enabled, on device section right-click to enable the GPU."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Display Settings",src:i(6967).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"82-passthrough-usb-and-mouse",children:"8.2 Passthrough USB and Mouse"}),"\n",(0,n.jsx)(s.p,{children:"To ensure smooth mouse and keyboard input, passthrough these devices to your VM."}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsx)(s.p,{children:"So that's why you might need two mice and a keyboard lol."}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.img,{alt:"Mouse Passthrough",src:i(1135).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Keyboard Passthrough",src:i(3037).A+"",width:"1440",height:"1026"})]}),"\n",(0,n.jsx)(s.h3,{id:"83-optimize-cpu-configuration",children:"8.3 Optimize CPU Configuration"}),"\n",(0,n.jsx)(s.p,{children:"For better performance, configure your VM to use physical CPU cores instead of vCPUs."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"CPU Configuration",src:i(6878).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h2,{id:"9-disable-automatic-suspend",children:"9. Disable Automatic Suspend"}),"\n",(0,n.jsxs)(s.p,{children:["Back to your GNU/Linux, To prevent your VM from being interrupted by idle timeouts, disable the ",(0,n.jsx)(s.code,{children:"When idle"})," Automatic Suspend setting."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Power Setting Idle",src:i(3910).A+"",width:"1580",height:"1031"})}),"\n",(0,n.jsx)(s.h2,{id:"conclusion-youre-all-set",children:"Conclusion: You\u2019re All Set!"}),"\n",(0,n.jsx)(s.p,{children:"Congratulations on setting up your virtual machine with hardware passthrough! You should now be able to use your second monitor and enjoy your VM for various tasks, including gaming."}),"\n",(0,n.jsx)(s.p,{children:"If you run into any graphics issues, make sure to download and install the latest drivers for your GPU from:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://www.amd.com/en/support",children:"AMD Support"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://www.nvidia.com/download/index.aspx",children:"NVIDIA Driver Downloads"})}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,d.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},7321:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/AMD64-b856b5be22a50cdbf9925268e85f1cac.png"},3597:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Accept_license-92dff50e109790592c7f56d758dd70e9.png"},5680:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Add_VirtIO-1429043701cf200270bb83bd78269dc1.png"},9866:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Add_VirtIO_ISO-b81729c5b55e65ee407dcb3e5b19ad3a.png"},477:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/BO_Look_like_this-e58416fedea8da2ec1bd88f58020c271.png"},3031:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Begin_Installation-d7577501774048309b31bc52585bb9f2.png"},2985:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Boot_manager_1-c590c3b1cc99d1da5470b480f753abb3.png"},4413:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Boot_manager_select_DVD-de4ac213c5f568c9474397c47d3c5b6a.png"},6828:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Boot_optinos_1-89e77f0981b1df0b36c60484f741b214.png"},4355:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Browse_drivers-91c2e22851d8900796913275e856ea85.png"},2692:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Custom_install-e15520aa8171ccc145a4fe8d2186570e.png"},4103:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Device_manager-d7ac13050b0f0e8291ede340b0e4ca68.png"},232:(e,s,i)=>{i.d(s,{A:()=>t});const t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdUAAABrCAYAAAAhDhhGAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AAAAtdEVYdENyZWF0aW9uIFRpbWUATW9uIDMxIEp1bCAyMDIzIDA1OjM3OjMyIFBNIEhLVHtVdsAAABbSSURBVHic7d1vbFR3fu/x95k//gfGGEggie16jJiSjVdRGpoU1niVMa5pkbXbXqtISHddXXExpeFPr24uZZ0r5cF1KSEPIrKlNnEf+AkSrSut1q2K42W4ZSMstb0PojgbaoKH2N7FZA1m18Z/Zuaccx/MjD22Z+wxDB4bPq9oZHzOmXN+50w0H39/53fOMUpLS21ERETksTky3QAREZGnhUJVREQkTRSqIiIiaaJQFRERSROFqoiISJooVEVERNJEoSoiIpImClUREZE0UaiKiIikiUJVREQkTRSqIiIiaaJQFRERSROFqoiISJooVCnnlD9AIBB9+U9RDkAdrYG46YEA/lPlSdaxlGWB8lP4A34WWmRJe3DKT6C1LmE7WuvmtLR1kbY9bnvTvG9pX39da2qfUV0rgUArdUlnJ/6sk01Pebsisqo926Fafgp/oIOt5z14PNHXMaid/iYNcKE2Nu8d+g51RMMrkSUs23Man8fH6Z707MO56i5qD7YnaIeH6clR7Qdr6ao+t7RQWrC9dbTGh1w6923JbVlMHa1n4Z3pzyjRcYj+kbUXriRbTfkptl2O/6yj61lgun/R7YrI02BFhuqmTZuoqKjg+9///qxXRUUFmzZtStNWyjl17hB978wJnp7TnG5PtHw7B2svEKjam7R6ebRlH095bTV0dZB6xvRw+nwfh0486ZatQHV7qbpymcjH286HF6C6dm669XDa58Fz8HLy9cz6f+QGtwILTy+vrYYLHy6yXRF5GqyoUK2oqOC9997jfEsL/+vdd2k4fpxDx49z6Ngx/vuxY/zPxkb+prmZ999/n4qKisfbWHkt1Z4rXE4YoEn0dNAVqGJvKnk0a9lINdfa6o92Kcaqu0hVNKugrWud6YIuP4V/uis3UVdkOZFMXSRS49cJcOMWgbJtzP5aX6gt8dVo/L4ECATOUoWHQx2BuC7ouMp11j7M746e3cz4+QnWM2/90X+fSq1rtXxbGYFbN6Z/77nZh2fr9oWOXAq2s9XTx815H0Gy6SLyNFsRoVpSUsJ7773HX777Lnv27eOF0lIKNm4kd80acvLyyM7LIycvj/zCQjYVFfHad77D/zh5kvfff5+SkpJH33DgFjcWXypNPJTdOobHc5CZHO/h9PkrVMWldN3eKq6cP00PdbR2VNMV68p9B47MC4xEX9zRgEsaxEDPTfo8W5kdJwu1Jdm+RLozr8S6nOf2NVNHa0ekN8Dj8eCpvUDZ2eTnQ9svx22/bi9lgZmKrry2Gm4l+rQ8HNp6OXqMruA5dOKJ9w7Eq2s9S9l0FZp4es/Nvrh2lVNb7VnGForIcsp4qFZUVHD2gw+o2bePLS++iMvtxoGBwzAwACO2oA2GbYNt4zAcFGzcxLd/93f5qzNnHr1qnRcsqQgk/m5fdNlA4oqy/TJXpruJ69hbdoEP24HybZTFB+TZqhSrqvhzqtEAbz+Ixxcfjje4FShj29xwS9aWBNtYtDomtg9xvQE9pzl/xcPW7SSuwuMq6Lq9ZXSd74LqWsoXrMgDXIg1sv0yV4ju16JV/uOKVPZHbtXim3WCN8H09oPUXijjbCBAIHCOrX2BhGsUkdXPlcmNV1RUcPz4ccq//W1sIBgOg22DwwDLwDYMDNuOBquNDWBHfwLOnGxyy4r406N/BsCnn36a+sZ7OugKdLC3DtpT7QIur6Xa08f5VLr0Ul62nQ8vHOHcqXJucISyrmNx4XeFd2ZVtukSqXAvz2vbQm1Js57T+Dyn50zroItz1JbfZGtZFx+2d8CRE2wvr6WaLo4tpTGJ1n+zD8/e7RDdq7ndwakr55T/HBzz4OtJZTr0nPYRa05da4C96hcWeSplrFItKSnh6LFjvFJeTlZWFi6nE7fLhdPpxOlw4DCi1WpcxRqpVAHbxsJmzGUzlGOT5ynm8J8fWWJXcLS78+yc83zlpziVsKyJdWWmEnJLWRZ6Orqg+gQnqvs4H6tuem7SR1WCLt94SSrOec2Zc061fBtlSbq+E7blUUX3YbpHufwUR6oWOo/dQ0cXVJ87QllXBz300NFVxt4TW5c4GCuJG7fiBo/VceJQrPqdc/42obhl6k5wqO/8/BHIyabPWqaVs0l7AERktctYqL799tv8VqkHGwPTNHE6nbijL5fDMROsGJH/DAMMAwywDIMxNwxlmRSGDApMB+uf38zbb7+9tEa0H4ye54u7tvMcdEx/4cWfnzzCrdr5l6jMWMqyc/R00EUVVX2X40I4MoKYQx0zbZs3yicaQrNGksa3I8nAne1b8fTdTBxSCduykHYuX4kfqDR73sH449tRTVftwn9o9HR0gWemq7eno4uyqrLUupsX03Ma3ztEu2HPwjuPdmlO+bYyqDo777rkZNNnXT98Ft7xJTpPLSJPA6O0tNRedKk0q6io4Ic/fJctL72I0+mYVaWapkkwHCYYChM2w4RNE9OysCwby7YwsXnosrmTZVEQgnVBA6dpYdgwev8+H37wwdK6gVe78lP4z8GxlL+oY12UT/BaUhGRZ1RGKtU9e/bwQt4LOIJgh2zMsEUoHAlQp9NJlsuF2+XEFe0KdhoOHA4Dw2Ew6TYYzrbZEDIoCIIzbIFlY1k2uevWsWfPnkzsUub0nOZYVzUdC12rEqeutWPxLkoREXkkyz5QadOmTby6/VVyJrNwBB1YORZmroWdbWPaJoYNTqeTsd/c48uf/5y7d+8C8PzmzTznKWF00xoKgw7yQjaOcKSCtW0bGxsDA+/LL7Np0yaGh4eXe9cypue0j1Qv0mg/6HkCA59ERAQyEKrbt2/HtSabB3ljZNlusk03WWMumDKwcm2sbIv7o/fo7r5O5yefMDExScgMYzidfG/fPra98Tusy10DpoVlg0EkUIkOYnJnZ7N9+/ZnqwtYRERWhIxUqobbyTiTBJ0hplwusgw3WbjJmnTjCjv48ssv6fzkE3bs2MGWzZsBCAwM8Pc//jF/tmkjG1/+FiYGNmDZYEfPt1qWjcPpSuOtDEVERFKXkXOqpmUSDocJhkNMmFOM25OMGeOMucYZd0zy9UA/E5OTbNm8maNHj3L06FE8xcWMT0xw86tbGBjRyjTysuMutbHtZR93JSIiAmTo5g+WZUVG9No2DtvCti1MhxPTaRLGhWXbhMLhee8LmxYAk5OTZGdnRc6l2ja2YWBOh6lCVUREMiMjlapt2ZimGX1ZhMMmoXCYyVCQ8eAUJcXFGE4ngYEBPvroIz766CN6AwFcbhee0lJ+df8+/b+4wy/v3mXoV8N8c+8eD379G34zOsbExGTqDalpwu/34/f7aWvwJlqAJn8bCWcth1j72hpY1iYssF1vQ9v0MfP7m6iZ975E0xY7xn78TTUJ5sW2F/sMosvGvZK8TUQkI5a9Uh0eHiYUDOJ0uaZrSsMwcBgOnE4HlsNi8wsv8L19+/j7H/+Y/wuEzUjo/uBP/oTnnt9M2IaQFcKKVqcGYFkmAFY4lOLI3xqaTsIZn49OamjyN9JwtZ6W3sfdwxqa/AfoP/y466qh6eROus/4aOx83Dalb7uekuIE87w0tDWzf7Cb7nnrSuUYDzBQdIAGb+eceTXU7y8GBmYteyl2bL0NtDU3UdPZyLIeIhGRJJa9Ur1x4wbByUmmgkFCoRDhcDjyMiM/Q+EQTrebLS8VcfAH9Xxv7x/wB1VVHG9o4JVvvcJzGzeQl5ONy+mMnEO1rFkvTJMbN1K4n2tNJTu7r0W/jDtpuwS73spUSZrMAP0Zuff6QttNNK+XlnofvsZrsycv4RgPDiaYV1PJzu65QR2/2dsMUkTpSvvYROSZteyhOjw8zK2vbmKZJpZpRX+amOHI4KVQKMTdb4YJhk1cuXm8+Ful/Pa3XmFNwXqmTJPJYJCCtWvIy8nBHQtW05p+fTM0lFKl6i0tYiAuHXpvD1JckuRqT08DbbO6ML00tM3peqxpwt/WRpv/JDspZn9zXJemd+b9M92jkXUk7sasoSluPZFtRrqim5raZtaRcL0LTJ91AOKXiW0/0XZnvYnSoui+Je3OfbRj3N92kcH99XFt9dJwoIhLbdcSLh85TJXs7L6Yht4FEZH0yMhApZ/+9Kds9XpxZeWAQfTevjaWBb8ZHcM0zVnLR0b0GtFq1Gb9unwK1q6N3FjfsglaQWzLBsvkJz/5SZpbW8z+A3DY56PX20Bbc7QL82I3/soa6IzUYTWVO+m+6KOxc273bw1Nzbu4ftgX+b2mibYGL52369k/eAZffaKOy04afcxZjwcopqj/ML7G3uTrbfEkmR6fPDU0Ne9n8IyP+k6i3ahtNATqE2w3XqQibYmtI21d5pF9vtZ9kulD6n2LXVynqRfqZy0XCfX9AHRzxqeOXxFZOTIyUOnTTz/lzuAgZjiEHa1WzXCYBw9+TSgYilawMy8zWs2GQmHGJyYYefBrJqemKMhfy5rcHNxOF9gWw3eHnsBNHwa41NRCL0BvCxe7iynxAJ3X6N5ZGa2saqgsukRbou93bylFzFR3/pM7I9VaoJ+BnScXrfbmtuX61d6F15ts+rw2dXMt1t74/UpZJ9e6i9PaZd7ZdomiA5HBUTX1+xm8GD3uswxw6bAPn8+H73A/BzI5kExEZI6MVKq7d1diGE7CU5M4s3PAhrHxcaw5FWo8yxHJf8s0sSwTy7bYUFDA+oJ1WJZFeHKCH/3oRym3off2IMWVHoh+bc/tqkzMS2lR7N+dtF06QGODlwAHKLrelCAAYro545s/mKbe1xId3Zpo8E8qEqzX25B0e0/C4O3ke73kY9x7les08lYN7Cq6RNNiO9B7lesD+yN/DKgLWERWgGWrVHfvruQvf9jIP//LJ/yfv/pr3vi9nWx67nnMyUlGR8cIJ6hQZ1Wr4XC0qrUIBUOMj49zb+QB4+PjTD4co7X1Y/r7+1NvUKCfgbhKs34/M1XgLHHVmPctdhXPVHi9V6/DrnrqdyV7L9HBNDs5kKSc6m2p5/ClAYqWOtom2XoX2V78MpWxE5jeBg7sjKtcU+Ft4MDORQZSpXyMpxtGy8VB9p/cD9evLp6T3rfYVZypwVwiIvM90Up19+5KvrN7N7t3f5e1a9fOm5+fXwDA3Tt3mDBtTMtKui7TBBwzN3YIRkf7BifHeTDyAMNY4t8HvS3Un4lcQ3kS6D7jS3JucIDBkkb8/mKILtcZt46Lg35OcobG6fdGzg2ebPazv/sMvsZOGg+X0tbcjH9/dJHuM/iuVeI/uTM2gTO+pZZaSdabbHuzyuDYMn78JyP7eOlwfQqVbWwgU2y1yY5ZVMrHOL5pbVw6ALeTLhh/TjXu8hoRkRUg7c9TXSxIEwlOTTE09AvGHo4zFQyR6E6DTqcDp9MJRK5rdTkdrMnL5fnnXyArOxuAsbEx/vVfr/KP//AP3Lr1Vdr2aSE1TX4qry33taQiIrISpSVUHyVIExkd/TUj9+8xPj4ReTi5OVO5GoaB2+3G6TDIy8ulYH3hdKVrWVb0cpwgoWCQe/fv89/+9AePu1uL8zbQ1ghN9YkG1IiIyLPmkbt/0xWk8fLzC8jPLyAcDjExMU44FLn/r2WZOBxOXG4Xubl5uFxuLMskGAwSCgUjP4PRn6HQggOe0iN6B6HiSPejAlVEROARKtVXXimnrq6OV779Kpujj2VbLpY1c4OIuUEauzOTGR0dfPTtP1/WtomIiCy5Un3ppRfp7r7OBx+cpWzrVvZU/z47d37niQXsUoLUsiLPVNXj30REJBMeufvXMAwCfX183NLMhea/TWvAPmqQ2nqeqoiIZNCSQ9UwjMhTZaI3Y7Bte1bAftzSTFlZJGB/b+eulAM2PUGqQBURkcxZcqg6HA4cDgfr16/nm2++IRgMkp+fDzAdboFAHx9faObjC814ysrYsydxwD7JII3NNwxjkT2KDTqK/jpwicP1LfTOuSYzMusw9dMXRS4wv6ZpzjWoejSZiMizYMmh6nK5Ipe2OJ1s27aNO3fuMDw8TFZWFm63G7fbDcyE2u1AgNaPW/j4QqSCrdpTzXe/+13cWVlPrCIdHx+frqAX5G2gLXpj+en7snsbaKiB3k6YfXOBGpr8zfhL4m+kkODmA94G2qafITqzPqWqiMjTb8mhmpeXR25uLoWFhdy5c4ctW7awbds2pqamGBoa4pe//CVZWVnTr/gwvH07wN+1XuDTn13j+Im/SHuQftHTwxdffEFPz+fT3dPJeWlojATqrBs39LYkuUNP7C5EldTQmTwjPSUUD/Qzfee8pOsTEZGnzZJDtbCwkHXr1rFv3z5GRka4efMmX3/9NaOjo2zcuJHS0lImJyenAzY7O5v8gnyGvz+M+2s3+f+ez82bvYyOjj52kD58OM7Pv5gJ0iWJ3sf34lIqyN6rXB9oJu6Jb/N1XqP75EkaG67GdRWLiMizYMmh2t3dTWVlJTk5OWzYsIE333yTN998k/v37/PVV1/R39/P6Ogozz33HB6Ph4mJCX5x7xes/cO15BbmYv9XG2PCYGpqcvmDdK74ivKRxN+HluiTZjpp9AVoaIvce/fRnj4jIiKr0ZJD9bPPPuOzzz5jy5YtvPrqq3i9XgoLC9mwYQNvvPEGb7zxBiMjI9y6dYv+/n7GxsbIIQfH/3ZgZplkmVnYbptw2Ew5SG0bej7/nC9+/gX/8e//9ij7mVhxCUt/alj8U1GS3dA9+jBvbwNtzX6aULCKiDwLHvk61aGhIYaGhujs7JwXsIWFhezYsYMdO3YwMjJCX18fg4ODjI6MYmfFKtPkT6SB2UH6Rc/nTExMPGpTE0ulK3cu71vsKh7kYqop3NtC06VdNC9pIyIislql5dFviwXs66+/zuuvv86DBw8IBAIMDg4mXM8TD9JZemm52I3/5JxK0ttAg6eFlnkZWENTdKTwgvFY00BDIDY4yctbu4oZuK4HfoqIPAvS/jzVhQJ2/fr1vPbaa7z22mvTyy9vkM7R2Ygv0BD3XFGi16nGFpj77M5Ungd6mxK/H3/s9+4z+DRgSUTkmZD256kmEx+wGzduJBD4OjNBKiIi8oQsW6iKiIg87Ra7Q4KIiIikSKEqIiKSJgpVERGRNFGoioiIpIlCVUREJE0UqiIiImmiUBUREUkThaqIiEiaKFRFRETSRKEqIiKSJgpVERGRNFGoioiIpIlCVUREJE0UqiIiImmiUBUREUkThaqIiEiaKFRFRETSRKEqIiKSJgpVERGRNFGoioiIpIlCVUREJE0UqiIisiINDNxjamoq081YEoWqiIisWCMPJlZVsCpURURkxZoYH1lVwapQFRGRFW01BatCVUREVrzVEqwKVRERWRVWQ7AqVEVEZNVY6cGqUBURkVVlJQerQlVERFadBw9+tSKDVaEqIiKrTnaWi6E7AysuWBWqIiKyKhUUrOV2oHdFBatCVUREVq3Nm5/jP298zsiDiUw3BQBXphsgIiKSiocPJ1mzJgeA3LzCDLcmMVWqIiKy4j18OEl+/vP80z9fmZ62Lj+HLZvXT79WAoWqiIisaLFA3bJlLX/8R/8FINLlO7IyunzjKVRFRGTFig/U7OxsXG4HP/vZv1FSUoTL7WB8fDLTTZxFoSoiIiuSO8s5K1AB1hfkUFX1+wD8v//oXnHVqgYqiYjIipToPGmkWp3kyy//k5df/m0Mw8hAy5IzSktL7Uw3QkREJFXhcJi7d0fJznaSn59DdnZWpps0TZWqiIisKi6Xi5de0iU1IiIiTzWFqoiISJooVEVERNJEoSoiIpImClUREZE0UaiKiIikiUJVREQkTRSqIiIiaaJQFRERSZP/D+sttwtE17KeAAAAAElFTkSuQmCC"},2003:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/E1-ef429edabdca25c067d0eb38d2a93fe3.png"},6248:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/E2-a10f2ed46d3983e7b6754bcbe8865c35.png"},7377:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/E3-f3ef363a9a9f746974faf97012d6ebbd.png"},9662:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/E4-062866c4489f954ad6ef8cf7bcb317ca.png"},8887:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/E5-91c71c3d41ae3df586ebc7eac5f83f7f.png"},780:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/E6-43311c44c19c96dddb6968b496c2bb3c.png"},1775:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Exit_bo-4a245effc68363ded22391ef11d75fd5.png"},8750:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Firmware-d39f76f8d52dbc0ba5cf00d8d5c5e12d.png"},8788:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/GPU-ok-ddc13bc3ba9f37d263a409978c2b0fcb.png"},5065:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Install_now-5fc2394b90d5fa17ded7eac1bec8a60d.png"},3037:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Keyboard_passthrough-d57e806d49cb3086bdf7e19d593709f6.png"},6257:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Load_drivers-58306c25f5e6e9e3f6f76d70c2ab73f0.png"},1135:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Mouse_passthrough-e1265719a622bd6f7abc1fcd5b7a09c1.png"},4868:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/New VM-2e455d24113996b56f87a45365f9f4bb.png"},7448:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/P1-1817d8a80a96c533c373ffd595903d09.png"},2723:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/P2-63e5f7c6333d31080b508ba7dc3e1d94.png"},5146:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/P3-6622d581546efa3042de6965e329d012.png"},3910:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Power_setting_idle-f03d12a00765e7458a442e97ed55d820.png"},2197:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Poweron_1-af01a284c0cfc683b2e336f37e3b8d3a.png"},4284:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Press_any_key_to_boot_up_system-7209a93c748b9e0bedf71d836d318864.png"},6038:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Ready_to_install-848316dc5a6ec6c7efa43c5b035a0da8.png"},7511:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/SCSI-e04255f32d0041c3065c37e08980b8e6.png"},2769:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Select_Disk_Size-7cc7f0f215089f6244b2206e530ee169.png"},6987:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Select_ISO-128b818d9b7b96578327a7504e1a7570.png"},7584:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Select_ram-0eefc4e39cbb90e2dd6e182b84c0bf30.png"},6878:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Speed-up-cpu-b9f5e3a262dd02ee5c7ed0a51b02387d.png"},5372:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Update_windows-c5737facaeff1f7f34b2d414d03c467d.png"},1975:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Update_windows_2-504d8a84bc22902d8c0ce99f32f8e771.png"},1982:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Update_windows_3-7f9357c5a9f92789ed289a26ced713d7.png"},6967:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/VGA-fe85de75720f72034f70f717d114c00f.png"},6142:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/VirtIO_Disk-2b9e4f3da89b4dbd3f4c1cc145f33c76.png"},2024:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Windows_Setup-a48b0d0224d58bf6dd45274c11a3eb8b.png"},3358:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/drivers_update_1-070dd05649b054ea0853b138faba833d.png"},4837:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/drivers_update_2-438cbce2fa9e5e53559183d93252ea10.png"},8924:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/drivers_update_3-6fb6b92f2a9dc44753528a3407f390dc.png"},6471:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/i_dont_have_product_key-6f2e03c31275a819ae575f384f4f17f4.png"},222:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/install_windows_1-020663dae1bc30dfe490c0f98e9aadf4.png"},4497:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/iw-b423eecaee179e81fd91bdacbd559198.png"},7017:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w1-04bb0b2bee2c0bbce1978e28c46dac4c.png"},1874:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w2-6bc288381092b394eba1ccc4065c3059.png"},875:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w3-d6ea204a834a3d38e63d83ef75a9592d.png"},932:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w4-3a046b32f728044f86aa95bd46f494ef.png"},3437:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w5-be1d92e2079ba1d928a08f90158a364e.png"},2758:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w6-541b86a901dee6090a48ac66615a1cdc.png"},4296:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w8-4ea3ccf22e9711b3612523ab01761cc7.png"},4241:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w9-57813e72bac5b42930bd4be3fca959aa.png"},9158:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/wf-21373d41530d24af97d450d45f059c50.png"},5870:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/windows_Pro-3c49c0f42d96c2387e47f8cdbd7aecf1.png"},8453:(e,s,i)=>{i.d(s,{R:()=>a,x:()=>o});var t=i(6540);const n={},d=t.createContext(n);function a(e){const s=t.useContext(d);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),t.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4c69877e.23006bc9.js b/assets/js/4c69877e.23006bc9.js new file mode 100644 index 0000000..9f21137 --- /dev/null +++ b/assets/js/4c69877e.23006bc9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[436],{1791:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"dual-gpu-passthru-desktop/InstallOS-win10","title":"Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps","description":"Well done! You\u2019re almost there. The last crucial steps for setting up your Windows 10 virtual machine.","source":"@site/docs/dual-gpu-passthru-desktop/InstallOS-win10.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/InstallOS-win10","permalink":"/docs/dual-gpu-passthru-desktop/InstallOS-win10","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/InstallOS-win10.mdx","tags":[],"version":"current","sidebarPosition":12,"frontMatter":{"sidebar_position":12},"sidebar":"tutorialSidebar","previous":{"title":"Downloading the Operating System","permalink":"/docs/dual-gpu-passthru-desktop/Download-OS"},"next":{"title":"Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps","permalink":"/docs/dual-gpu-passthru-desktop/InstallOS-win11"}}');var n=i(4848),d=i(8453);const a={sidebar_position:12},o="Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps",r={},c=[{value:"1. Launch virt-manager and Create a New VM",id:"1-launch-virt-manager-and-create-a-new-vm",level:3},{value:"1.2 Select Your Windows 10 ISO",id:"12-select-your-windows-10-iso",level:3},{value:"1.3 Choose Your RAM",id:"13-choose-your-ram",level:3},{value:"1.4 Set Disk Image Size",id:"14-set-disk-image-size",level:3},{value:"1.5 Configure VM Settings",id:"15-configure-vm-settings",level:3},{value:"1.6 Select Firmware",id:"16-select-firmware",level:3},{value:"1.7 Set Boot Options",id:"17-set-boot-options",level:3},{value:"1.8 Add VirtIO Disk",id:"18-add-virtio-disk",level:3},{value:"1.9 Add VirtIO ISO",id:"19-add-virtio-iso",level:3},{value:"1.9.1 Confirm Boot Options",id:"191-confirm-boot-options",level:3},{value:"2. Begin Installation",id:"2-begin-installation",level:2},{value:"3. Boot Your System",id:"3-boot-your-system",level:2},{value:"3.2 Exit the UEFI Shell",id:"32-exit-the-uefi-shell",level:3},{value:"3.3 Select Boot Manager",id:"33-select-boot-manager",level:3},{value:"3.4 Select Boot Manager (DVD)",id:"34-select-boot-manager-dvd",level:3},{value:"3.5 Press Any Key Again",id:"35-press-any-key-again",level:3},{value:"4. Windows Setup",id:"4-windows-setup",level:2},{value:"4.2 Install Now",id:"42-install-now",level:3},{value:"4.3 Skip Product Key",id:"43-skip-product-key",level:3},{value:"4.4 Select Version",id:"44-select-version",level:3},{value:"4.5 Accept License Terms",id:"45-accept-license-terms",level:3},{value:"4.6 Custom Installation",id:"46-custom-installation",level:3},{value:"4.7 Load Drivers",id:"47-load-drivers",level:3},{value:"4.8 Browse for Drivers",id:"48-browse-for-drivers",level:3},{value:"4.9 Select Virtio-Win",id:"49-select-virtio-win",level:3},{value:"4.9.1 Red Hat VirtIO SCSI Controller",id:"491-red-hat-virtio-scsi-controller",level:3},{value:"4.9.2 VirtIO Disk",id:"492-virtio-disk",level:3},{value:"4.9.3 Select Installation Disk",id:"493-select-installation-disk",level:3},{value:"4.9.4 Installing Windows",id:"494-installing-windows",level:2},{value:"4.9.5 Windows Configuration",id:"495-windows-configuration",level:3},{value:"4.9.6 Power Off",id:"496-power-off",level:3},{value:"5. Remove ISO from virt-manager",id:"5-remove-iso-from-virt-manager",level:2},{value:"6. Add PCI Devices",id:"6-add-pci-devices",level:2},{value:"7. Update Your VM",id:"7-update-your-vm",level:2},{value:"7.2 Update Drivers",id:"72-update-drivers",level:3},{value:"7.3 Install VirtIO Drivers",id:"73-install-virtio-drivers",level:3},{value:"8. Configure Display Settings",id:"8-configure-display-settings",level:2},{value:"8.2 Passthrough USB and Mouse",id:"82-passthrough-usb-and-mouse",level:3},{value:"8.3 Optimize CPU Configuration",id:"83-optimize-cpu-configuration",level:3},{value:"9. Disable Automatic Suspend",id:"9-disable-automatic-suspend",level:2},{value:"Conclusion: You\u2019re All Set!",id:"conclusion-youre-all-set",level:2}];function l(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,d.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"setting-up-your-virtual-machine-windows-10--the-final-steps",children:"Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps"})}),"\n",(0,n.jsx)(s.p,{children:"Well done! You\u2019re almost there. The last crucial steps for setting up your Windows 10 virtual machine."}),"\n",(0,n.jsx)(s.h3,{id:"1-launch-virt-manager-and-create-a-new-vm",children:"1. Launch virt-manager and Create a New VM"}),"\n",(0,n.jsxs)(s.p,{children:["Open up ",(0,n.jsx)(s.code,{children:"virt-manager"})," and start by creating a new virtual machine."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"New VM",src:i(249).A+"",width:"500",height:"500"})}),"\n",(0,n.jsx)(s.h3,{id:"12-select-your-windows-10-iso",children:"1.2 Select Your Windows 10 ISO"}),"\n",(0,n.jsx)(s.p,{children:"Choose your Windows 10 ISO file."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Select ISO",src:i(9078).A+"",width:"500",height:"500"})}),"\n",(0,n.jsx)(s.h3,{id:"13-choose-your-ram",children:"1.3 Choose Your RAM"}),"\n",(0,n.jsx)(s.p,{children:"Decide on the amount of RAM you want to allocate to your VM."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Select RAM",src:i(6185).A+"",width:"500",height:"500"})}),"\n",(0,n.jsx)(s.h3,{id:"14-set-disk-image-size",children:"1.4 Set Disk Image Size"}),"\n",(0,n.jsxs)(s.p,{children:["Set the size of your virtual machine\u2019s disk. Make sure to check ",(0,n.jsx)(s.code,{children:"Enable storage for this virtual machine."})]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Select Disk Size",src:i(6380).A+"",width:"500",height:"500"})}),"\n",(0,n.jsx)(s.h3,{id:"15-configure-vm-settings",children:"1.5 Configure VM Settings"}),"\n",(0,n.jsxs)(s.p,{children:["Give your virtual machine a name and tick the box to ",(0,n.jsx)(s.code,{children:"Customize configuration before install."})]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Ready to Install",src:i(1147).A+"",width:"500",height:"500"})}),"\n",(0,n.jsx)(s.h3,{id:"16-select-firmware",children:"1.6 Select Firmware"}),"\n",(0,n.jsxs)(s.p,{children:["Choose ",(0,n.jsx)(s.code,{children:"OVMF_CODE.fd"})," for firmware."]}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"IMPORTANT"}),": This setting cannot be changed after you begin the installation, so double-check this choice."]}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Firmware",src:i(1199).A+"",width:"1076",height:"899"})}),"\n",(0,n.jsx)(s.h3,{id:"17-set-boot-options",children:"1.7 Set Boot Options"}),"\n",(0,n.jsxs)(s.p,{children:["Enable the boot menu. Select ",(0,n.jsx)(s.code,{children:"SATA CDROM 1"})," and ensure it is checked. Set it as the first boot device to make sure it detects your Windows 10 installation ISO."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Boot Options",src:i(9273).A+"",width:"1076",height:"899"})}),"\n",(0,n.jsx)(s.h3,{id:"18-add-virtio-disk",children:"1.8 Add VirtIO Disk"}),"\n",(0,n.jsx)(s.p,{children:"After installing Windows, add a VirtIO Disk. we'll use for later."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Add VirtIO Disk",src:i(7749).A+"",width:"862",height:"705"})}),"\n",(0,n.jsx)(s.h3,{id:"19-add-virtio-iso",children:"1.9 Add VirtIO ISO"}),"\n",(0,n.jsx)(s.p,{children:"add the VirtIO ISO. This will be essential for smooth operation once Windows is installed."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Add VirtIO ISO",src:i(4023).A+"",width:"862",height:"705"})}),"\n",(0,n.jsx)(s.h3,{id:"191-confirm-boot-options",children:"1.9.1 Confirm Boot Options"}),"\n",(0,n.jsx)(s.p,{children:"Verify that your boot options look like the example below."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Boot Options Result",src:i(4122).A+"",width:"1076",height:"899"})}),"\n",(0,n.jsx)(s.h2,{id:"2-begin-installation",children:"2. Begin Installation"}),"\n",(0,n.jsxs)(s.p,{children:["Click the ",(0,n.jsx)(s.code,{children:"Begin Installation"})," button to start the process."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Begin Installation",src:i(7138).A+"",width:"1076",height:"899"})}),"\n",(0,n.jsx)(s.h2,{id:"3-boot-your-system",children:"3. Boot Your System"}),"\n",(0,n.jsx)(s.p,{children:"When prompted, press any key to boot from your CD/DVD."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Press Any Key",src:i(7031).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"32-exit-the-uefi-shell",children:"3.2 Exit the UEFI Shell"}),"\n",(0,n.jsxs)(s.p,{children:["If you get stuck in the UEFI Shell, type ",(0,n.jsx)(s.code,{children:"exit"})," and press Enter to move forward."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Exit UEFI Shell",src:i(4008).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"33-select-boot-manager",children:"3.3 Select Boot Manager"}),"\n",(0,n.jsxs)(s.p,{children:["Use the arrow keys to navigate to and select ",(0,n.jsx)(s.code,{children:"Boot Manager"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Boot Manager",src:i(9916).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"34-select-boot-manager-dvd",children:"3.4 Select Boot Manager (DVD)"}),"\n",(0,n.jsx)(s.p,{children:"Choose the first option to boot from the DVD."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Boot Manager Select DVD",src:i(590).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"35-press-any-key-again",children:"3.5 Press Any Key Again"}),"\n",(0,n.jsx)(s.p,{children:"Press any key to continue booting up your system."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Press Any Key Again",src:i(7031).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h2,{id:"4-windows-setup",children:"4. Windows Setup"}),"\n",(0,n.jsxs)(s.p,{children:["Now you\u2019ll see the Windows setup process start. The installation steps are similar to a regular Windows installation. Keep clicking ",(0,n.jsx)(s.code,{children:"Next"})," until you reach the ",(0,n.jsx)(s.code,{children:"Install Windows"})," option."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Windows Setup",src:i(8147).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"42-install-now",children:"4.2 Install Now"}),"\n",(0,n.jsxs)(s.p,{children:["Click ",(0,n.jsx)(s.code,{children:"Install now"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Install Now",src:i(6318).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"43-skip-product-key",children:"4.3 Skip Product Key"}),"\n",(0,n.jsxs)(s.p,{children:["Click ",(0,n.jsx)(s.code,{children:"I don\u2019t have a product key"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Skip Product Key",src:i(6264).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"44-select-version",children:"4.4 Select Version"}),"\n",(0,n.jsx)(s.p,{children:"Choose the Pro version of Windows. The Pro version supports offline accounts."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Windows Pro",src:i(2241).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"45-accept-license-terms",children:"4.5 Accept License Terms"}),"\n",(0,n.jsx)(s.p,{children:"Tick the box to accept the license terms."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Accept License",src:i(5364).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"46-custom-installation",children:"4.6 Custom Installation"}),"\n",(0,n.jsxs)(s.p,{children:["Select ",(0,n.jsx)(s.code,{children:"Custom"})," installation."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Custom Install",src:i(6421).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"47-load-drivers",children:"4.7 Load Drivers"}),"\n",(0,n.jsxs)(s.p,{children:["Click ",(0,n.jsx)(s.code,{children:"Load drivers"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Load Drivers",src:i(4100).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"48-browse-for-drivers",children:"4.8 Browse for Drivers"}),"\n",(0,n.jsxs)(s.p,{children:["Click ",(0,n.jsx)(s.code,{children:"Browse"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Browse Drivers",src:i(9630).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"49-select-virtio-win",children:"4.9 Select Virtio-Win"}),"\n",(0,n.jsxs)(s.p,{children:["Choose the path ",(0,n.jsx)(s.code,{children:"E:\\amd64\\w10"})," and click ",(0,n.jsx)(s.code,{children:"OK"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Select Virtio-Win",src:i(646).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"491-red-hat-virtio-scsi-controller",children:"4.9.1 Red Hat VirtIO SCSI Controller"}),"\n",(0,n.jsxs)(s.p,{children:["Select ",(0,n.jsx)(s.code,{children:"Red Hat VirtIO SCSI controller"})," and click ",(0,n.jsx)(s.code,{children:"Next"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Red Hat VirtIO SCSI",src:i(6898).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"492-virtio-disk",children:"4.9.2 VirtIO Disk"}),"\n",(0,n.jsx)(s.p,{children:"You should see the new VirtIO Disk. This disk is crucial for installing new drivers later, so do not delete it."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"VirtIO Disk",src:i(5709).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"493-select-installation-disk",children:"4.9.3 Select Installation Disk"}),"\n",(0,n.jsx)(s.p,{children:"Choose your disk for installing Windows. You can partition it into drives (e.g., 150 GB and 350 GB) as needed."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Select Installation Disk",src:i(5005).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h2,{id:"494-installing-windows",children:"4.9.4 Installing Windows"}),"\n",(0,n.jsx)(s.p,{children:"Click to start the installation. This process will take some time."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Installing Windows",src:i(2272).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"495-windows-configuration",children:"4.9.5 Windows Configuration"}),"\n",(0,n.jsx)(s.p,{children:"Follow the prompts to complete the Windows setup. You can customize settings or proceed with defaults."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(5999).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(6487).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(910).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(8625).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(7496).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(3251).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(989).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Windows Configuration",src:i(7956).A+"",width:"1440",height:"1026"})]}),"\n",(0,n.jsx)(s.h3,{id:"496-power-off",children:"4.9.6 Power Off"}),"\n",(0,n.jsx)(s.p,{children:"Once the setup is complete, power off your VM."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Power Off",src:i(5731).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h2,{id:"5-remove-iso-from-virt-manager",children:"5. Remove ISO from virt-manager"}),"\n",(0,n.jsxs)(s.p,{children:["You no longer need the Windows ISO file, so go ahead and remove it from ",(0,n.jsx)(s.code,{children:"virt-manager"}),"."]}),"\n",(0,n.jsx)(s.h2,{id:"6-add-pci-devices",children:"6. Add PCI Devices"}),"\n",(0,n.jsx)(s.p,{children:"Back to virt-manger and your virtual machine, add your PCI devices such as GPU, GPU-Audio, and Network, and power on the VM."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.img,{alt:"Add PCI Devices",src:i(1221).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Add PCI Devices",src:i(9742).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Add PCI Devices",src:i(9239).A+"",width:"1440",height:"1026"})]}),"\n",(0,n.jsx)(s.p,{children:"Once added, power on your VM."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Power On VM",src:i(3714).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h2,{id:"7-update-your-vm",children:"7. Update Your VM"}),"\n",(0,n.jsx)(s.p,{children:"Ensure your system is up-to-date by connecting to the network and running Windows Update."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Update Windows",src:i(5201).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.p,{children:"Windows updates can be slow, so be patient lmfao."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.img,{alt:"Update Windows",src:i(4698).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Update Windows",src:i(5459).A+"",width:"1440",height:"1026"})]}),"\n",(0,n.jsx)(s.h3,{id:"72-update-drivers",children:"7.2 Update Drivers"}),"\n",(0,n.jsxs)(s.p,{children:["To update your drivers, open Device Manager, find your PCI device, right-click, and select ",(0,n.jsx)(s.code,{children:"Update Driver"}),"."]}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Open Device Manager:\n",(0,n.jsx)(s.img,{alt:"Device Manager",src:i(7194).A+"",width:"1440",height:"1026"})]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Right-click on your PCI device and choose ",(0,n.jsx)(s.code,{children:"Update Driver"}),":\n",(0,n.jsx)(s.img,{alt:"Update Drivers",src:i(7295).A+"",width:"1440",height:"1026"})]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Select ",(0,n.jsx)(s.code,{children:"Browse my computer for drivers"}),":\n",(0,n.jsx)(s.img,{alt:"Browse for Drivers",src:i(5668).A+"",width:"1440",height:"1026"})]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Browse to the path where your drivers are located (typically ",(0,n.jsx)(s.code,{children:"E:\\"})," or the path where you stored your VirtIO drivers) and click ",(0,n.jsx)(s.code,{children:"Next"}),":\n",(0,n.jsx)(s.img,{alt:"Select Path",src:i(5261).A+"",width:"1440",height:"1026"})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"You should see your GPU listed in Device Manager, indicating that it\u2019s correctly passthroughed."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"GPU Passthrough",src:i(421).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"73-install-virtio-drivers",children:"7.3 Install VirtIO Drivers"}),"\n",(0,n.jsx)(s.p,{children:"To improve your VM\u2019s performance, you need to install VirtIO drivers. Follow these steps:"}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Open File Explorer and navigate to the ",(0,n.jsx)(s.code,{children:"E:\\"})," drive where your VirtIO drivers are located."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"VirtIO Installation",src:i(9107).A+"",width:"469",height:"107"})}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Find the file ",(0,n.jsx)(s.code,{children:"virtio-win-gt-x64.msi"})," and double-click to start the installation."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Install VirtIO",src:i(5890).A+"",width:"626",height:"443"})}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Click ",(0,n.jsx)(s.code,{children:"Next"})," to continue with the installation."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Next",src:i(2953).A+"",width:"626",height:"443"})}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Accept the license agreement and click ",(0,n.jsx)(s.code,{children:"Next"}),"."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Accept License",src:i(1776).A+"",width:"626",height:"443"})}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Continue clicking ",(0,n.jsx)(s.code,{children:"Next"})," to proceed through the installation steps."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Next",src:i(3103).A+"",width:"626",height:"443"})}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["You might be prompted for superuser permissions. Click ",(0,n.jsx)(s.code,{children:"Next"})," to grant the necessary permissions."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Superuser Permission",src:i(6774).A+"",width:"626",height:"443"})}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"Wait for the installation to complete."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Complete Installation",src:i(8397).A+"",width:"626",height:"443"})}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"8-configure-display-settings",children:"8. Configure Display Settings"}),"\n",(0,n.jsx)(s.p,{children:"For optimal performance, use a physical monitor instead of a virtual one. Ensure your second monitor displays your Windows 10 VM."}),"\n",(0,n.jsx)(s.p,{children:"If not displayed, back to your vm and check that the GPU is enabled? if not enabled, on device section right-click to enable the GPU."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Display Settings",src:i(1832).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h3,{id:"82-passthrough-usb-and-mouse",children:"8.2 Passthrough USB and Mouse"}),"\n",(0,n.jsx)(s.p,{children:"To ensure smooth mouse and keyboard input, passthrough these devices to your VM."}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsx)(s.p,{children:"So that's why you might need two mice and a keyboard lol."}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.img,{alt:"Mouse Passthrough",src:i(1572).A+"",width:"1440",height:"1026"}),"\n",(0,n.jsx)(s.img,{alt:"Keyboard Passthrough",src:i(6580).A+"",width:"1440",height:"1026"})]}),"\n",(0,n.jsx)(s.h3,{id:"83-optimize-cpu-configuration",children:"8.3 Optimize CPU Configuration"}),"\n",(0,n.jsx)(s.p,{children:"For better performance, configure your VM to use physical CPU cores instead of vCPUs."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"CPU Configuration",src:i(9144).A+"",width:"1440",height:"1026"})}),"\n",(0,n.jsx)(s.h2,{id:"9-disable-automatic-suspend",children:"9. Disable Automatic Suspend"}),"\n",(0,n.jsxs)(s.p,{children:["Back to your GNU/Linux, To prevent your VM from being interrupted by idle timeouts, disable the ",(0,n.jsx)(s.code,{children:"When idle"})," Automatic Suspend setting."]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Power Setting Idle",src:i(3415).A+"",width:"1580",height:"1031"})}),"\n",(0,n.jsx)(s.h2,{id:"conclusion-youre-all-set",children:"Conclusion: You\u2019re All Set!"}),"\n",(0,n.jsx)(s.p,{children:"Congratulations on setting up your virtual machine with hardware passthrough! You should now be able to use your second monitor and enjoy your VM for various tasks, including gaming."}),"\n",(0,n.jsx)(s.p,{children:"If you run into any graphics issues, make sure to download and install the latest drivers for your GPU from:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://www.amd.com/en/support",children:"AMD Support"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"https://www.nvidia.com/download/index.aspx",children:"NVIDIA Driver Downloads"})}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,d.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},646:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/AMD64-b856b5be22a50cdbf9925268e85f1cac.png"},5364:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Accept_license-92dff50e109790592c7f56d758dd70e9.png"},7749:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Add_VirtIO-1429043701cf200270bb83bd78269dc1.png"},4023:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Add_VirtIO_ISO-b81729c5b55e65ee407dcb3e5b19ad3a.png"},4122:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/BO_Look_like_this-e58416fedea8da2ec1bd88f58020c271.png"},7138:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Begin_Installation-d7577501774048309b31bc52585bb9f2.png"},9916:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Boot_manager_1-c590c3b1cc99d1da5470b480f753abb3.png"},590:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Boot_manager_select_DVD-de4ac213c5f568c9474397c47d3c5b6a.png"},9273:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Boot_optinos_1-89e77f0981b1df0b36c60484f741b214.png"},9630:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Browse_drivers-91c2e22851d8900796913275e856ea85.png"},6421:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Custom_install-e15520aa8171ccc145a4fe8d2186570e.png"},7194:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Device_manager-d7ac13050b0f0e8291ede340b0e4ca68.png"},9107:(e,s,i)=>{i.d(s,{A:()=>t});const t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdUAAABrCAYAAAAhDhhGAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AAAAtdEVYdENyZWF0aW9uIFRpbWUATW9uIDMxIEp1bCAyMDIzIDA1OjM3OjMyIFBNIEhLVHtVdsAAABbSSURBVHic7d1vbFR3fu/x95k//gfGGEggie16jJiSjVdRGpoU1niVMa5pkbXbXqtISHddXXExpeFPr24uZZ0r5cF1KSEPIrKlNnEf+AkSrSut1q2K42W4ZSMstb0PojgbaoKH2N7FZA1m18Z/Zuaccx/MjD22Z+wxDB4bPq9oZHzOmXN+50w0H39/53fOMUpLS21ERETksTky3QAREZGnhUJVREQkTRSqIiIiaaJQFRERSROFqoiISJooVEVERNJEoSoiIpImClUREZE0UaiKiIikiUJVREQkTRSqIiIiaaJQFRERSROFqoiISJooVCnnlD9AIBB9+U9RDkAdrYG46YEA/lPlSdaxlGWB8lP4A34WWmRJe3DKT6C1LmE7WuvmtLR1kbY9bnvTvG9pX39da2qfUV0rgUArdUlnJ/6sk01Pebsisqo926Fafgp/oIOt5z14PNHXMaid/iYNcKE2Nu8d+g51RMMrkSUs23Man8fH6Z707MO56i5qD7YnaIeH6clR7Qdr6ao+t7RQWrC9dbTGh1w6923JbVlMHa1n4Z3pzyjRcYj+kbUXriRbTfkptl2O/6yj61lgun/R7YrI02BFhuqmTZuoqKjg+9///qxXRUUFmzZtStNWyjl17hB978wJnp7TnG5PtHw7B2svEKjam7R6ebRlH095bTV0dZB6xvRw+nwfh0486ZatQHV7qbpymcjH286HF6C6dm669XDa58Fz8HLy9cz6f+QGtwILTy+vrYYLHy6yXRF5GqyoUK2oqOC9997jfEsL/+vdd2k4fpxDx49z6Ngx/vuxY/zPxkb+prmZ999/n4qKisfbWHkt1Z4rXE4YoEn0dNAVqGJvKnk0a9lINdfa6o92Kcaqu0hVNKugrWud6YIuP4V/uis3UVdkOZFMXSRS49cJcOMWgbJtzP5aX6gt8dVo/L4ECATOUoWHQx2BuC7ouMp11j7M746e3cz4+QnWM2/90X+fSq1rtXxbGYFbN6Z/77nZh2fr9oWOXAq2s9XTx815H0Gy6SLyNFsRoVpSUsJ7773HX777Lnv27eOF0lIKNm4kd80acvLyyM7LIycvj/zCQjYVFfHad77D/zh5kvfff5+SkpJH33DgFjcWXypNPJTdOobHc5CZHO/h9PkrVMWldN3eKq6cP00PdbR2VNMV68p9B47MC4xEX9zRgEsaxEDPTfo8W5kdJwu1Jdm+RLozr8S6nOf2NVNHa0ekN8Dj8eCpvUDZ2eTnQ9svx22/bi9lgZmKrry2Gm4l+rQ8HNp6OXqMruA5dOKJ9w7Eq2s9S9l0FZp4es/Nvrh2lVNb7VnGForIcsp4qFZUVHD2gw+o2bePLS++iMvtxoGBwzAwACO2oA2GbYNt4zAcFGzcxLd/93f5qzNnHr1qnRcsqQgk/m5fdNlA4oqy/TJXpruJ69hbdoEP24HybZTFB+TZqhSrqvhzqtEAbz+Ixxcfjje4FShj29xwS9aWBNtYtDomtg9xvQE9pzl/xcPW7SSuwuMq6Lq9ZXSd74LqWsoXrMgDXIg1sv0yV4ju16JV/uOKVPZHbtXim3WCN8H09oPUXijjbCBAIHCOrX2BhGsUkdXPlcmNV1RUcPz4ccq//W1sIBgOg22DwwDLwDYMDNuOBquNDWBHfwLOnGxyy4r406N/BsCnn36a+sZ7OugKdLC3DtpT7QIur6Xa08f5VLr0Ul62nQ8vHOHcqXJucISyrmNx4XeFd2ZVtukSqXAvz2vbQm1Js57T+Dyn50zroItz1JbfZGtZFx+2d8CRE2wvr6WaLo4tpTGJ1n+zD8/e7RDdq7ndwakr55T/HBzz4OtJZTr0nPYRa05da4C96hcWeSplrFItKSnh6LFjvFJeTlZWFi6nE7fLhdPpxOlw4DCi1WpcxRqpVAHbxsJmzGUzlGOT5ynm8J8fWWJXcLS78+yc83zlpziVsKyJdWWmEnJLWRZ6Orqg+gQnqvs4H6tuem7SR1WCLt94SSrOec2Zc061fBtlSbq+E7blUUX3YbpHufwUR6oWOo/dQ0cXVJ87QllXBz300NFVxt4TW5c4GCuJG7fiBo/VceJQrPqdc/42obhl6k5wqO/8/BHIyabPWqaVs0l7AERktctYqL799tv8VqkHGwPTNHE6nbijL5fDMROsGJH/DAMMAwywDIMxNwxlmRSGDApMB+uf38zbb7+9tEa0H4ye54u7tvMcdEx/4cWfnzzCrdr5l6jMWMqyc/R00EUVVX2X40I4MoKYQx0zbZs3yicaQrNGksa3I8nAne1b8fTdTBxSCduykHYuX4kfqDR73sH449tRTVftwn9o9HR0gWemq7eno4uyqrLUupsX03Ma3ztEu2HPwjuPdmlO+bYyqDo777rkZNNnXT98Ft7xJTpPLSJPA6O0tNRedKk0q6io4Ic/fJctL72I0+mYVaWapkkwHCYYChM2w4RNE9OysCwby7YwsXnosrmTZVEQgnVBA6dpYdgwev8+H37wwdK6gVe78lP4z8GxlL+oY12UT/BaUhGRZ1RGKtU9e/bwQt4LOIJgh2zMsEUoHAlQp9NJlsuF2+XEFe0KdhoOHA4Dw2Ew6TYYzrbZEDIoCIIzbIFlY1k2uevWsWfPnkzsUub0nOZYVzUdC12rEqeutWPxLkoREXkkyz5QadOmTby6/VVyJrNwBB1YORZmroWdbWPaJoYNTqeTsd/c48uf/5y7d+8C8PzmzTznKWF00xoKgw7yQjaOcKSCtW0bGxsDA+/LL7Np0yaGh4eXe9cypue0j1Qv0mg/6HkCA59ERAQyEKrbt2/HtSabB3ljZNlusk03WWMumDKwcm2sbIv7o/fo7r5O5yefMDExScgMYzidfG/fPra98Tusy10DpoVlg0EkUIkOYnJnZ7N9+/ZnqwtYRERWhIxUqobbyTiTBJ0hplwusgw3WbjJmnTjCjv48ssv6fzkE3bs2MGWzZsBCAwM8Pc//jF/tmkjG1/+FiYGNmDZYEfPt1qWjcPpSuOtDEVERFKXkXOqpmUSDocJhkNMmFOM25OMGeOMucYZd0zy9UA/E5OTbNm8maNHj3L06FE8xcWMT0xw86tbGBjRyjTysuMutbHtZR93JSIiAmTo5g+WZUVG9No2DtvCti1MhxPTaRLGhWXbhMLhee8LmxYAk5OTZGdnRc6l2ja2YWBOh6lCVUREMiMjlapt2ZimGX1ZhMMmoXCYyVCQ8eAUJcXFGE4ngYEBPvroIz766CN6AwFcbhee0lJ+df8+/b+4wy/v3mXoV8N8c+8eD379G34zOsbExGTqDalpwu/34/f7aWvwJlqAJn8bCWcth1j72hpY1iYssF1vQ9v0MfP7m6iZ975E0xY7xn78TTUJ5sW2F/sMosvGvZK8TUQkI5a9Uh0eHiYUDOJ0uaZrSsMwcBgOnE4HlsNi8wsv8L19+/j7H/+Y/wuEzUjo/uBP/oTnnt9M2IaQFcKKVqcGYFkmAFY4lOLI3xqaTsIZn49OamjyN9JwtZ6W3sfdwxqa/AfoP/y466qh6eROus/4aOx83Dalb7uekuIE87w0tDWzf7Cb7nnrSuUYDzBQdIAGb+eceTXU7y8GBmYteyl2bL0NtDU3UdPZyLIeIhGRJJa9Ur1x4wbByUmmgkFCoRDhcDjyMiM/Q+EQTrebLS8VcfAH9Xxv7x/wB1VVHG9o4JVvvcJzGzeQl5ONy+mMnEO1rFkvTJMbN1K4n2tNJTu7r0W/jDtpuwS73spUSZrMAP0Zuff6QttNNK+XlnofvsZrsycv4RgPDiaYV1PJzu65QR2/2dsMUkTpSvvYROSZteyhOjw8zK2vbmKZJpZpRX+amOHI4KVQKMTdb4YJhk1cuXm8+Ful/Pa3XmFNwXqmTJPJYJCCtWvIy8nBHQtW05p+fTM0lFKl6i0tYiAuHXpvD1JckuRqT08DbbO6ML00tM3peqxpwt/WRpv/JDspZn9zXJemd+b9M92jkXUk7sasoSluPZFtRrqim5raZtaRcL0LTJ91AOKXiW0/0XZnvYnSoui+Je3OfbRj3N92kcH99XFt9dJwoIhLbdcSLh85TJXs7L6Yht4FEZH0yMhApZ/+9Kds9XpxZeWAQfTevjaWBb8ZHcM0zVnLR0b0GtFq1Gb9unwK1q6N3FjfsglaQWzLBsvkJz/5SZpbW8z+A3DY56PX20Bbc7QL82I3/soa6IzUYTWVO+m+6KOxc273bw1Nzbu4ftgX+b2mibYGL52369k/eAZffaKOy04afcxZjwcopqj/ML7G3uTrbfEkmR6fPDU0Ne9n8IyP+k6i3ahtNATqE2w3XqQibYmtI21d5pF9vtZ9kulD6n2LXVynqRfqZy0XCfX9AHRzxqeOXxFZOTIyUOnTTz/lzuAgZjiEHa1WzXCYBw9+TSgYilawMy8zWs2GQmHGJyYYefBrJqemKMhfy5rcHNxOF9gWw3eHnsBNHwa41NRCL0BvCxe7iynxAJ3X6N5ZGa2saqgsukRbou93bylFzFR3/pM7I9VaoJ+BnScXrfbmtuX61d6F15ts+rw2dXMt1t74/UpZJ9e6i9PaZd7ZdomiA5HBUTX1+xm8GD3uswxw6bAPn8+H73A/BzI5kExEZI6MVKq7d1diGE7CU5M4s3PAhrHxcaw5FWo8yxHJf8s0sSwTy7bYUFDA+oJ1WJZFeHKCH/3oRym3off2IMWVHoh+bc/tqkzMS2lR7N+dtF06QGODlwAHKLrelCAAYro545s/mKbe1xId3Zpo8E8qEqzX25B0e0/C4O3ke73kY9x7les08lYN7Cq6RNNiO9B7lesD+yN/DKgLWERWgGWrVHfvruQvf9jIP//LJ/yfv/pr3vi9nWx67nnMyUlGR8cIJ6hQZ1Wr4XC0qrUIBUOMj49zb+QB4+PjTD4co7X1Y/r7+1NvUKCfgbhKs34/M1XgLHHVmPctdhXPVHi9V6/DrnrqdyV7L9HBNDs5kKSc6m2p5/ClAYqWOtom2XoX2V78MpWxE5jeBg7sjKtcU+Ft4MDORQZSpXyMpxtGy8VB9p/cD9evLp6T3rfYVZypwVwiIvM90Up19+5KvrN7N7t3f5e1a9fOm5+fXwDA3Tt3mDBtTMtKui7TBBwzN3YIRkf7BifHeTDyAMNY4t8HvS3Un4lcQ3kS6D7jS3JucIDBkkb8/mKILtcZt46Lg35OcobG6fdGzg2ebPazv/sMvsZOGg+X0tbcjH9/dJHuM/iuVeI/uTM2gTO+pZZaSdabbHuzyuDYMn78JyP7eOlwfQqVbWwgU2y1yY5ZVMrHOL5pbVw6ALeTLhh/TjXu8hoRkRUg7c9TXSxIEwlOTTE09AvGHo4zFQyR6E6DTqcDp9MJRK5rdTkdrMnL5fnnXyArOxuAsbEx/vVfr/KP//AP3Lr1Vdr2aSE1TX4qry33taQiIrISpSVUHyVIExkd/TUj9+8xPj4ReTi5OVO5GoaB2+3G6TDIy8ulYH3hdKVrWVb0cpwgoWCQe/fv89/+9AePu1uL8zbQ1ghN9YkG1IiIyLPmkbt/0xWk8fLzC8jPLyAcDjExMU44FLn/r2WZOBxOXG4Xubl5uFxuLMskGAwSCgUjP4PRn6HQggOe0iN6B6HiSPejAlVEROARKtVXXimnrq6OV779Kpujj2VbLpY1c4OIuUEauzOTGR0dfPTtP1/WtomIiCy5Un3ppRfp7r7OBx+cpWzrVvZU/z47d37niQXsUoLUsiLPVNXj30REJBMeufvXMAwCfX183NLMhea/TWvAPmqQ2nqeqoiIZNCSQ9UwjMhTZaI3Y7Bte1bAftzSTFlZJGB/b+eulAM2PUGqQBURkcxZcqg6HA4cDgfr16/nm2++IRgMkp+fDzAdboFAHx9faObjC814ysrYsydxwD7JII3NNwxjkT2KDTqK/jpwicP1LfTOuSYzMusw9dMXRS4wv6ZpzjWoejSZiMizYMmh6nK5Ipe2OJ1s27aNO3fuMDw8TFZWFm63G7fbDcyE2u1AgNaPW/j4QqSCrdpTzXe/+13cWVlPrCIdHx+frqAX5G2gLXpj+en7snsbaKiB3k6YfXOBGpr8zfhL4m+kkODmA94G2qafITqzPqWqiMjTb8mhmpeXR25uLoWFhdy5c4ctW7awbds2pqamGBoa4pe//CVZWVnTr/gwvH07wN+1XuDTn13j+Im/SHuQftHTwxdffEFPz+fT3dPJeWlojATqrBs39LYkuUNP7C5EldTQmTwjPSUUD/Qzfee8pOsTEZGnzZJDtbCwkHXr1rFv3z5GRka4efMmX3/9NaOjo2zcuJHS0lImJyenAzY7O5v8gnyGvz+M+2s3+f+ez82bvYyOjj52kD58OM7Pv5gJ0iWJ3sf34lIqyN6rXB9oJu6Jb/N1XqP75EkaG67GdRWLiMizYMmh2t3dTWVlJTk5OWzYsIE333yTN998k/v37/PVV1/R39/P6Ogozz33HB6Ph4mJCX5x7xes/cO15BbmYv9XG2PCYGpqcvmDdK74ivKRxN+HluiTZjpp9AVoaIvce/fRnj4jIiKr0ZJD9bPPPuOzzz5jy5YtvPrqq3i9XgoLC9mwYQNvvPEGb7zxBiMjI9y6dYv+/n7GxsbIIQfH/3ZgZplkmVnYbptw2Ew5SG0bej7/nC9+/gX/8e//9ij7mVhxCUt/alj8U1GS3dA9+jBvbwNtzX6aULCKiDwLHvk61aGhIYaGhujs7JwXsIWFhezYsYMdO3YwMjJCX18fg4ODjI6MYmfFKtPkT6SB2UH6Rc/nTExMPGpTE0ulK3cu71vsKh7kYqop3NtC06VdNC9pIyIislql5dFviwXs66+/zuuvv86DBw8IBAIMDg4mXM8TD9JZemm52I3/5JxK0ttAg6eFlnkZWENTdKTwgvFY00BDIDY4yctbu4oZuK4HfoqIPAvS/jzVhQJ2/fr1vPbaa7z22mvTyy9vkM7R2Ygv0BD3XFGi16nGFpj77M5Ungd6mxK/H3/s9+4z+DRgSUTkmZD256kmEx+wGzduJBD4OjNBKiIi8oQsW6iKiIg87Ra7Q4KIiIikSKEqIiKSJgpVERGRNFGoioiIpIlCVUREJE0UqiIiImmiUBUREUkThaqIiEiaKFRFRETSRKEqIiKSJgpVERGRNFGoioiIpIlCVUREJE0UqiIiImmiUBUREUkThaqIiEiaKFRFRETSRKEqIiKSJgpVERGRNFGoioiIpIlCVUREJE0UqiIisiINDNxjamoq081YEoWqiIisWCMPJlZVsCpURURkxZoYH1lVwapQFRGRFW01BatCVUREVrzVEqwKVRERWRVWQ7AqVEVEZNVY6cGqUBURkVVlJQerQlVERFadBw9+tSKDVaEqIiKrTnaWi6E7AysuWBWqIiKyKhUUrOV2oHdFBatCVUREVq3Nm5/jP298zsiDiUw3BQBXphsgIiKSiocPJ1mzJgeA3LzCDLcmMVWqIiKy4j18OEl+/vP80z9fmZ62Lj+HLZvXT79WAoWqiIisaLFA3bJlLX/8R/8FINLlO7IyunzjKVRFRGTFig/U7OxsXG4HP/vZv1FSUoTL7WB8fDLTTZxFoSoiIiuSO8s5K1AB1hfkUFX1+wD8v//oXnHVqgYqiYjIipToPGmkWp3kyy//k5df/m0Mw8hAy5IzSktL7Uw3QkREJFXhcJi7d0fJznaSn59DdnZWpps0TZWqiIisKi6Xi5de0iU1IiIiTzWFqoiISJooVEVERNJEoSoiIpImClUREZE0UaiKiIikiUJVREQkTRSqIiIiaaJQFRERSZP/D+sttwtE17KeAAAAAElFTkSuQmCC"},5890:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/E1-ef429edabdca25c067d0eb38d2a93fe3.png"},2953:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/E2-a10f2ed46d3983e7b6754bcbe8865c35.png"},1776:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/E3-f3ef363a9a9f746974faf97012d6ebbd.png"},3103:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/E4-062866c4489f954ad6ef8cf7bcb317ca.png"},6774:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/E5-91c71c3d41ae3df586ebc7eac5f83f7f.png"},8397:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/E6-43311c44c19c96dddb6968b496c2bb3c.png"},4008:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Exit_bo-4a245effc68363ded22391ef11d75fd5.png"},1199:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Firmware-d39f76f8d52dbc0ba5cf00d8d5c5e12d.png"},421:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/GPU-ok-ddc13bc3ba9f37d263a409978c2b0fcb.png"},6318:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Install_now-5fc2394b90d5fa17ded7eac1bec8a60d.png"},6580:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Keyboard_passthrough-d57e806d49cb3086bdf7e19d593709f6.png"},4100:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Load_drivers-58306c25f5e6e9e3f6f76d70c2ab73f0.png"},1572:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Mouse_passthrough-e1265719a622bd6f7abc1fcd5b7a09c1.png"},249:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/New VM-2e455d24113996b56f87a45365f9f4bb.png"},1221:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/P1-1817d8a80a96c533c373ffd595903d09.png"},9742:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/P2-63e5f7c6333d31080b508ba7dc3e1d94.png"},9239:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/P3-6622d581546efa3042de6965e329d012.png"},3415:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Power_setting_idle-f03d12a00765e7458a442e97ed55d820.png"},3714:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Poweron_1-af01a284c0cfc683b2e336f37e3b8d3a.png"},7031:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Press_any_key_to_boot_up_system-7209a93c748b9e0bedf71d836d318864.png"},1147:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Ready_to_install-848316dc5a6ec6c7efa43c5b035a0da8.png"},6898:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/SCSI-e04255f32d0041c3065c37e08980b8e6.png"},6380:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Select_Disk_Size-7cc7f0f215089f6244b2206e530ee169.png"},9078:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Select_ISO-128b818d9b7b96578327a7504e1a7570.png"},6185:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Select_ram-0eefc4e39cbb90e2dd6e182b84c0bf30.png"},9144:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Speed-up-cpu-b9f5e3a262dd02ee5c7ed0a51b02387d.png"},5201:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Update_windows-c5737facaeff1f7f34b2d414d03c467d.png"},4698:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Update_windows_2-504d8a84bc22902d8c0ce99f32f8e771.png"},5459:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Update_windows_3-7f9357c5a9f92789ed289a26ced713d7.png"},1832:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/VGA-fe85de75720f72034f70f717d114c00f.png"},5709:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/VirtIO_Disk-2b9e4f3da89b4dbd3f4c1cc145f33c76.png"},8147:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/Windows_Setup-a48b0d0224d58bf6dd45274c11a3eb8b.png"},7295:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/drivers_update_1-070dd05649b054ea0853b138faba833d.png"},5668:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/drivers_update_2-438cbce2fa9e5e53559183d93252ea10.png"},5261:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/drivers_update_3-6fb6b92f2a9dc44753528a3407f390dc.png"},6264:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/i_dont_have_product_key-6f2e03c31275a819ae575f384f4f17f4.png"},5005:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/install_windows_1-020663dae1bc30dfe490c0f98e9aadf4.png"},2272:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/iw-b423eecaee179e81fd91bdacbd559198.png"},5999:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w1-04bb0b2bee2c0bbce1978e28c46dac4c.png"},6487:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w2-6bc288381092b394eba1ccc4065c3059.png"},910:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w3-d6ea204a834a3d38e63d83ef75a9592d.png"},8625:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w4-3a046b32f728044f86aa95bd46f494ef.png"},7496:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w5-be1d92e2079ba1d928a08f90158a364e.png"},3251:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w6-541b86a901dee6090a48ac66615a1cdc.png"},989:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w8-4ea3ccf22e9711b3612523ab01761cc7.png"},7956:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/w9-57813e72bac5b42930bd4be3fca959aa.png"},5731:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/wf-21373d41530d24af97d450d45f059c50.png"},2241:(e,s,i)=>{i.d(s,{A:()=>t});const t=i.p+"assets/images/windows_Pro-3c49c0f42d96c2387e47f8cdbd7aecf1.png"},8453:(e,s,i)=>{i.d(s,{R:()=>a,x:()=>o});var t=i(6540);const n={},d=t.createContext(n);function a(e){const s=t.useContext(d);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),t.createElement(d.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4e74f26b.4813a073.js b/assets/js/4e74f26b.4813a073.js deleted file mode 100644 index 0256a73..0000000 --- a/assets/js/4e74f26b.4813a073.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[171],{9646:(e,o,s)=>{s.r(o),s.d(o,{assets:()=>l,contentTitle:()=>d,default:()=>c,frontMatter:()=>r,metadata:()=>n,toc:()=>a});const n=JSON.parse('{"id":"dual-gpu-passthru-desktop/Download-OS","title":"Downloading the Operating System","description":"This section cover how to download both Windows 10/11 and the Virtio ISO.","source":"@site/docs/dual-gpu-passthru-desktop/Download-OS.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/Download-OS","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Download-OS","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/Download-OS.mdx","tags":[],"version":"current","sidebarPosition":11,"frontMatter":{"sidebar_position":11},"sidebar":"tutorialSidebar","previous":{"title":"Configuring Libvirt","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Configuring-Libvirt"},"next":{"title":"Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/InstallOS-win10"}}');var t=s(4848),i=s(8453);const r={sidebar_position:11},d="Downloading the Operating System",l={},a=[{value:"Visit the Website to Download the ISO",id:"visit-the-website-to-download-the-iso",level:3},{value:"Revision",id:"revision",level:4},{value:"AtlasOS",id:"atlasos",level:4},{value:"Downloading the Virtio ISO",id:"downloading-the-virtio-iso",level:3},{value:"Fastest Way to Download",id:"fastest-way-to-download",level:3},{value:"Next Steps",id:"next-steps",level:2}];function h(e){const o={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.header,{children:(0,t.jsx)(o.h1,{id:"downloading-the-operating-system",children:"Downloading the Operating System"})}),"\n",(0,t.jsx)(o.p,{children:"This section cover how to download both Windows 10/11 and the Virtio ISO."}),"\n",(0,t.jsx)(o.p,{children:"Keep in mind that Windows 11 has some additional requirements, like TPM (Trusted Platform Module), which makes its setup a bit different."}),"\n",(0,t.jsx)(o.p,{children:"Don\u2019t worry, I\u2019ll guide you through every step, so just follow along."}),"\n",(0,t.jsx)(o.h3,{id:"visit-the-website-to-download-the-iso",children:"Visit the Website to Download the ISO"}),"\n",(0,t.jsx)(o.p,{children:"You can find the Windows ISO files on Microsoft\u2019s official website, should be simple lol."}),"\n",(0,t.jsx)(o.p,{children:"For a more tailored approach, here are a couple of recommended sources:"}),"\n",(0,t.jsx)(o.h4,{id:"revision",children:"Revision"}),"\n",(0,t.jsx)(o.p,{children:"The Revision website offers Windows ISO files and provides a playbook for debloating Windows. Although I won\u2019t go into the debloating process here, you can download the ISO from:"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://revi.cc/docs/playbook/installwindows#downloading-the-windows-iso",children:"Revision - Windows ISO Downloads"})}),"\n",(0,t.jsx)(o.h4,{id:"atlasos",children:"AtlasOS"}),"\n",(0,t.jsx)(o.p,{children:"AtlasOS is another excellent option, especially if you\u2019re interested in debloating Windows 10/11. Again, I won\u2019t cover the debloating process here, but you can download the ISO from:"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://docs.atlasos.net/getting-started/installation/#1-download-an-iso",children:"AtlasOS - Download ISO"})}),"\n",(0,t.jsx)(o.h3,{id:"downloading-the-virtio-iso",children:"Downloading the Virtio ISO"}),"\n",(0,t.jsx)(o.p,{children:"For better performance with virtual machines, you'll need the Virtio drivers. Download the latest or stable Virtio ISO from the official GitHub repository:"}),"\n",(0,t.jsxs)(o.ol,{children:["\n",(0,t.jsxs)(o.li,{children:["Visit the ",(0,t.jsx)(o.a,{href:"https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md",children:"Virtio Win GitHub page"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Download the stable or latest ISO from the provided links in the repository."}),"\n"]}),"\n",(0,t.jsx)(o.h3,{id:"fastest-way-to-download",children:"Fastest Way to Download"}),"\n",(0,t.jsxs)(o.p,{children:["Downloading via a standard browser can be slow because it uses a single thread. To speed up the process, I recommend using ",(0,t.jsx)(o.code,{children:"aria2"}),", a tool that supports multi-threaded downloads. Here\u2019s how to use it:"]}),"\n",(0,t.jsxs)(o.ol,{children:["\n",(0,t.jsxs)(o.li,{children:["\n",(0,t.jsxs)(o.p,{children:["Install ",(0,t.jsx)(o.code,{children:"aria2"})," with ",(0,t.jsx)(o.code,{children:"pacman"}),":"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"sudo pacman -S aria2\n"})}),"\n"]}),"\n",(0,t.jsxs)(o.li,{children:["\n",(0,t.jsx)(o.p,{children:"Copy the download link from the website or use your browser\u2019s network monitor (press F12) to grab the URL."}),"\n"]}),"\n",(0,t.jsxs)(o.li,{children:["\n",(0,t.jsxs)(o.p,{children:["Use ",(0,t.jsx)(o.code,{children:"aria2"})," to download the ISO with multiple threads:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:'aria2c -x 16 "paste-your-download-link-here"\n'})}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(o.h2,{id:"next-steps",children:"Next Steps"}),"\n",(0,t.jsx)(o.p,{children:"The guide will be split into different sections for Windows 10, Windows 11, and GNU/Linux."}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"For Windows 10:"})," Follow the instructions in the Windows 10 section."]}),"\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"For Windows 11:"})," Refer to the Windows 11 section."]}),"\n"]}),"\n",(0,t.jsx)(o.p,{children:"Each section will provide detailed steps for installing the respective operating system. The GNU/Linux installation is straightforward and does not require any additional steps beyond the basics."})]})}function c(e={}){const{wrapper:o}={...(0,i.R)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},8453:(e,o,s)=>{s.d(o,{R:()=>r,x:()=>d});var n=s(6540);const t={},i=n.createContext(t);function r(e){const o=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function d(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),n.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4e74f26b.5cbcd6e8.js b/assets/js/4e74f26b.5cbcd6e8.js new file mode 100644 index 0000000..4a500e9 --- /dev/null +++ b/assets/js/4e74f26b.5cbcd6e8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[171],{9646:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>l,contentTitle:()=>d,default:()=>c,frontMatter:()=>r,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"dual-gpu-passthru-desktop/Download-OS","title":"Downloading the Operating System","description":"This section cover how to download both Windows 10/11 and the Virtio ISO.","source":"@site/docs/dual-gpu-passthru-desktop/Download-OS.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/Download-OS","permalink":"/docs/dual-gpu-passthru-desktop/Download-OS","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/Download-OS.mdx","tags":[],"version":"current","sidebarPosition":11,"frontMatter":{"sidebar_position":11},"sidebar":"tutorialSidebar","previous":{"title":"Configuring Libvirt","permalink":"/docs/dual-gpu-passthru-desktop/Configuring-Libvirt"},"next":{"title":"Setting Up Your Virtual Machine (Windows 10) \u2013 The Final Steps","permalink":"/docs/dual-gpu-passthru-desktop/InstallOS-win10"}}');var t=n(4848),i=n(8453);const r={sidebar_position:11},d="Downloading the Operating System",l={},a=[{value:"Visit the Website to Download the ISO",id:"visit-the-website-to-download-the-iso",level:3},{value:"Revision",id:"revision",level:4},{value:"AtlasOS",id:"atlasos",level:4},{value:"Downloading the Virtio ISO",id:"downloading-the-virtio-iso",level:3},{value:"Fastest Way to Download",id:"fastest-way-to-download",level:3},{value:"Next Steps",id:"next-steps",level:2}];function h(e){const o={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.header,{children:(0,t.jsx)(o.h1,{id:"downloading-the-operating-system",children:"Downloading the Operating System"})}),"\n",(0,t.jsx)(o.p,{children:"This section cover how to download both Windows 10/11 and the Virtio ISO."}),"\n",(0,t.jsx)(o.p,{children:"Keep in mind that Windows 11 has some additional requirements, like TPM (Trusted Platform Module), which makes its setup a bit different."}),"\n",(0,t.jsx)(o.p,{children:"Don\u2019t worry, I\u2019ll guide you through every step, so just follow along."}),"\n",(0,t.jsx)(o.h3,{id:"visit-the-website-to-download-the-iso",children:"Visit the Website to Download the ISO"}),"\n",(0,t.jsx)(o.p,{children:"You can find the Windows ISO files on Microsoft\u2019s official website, should be simple lol."}),"\n",(0,t.jsx)(o.p,{children:"For a more tailored approach, here are a couple of recommended sources:"}),"\n",(0,t.jsx)(o.h4,{id:"revision",children:"Revision"}),"\n",(0,t.jsx)(o.p,{children:"The Revision website offers Windows ISO files and provides a playbook for debloating Windows. Although I won\u2019t go into the debloating process here, you can download the ISO from:"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://revi.cc/docs/playbook/installwindows#downloading-the-windows-iso",children:"Revision - Windows ISO Downloads"})}),"\n",(0,t.jsx)(o.h4,{id:"atlasos",children:"AtlasOS"}),"\n",(0,t.jsx)(o.p,{children:"AtlasOS is another excellent option, especially if you\u2019re interested in debloating Windows 10/11. Again, I won\u2019t cover the debloating process here, but you can download the ISO from:"}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.a,{href:"https://docs.atlasos.net/getting-started/installation/#1-download-an-iso",children:"AtlasOS - Download ISO"})}),"\n",(0,t.jsx)(o.h3,{id:"downloading-the-virtio-iso",children:"Downloading the Virtio ISO"}),"\n",(0,t.jsx)(o.p,{children:"For better performance with virtual machines, you'll need the Virtio drivers. Download the latest or stable Virtio ISO from the official GitHub repository:"}),"\n",(0,t.jsxs)(o.ol,{children:["\n",(0,t.jsxs)(o.li,{children:["Visit the ",(0,t.jsx)(o.a,{href:"https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md",children:"Virtio Win GitHub page"}),"."]}),"\n",(0,t.jsx)(o.li,{children:"Download the stable or latest ISO from the provided links in the repository."}),"\n"]}),"\n",(0,t.jsx)(o.h3,{id:"fastest-way-to-download",children:"Fastest Way to Download"}),"\n",(0,t.jsxs)(o.p,{children:["Downloading via a standard browser can be slow because it uses a single thread. To speed up the process, I recommend using ",(0,t.jsx)(o.code,{children:"aria2"}),", a tool that supports multi-threaded downloads. Here\u2019s how to use it:"]}),"\n",(0,t.jsxs)(o.ol,{children:["\n",(0,t.jsxs)(o.li,{children:["\n",(0,t.jsxs)(o.p,{children:["Install ",(0,t.jsx)(o.code,{children:"aria2"})," with ",(0,t.jsx)(o.code,{children:"pacman"}),":"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:"sudo pacman -S aria2\n"})}),"\n"]}),"\n",(0,t.jsxs)(o.li,{children:["\n",(0,t.jsx)(o.p,{children:"Copy the download link from the website or use your browser\u2019s network monitor (press F12) to grab the URL."}),"\n"]}),"\n",(0,t.jsxs)(o.li,{children:["\n",(0,t.jsxs)(o.p,{children:["Use ",(0,t.jsx)(o.code,{children:"aria2"})," to download the ISO with multiple threads:"]}),"\n",(0,t.jsx)(o.pre,{children:(0,t.jsx)(o.code,{className:"language-shell",children:'aria2c -x 16 "paste-your-download-link-here"\n'})}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(o.h2,{id:"next-steps",children:"Next Steps"}),"\n",(0,t.jsx)(o.p,{children:"The guide will be split into different sections for Windows 10, Windows 11, and GNU/Linux."}),"\n",(0,t.jsxs)(o.ul,{children:["\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"For Windows 10:"})," Follow the instructions in the Windows 10 section."]}),"\n",(0,t.jsxs)(o.li,{children:[(0,t.jsx)(o.strong,{children:"For Windows 11:"})," Refer to the Windows 11 section."]}),"\n"]}),"\n",(0,t.jsx)(o.p,{children:"Each section will provide detailed steps for installing the respective operating system. The GNU/Linux installation is straightforward and does not require any additional steps beyond the basics."})]})}function c(e={}){const{wrapper:o}={...(0,i.R)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},8453:(e,o,n)=>{n.d(o,{R:()=>r,x:()=>d});var s=n(6540);const t={},i=s.createContext(t);function r(e){const o=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function d(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/57f0c23e.4e94f258.js b/assets/js/57f0c23e.4e94f258.js new file mode 100644 index 0000000..25dbd65 --- /dev/null +++ b/assets/js/57f0c23e.4e94f258.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[610],{7961:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"dual-gpu-passthru-desktop/GPU","title":"How to Buy a GPU","description":"Choosing a GPU is straightforward, but there are a few considerations based on your needs.","source":"@site/docs/dual-gpu-passthru-desktop/GPU.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/GPU","permalink":"/docs/dual-gpu-passthru-desktop/GPU","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/GPU.mdx","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5},"sidebar":"tutorialSidebar","previous":{"title":"How to Buy a Motherboard","permalink":"/docs/dual-gpu-passthru-desktop/motherboard"},"next":{"title":"Optional Devices","permalink":"/docs/dual-gpu-passthru-desktop/Optional-device"}}');var o=s(4848),r=s(8453);const i={sidebar_position:5},a="How to Buy a GPU",u={},d=[];function p(e){const t={h1:"h1",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"how-to-buy-a-gpu",children:"How to Buy a GPU"})}),"\n",(0,o.jsx)(t.p,{children:"Choosing a GPU is straightforward, but there are a few considerations based on your needs."}),"\n",(0,o.jsx)(t.p,{children:"In general, just pick the GPU you want."}),"\n",(0,o.jsx)(t.p,{children:"From a GNU/Linux perspective, AMD GPUs are recommended, while Nvidia GPUs are better suited for Windows."}),"\n",(0,o.jsx)(t.p,{children:"For optimal setup:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"AMD Radeon RX 7000 Series"})," for the GNU/Linux host"]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"RTX 4000 Series"})," for the Windows guest"]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"If you prefer using a GNU/Linux guest, it's best to use two AMD GPUs."}),"\n",(0,o.jsx)(t.p,{children:"and yeah. Dont even think Nvidia GPU for GNU/Linux, if dose, this is the worst choice you ever done."})]})}function c(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var n=s(6540);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/57f0c23e.e4a37fc9.js b/assets/js/57f0c23e.e4a37fc9.js deleted file mode 100644 index e3b4a1a..0000000 --- a/assets/js/57f0c23e.e4a37fc9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[610],{7961:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"dual-gpu-passthru-desktop/GPU","title":"How to Buy a GPU","description":"Choosing a GPU is straightforward, but there are a few considerations based on your needs.","source":"@site/docs/dual-gpu-passthru-desktop/GPU.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/GPU","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/GPU","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/GPU.mdx","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5},"sidebar":"tutorialSidebar","previous":{"title":"How to Buy a Motherboard","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/motherboard"},"next":{"title":"Optional Devices","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Optional-device"}}');var o=s(4848),r=s(8453);const i={sidebar_position:5},a="How to Buy a GPU",u={},d=[];function p(e){const t={h1:"h1",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"how-to-buy-a-gpu",children:"How to Buy a GPU"})}),"\n",(0,o.jsx)(t.p,{children:"Choosing a GPU is straightforward, but there are a few considerations based on your needs."}),"\n",(0,o.jsx)(t.p,{children:"In general, just pick the GPU you want."}),"\n",(0,o.jsx)(t.p,{children:"From a GNU/Linux perspective, AMD GPUs are recommended, while Nvidia GPUs are better suited for Windows."}),"\n",(0,o.jsx)(t.p,{children:"For optimal setup:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"AMD Radeon RX 7000 Series"})," for the GNU/Linux host"]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"RTX 4000 Series"})," for the Windows guest"]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"If you prefer using a GNU/Linux guest, it's best to use two AMD GPUs."}),"\n",(0,o.jsx)(t.p,{children:"and yeah. Dont even think Nvidia GPU for GNU/Linux, if dose, this is the worst choice you ever done."})]})}function c(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var n=s(6540);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/63a3ead2.119c1de5.js b/assets/js/63a3ead2.119c1de5.js new file mode 100644 index 0000000..6caeb10 --- /dev/null +++ b/assets/js/63a3ead2.119c1de5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[938],{3051:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>c,frontMatter:()=>n,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"dual-gpu-passthru-desktop/CPU","title":"How to Buy a CPU","description":"To enable GPU passthrough, you need a CPU that supports virtualization. Without this capability, your system won\u2019t be able to run GPU passthrough effectively. Here\u2019s how to choose the right CPU.","source":"@site/docs/dual-gpu-passthru-desktop/CPU.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/CPU","permalink":"/docs/dual-gpu-passthru-desktop/CPU","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/CPU.mdx","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Introduction","permalink":"/docs/dual-gpu-passthru-desktop/"},"next":{"title":"How to Buy a Motherboard","permalink":"/docs/dual-gpu-passthru-desktop/motherboard"}}');var r=s(4848),i=s(8453);const n={sidebar_position:3},a="How to Buy a CPU",u={},l=[{value:"CPU Virtualization Support",id:"cpu-virtualization-support",level:2},{value:"Example of a supported CPU",id:"example-of-a-supported-cpu",level:2}];function p(t){const e={a:"a",blockquote:"blockquote",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.header,{children:(0,r.jsx)(e.h1,{id:"how-to-buy-a-cpu",children:"How to Buy a CPU"})}),"\n",(0,r.jsx)(e.p,{children:"To enable GPU passthrough, you need a CPU that supports virtualization. Without this capability, your system won\u2019t be able to run GPU passthrough effectively. Here\u2019s how to choose the right CPU."}),"\n",(0,r.jsx)(e.h2,{id:"cpu-virtualization-support",children:"CPU Virtualization Support"}),"\n",(0,r.jsx)(e.p,{children:"Virtualization support is crucial for efficient virtual machine performance and successful GPU passthrough. You'll need to enable this feature in your BIOS after selecting a suitable CPU."}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.p,{children:"As of 2024, most CPUs include this feature by default. However, it's still important to verify that your CPU supports it!"}),"\n"]}),"\n",(0,r.jsx)(e.p,{children:"To check if your CPU supports virtualization:"}),"\n",(0,r.jsxs)(e.ol,{children:["\n",(0,r.jsx)(e.li,{children:"Visit the official website of your CPU manufacturer."}),"\n",(0,r.jsx)(e.li,{children:"Look for the specifications or features section related to virtualization support."}),"\n",(0,r.jsx)(e.li,{children:"Confirm that your CPU supports virtualization technology (Intel VT-x or AMD-V)."}),"\n"]}),"\n",(0,r.jsxs)(e.table,{children:[(0,r.jsx)(e.thead,{children:(0,r.jsxs)(e.tr,{children:[(0,r.jsx)(e.th,{children:"AMD CPU"}),(0,r.jsx)(e.th,{children:"Intel CPU"})]})}),(0,r.jsxs)(e.tbody,{children:[(0,r.jsxs)(e.tr,{children:[(0,r.jsx)(e.td,{children:"IOMMU"}),(0,r.jsx)(e.td,{children:"VT-d"})]}),(0,r.jsxs)(e.tr,{children:[(0,r.jsx)(e.td,{children:"NX Mode"}),(0,r.jsx)(e.td,{children:"VT-x"})]}),(0,r.jsxs)(e.tr,{children:[(0,r.jsx)(e.td,{children:"SVM Mode"}),(0,r.jsx)(e.td,{})]})]})]}),"\n",(0,r.jsx)(e.p,{children:"Ensuring that your CPU has proper virtualization support is a crucial step for setting up dual GPU passthrough successfully."}),"\n",(0,r.jsx)(e.h2,{id:"example-of-a-supported-cpu",children:"Example of a supported CPU"}),"\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Intel\xae Core\u2122 i9-13900K Processor:"})}),"\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.a,{href:"https://www.intel.com/content/www/us/en/products/sku/230496/intel-core-i913900k-processor-36m-cache-up-to-5-80-ghz/specifications.html?wapkw=i9%2013900k",children:"https://www.intel.com/content/www/us/en/products/sku/230496/intel-core-i913900k-processor-36m-cache-up-to-5-80-ghz/specifications.html?wapkw=i9%2013900k"})}),"\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.img,{alt:"CPU",src:s(7263).A+"",width:"767",height:"226"})})]})}function c(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(p,{...t})}):p(t)}},7263:(t,e,s)=>{s.d(e,{A:()=>o});const o=s.p+"assets/images/Example-with-cpu-supported-f50ddcde810f9c3f1588b111c674e69f.png"},8453:(t,e,s)=>{s.d(e,{R:()=>n,x:()=>a});var o=s(6540);const r={},i=o.createContext(r);function n(t){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:n(t.components),o.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/63a3ead2.d4f28d91.js b/assets/js/63a3ead2.d4f28d91.js deleted file mode 100644 index a60a6f5..0000000 --- a/assets/js/63a3ead2.d4f28d91.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[938],{3051:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>c,frontMatter:()=>n,metadata:()=>o,toc:()=>p});const o=JSON.parse('{"id":"dual-gpu-passthru-desktop/CPU","title":"How to Buy a CPU","description":"To enable GPU passthrough, you need a CPU that supports virtualization. Without this capability, your system won\u2019t be able to run GPU passthrough effectively. Here\u2019s how to choose the right CPU.","source":"@site/docs/dual-gpu-passthru-desktop/CPU.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/CPU","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/CPU","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/CPU.mdx","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Introduction","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/"},"next":{"title":"How to Buy a Motherboard","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/motherboard"}}');var r=s(4848),i=s(8453);const n={sidebar_position:3},a="How to Buy a CPU",u={},p=[{value:"CPU Virtualization Support",id:"cpu-virtualization-support",level:2},{value:"Example of a supported CPU",id:"example-of-a-supported-cpu",level:2}];function l(t){const e={a:"a",blockquote:"blockquote",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.header,{children:(0,r.jsx)(e.h1,{id:"how-to-buy-a-cpu",children:"How to Buy a CPU"})}),"\n",(0,r.jsx)(e.p,{children:"To enable GPU passthrough, you need a CPU that supports virtualization. Without this capability, your system won\u2019t be able to run GPU passthrough effectively. Here\u2019s how to choose the right CPU."}),"\n",(0,r.jsx)(e.h2,{id:"cpu-virtualization-support",children:"CPU Virtualization Support"}),"\n",(0,r.jsx)(e.p,{children:"Virtualization support is crucial for efficient virtual machine performance and successful GPU passthrough. You'll need to enable this feature in your BIOS after selecting a suitable CPU."}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.p,{children:"As of 2024, most CPUs include this feature by default. However, it's still important to verify that your CPU supports it!"}),"\n"]}),"\n",(0,r.jsx)(e.p,{children:"To check if your CPU supports virtualization:"}),"\n",(0,r.jsxs)(e.ol,{children:["\n",(0,r.jsx)(e.li,{children:"Visit the official website of your CPU manufacturer."}),"\n",(0,r.jsx)(e.li,{children:"Look for the specifications or features section related to virtualization support."}),"\n",(0,r.jsx)(e.li,{children:"Confirm that your CPU supports virtualization technology (Intel VT-x or AMD-V)."}),"\n"]}),"\n",(0,r.jsxs)(e.table,{children:[(0,r.jsx)(e.thead,{children:(0,r.jsxs)(e.tr,{children:[(0,r.jsx)(e.th,{children:"AMD CPU"}),(0,r.jsx)(e.th,{children:"Intel CPU"})]})}),(0,r.jsxs)(e.tbody,{children:[(0,r.jsxs)(e.tr,{children:[(0,r.jsx)(e.td,{children:"IOMMU"}),(0,r.jsx)(e.td,{children:"VT-d"})]}),(0,r.jsxs)(e.tr,{children:[(0,r.jsx)(e.td,{children:"NX Mode"}),(0,r.jsx)(e.td,{children:"VT-x"})]}),(0,r.jsxs)(e.tr,{children:[(0,r.jsx)(e.td,{children:"SVM Mode"}),(0,r.jsx)(e.td,{})]})]})]}),"\n",(0,r.jsx)(e.p,{children:"Ensuring that your CPU has proper virtualization support is a crucial step for setting up dual GPU passthrough successfully."}),"\n",(0,r.jsx)(e.h2,{id:"example-of-a-supported-cpu",children:"Example of a supported CPU"}),"\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.strong,{children:"Intel\xae Core\u2122 i9-13900K Processor:"})}),"\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.a,{href:"https://www.intel.com/content/www/us/en/products/sku/230496/intel-core-i913900k-processor-36m-cache-up-to-5-80-ghz/specifications.html?wapkw=i9%2013900k",children:"https://www.intel.com/content/www/us/en/products/sku/230496/intel-core-i913900k-processor-36m-cache-up-to-5-80-ghz/specifications.html?wapkw=i9%2013900k"})}),"\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.img,{alt:"CPU",src:s(8046).A+"",width:"767",height:"226"})})]})}function c(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(l,{...t})}):l(t)}},8046:(t,e,s)=>{s.d(e,{A:()=>o});const o=s.p+"assets/images/Example-with-cpu-supported-f50ddcde810f9c3f1588b111c674e69f.png"},8453:(t,e,s)=>{s.d(e,{R:()=>n,x:()=>a});var o=s(6540);const r={},i=o.createContext(r);function n(t){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:n(t.components),o.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/68ec3be2.b3c04dd9.js b/assets/js/68ec3be2.b3c04dd9.js deleted file mode 100644 index b84ee96..0000000 --- a/assets/js/68ec3be2.b3c04dd9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[35],{9271:t=>{t.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Tutorial - Extras","slug":"/category/tutorial---extras","permalink":"/gpu.passthru.info/docs/category/tutorial---extras","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux"},"next":{"title":"Manage Docs Versions","permalink":"/gpu.passthru.info/docs/tutorial-extras/manage-docs-versions"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/6a1dee16.b915eb63.js b/assets/js/6a1dee16.b915eb63.js new file mode 100644 index 0000000..f51c01a --- /dev/null +++ b/assets/js/6a1dee16.b915eb63.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[132],{374:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>a});const i=JSON.parse('{"id":"dual-gpu-passthru-desktop/Configuring-Libvirt","title":"Configuring Libvirt","description":"Now that we\'ve got the packages installed, you might notice that when you try to open virt-manager, it asks for the root password. To smooth things out, we\'ll need to configuring libvirt, qemu, and virt-manager for adjust permissions so everything runs more seamlessly.","source":"@site/docs/dual-gpu-passthru-desktop/Configuring-Libvirt.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/Configuring-Libvirt","permalink":"/docs/dual-gpu-passthru-desktop/Configuring-Libvirt","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/Configuring-Libvirt.mdx","tags":[],"version":"current","sidebarPosition":10,"frontMatter":{"sidebar_position":10},"sidebar":"tutorialSidebar","previous":{"title":"Installing require Packages","permalink":"/docs/dual-gpu-passthru-desktop/Install-require-packages"},"next":{"title":"Downloading the Operating System","permalink":"/docs/dual-gpu-passthru-desktop/Download-OS"}}');var r=s(4848),t=s(8453);const o={sidebar_position:10},l="Configuring Libvirt",d={},a=[{value:"Adjust Permissions for virt-manager",id:"adjust-permissions-for-virt-manager",level:2},{value:"Set Up Logging for Troubleshooting (Optional but Recommended)",id:"set-up-logging-for-troubleshooting-optional-but-recommended",level:3},{value:"Add Your User to the libvirt Group",id:"add-your-user-to-the-libvirt-group",level:2},{value:"Enable and Start Libvirt Services",id:"enable-and-start-libvirt-services",level:2},{value:"Verify Group Membership",id:"verify-group-membership",level:3},{value:"QEMU Configuration",id:"qemu-configuration",level:2},{value:"Restart the libvirtd Service",id:"restart-the-libvirtd-service",level:2},{value:"Start virsh Network Automatically - (Optional but Recommended)",id:"start-virsh-network-automatically---optional-but-recommended",level:3},{value:"What\u2019s Next?",id:"whats-next",level:2}];function c(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"configuring-libvirt",children:"Configuring Libvirt"})}),"\n",(0,r.jsxs)(n.p,{children:["Now that we've got the packages installed, you might notice that when you try to open ",(0,r.jsx)(n.code,{children:"virt-manager"}),", it asks for the root password. To smooth things out, we'll need to configuring libvirt, qemu, and virt-manager for adjust permissions so everything runs more seamlessly."]}),"\n",(0,r.jsxs)(n.h2,{id:"adjust-permissions-for-virt-manager",children:["Adjust Permissions for ",(0,r.jsx)(n.code,{children:"virt-manager"})]}),"\n",(0,r.jsxs)(n.p,{children:["Here\u2019s how to set up your system so you can use ",(0,r.jsx)(n.code,{children:"virt-manager"})," without constantly needing root access:"]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Open the configuration file with:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"sudo vim /etc/libvirt/libvirtd.conf\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Look for the ",(0,r.jsx)(n.code,{children:"unix_sock_group"})," and ",(0,r.jsx)(n.code,{children:"unix_sock_rw_perms"})," entries in the file. Uncomment these lines and set the values as shown below:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Set ",(0,r.jsx)(n.code,{children:"unix_sock_group"})," to ",(0,r.jsx)(n.code,{children:"libvirt"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-plaintext",children:'unix_sock_group = "libvirt"\n'})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Set ",(0,r.jsx)(n.code,{children:"unix_sock_rw_perms"})," to ",(0,r.jsx)(n.code,{children:"0770"})," to allow the right permissions for ",(0,r.jsx)(n.code,{children:"virt-manager"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-plaintext",children:'unix_sock_rw_perms = "0770"\n'})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Save and exit by typing ",(0,r.jsx)(n.code,{children:":wq"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["This configuration will let you launch and manage ",(0,r.jsx)(n.code,{children:"virt-manager"})," without running into permission problems."]}),"\n",(0,r.jsx)(n.h3,{id:"set-up-logging-for-troubleshooting-optional-but-recommended",children:"Set Up Logging for Troubleshooting (Optional but Recommended)"}),"\n",(0,r.jsxs)(n.p,{children:["If you run into issues with ",(0,r.jsx)(n.code,{children:"virt-manager"}),", having logs can be a lifesaver. To set up logging:"]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Open the ",(0,r.jsx)(n.code,{children:"/etc/libvirt/libvirtd.conf"})," file again:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"sudo vim /etc/libvirt/libvirtd.conf\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Add these lines at the end of the file to set up logging:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-plaintext",children:'log_filters="3:qemu 1:libvirt"\nlog_outputs="2:file:/var/log/libvirt/libvirtd.log"\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"This way, you\u2019ll have detailed logs to help troubleshoot any problems."}),"\n",(0,r.jsxs)(n.h2,{id:"add-your-user-to-the-libvirt-group",children:["Add Your User to the ",(0,r.jsx)(n.code,{children:"libvirt"})," Group"]}),"\n",(0,r.jsxs)(n.p,{children:["To use ",(0,r.jsx)(n.code,{children:"virt-manager"})," without any superuser warnings, add your user to the ",(0,r.jsx)(n.code,{children:"libvirt"})," and ",(0,r.jsx)(n.code,{children:"kvm"})," groups:"]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Run the following command:","\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"sudo usermod -a -G kvm,libvirt $(whoami)\n"})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"enable-and-start-libvirt-services",children:"Enable and Start Libvirt Services"}),"\n",(0,r.jsx)(n.p,{children:"Make sure libvirt services start automatically on boot and then start the libvirt service:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"sudo systemctl enable libvirtd\nsudo systemctl start libvirtd\n"})}),"\n",(0,r.jsx)(n.h3,{id:"verify-group-membership",children:"Verify Group Membership"}),"\n",(0,r.jsx)(n.p,{children:"Check that your user has been added to the necessary groups:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"sudo groups $(whoami)\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This confirms that you\u2019ve successfully added your user to the ",(0,r.jsx)(n.code,{children:"libvirt"})," and ",(0,r.jsx)(n.code,{children:"kvm"})," groups."]}),"\n",(0,r.jsx)(n.h2,{id:"qemu-configuration",children:"QEMU Configuration"}),"\n",(0,r.jsx)(n.p,{children:"To make sure QEMU processes run with your user permissions:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Edit the ",(0,r.jsx)(n.code,{children:"qemu.conf"})," file:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"sudo vim /etc/libvirt/qemu.conf\n"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:["Tip: In ",(0,r.jsx)(n.code,{children:"vim"}),", you can quickly find ",(0,r.jsx)(n.code,{children:"user ="})," by pressing ",(0,r.jsx)(n.code,{children:"/"}),", typing ",(0,r.jsx)(n.code,{children:"user ="}),", and pressing ",(0,r.jsx)(n.code,{children:"Enter"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Look for these lines:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-plaintext",children:'user = "libvirt"\ngroup = "libvirt"\n'})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Change ",(0,r.jsx)(n.code,{children:'"libvirt"'})," to your username:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-plaintext",children:'user = "username"\ngroup = "username"\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"This adjustment ensures QEMU processes run with your user privileges."}),"\n",(0,r.jsxs)(n.h2,{id:"restart-the-libvirtd-service",children:["Restart the ",(0,r.jsx)(n.code,{children:"libvirtd"})," Service"]}),"\n",(0,r.jsxs)(n.p,{children:["Apply your changes by restarting the ",(0,r.jsx)(n.code,{children:"libvirtd"})," service:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"sudo systemctl restart libvirtd\n"})}),"\n",(0,r.jsxs)(n.h3,{id:"start-virsh-network-automatically---optional-but-recommended",children:["Start ",(0,r.jsx)(n.code,{children:"virsh"})," Network Automatically - (Optional but Recommended)"]}),"\n",(0,r.jsx)(n.p,{children:"If you only want to passthrough your LAN or wireless, ignore it's ok."}),"\n",(0,r.jsxs)(n.p,{children:["Every standard libvirt installation provides NAT based connectivity to virtual machines out of the box. This is the so called ",(0,r.jsx)(n.code,{children:"default virtual network"}),"."]}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:["For more: ",(0,r.jsx)(n.a,{href:"https://wiki.libvirt.org/Networking.html",children:"https://wiki.libvirt.org/Networking.html"})]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"sudo virsh net-autostart default\n"})}),"\n",(0,r.jsx)(n.p,{children:"Now, you\u2019ve configured permissions, added your user to the right groups, QEMU settings, and ensured services are running correctly."}),"\n",(0,r.jsx)(n.h2,{id:"whats-next",children:"What\u2019s Next?"}),"\n",(0,r.jsx)(n.p,{children:"Now it\u2019s time to download the ISO files for the operating systems you\u2019ll be using."})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>l});var i=s(6540);const r={},t=i.createContext(r);function o(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6a1dee16.f085b9a4.js b/assets/js/6a1dee16.f085b9a4.js deleted file mode 100644 index 3dcdf1d..0000000 --- a/assets/js/6a1dee16.f085b9a4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[132],{374:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>a});const i=JSON.parse('{"id":"dual-gpu-passthru-desktop/Configuring-Libvirt","title":"Configuring Libvirt","description":"Now that we\'ve got the packages installed, you might notice that when you try to open virt-manager, it asks for the root password. To smooth things out, we\'ll need to configuring libvirt, qemu, and virt-manager for adjust permissions so everything runs more seamlessly.","source":"@site/docs/dual-gpu-passthru-desktop/Configuring-Libvirt.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/Configuring-Libvirt","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Configuring-Libvirt","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/Configuring-Libvirt.mdx","tags":[],"version":"current","sidebarPosition":10,"frontMatter":{"sidebar_position":10},"sidebar":"tutorialSidebar","previous":{"title":"Installing require Packages","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Install-require-packages"},"next":{"title":"Downloading the Operating System","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Download-OS"}}');var r=n(4848),t=n(8453);const o={sidebar_position:10},l="Configuring Libvirt",d={},a=[{value:"Adjust Permissions for virt-manager",id:"adjust-permissions-for-virt-manager",level:2},{value:"Set Up Logging for Troubleshooting (Optional but Recommended)",id:"set-up-logging-for-troubleshooting-optional-but-recommended",level:3},{value:"Add Your User to the libvirt Group",id:"add-your-user-to-the-libvirt-group",level:2},{value:"Enable and Start Libvirt Services",id:"enable-and-start-libvirt-services",level:2},{value:"Verify Group Membership",id:"verify-group-membership",level:3},{value:"QEMU Configuration",id:"qemu-configuration",level:2},{value:"Restart the libvirtd Service",id:"restart-the-libvirtd-service",level:2},{value:"Start virsh Network Automatically - (Optional but Recommended)",id:"start-virsh-network-automatically---optional-but-recommended",level:3},{value:"What\u2019s Next?",id:"whats-next",level:2}];function c(e){const s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"configuring-libvirt",children:"Configuring Libvirt"})}),"\n",(0,r.jsxs)(s.p,{children:["Now that we've got the packages installed, you might notice that when you try to open ",(0,r.jsx)(s.code,{children:"virt-manager"}),", it asks for the root password. To smooth things out, we'll need to configuring libvirt, qemu, and virt-manager for adjust permissions so everything runs more seamlessly."]}),"\n",(0,r.jsxs)(s.h2,{id:"adjust-permissions-for-virt-manager",children:["Adjust Permissions for ",(0,r.jsx)(s.code,{children:"virt-manager"})]}),"\n",(0,r.jsxs)(s.p,{children:["Here\u2019s how to set up your system so you can use ",(0,r.jsx)(s.code,{children:"virt-manager"})," without constantly needing root access:"]}),"\n",(0,r.jsxs)(s.ol,{children:["\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsx)(s.p,{children:"Open the configuration file with:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"sudo vim /etc/libvirt/libvirtd.conf\n"})}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsxs)(s.p,{children:["Look for the ",(0,r.jsx)(s.code,{children:"unix_sock_group"})," and ",(0,r.jsx)(s.code,{children:"unix_sock_rw_perms"})," entries in the file. Uncomment these lines and set the values as shown below:"]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsxs)(s.p,{children:["Set ",(0,r.jsx)(s.code,{children:"unix_sock_group"})," to ",(0,r.jsx)(s.code,{children:"libvirt"}),":"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-plaintext",children:'unix_sock_group = "libvirt"\n'})}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsxs)(s.p,{children:["Set ",(0,r.jsx)(s.code,{children:"unix_sock_rw_perms"})," to ",(0,r.jsx)(s.code,{children:"0770"})," to allow the right permissions for ",(0,r.jsx)(s.code,{children:"virt-manager"}),":"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-plaintext",children:'unix_sock_rw_perms = "0770"\n'})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsxs)(s.p,{children:["Save and exit by typing ",(0,r.jsx)(s.code,{children:":wq"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["This configuration will let you launch and manage ",(0,r.jsx)(s.code,{children:"virt-manager"})," without running into permission problems."]}),"\n",(0,r.jsx)(s.h3,{id:"set-up-logging-for-troubleshooting-optional-but-recommended",children:"Set Up Logging for Troubleshooting (Optional but Recommended)"}),"\n",(0,r.jsxs)(s.p,{children:["If you run into issues with ",(0,r.jsx)(s.code,{children:"virt-manager"}),", having logs can be a lifesaver. To set up logging:"]}),"\n",(0,r.jsxs)(s.ol,{children:["\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsxs)(s.p,{children:["Open the ",(0,r.jsx)(s.code,{children:"/etc/libvirt/libvirtd.conf"})," file again:"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"sudo vim /etc/libvirt/libvirtd.conf\n"})}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsx)(s.p,{children:"Add these lines at the end of the file to set up logging:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-plaintext",children:'log_filters="3:qemu 1:libvirt"\nlog_outputs="2:file:/var/log/libvirt/libvirtd.log"\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.p,{children:"This way, you\u2019ll have detailed logs to help troubleshoot any problems."}),"\n",(0,r.jsxs)(s.h2,{id:"add-your-user-to-the-libvirt-group",children:["Add Your User to the ",(0,r.jsx)(s.code,{children:"libvirt"})," Group"]}),"\n",(0,r.jsxs)(s.p,{children:["To use ",(0,r.jsx)(s.code,{children:"virt-manager"})," without any superuser warnings, add your user to the ",(0,r.jsx)(s.code,{children:"libvirt"})," and ",(0,r.jsx)(s.code,{children:"kvm"})," groups:"]}),"\n",(0,r.jsxs)(s.ol,{children:["\n",(0,r.jsxs)(s.li,{children:["Run the following command:","\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"sudo usermod -a -G kvm,libvirt $(whoami)\n"})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"enable-and-start-libvirt-services",children:"Enable and Start Libvirt Services"}),"\n",(0,r.jsx)(s.p,{children:"Make sure libvirt services start automatically on boot and then start the libvirt service:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"sudo systemctl enable libvirtd\nsudo systemctl start libvirtd\n"})}),"\n",(0,r.jsx)(s.h3,{id:"verify-group-membership",children:"Verify Group Membership"}),"\n",(0,r.jsx)(s.p,{children:"Check that your user has been added to the necessary groups:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"sudo groups $(whoami)\n"})}),"\n",(0,r.jsxs)(s.p,{children:["This confirms that you\u2019ve successfully added your user to the ",(0,r.jsx)(s.code,{children:"libvirt"})," and ",(0,r.jsx)(s.code,{children:"kvm"})," groups."]}),"\n",(0,r.jsx)(s.h2,{id:"qemu-configuration",children:"QEMU Configuration"}),"\n",(0,r.jsx)(s.p,{children:"To make sure QEMU processes run with your user permissions:"}),"\n",(0,r.jsxs)(s.ol,{children:["\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsxs)(s.p,{children:["Edit the ",(0,r.jsx)(s.code,{children:"qemu.conf"})," file:"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"sudo vim /etc/libvirt/qemu.conf\n"})}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:["Tip: In ",(0,r.jsx)(s.code,{children:"vim"}),", you can quickly find ",(0,r.jsx)(s.code,{children:"user ="})," by pressing ",(0,r.jsx)(s.code,{children:"/"}),", typing ",(0,r.jsx)(s.code,{children:"user ="}),", and pressing ",(0,r.jsx)(s.code,{children:"Enter"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsx)(s.p,{children:"Look for these lines:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-plaintext",children:'user = "libvirt"\ngroup = "libvirt"\n'})}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsxs)(s.p,{children:["Change ",(0,r.jsx)(s.code,{children:'"libvirt"'})," to your username:"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-plaintext",children:'user = "username"\ngroup = "username"\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.p,{children:"This adjustment ensures QEMU processes run with your user privileges."}),"\n",(0,r.jsxs)(s.h2,{id:"restart-the-libvirtd-service",children:["Restart the ",(0,r.jsx)(s.code,{children:"libvirtd"})," Service"]}),"\n",(0,r.jsxs)(s.p,{children:["Apply your changes by restarting the ",(0,r.jsx)(s.code,{children:"libvirtd"})," service:"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"sudo systemctl restart libvirtd\n"})}),"\n",(0,r.jsxs)(s.h3,{id:"start-virsh-network-automatically---optional-but-recommended",children:["Start ",(0,r.jsx)(s.code,{children:"virsh"})," Network Automatically - (Optional but Recommended)"]}),"\n",(0,r.jsx)(s.p,{children:"If you only want to passthrough your LAN or wireless, ignore it's ok."}),"\n",(0,r.jsxs)(s.p,{children:["Every standard libvirt installation provides NAT based connectivity to virtual machines out of the box. This is the so called ",(0,r.jsx)(s.code,{children:"default virtual network"}),"."]}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:["For more: ",(0,r.jsx)(s.a,{href:"https://wiki.libvirt.org/Networking.html",children:"https://wiki.libvirt.org/Networking.html"})]}),"\n"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"sudo virsh net-autostart default\n"})}),"\n",(0,r.jsx)(s.p,{children:"Now, you\u2019ve configured permissions, added your user to the right groups, QEMU settings, and ensured services are running correctly."}),"\n",(0,r.jsx)(s.h2,{id:"whats-next",children:"What\u2019s Next?"}),"\n",(0,r.jsx)(s.p,{children:"Now it\u2019s time to download the ISO files for the operating systems you\u2019ll be using."})]})}function h(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,s,n)=>{n.d(s,{R:()=>o,x:()=>l});var i=n(6540);const r={},t=i.createContext(r);function o(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6bb166bd.623aa8ba.js b/assets/js/6bb166bd.623aa8ba.js new file mode 100644 index 0000000..86c1c58 --- /dev/null +++ b/assets/js/6bb166bd.623aa8ba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[518],{3618:t=>{t.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Tutorial - Extras","slug":"/category/tutorial---extras","permalink":"/docs/category/tutorial---extras","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps","permalink":"/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux"},"next":{"title":"Manage Docs Versions","permalink":"/docs/tutorial-extras/manage-docs-versions"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/7b1264a8.3c6835e6.js b/assets/js/7b1264a8.3c6835e6.js new file mode 100644 index 0000000..363f344 --- /dev/null +++ b/assets/js/7b1264a8.3c6835e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[252],{5413:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>i,contentTitle:()=>d,default:()=>c,frontMatter:()=>n,metadata:()=>r,toc:()=>h});const r=JSON.parse('{"id":"dual-gpu-passthru-desktop/motherboard","title":"How to Buy a Motherboard","description":"The motherboard is crucial for GPU passthrough. Make sure it supports virtualization technology.","source":"@site/docs/dual-gpu-passthru-desktop/motherboard.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/motherboard","permalink":"/docs/dual-gpu-passthru-desktop/motherboard","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/motherboard.mdx","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"How to Buy a CPU","permalink":"/docs/dual-gpu-passthru-desktop/CPU"},"next":{"title":"How to Buy a GPU","permalink":"/docs/dual-gpu-passthru-desktop/GPU"}}');var s=o(4848),a=o(8453);const n={sidebar_position:3},d="How to Buy a Motherboard",i={},h=[{value:"Motherboard Compatibility",id:"motherboard-compatibility",level:2}];function l(t){const e={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"how-to-buy-a-motherboard",children:"How to Buy a Motherboard"})}),"\n",(0,s.jsx)(e.p,{children:"The motherboard is crucial for GPU passthrough. Make sure it supports virtualization technology."}),"\n",(0,s.jsx)(e.h2,{id:"motherboard-compatibility",children:"Motherboard Compatibility"}),"\n",(0,s.jsx)(e.p,{children:"To confirm compatibility, review the motherboard\u2019s full documentation, usually available in PDF format."}),"\n",(0,s.jsx)(e.p,{children:"Follow these steps to ensure your motherboard is suitable:"}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsx)(e.li,{children:"Check the motherboard\u2019s manual or official documentation."}),"\n",(0,s.jsx)(e.li,{children:"Look for details on IOMMU support or hardware virtualization features."}),"\n",(0,s.jsx)(e.li,{children:"Verify that the motherboard supports both IOMMU technology and general virtualization for dual GPU passthrough."}),"\n"]}),"\n",(0,s.jsxs)(e.p,{children:["Use ",(0,s.jsx)(e.code,{children:"Ctrl + F"})," to search for these terms in the documentation:"]}),"\n",(0,s.jsxs)(e.table,{children:[(0,s.jsx)(e.thead,{children:(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.th,{children:"AMD CPU"}),(0,s.jsx)(e.th,{children:"Intel CPU"})]})}),(0,s.jsxs)(e.tbody,{children:[(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"IOMMU"}),(0,s.jsx)(e.td,{children:"VT-d"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"NX Mode"}),(0,s.jsx)(e.td,{children:"VT-x"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"SVM Mode"}),(0,s.jsx)(e.td,{})]})]})]}),"\n",(0,s.jsx)(e.hr,{}),"\n",(0,s.jsx)(e.h1,{id:"example-of-a-compatible-motherboard",children:"Example of a Compatible Motherboard"}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.strong,{children:"Intel Z790/H770/B760 Series Motherboard"})}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://download.asrock.com/Manual/Software/Intel%20B760/Software_BIOS%20Setup%20Guide_English.pdf",children:"https://download.asrock.com/Manual/Software/Intel%20B760/Software_BIOS%20Setup%20Guide_English.pdf"})}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.img,{alt:"Motherboard",src:o(8314).A+"",width:"1920",height:"933"})})]})}function c(t={}){const{wrapper:e}={...(0,a.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},8314:(t,e,o)=>{o.d(e,{A:()=>r});const r=o.p+"assets/images/Example-with-motherboard-supported-5eed4a7bdb43d4a2a5232e1f1dc14f91.png"},8453:(t,e,o)=>{o.d(e,{R:()=>n,x:()=>d});var r=o(6540);const s={},a=r.createContext(s);function n(t){const e=r.useContext(a);return r.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function d(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:n(t.components),r.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/7b1264a8.d5f1a142.js b/assets/js/7b1264a8.d5f1a142.js deleted file mode 100644 index a8a06b7..0000000 --- a/assets/js/7b1264a8.d5f1a142.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[252],{5413:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>n,metadata:()=>r,toc:()=>h});const r=JSON.parse('{"id":"dual-gpu-passthru-desktop/motherboard","title":"How to Buy a Motherboard","description":"The motherboard is crucial for GPU passthrough. Make sure it supports virtualization technology.","source":"@site/docs/dual-gpu-passthru-desktop/motherboard.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/motherboard","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/motherboard","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/motherboard.mdx","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"How to Buy a CPU","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/CPU"},"next":{"title":"How to Buy a GPU","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/GPU"}}');var s=o(4848),a=o(8453);const n={sidebar_position:3},i="How to Buy a Motherboard",d={},h=[{value:"Motherboard Compatibility",id:"motherboard-compatibility",level:2}];function l(t){const e={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"how-to-buy-a-motherboard",children:"How to Buy a Motherboard"})}),"\n",(0,s.jsx)(e.p,{children:"The motherboard is crucial for GPU passthrough. Make sure it supports virtualization technology."}),"\n",(0,s.jsx)(e.h2,{id:"motherboard-compatibility",children:"Motherboard Compatibility"}),"\n",(0,s.jsx)(e.p,{children:"To confirm compatibility, review the motherboard\u2019s full documentation, usually available in PDF format."}),"\n",(0,s.jsx)(e.p,{children:"Follow these steps to ensure your motherboard is suitable:"}),"\n",(0,s.jsxs)(e.ol,{children:["\n",(0,s.jsx)(e.li,{children:"Check the motherboard\u2019s manual or official documentation."}),"\n",(0,s.jsx)(e.li,{children:"Look for details on IOMMU support or hardware virtualization features."}),"\n",(0,s.jsx)(e.li,{children:"Verify that the motherboard supports both IOMMU technology and general virtualization for dual GPU passthrough."}),"\n"]}),"\n",(0,s.jsxs)(e.p,{children:["Use ",(0,s.jsx)(e.code,{children:"Ctrl + F"})," to search for these terms in the documentation:"]}),"\n",(0,s.jsxs)(e.table,{children:[(0,s.jsx)(e.thead,{children:(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.th,{children:"AMD CPU"}),(0,s.jsx)(e.th,{children:"Intel CPU"})]})}),(0,s.jsxs)(e.tbody,{children:[(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"IOMMU"}),(0,s.jsx)(e.td,{children:"VT-d"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"NX Mode"}),(0,s.jsx)(e.td,{children:"VT-x"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"SVM Mode"}),(0,s.jsx)(e.td,{})]})]})]}),"\n",(0,s.jsx)(e.hr,{}),"\n",(0,s.jsx)(e.h1,{id:"example-of-a-compatible-motherboard",children:"Example of a Compatible Motherboard"}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.strong,{children:"Intel Z790/H770/B760 Series Motherboard"})}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://download.asrock.com/Manual/Software/Intel%20B760/Software_BIOS%20Setup%20Guide_English.pdf",children:"https://download.asrock.com/Manual/Software/Intel%20B760/Software_BIOS%20Setup%20Guide_English.pdf"})}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.img,{alt:"Motherboard",src:o(8475).A+"",width:"1920",height:"933"})})]})}function u(t={}){const{wrapper:e}={...(0,a.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},8475:(t,e,o)=>{o.d(e,{A:()=>r});const r=o.p+"assets/images/Example-with-motherboard-supported-5eed4a7bdb43d4a2a5232e1f1dc14f91.png"},8453:(t,e,o)=>{o.d(e,{R:()=>n,x:()=>i});var r=o(6540);const s={},a=r.createContext(s);function n(t){const e=r.useContext(a);return r.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:n(t.components),r.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/7f3cffad.955ed218.js b/assets/js/7f3cffad.955ed218.js new file mode 100644 index 0000000..fc1b132 --- /dev/null +++ b/assets/js/7f3cffad.955ed218.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[197],{6481:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>r,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"dual-gpu-passthru-desktop/BIOS","title":"Enabling Virtualization in BIOS","description":"Let\'s say You\'ve got your PC all set up and running\u2014now.","source":"@site/docs/dual-gpu-passthru-desktop/BIOS.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/BIOS","permalink":"/docs/dual-gpu-passthru-desktop/BIOS","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/BIOS.mdx","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_position":6},"sidebar":"tutorialSidebar","previous":{"title":"Optional Devices","permalink":"/docs/dual-gpu-passthru-desktop/Optional-device"},"next":{"title":"Edit Bootloader Configuration","permalink":"/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro"}}');var s=n(4848),o=n(8453);const r={sidebar_position:6},a="Enabling Virtualization in BIOS",l={},d=[{value:"Step 1: Enter the BIOS",id:"step-1-enter-the-bios",level:2},{value:"Step 2: Locate Virtualization Settings",id:"step-2-locate-virtualization-settings",level:2},{value:"Intel CPUs",id:"intel-cpus",level:3},{value:"AMD CPUs",id:"amd-cpus",level:2},{value:"Step 3: Save and Exit",id:"step-3-save-and-exit",level:2},{value:"Install Arch linux First",id:"install-arch-linux-first",level:2}];function u(e){const t={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"enabling-virtualization-in-bios",children:"Enabling Virtualization in BIOS"})}),"\n",(0,s.jsx)(t.p,{children:"Let's say You've got your PC all set up and running\u2014now."}),"\n",(0,s.jsx)(t.p,{children:"it's time to enable virtualization in the BIOS so you can get your virtual machines up and running smoothly. Here\u2019s a straightforward guide to help you unlock the power of virtualization."}),"\n",(0,s.jsx)(t.h2,{id:"step-1-enter-the-bios",children:"Step 1: Enter the BIOS"}),"\n",(0,s.jsxs)(t.p,{children:["First, you need to access the BIOS settings. To do this, restart or start your computer and press the designated key during the boot process. This key can vary depending on your motherboard\u2019s manufacturer, but common keys include ",(0,s.jsx)(t.code,{children:"F2"}),", ",(0,s.jsx)(t.code,{children:"Del"}),", ",(0,s.jsx)(t.code,{children:"Esc"}),", or ",(0,s.jsx)(t.code,{children:"F12"}),". For Gigabyte motherboards, it\u2019s often ",(0,s.jsx)(t.code,{children:"F12"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"step-2-locate-virtualization-settings",children:"Step 2: Locate Virtualization Settings"}),"\n",(0,s.jsx)(t.p,{children:"Once you're in the BIOS, navigate to the settings related to virtualization. The exact location and naming of these settings can differ based on your BIOS version and manufacturer, but they typically fall under the CPU or Advanced tab."}),"\n",(0,s.jsx)(t.p,{children:"Look for options like:"}),"\n",(0,s.jsx)(t.h3,{id:"intel-cpus",children:"Intel CPUs"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Intel Virtualization Technology"})," (VT-x)"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"VT-d"})," (Intel Virtualization Technology for Directed I/O)"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"amd-cpus",children:"AMD CPUs"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"SVM Mode"})," (Secure Virtual Machine)"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"IOMMU"})," (Input-Output Memory Management Unit)"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"NX Mode"})," (No Execute bit for added security)"]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Enable these settings by selecting them and changing their status to ",(0,s.jsx)(t.code,{children:"Enabled"}),". This will ensure that your CPU is ready to handle virtual machines."]}),"\n",(0,s.jsx)(t.h2,{id:"step-3-save-and-exit",children:"Step 3: Save and Exit"}),"\n",(0,s.jsxs)(t.p,{children:["After adjusting the virtualization settings, you need to save your changes. Look for a button or option labeled ",(0,s.jsx)(t.code,{children:"Save and Exit"})," or similar. Confirm your selection to apply the new settings and reboot your computer."]}),"\n",(0,s.jsx)(t.p,{children:"And that\u2019s it! With virtualization enabled."}),"\n",(0,s.jsx)(t.h2,{id:"install-arch-linux-first",children:"Install Arch linux First"}),"\n",(0,s.jsx)(t.p,{children:"In the next step, we\u2019ll cover modifying the bootloader configuration, which includes Systemd-boot or GRUB. For this example, we\u2019ll use Arch Linux as our GNU/Linux distribution. This step is essential for setting up virtualization on Arch Linux. Please note that the previous step only addressed BIOS settings. Now, we need to configure the operating system's bootloader as well."})]})}function c(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var i=n(6540);const s={},o=i.createContext(s);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7f3cffad.cdd6caad.js b/assets/js/7f3cffad.cdd6caad.js deleted file mode 100644 index 5cca5d0..0000000 --- a/assets/js/7f3cffad.cdd6caad.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[197],{6481:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>r,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"dual-gpu-passthru-desktop/BIOS","title":"Enabling Virtualization in BIOS","description":"Let\'s say You\'ve got your PC all set up and running\u2014now.","source":"@site/docs/dual-gpu-passthru-desktop/BIOS.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/BIOS","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/BIOS","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/BIOS.mdx","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_position":6},"sidebar":"tutorialSidebar","previous":{"title":"Optional Devices","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Optional-device"},"next":{"title":"Edit Bootloader Configuration","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro"}}');var s=n(4848),o=n(8453);const r={sidebar_position:6},a="Enabling Virtualization in BIOS",l={},d=[{value:"Step 1: Enter the BIOS",id:"step-1-enter-the-bios",level:2},{value:"Step 2: Locate Virtualization Settings",id:"step-2-locate-virtualization-settings",level:2},{value:"Intel CPUs",id:"intel-cpus",level:3},{value:"AMD CPUs",id:"amd-cpus",level:2},{value:"Step 3: Save and Exit",id:"step-3-save-and-exit",level:2},{value:"Install Arch linux First",id:"install-arch-linux-first",level:2}];function u(e){const t={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"enabling-virtualization-in-bios",children:"Enabling Virtualization in BIOS"})}),"\n",(0,s.jsx)(t.p,{children:"Let's say You've got your PC all set up and running\u2014now."}),"\n",(0,s.jsx)(t.p,{children:"it's time to enable virtualization in the BIOS so you can get your virtual machines up and running smoothly. Here\u2019s a straightforward guide to help you unlock the power of virtualization."}),"\n",(0,s.jsx)(t.h2,{id:"step-1-enter-the-bios",children:"Step 1: Enter the BIOS"}),"\n",(0,s.jsxs)(t.p,{children:["First, you need to access the BIOS settings. To do this, restart or start your computer and press the designated key during the boot process. This key can vary depending on your motherboard\u2019s manufacturer, but common keys include ",(0,s.jsx)(t.code,{children:"F2"}),", ",(0,s.jsx)(t.code,{children:"Del"}),", ",(0,s.jsx)(t.code,{children:"Esc"}),", or ",(0,s.jsx)(t.code,{children:"F12"}),". For Gigabyte motherboards, it\u2019s often ",(0,s.jsx)(t.code,{children:"F12"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"step-2-locate-virtualization-settings",children:"Step 2: Locate Virtualization Settings"}),"\n",(0,s.jsx)(t.p,{children:"Once you're in the BIOS, navigate to the settings related to virtualization. The exact location and naming of these settings can differ based on your BIOS version and manufacturer, but they typically fall under the CPU or Advanced tab."}),"\n",(0,s.jsx)(t.p,{children:"Look for options like:"}),"\n",(0,s.jsx)(t.h3,{id:"intel-cpus",children:"Intel CPUs"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Intel Virtualization Technology"})," (VT-x)"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"VT-d"})," (Intel Virtualization Technology for Directed I/O)"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"amd-cpus",children:"AMD CPUs"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"SVM Mode"})," (Secure Virtual Machine)"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"IOMMU"})," (Input-Output Memory Management Unit)"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"NX Mode"})," (No Execute bit for added security)"]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Enable these settings by selecting them and changing their status to ",(0,s.jsx)(t.code,{children:"Enabled"}),". This will ensure that your CPU is ready to handle virtual machines."]}),"\n",(0,s.jsx)(t.h2,{id:"step-3-save-and-exit",children:"Step 3: Save and Exit"}),"\n",(0,s.jsxs)(t.p,{children:["After adjusting the virtualization settings, you need to save your changes. Look for a button or option labeled ",(0,s.jsx)(t.code,{children:"Save and Exit"})," or similar. Confirm your selection to apply the new settings and reboot your computer."]}),"\n",(0,s.jsx)(t.p,{children:"And that\u2019s it! With virtualization enabled."}),"\n",(0,s.jsx)(t.h2,{id:"install-arch-linux-first",children:"Install Arch linux First"}),"\n",(0,s.jsx)(t.p,{children:"In the next step, we\u2019ll cover modifying the bootloader configuration, which includes Systemd-boot or GRUB. For this example, we\u2019ll use Arch Linux as our GNU/Linux distribution. This step is essential for setting up virtualization on Arch Linux. Please note that the previous step only addressed BIOS settings. Now, we need to configure the operating system's bootloader as well."})]})}function c(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var i=n(6540);const s={},o=i.createContext(s);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cd5453fa.66457f3c.js b/assets/js/cd5453fa.66457f3c.js deleted file mode 100644 index a357328..0000000 --- a/assets/js/cd5453fa.66457f3c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[6],{5615:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>h});const o=JSON.parse('{"id":"dual-gpu-passthru-desktop/index","title":"Introduction","description":"This section is part of the Dual GPU-Passthrough, which means also is the most expensive and best setup.","source":"@site/docs/dual-gpu-passthru-desktop/index.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/index.mdx","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Dual GPU-Passthrough (Dekstop user)","permalink":"/gpu.passthru.info/docs/category/dual-gpu-passthrough-dekstop-user"},"next":{"title":"How to Buy a CPU","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/CPU"}}');var n=s(4848),r=s(8453);const i={sidebar_position:2},a="Introduction",u={},h=[{value:"Why Two Monitors?",id:"why-two-monitors",level:2},{value:"Why Two Keyboards?",id:"why-two-keyboards",level:2},{value:"Why Two Mice?",id:"why-two-mice",level:2}];function d(e){const t={blockquote:"blockquote",h1:"h1",h2:"h2",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"introduction",children:"Introduction"})}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"This section is part of the Dual GPU-Passthrough, which means also is the most expensive and best setup."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"With dual GPU passthrough, you can essentially use one PC to run two separate systems simultaneously. This setup allows you to play with two different distributions or other systems without needing to buy additional hardware. You can connect two monitors, keyboards, and mice, enabling you to use both systems independently on the same computer."}),"\n",(0,n.jsx)(t.p,{children:"For the best experience with dual GPU passthrough, always use two or more devices to interact with your system."}),"\n",(0,n.jsx)(t.h2,{id:"why-two-monitors",children:"Why Two Monitors?"}),"\n",(0,n.jsx)(t.p,{children:"As mentioned earlier, using two monitors allows you to display both your main screen and the GPU passthrough VM\u2019s screen simultaneously. This setup effectively provides two systems running within a single computer."}),"\n",(0,n.jsx)(t.p,{children:"While you could connect the second GPU to the same monitor and switch between inputs manually, this approach can be cumbersome and inconvenient."}),"\n",(0,n.jsx)(t.h2,{id:"why-two-keyboards",children:"Why Two Keyboards?"}),"\n",(0,n.jsx)(t.p,{children:"After GPU passthrough, the main system cannot use the keyboard to control the VM. The keyboard is passed through to the VM, so it's best to have two keyboards: one for the main system and one for the VM."}),"\n",(0,n.jsx)(t.h2,{id:"why-two-mice",children:"Why Two Mice?"}),"\n",(0,n.jsx)(t.p,{children:"Similarly, you cannot use the mouse on the passthrough system to control the main screen. Therefore, you\u2019ll need an additional mouse to operate the main screen."})]})}function c(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var o=s(6540);const n={},r=o.createContext(n);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cd5453fa.db75c801.js b/assets/js/cd5453fa.db75c801.js new file mode 100644 index 0000000..8d910fc --- /dev/null +++ b/assets/js/cd5453fa.db75c801.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[6],{5615:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>h});const o=JSON.parse('{"id":"dual-gpu-passthru-desktop/index","title":"Introduction","description":"This section is part of the Dual GPU-Passthrough, which means also is the most expensive and best setup.","source":"@site/docs/dual-gpu-passthru-desktop/index.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/","permalink":"/docs/dual-gpu-passthru-desktop/","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/index.mdx","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Dual GPU-Passthrough (Dekstop user)","permalink":"/docs/category/dual-gpu-passthrough-dekstop-user"},"next":{"title":"How to Buy a CPU","permalink":"/docs/dual-gpu-passthru-desktop/CPU"}}');var n=s(4848),r=s(8453);const i={sidebar_position:2},a="Introduction",u={},h=[{value:"Why Two Monitors?",id:"why-two-monitors",level:2},{value:"Why Two Keyboards?",id:"why-two-keyboards",level:2},{value:"Why Two Mice?",id:"why-two-mice",level:2}];function d(e){const t={blockquote:"blockquote",h1:"h1",h2:"h2",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"introduction",children:"Introduction"})}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"This section is part of the Dual GPU-Passthrough, which means also is the most expensive and best setup."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"With dual GPU passthrough, you can essentially use one PC to run two separate systems simultaneously. This setup allows you to play with two different distributions or other systems without needing to buy additional hardware. You can connect two monitors, keyboards, and mice, enabling you to use both systems independently on the same computer."}),"\n",(0,n.jsx)(t.p,{children:"For the best experience with dual GPU passthrough, always use two or more devices to interact with your system."}),"\n",(0,n.jsx)(t.h2,{id:"why-two-monitors",children:"Why Two Monitors?"}),"\n",(0,n.jsx)(t.p,{children:"As mentioned earlier, using two monitors allows you to display both your main screen and the GPU passthrough VM\u2019s screen simultaneously. This setup effectively provides two systems running within a single computer."}),"\n",(0,n.jsx)(t.p,{children:"While you could connect the second GPU to the same monitor and switch between inputs manually, this approach can be cumbersome and inconvenient."}),"\n",(0,n.jsx)(t.h2,{id:"why-two-keyboards",children:"Why Two Keyboards?"}),"\n",(0,n.jsx)(t.p,{children:"After GPU passthrough, the main system cannot use the keyboard to control the VM. The keyboard is passed through to the VM, so it's best to have two keyboards: one for the main system and one for the VM."}),"\n",(0,n.jsx)(t.h2,{id:"why-two-mice",children:"Why Two Mice?"}),"\n",(0,n.jsx)(t.p,{children:"Similarly, you cannot use the mouse on the passthrough system to control the main screen. Therefore, you\u2019ll need an additional mouse to operate the main screen."})]})}function c(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var o=s(6540);const n={},r=o.createContext(n);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ce29ed2b.0e86ac6a.js b/assets/js/ce29ed2b.0e86ac6a.js deleted file mode 100644 index 6005ea6..0000000 --- a/assets/js/ce29ed2b.0e86ac6a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[247],{4458:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>n,toc:()=>u});const n=JSON.parse('{"id":"dual-gpu-passthru-desktop/Optional-device","title":"Optional Devices","description":"Choose the mouse, keyboard, and monitors that best suit your preferences. These devices enhance your overall experience, as mentioned earlier.","source":"@site/docs/dual-gpu-passthru-desktop/Optional-device.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/Optional-device","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Optional-device","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/Optional-device.mdx","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5},"sidebar":"tutorialSidebar","previous":{"title":"How to Buy a GPU","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/GPU"},"next":{"title":"Enabling Virtualization in BIOS","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/BIOS"}}');var o=s(4848),r=s(8453);const i={sidebar_position:5},a="Optional Devices",p={},u=[];function d(e){const t={h1:"h1",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"optional-devices",children:"Optional Devices"})}),"\n",(0,o.jsx)(t.p,{children:"Choose the mouse, keyboard, and monitors that best suit your preferences. These devices enhance your overall experience, as mentioned earlier."})]})}function c(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var n=s(6540);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ce29ed2b.347273aa.js b/assets/js/ce29ed2b.347273aa.js new file mode 100644 index 0000000..c8c5533 --- /dev/null +++ b/assets/js/ce29ed2b.347273aa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[247],{4458:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>n,toc:()=>u});const n=JSON.parse('{"id":"dual-gpu-passthru-desktop/Optional-device","title":"Optional Devices","description":"Choose the mouse, keyboard, and monitors that best suit your preferences. These devices enhance your overall experience, as mentioned earlier.","source":"@site/docs/dual-gpu-passthru-desktop/Optional-device.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/Optional-device","permalink":"/docs/dual-gpu-passthru-desktop/Optional-device","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/Optional-device.mdx","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5},"sidebar":"tutorialSidebar","previous":{"title":"How to Buy a GPU","permalink":"/docs/dual-gpu-passthru-desktop/GPU"},"next":{"title":"Enabling Virtualization in BIOS","permalink":"/docs/dual-gpu-passthru-desktop/BIOS"}}');var o=s(4848),r=s(8453);const i={sidebar_position:5},a="Optional Devices",p={},u=[];function d(e){const t={h1:"h1",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"optional-devices",children:"Optional Devices"})}),"\n",(0,o.jsx)(t.p,{children:"Choose the mouse, keyboard, and monitors that best suit your preferences. These devices enhance your overall experience, as mentioned earlier."})]})}function c(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var n=s(6540);const o={},r=n.createContext(o);function i(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d528e438.6eeb6d52.js b/assets/js/d528e438.6eeb6d52.js new file mode 100644 index 0000000..998c9f0 --- /dev/null +++ b/assets/js/d528e438.6eeb6d52.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[822],{888:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>t,metadata:()=>o,toc:()=>a});const o=JSON.parse('{"id":"dual-gpu-passthru-desktop/Passthrough-GPU","title":"Passthrough the GPU!","description":"Let passthrough our second GPU now, run the following command in your terminal:","source":"@site/docs/dual-gpu-passthru-desktop/Passthrough-GPU.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/Passthrough-GPU","permalink":"/docs/dual-gpu-passthru-desktop/Passthrough-GPU","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/Passthrough-GPU.mdx","tags":[],"version":"current","sidebarPosition":8,"frontMatter":{"sidebar_position":8},"sidebar":"tutorialSidebar","previous":{"title":"Edit Bootloader Configuration","permalink":"/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro"},"next":{"title":"Installing require Packages","permalink":"/docs/dual-gpu-passthru-desktop/Install-require-packages"}}');var s=i(4848),r=i(8453);const t={sidebar_position:8},l="Passthrough the GPU!",d={},a=[{value:"1.2 Identify IOMMU GPU IDs",id:"12-identify-iommu-gpu-ids",level:2},{value:"Example IDs",id:"example-ids",level:3},{value:"1.3 Embed IDs in Your Bootloader Config",id:"13-embed-ids-in-your-bootloader-config",level:2},{value:"Systemd-boot example",id:"systemd-boot-example",level:3},{value:"GRUB example",id:"grub-example",level:3},{value:"2. Create a vfio.conf File",id:"2-create-a-vfioconf-file",level:2},{value:"3. Update mkinitcpio.conf",id:"3-update-mkinitcpioconf",level:2},{value:"3.2 Regenerate the Image",id:"32-regenerate-the-image",level:2},{value:"4. Verify GPU Passthrough Status",id:"4-verify-gpu-passthrough-status",level:2},{value:"Next Step",id:"next-step",level:2}];function c(e){const n={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"passthrough-the-gpu",children:"Passthrough the GPU!"})}),"\n",(0,s.jsx)(n.h1,{id:"explore-iommu-grouping",children:"Explore IOMMU Grouping"}),"\n",(0,s.jsx)(n.p,{children:"Let passthrough our second GPU now, run the following command in your terminal:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:'#!/bin/bash\nshopt -s nullglob\nfor g in $(find /sys/kernel/iommu_groups/* -maxdepth 0 -type d | sort -V); do\n echo "IOMMU Group ${g##*/}:"\n for d in $g/devices/*; do\n echo -e "\\t$(lspci -nns ${d##*/})"\n done;\ndone;\n'})}),"\n",(0,s.jsx)(n.p,{children:"This script provides a detailed view of IOMMU groups and their associated devices, helping you understand the connections within your system. This information is vital for configuring device passthrough in virtualization."}),"\n",(0,s.jsx)(n.h2,{id:"12-identify-iommu-gpu-ids",children:"1.2 Identify IOMMU GPU IDs"}),"\n",(0,s.jsxs)(n.p,{children:["The output from the above command will list your GPUs. Your second GPU, the one designated for passthrough, will be included in this list. Note its PCI (Peripheral Component Interconnect) numbers, also known as ",(0,s.jsx)(n.strong,{children:"PCI IDs"}),". These IDs are critical for the upcoming steps."]}),"\n",(0,s.jsx)(n.p,{children:"Here\u2019s an example of what you might see:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"IOMMU Group 22:\n\t09:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6600/6600 XT/6600M] [1002:73ff] (rev c7)\nIOMMU Group 23:\n\t09:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]\n"})}),"\n",(0,s.jsx)(n.h3,{id:"example-ids",children:"Example IDs"}),"\n",(0,s.jsx)(n.p,{children:"Suppose your investigation reveals the following GPU IDs:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"1002:73ff (GPU)"}),"\n",(0,s.jsxs)(n.li,{children:["1002",":ab28"," (GPU Audio)"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Keep these IDs handy, as they are crucial for the next steps."}),"\n",(0,s.jsx)(n.h2,{id:"13-embed-ids-in-your-bootloader-config",children:"1.3 Embed IDs in Your Bootloader Config"}),"\n",(0,s.jsx)(n.p,{children:"Configuring GPU passthrough involves specifying which GPU to allocate to the virtual machine by using its PCI IDs. These IDs pinpoint the GPU within the system, enabling direct hardware access."}),"\n",(0,s.jsx)(n.p,{children:"Add the PCI IDs to your bootloader configuration. If you're using GRUB or another bootloader, include the following in the configuration line where you enabled virtualization:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"vfio-pci.ids=1002:73ff,1002:ab28\n"})}),"\n",(0,s.jsx)(n.h3,{id:"systemd-boot-example",children:"Systemd-boot example"}),"\n",(0,s.jsx)(n.p,{children:"Your updated configuration with systemd-boot should look like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"title Arch Linux\nlinux /vmlinuz-linux\ninitrd /initramfs-linux.img\noptions root= quiet rw intel_iommu=on iommu=pt vfio-pci.ids=1002:73ff,1002:ab28\n"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:"Tips: for user systemd-boot, you do not need to regenerate the config."}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"grub-example",children:"GRUB example"}),"\n",(0,s.jsx)(n.p,{children:"Your updated configuration with GRUB should look like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:'GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt vfio-pci.ids=1002:73ff,1002:ab28 ..."\n'})}),"\n",(0,s.jsx)(n.p,{children:"For the GRUB user, you will need to regenerate the config file:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"sudo grub-mkconfig -o /boot/grub/grub.cfg\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"2-create-a-vfioconf-file",children:["2. Create a ",(0,s.jsx)(n.code,{children:"vfio.conf"})," File"]}),"\n",(0,s.jsxs)(n.p,{children:["Next, create a new configuration file for ",(0,s.jsx)(n.code,{children:"vfio"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"sudo vim /etc/modprobe.d/vfio.conf\n"})}),"\n",(0,s.jsx)(n.p,{children:"Add the following content:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"options vfio-pci ids=1002:73ff,1002:ab28\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"3-update-mkinitcpioconf",children:["3. Update ",(0,s.jsx)(n.code,{children:"mkinitcpio.conf"})]}),"\n",(0,s.jsxs)(n.p,{children:["Ensure that the necessary ",(0,s.jsx)(n.code,{children:"vfio"})," modules are included in your initial RAM disk. Edit the ",(0,s.jsx)(n.code,{children:"/etc/mkinitcpio.conf"})," file and update the ",(0,s.jsx)(n.code,{children:"MODULES()"})," line:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"MODULES=(vfio_pci vfio vfio_iommu_type1) \n"})}),"\n",(0,s.jsx)(n.h2,{id:"32-regenerate-the-image",children:"3.2 Regenerate the Image"}),"\n",(0,s.jsx)(n.p,{children:"With the configuration updated, rebuild the initial RAM disk and reboot your system:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"sudo mkinitcpio -P # Regenerate all image\nsudo mkinitcpio -p linux # Regenerate image only linux\n"})}),"\n",(0,s.jsx)(n.h2,{id:"4-verify-gpu-passthrough-status",children:"4. Verify GPU Passthrough Status"}),"\n",(0,s.jsx)(n.p,{children:"Now reboot your system and check the status of your GPU. To check if your GPU is correctly configured for passthrough, run"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"lspci -k\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Look at your PCI setup. The ",(0,s.jsx)(n.code,{children:"Kernel driver in use"})," entry should show ",(0,s.jsx)(n.code,{children:"vfio-pci"}),". For example:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"09:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6600/6600 XT/6600M] (rev c7)\n\tSubsystem: Tul Corporation / PowerColor Navi 23 [Radeon RX 6600/6600 XT/6600M]\n\tKernel driver in use: vfio-pci\n\tKernel modules: amdgpu\n09:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller\n\tSubsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller\n\tKernel driver in use: vfio-pci\n\tKernel modules: snd_hda_intel\n"})}),"\n",(0,s.jsxs)(n.p,{children:["If you see ",(0,s.jsx)(n.code,{children:"vfio-pci"}),", your GPU and GPU Audio are successfully set up for passthrough. If not, review your steps and try again. Success is within reach!"]}),"\n",(0,s.jsx)(n.h2,{id:"next-step",children:"Next Step"}),"\n",(0,s.jsxs)(n.p,{children:["In the next steps, we\u2019ll cover installing the necessary packages, setting up ",(0,s.jsx)(n.code,{children:"libvirt"})," permissions, configuring group memberships, adjusting ",(0,s.jsx)(n.code,{children:"QEMU"})," permissions, and managing the ",(0,s.jsx)(n.code,{children:"libvirt"})," service. Start by installing the required packages for virtualization. Then, configure permissions for ",(0,s.jsx)(n.code,{children:"libvirt"})," to ensure proper management of virtualization resources. You\u2019ll also need to add your user to the relevant groups and set the correct permissions for ",(0,s.jsx)(n.code,{children:"QEMU"}),". Finally, start the ",(0,s.jsx)(n.code,{children:"libvirt"})," service to ensure it runs correctly."]})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>l});var o=i(6540);const s={},r=o.createContext(s);function t(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d528e438.838c2f9b.js b/assets/js/d528e438.838c2f9b.js deleted file mode 100644 index 6b8099b..0000000 --- a/assets/js/d528e438.838c2f9b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[822],{888:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>t,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"dual-gpu-passthru-desktop/Passthrough-GPU","title":"Passthrough the GPU!","description":"Let passthrough our second GPU now, run the following command in your terminal:","source":"@site/docs/dual-gpu-passthru-desktop/Passthrough-GPU.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/Passthrough-GPU","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Passthrough-GPU","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/Passthrough-GPU.mdx","tags":[],"version":"current","sidebarPosition":8,"frontMatter":{"sidebar_position":8},"sidebar":"tutorialSidebar","previous":{"title":"Edit Bootloader Configuration","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro"},"next":{"title":"Installing require Packages","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Install-require-packages"}}');var o=i(4848),r=i(8453);const t={sidebar_position:8},l="Passthrough the GPU!",d={},a=[{value:"1.2 Identify IOMMU GPU IDs",id:"12-identify-iommu-gpu-ids",level:2},{value:"Example IDs",id:"example-ids",level:3},{value:"1.3 Embed IDs in Your Bootloader Config",id:"13-embed-ids-in-your-bootloader-config",level:2},{value:"Systemd-boot example",id:"systemd-boot-example",level:3},{value:"GRUB example",id:"grub-example",level:3},{value:"2. Create a vfio.conf File",id:"2-create-a-vfioconf-file",level:2},{value:"3. Update mkinitcpio.conf",id:"3-update-mkinitcpioconf",level:2},{value:"3.2 Regenerate the Image",id:"32-regenerate-the-image",level:2},{value:"4. Verify GPU Passthrough Status",id:"4-verify-gpu-passthrough-status",level:2},{value:"Next Step",id:"next-step",level:2}];function c(e){const n={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"passthrough-the-gpu",children:"Passthrough the GPU!"})}),"\n",(0,o.jsx)(n.h1,{id:"explore-iommu-grouping",children:"Explore IOMMU Grouping"}),"\n",(0,o.jsx)(n.p,{children:"Let passthrough our second GPU now, run the following command in your terminal:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:'#!/bin/bash\nshopt -s nullglob\nfor g in $(find /sys/kernel/iommu_groups/* -maxdepth 0 -type d | sort -V); do\n echo "IOMMU Group ${g##*/}:"\n for d in $g/devices/*; do\n echo -e "\\t$(lspci -nns ${d##*/})"\n done;\ndone;\n'})}),"\n",(0,o.jsx)(n.p,{children:"This script provides a detailed view of IOMMU groups and their associated devices, helping you understand the connections within your system. This information is vital for configuring device passthrough in virtualization."}),"\n",(0,o.jsx)(n.h2,{id:"12-identify-iommu-gpu-ids",children:"1.2 Identify IOMMU GPU IDs"}),"\n",(0,o.jsxs)(n.p,{children:["The output from the above command will list your GPUs. Your second GPU, the one designated for passthrough, will be included in this list. Note its PCI (Peripheral Component Interconnect) numbers, also known as ",(0,o.jsx)(n.strong,{children:"PCI IDs"}),". These IDs are critical for the upcoming steps."]}),"\n",(0,o.jsx)(n.p,{children:"Here\u2019s an example of what you might see:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"IOMMU Group 22:\n\t09:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6600/6600 XT/6600M] [1002:73ff] (rev c7)\nIOMMU Group 23:\n\t09:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]\n"})}),"\n",(0,o.jsx)(n.h3,{id:"example-ids",children:"Example IDs"}),"\n",(0,o.jsx)(n.p,{children:"Suppose your investigation reveals the following GPU IDs:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"1002:73ff (GPU)"}),"\n",(0,o.jsxs)(n.li,{children:["1002",":ab28"," (GPU Audio)"]}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Keep these IDs handy, as they are crucial for the next steps."}),"\n",(0,o.jsx)(n.h2,{id:"13-embed-ids-in-your-bootloader-config",children:"1.3 Embed IDs in Your Bootloader Config"}),"\n",(0,o.jsx)(n.p,{children:"Configuring GPU passthrough involves specifying which GPU to allocate to the virtual machine by using its PCI IDs. These IDs pinpoint the GPU within the system, enabling direct hardware access."}),"\n",(0,o.jsx)(n.p,{children:"Add the PCI IDs to your bootloader configuration. If you're using GRUB or another bootloader, include the following in the configuration line where you enabled virtualization:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"vfio-pci.ids=1002:73ff,1002:ab28\n"})}),"\n",(0,o.jsx)(n.h3,{id:"systemd-boot-example",children:"Systemd-boot example"}),"\n",(0,o.jsx)(n.p,{children:"Your updated configuration with systemd-boot should look like this:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"title Arch Linux\nlinux /vmlinuz-linux\ninitrd /initramfs-linux.img\noptions root= quiet rw intel_iommu=on iommu=pt vfio-pci.ids=1002:73ff,1002:ab28\n"})}),"\n",(0,o.jsxs)(n.blockquote,{children:["\n",(0,o.jsx)(n.p,{children:"Tips: for user systemd-boot, you do not need to regenerate the config."}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"grub-example",children:"GRUB example"}),"\n",(0,o.jsx)(n.p,{children:"Your updated configuration with GRUB should look like this:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:'GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt vfio-pci.ids=1002:73ff,1002:ab28 ..."\n'})}),"\n",(0,o.jsx)(n.p,{children:"For the GRUB user, you will need to regenerate the config file:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"sudo grub-mkconfig -o /boot/grub/grub.cfg\n"})}),"\n",(0,o.jsxs)(n.h2,{id:"2-create-a-vfioconf-file",children:["2. Create a ",(0,o.jsx)(n.code,{children:"vfio.conf"})," File"]}),"\n",(0,o.jsxs)(n.p,{children:["Next, create a new configuration file for ",(0,o.jsx)(n.code,{children:"vfio"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"sudo vim /etc/modprobe.d/vfio.conf\n"})}),"\n",(0,o.jsx)(n.p,{children:"Add the following content:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"options vfio-pci ids=1002:73ff,1002:ab28\n"})}),"\n",(0,o.jsxs)(n.h2,{id:"3-update-mkinitcpioconf",children:["3. Update ",(0,o.jsx)(n.code,{children:"mkinitcpio.conf"})]}),"\n",(0,o.jsxs)(n.p,{children:["Ensure that the necessary ",(0,o.jsx)(n.code,{children:"vfio"})," modules are included in your initial RAM disk. Edit the ",(0,o.jsx)(n.code,{children:"/etc/mkinitcpio.conf"})," file and update the ",(0,o.jsx)(n.code,{children:"MODULES()"})," line:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"MODULES=(vfio_pci vfio vfio_iommu_type1) \n"})}),"\n",(0,o.jsx)(n.h2,{id:"32-regenerate-the-image",children:"3.2 Regenerate the Image"}),"\n",(0,o.jsx)(n.p,{children:"With the configuration updated, rebuild the initial RAM disk and reboot your system:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"sudo mkinitcpio -P # Regenerate all image\nsudo mkinitcpio -p linux # Regenerate image only linux\n"})}),"\n",(0,o.jsx)(n.h2,{id:"4-verify-gpu-passthrough-status",children:"4. Verify GPU Passthrough Status"}),"\n",(0,o.jsx)(n.p,{children:"Now reboot your system and check the status of your GPU. To check if your GPU is correctly configured for passthrough, run"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"lspci -k\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Look at your PCI setup. The ",(0,o.jsx)(n.code,{children:"Kernel driver in use"})," entry should show ",(0,o.jsx)(n.code,{children:"vfio-pci"}),". For example:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-shell",children:"09:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6600/6600 XT/6600M] (rev c7)\n\tSubsystem: Tul Corporation / PowerColor Navi 23 [Radeon RX 6600/6600 XT/6600M]\n\tKernel driver in use: vfio-pci\n\tKernel modules: amdgpu\n09:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller\n\tSubsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller\n\tKernel driver in use: vfio-pci\n\tKernel modules: snd_hda_intel\n"})}),"\n",(0,o.jsxs)(n.p,{children:["If you see ",(0,o.jsx)(n.code,{children:"vfio-pci"}),", your GPU and GPU Audio are successfully set up for passthrough. If not, review your steps and try again. Success is within reach!"]}),"\n",(0,o.jsx)(n.h2,{id:"next-step",children:"Next Step"}),"\n",(0,o.jsxs)(n.p,{children:["In the next steps, we\u2019ll cover installing the necessary packages, setting up ",(0,o.jsx)(n.code,{children:"libvirt"})," permissions, configuring group memberships, adjusting ",(0,o.jsx)(n.code,{children:"QEMU"})," permissions, and managing the ",(0,o.jsx)(n.code,{children:"libvirt"})," service. Start by installing the required packages for virtualization. Then, configure permissions for ",(0,o.jsx)(n.code,{children:"libvirt"})," to ensure proper management of virtualization resources. You\u2019ll also need to add your user to the relevant groups and set the correct permissions for ",(0,o.jsx)(n.code,{children:"QEMU"}),". Finally, start the ",(0,o.jsx)(n.code,{children:"libvirt"})," service to ensure it runs correctly."]})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>l});var s=i(6540);const o={},r=s.createContext(o);function t(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:t(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dff1c289.3c48ce99.js b/assets/js/dff1c289.3c48ce99.js deleted file mode 100644 index 4d67709..0000000 --- a/assets/js/dff1c289.3c48ce99.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[724],{4126:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"tutorial-extras/manage-docs-versions","title":"Manage Docs Versions","description":"Docusaurus can manage multiple versions of your docs.","source":"@site/docs/tutorial-extras/manage-docs-versions.md","sourceDirName":"tutorial-extras","slug":"/tutorial-extras/manage-docs-versions","permalink":"/gpu.passthru.info/docs/tutorial-extras/manage-docs-versions","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/tutorial-extras/manage-docs-versions.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Tutorial - Extras","permalink":"/gpu.passthru.info/docs/category/tutorial---extras"},"next":{"title":"Translate your site","permalink":"/gpu.passthru.info/docs/tutorial-extras/translate-your-site"}}');var r=n(4848),i=n(8453);const t={sidebar_position:1},d="Manage Docs Versions",a={},c=[{value:"Create a docs version",id:"create-a-docs-version",level:2},{value:"Add a Version Dropdown",id:"add-a-version-dropdown",level:2},{value:"Update an existing version",id:"update-an-existing-version",level:2}];function l(e){const s={code:"code",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"manage-docs-versions",children:"Manage Docs Versions"})}),"\n",(0,r.jsx)(s.p,{children:"Docusaurus can manage multiple versions of your docs."}),"\n",(0,r.jsx)(s.h2,{id:"create-a-docs-version",children:"Create a docs version"}),"\n",(0,r.jsx)(s.p,{children:"Release a version 1.0 of your project:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-bash",children:"npm run docusaurus docs:version 1.0\n"})}),"\n",(0,r.jsxs)(s.p,{children:["The ",(0,r.jsx)(s.code,{children:"docs"})," folder is copied into ",(0,r.jsx)(s.code,{children:"versioned_docs/version-1.0"})," and ",(0,r.jsx)(s.code,{children:"versions.json"})," is created."]}),"\n",(0,r.jsx)(s.p,{children:"Your docs now have 2 versions:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"1.0"})," at ",(0,r.jsx)(s.code,{children:"http://localhost:3000/docs/"})," for the version 1.0 docs"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"current"})," at ",(0,r.jsx)(s.code,{children:"http://localhost:3000/docs/next/"})," for the ",(0,r.jsx)(s.strong,{children:"upcoming, unreleased docs"})]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"add-a-version-dropdown",children:"Add a Version Dropdown"}),"\n",(0,r.jsx)(s.p,{children:"To navigate seamlessly across versions, add a version dropdown."}),"\n",(0,r.jsxs)(s.p,{children:["Modify the ",(0,r.jsx)(s.code,{children:"docusaurus.config.js"})," file:"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docsVersionDropdown',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,r.jsx)(s.p,{children:"The docs version dropdown appears in your navbar:"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.img,{alt:"Docs Version Dropdown",src:n(5813).A+"",width:"370",height:"302"})}),"\n",(0,r.jsx)(s.h2,{id:"update-an-existing-version",children:"Update an existing version"}),"\n",(0,r.jsx)(s.p,{children:"It is possible to edit versioned docs in their respective folder:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"versioned_docs/version-1.0/hello.md"})," updates ",(0,r.jsx)(s.code,{children:"http://localhost:3000/docs/hello"})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docs/hello.md"})," updates ",(0,r.jsx)(s.code,{children:"http://localhost:3000/docs/next/hello"})]}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},5813:(e,s,n)=>{n.d(s,{A:()=>o});const o=n.p+"assets/images/docsVersionDropdown-35e13cbe46c9923327f30a76a90bff3b.png"},8453:(e,s,n)=>{n.d(s,{R:()=>t,x:()=>d});var o=n(6540);const r={},i=o.createContext(r);function t(e){const s=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),o.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dff1c289.ac7024c6.js b/assets/js/dff1c289.ac7024c6.js new file mode 100644 index 0000000..95da1a5 --- /dev/null +++ b/assets/js/dff1c289.ac7024c6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[724],{4126:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"tutorial-extras/manage-docs-versions","title":"Manage Docs Versions","description":"Docusaurus can manage multiple versions of your docs.","source":"@site/docs/tutorial-extras/manage-docs-versions.md","sourceDirName":"tutorial-extras","slug":"/tutorial-extras/manage-docs-versions","permalink":"/docs/tutorial-extras/manage-docs-versions","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/tutorial-extras/manage-docs-versions.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Tutorial - Extras","permalink":"/docs/category/tutorial---extras"},"next":{"title":"Translate your site","permalink":"/docs/tutorial-extras/translate-your-site"}}');var r=n(4848),i=n(8453);const t={sidebar_position:1},d="Manage Docs Versions",a={},c=[{value:"Create a docs version",id:"create-a-docs-version",level:2},{value:"Add a Version Dropdown",id:"add-a-version-dropdown",level:2},{value:"Update an existing version",id:"update-an-existing-version",level:2}];function l(e){const s={code:"code",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"manage-docs-versions",children:"Manage Docs Versions"})}),"\n",(0,r.jsx)(s.p,{children:"Docusaurus can manage multiple versions of your docs."}),"\n",(0,r.jsx)(s.h2,{id:"create-a-docs-version",children:"Create a docs version"}),"\n",(0,r.jsx)(s.p,{children:"Release a version 1.0 of your project:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-bash",children:"npm run docusaurus docs:version 1.0\n"})}),"\n",(0,r.jsxs)(s.p,{children:["The ",(0,r.jsx)(s.code,{children:"docs"})," folder is copied into ",(0,r.jsx)(s.code,{children:"versioned_docs/version-1.0"})," and ",(0,r.jsx)(s.code,{children:"versions.json"})," is created."]}),"\n",(0,r.jsx)(s.p,{children:"Your docs now have 2 versions:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"1.0"})," at ",(0,r.jsx)(s.code,{children:"http://localhost:3000/docs/"})," for the version 1.0 docs"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"current"})," at ",(0,r.jsx)(s.code,{children:"http://localhost:3000/docs/next/"})," for the ",(0,r.jsx)(s.strong,{children:"upcoming, unreleased docs"})]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"add-a-version-dropdown",children:"Add a Version Dropdown"}),"\n",(0,r.jsx)(s.p,{children:"To navigate seamlessly across versions, add a version dropdown."}),"\n",(0,r.jsxs)(s.p,{children:["Modify the ",(0,r.jsx)(s.code,{children:"docusaurus.config.js"})," file:"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docsVersionDropdown',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,r.jsx)(s.p,{children:"The docs version dropdown appears in your navbar:"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.img,{alt:"Docs Version Dropdown",src:n(6028).A+"",width:"370",height:"302"})}),"\n",(0,r.jsx)(s.h2,{id:"update-an-existing-version",children:"Update an existing version"}),"\n",(0,r.jsx)(s.p,{children:"It is possible to edit versioned docs in their respective folder:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"versioned_docs/version-1.0/hello.md"})," updates ",(0,r.jsx)(s.code,{children:"http://localhost:3000/docs/hello"})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docs/hello.md"})," updates ",(0,r.jsx)(s.code,{children:"http://localhost:3000/docs/next/hello"})]}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},6028:(e,s,n)=>{n.d(s,{A:()=>o});const o=n.p+"assets/images/docsVersionDropdown-35e13cbe46c9923327f30a76a90bff3b.png"},8453:(e,s,n)=>{n.d(s,{R:()=>t,x:()=>d});var o=n(6540);const r={},i=o.createContext(r);function t(e){const s=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),o.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e44a2883.64853d0c.js b/assets/js/e44a2883.64853d0c.js deleted file mode 100644 index 18be17c..0000000 --- a/assets/js/e44a2883.64853d0c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[736],{3274:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"tutorial-extras/translate-your-site","title":"Translate your site","description":"Let\'s translate docs/intro.md to French.","source":"@site/docs/tutorial-extras/translate-your-site.md","sourceDirName":"tutorial-extras","slug":"/tutorial-extras/translate-your-site","permalink":"/gpu.passthru.info/docs/tutorial-extras/translate-your-site","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/tutorial-extras/translate-your-site.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Manage Docs Versions","permalink":"/gpu.passthru.info/docs/tutorial-extras/manage-docs-versions"}}');var r=t(4848),o=t(8453);const a={sidebar_position:2},i="Translate your site",l={},d=[{value:"Configure i18n",id:"configure-i18n",level:2},{value:"Translate a doc",id:"translate-a-doc",level:2},{value:"Start your localized site",id:"start-your-localized-site",level:2},{value:"Add a Locale Dropdown",id:"add-a-locale-dropdown",level:2},{value:"Build your localized site",id:"build-your-localized-site",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",img:"img",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"translate-your-site",children:"Translate your site"})}),"\n",(0,r.jsxs)(n.p,{children:["Let's translate ",(0,r.jsx)(n.code,{children:"docs/intro.md"})," to French."]}),"\n",(0,r.jsx)(n.h2,{id:"configure-i18n",children:"Configure i18n"}),"\n",(0,r.jsxs)(n.p,{children:["Modify ",(0,r.jsx)(n.code,{children:"docusaurus.config.js"})," to add support for the ",(0,r.jsx)(n.code,{children:"fr"})," locale:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n i18n: {\n defaultLocale: 'en',\n locales: ['en', 'fr'],\n },\n};\n"})}),"\n",(0,r.jsx)(n.h2,{id:"translate-a-doc",children:"Translate a doc"}),"\n",(0,r.jsxs)(n.p,{children:["Copy the ",(0,r.jsx)(n.code,{children:"docs/intro.md"})," file to the ",(0,r.jsx)(n.code,{children:"i18n/fr"})," folder:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/\n\ncp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Translate ",(0,r.jsx)(n.code,{children:"i18n/fr/docusaurus-plugin-content-docs/current/intro.md"})," in French."]}),"\n",(0,r.jsx)(n.h2,{id:"start-your-localized-site",children:"Start your localized site"}),"\n",(0,r.jsx)(n.p,{children:"Start your site on the French locale:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run start -- --locale fr\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Your localized site is accessible at ",(0,r.jsx)(n.a,{href:"http://localhost:3000/fr/",children:"http://localhost:3000/fr/"})," and the ",(0,r.jsx)(n.code,{children:"Getting Started"})," page is translated."]}),"\n",(0,r.jsx)(n.admonition,{type:"caution",children:(0,r.jsx)(n.p,{children:"In development, you can only use one locale at a time."})}),"\n",(0,r.jsx)(n.h2,{id:"add-a-locale-dropdown",children:"Add a Locale Dropdown"}),"\n",(0,r.jsx)(n.p,{children:"To navigate seamlessly across languages, add a locale dropdown."}),"\n",(0,r.jsxs)(n.p,{children:["Modify the ",(0,r.jsx)(n.code,{children:"docusaurus.config.js"})," file:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'localeDropdown',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,r.jsx)(n.p,{children:"The locale dropdown now appears in your navbar:"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"Locale Dropdown",src:t(6028).A+"",width:"370",height:"302"})}),"\n",(0,r.jsx)(n.h2,{id:"build-your-localized-site",children:"Build your localized site"}),"\n",(0,r.jsx)(n.p,{children:"Build your site for a specific locale:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run build -- --locale fr\n"})}),"\n",(0,r.jsx)(n.p,{children:"Or build your site to include all the locales at once:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})})]})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},6028:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/localeDropdown-f0d995e751e7656a1b0dbbc1134e49c2.png"},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>i});var s=t(6540);const r={},o=s.createContext(r);function a(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e44a2883.877367ee.js b/assets/js/e44a2883.877367ee.js new file mode 100644 index 0000000..31a08a3 --- /dev/null +++ b/assets/js/e44a2883.877367ee.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[736],{3274:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"tutorial-extras/translate-your-site","title":"Translate your site","description":"Let\'s translate docs/intro.md to French.","source":"@site/docs/tutorial-extras/translate-your-site.md","sourceDirName":"tutorial-extras","slug":"/tutorial-extras/translate-your-site","permalink":"/docs/tutorial-extras/translate-your-site","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/tutorial-extras/translate-your-site.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Manage Docs Versions","permalink":"/docs/tutorial-extras/manage-docs-versions"}}');var s=t(4848),o=t(8453);const a={sidebar_position:2},i="Translate your site",l={},d=[{value:"Configure i18n",id:"configure-i18n",level:2},{value:"Translate a doc",id:"translate-a-doc",level:2},{value:"Start your localized site",id:"start-your-localized-site",level:2},{value:"Add a Locale Dropdown",id:"add-a-locale-dropdown",level:2},{value:"Build your localized site",id:"build-your-localized-site",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",img:"img",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"translate-your-site",children:"Translate your site"})}),"\n",(0,s.jsxs)(n.p,{children:["Let's translate ",(0,s.jsx)(n.code,{children:"docs/intro.md"})," to French."]}),"\n",(0,s.jsx)(n.h2,{id:"configure-i18n",children:"Configure i18n"}),"\n",(0,s.jsxs)(n.p,{children:["Modify ",(0,s.jsx)(n.code,{children:"docusaurus.config.js"})," to add support for the ",(0,s.jsx)(n.code,{children:"fr"})," locale:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n i18n: {\n defaultLocale: 'en',\n locales: ['en', 'fr'],\n },\n};\n"})}),"\n",(0,s.jsx)(n.h2,{id:"translate-a-doc",children:"Translate a doc"}),"\n",(0,s.jsxs)(n.p,{children:["Copy the ",(0,s.jsx)(n.code,{children:"docs/intro.md"})," file to the ",(0,s.jsx)(n.code,{children:"i18n/fr"})," folder:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/\n\ncp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Translate ",(0,s.jsx)(n.code,{children:"i18n/fr/docusaurus-plugin-content-docs/current/intro.md"})," in French."]}),"\n",(0,s.jsx)(n.h2,{id:"start-your-localized-site",children:"Start your localized site"}),"\n",(0,s.jsx)(n.p,{children:"Start your site on the French locale:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm run start -- --locale fr\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Your localized site is accessible at ",(0,s.jsx)(n.a,{href:"http://localhost:3000/fr/",children:"http://localhost:3000/fr/"})," and the ",(0,s.jsx)(n.code,{children:"Getting Started"})," page is translated."]}),"\n",(0,s.jsx)(n.admonition,{type:"caution",children:(0,s.jsx)(n.p,{children:"In development, you can only use one locale at a time."})}),"\n",(0,s.jsx)(n.h2,{id:"add-a-locale-dropdown",children:"Add a Locale Dropdown"}),"\n",(0,s.jsx)(n.p,{children:"To navigate seamlessly across languages, add a locale dropdown."}),"\n",(0,s.jsxs)(n.p,{children:["Modify the ",(0,s.jsx)(n.code,{children:"docusaurus.config.js"})," file:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'localeDropdown',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,s.jsx)(n.p,{children:"The locale dropdown now appears in your navbar:"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Locale Dropdown",src:t(7891).A+"",width:"370",height:"302"})}),"\n",(0,s.jsx)(n.h2,{id:"build-your-localized-site",children:"Build your localized site"}),"\n",(0,s.jsx)(n.p,{children:"Build your site for a specific locale:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm run build -- --locale fr\n"})}),"\n",(0,s.jsx)(n.p,{children:"Or build your site to include all the locales at once:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm run build\n"})})]})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},7891:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/localeDropdown-f0d995e751e7656a1b0dbbc1134e49c2.png"},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>i});var r=t(6540);const s={},o=r.createContext(s);function a(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e9c04861.ac9e574e.js b/assets/js/e9c04861.ac9e574e.js deleted file mode 100644 index 9925d9f..0000000 --- a/assets/js/e9c04861.ac9e574e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[343],{3844:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>o,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>u});const i=JSON.parse('{"id":"dual-gpu-passthru-desktop/Install-require-packages","title":"Installing require Packages","description":"Alright, let\'s installing the essential packages. Each of these plays a key role in getting virtualization up and running smoothly.","source":"@site/docs/dual-gpu-passthru-desktop/Install-require-packages.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/Install-require-packages","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Install-require-packages","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/Install-require-packages.mdx","tags":[],"version":"current","sidebarPosition":9,"frontMatter":{"sidebar_position":9},"sidebar":"tutorialSidebar","previous":{"title":"Passthrough the GPU!","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Passthrough-GPU"},"next":{"title":"Configuring Libvirt","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Configuring-Libvirt"}}');var r=n(4848),t=n(8453);const a={sidebar_position:9},l="Installing require Packages",o={},u=[{value:"Qemu Packages Required",id:"qemu-packages-required",level:3},{value:"Next Steps: Configuring Libvirt Permissions",id:"next-steps-configuring-libvirt-permissions",level:2}];function d(e){const s={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"installing-require-packages",children:"Installing require Packages"})}),"\n",(0,r.jsx)(s.p,{children:"Alright, let's installing the essential packages. Each of these plays a key role in getting virtualization up and running smoothly."}),"\n",(0,r.jsxs)(s.p,{children:["We'll be using ",(0,r.jsx)(s.code,{children:"virt-manager"}),", which provides a user-friendly interface for managing virtual machines. ",(0,r.jsx)(s.code,{children:"qemu"})," is a robust emulator that handles hardware virtualization."]}),"\n",(0,r.jsx)(s.p,{children:"Here\u2019s a breakdown of the packages you\u2019ll need:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"virt-manager:"})," A desktop user interface for managing virtual machines."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"qemu-base:"})," A basic QEMU setup for headless environments."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"vde2:"})," Virtual Distributed Ethernet for emulators like QEMU."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"iptables-nft:"})," A Linux kernel packet control tool, using the nft interface."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"nftables:"})," Userspace tools for Netfilter tables."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"dnsmasq:"})," A lightweight, easy-to-configure DNS forwarder and DHCP server."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"bridge-utils:"})," Utilities for configuring the Linux Ethernet bridge."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"edk2-ovmf:"})," Firmware for Virtual Machines (x86_64, i686)."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"dmidecode:"})," Utilities for Desktop Management Interface tables."]}),"\n"]}),"\n",(0,r.jsx)(s.p,{children:"To install these packages, run the following command in your terminal:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"sudo pacman -S virt-manager qemu-base vde2 iptables-nft nftables dnsmasq bridge-utils edk2-ovmf dmidecode\n"})}),"\n",(0,r.jsx)(s.h3,{id:"qemu-packages-required",children:"Qemu Packages Required"}),"\n",(0,r.jsxs)(s.p,{children:["I\u2019ve noticed that the ",(0,r.jsx)(s.code,{children:"qemu"})," package names have changed over time. Previously, installing ",(0,r.jsx)(s.code,{children:"qemu"})," was straightforward, but now it\u2019s split into several packages. Although the names have changed, the package manager should automatically handle these updates for you."]}),"\n",(0,r.jsx)(s.p,{children:"To ensure already cover all the requirements, you should also install the following packages:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"sudo pacman -S qemu-hw-display-qxl qemu-hw-display-virtio-vga qemu-hw-usb-redirect qemu-audio-spice qemu-hw-usb-host qemu-chardev-spice\n"})}),"\n",(0,r.jsx)(s.p,{children:"These packages provide support for display QXL, VGA, USB redirection, audio spice and spicevmc. Without these, you might encounter errors or find that some functions don\u2019t work properly."}),"\n",(0,r.jsx)(s.h2,{id:"next-steps-configuring-libvirt-permissions",children:"Next Steps: Configuring Libvirt Permissions"}),"\n",(0,r.jsxs)(s.p,{children:["Next, we\u2019ll cover how to configure libvirt permissions to ensure that ",(0,r.jsx)(s.code,{children:"virt-manager"})," and ",(0,r.jsx)(s.code,{children:"libvirt"})," don\u2019t run into any permission issues and work smoothly."]})]})}function c(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,s,n)=>{n.d(s,{R:()=>a,x:()=>l});var i=n(6540);const r={},t=i.createContext(r);function a(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e9c04861.baa27456.js b/assets/js/e9c04861.baa27456.js new file mode 100644 index 0000000..77a654e --- /dev/null +++ b/assets/js/e9c04861.baa27456.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[343],{3844:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>o,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"dual-gpu-passthru-desktop/Install-require-packages","title":"Installing require Packages","description":"Alright, let\'s installing the essential packages. Each of these plays a key role in getting virtualization up and running smoothly.","source":"@site/docs/dual-gpu-passthru-desktop/Install-require-packages.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/Install-require-packages","permalink":"/docs/dual-gpu-passthru-desktop/Install-require-packages","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/Install-require-packages.mdx","tags":[],"version":"current","sidebarPosition":9,"frontMatter":{"sidebar_position":9},"sidebar":"tutorialSidebar","previous":{"title":"Passthrough the GPU!","permalink":"/docs/dual-gpu-passthru-desktop/Passthrough-GPU"},"next":{"title":"Configuring Libvirt","permalink":"/docs/dual-gpu-passthru-desktop/Configuring-Libvirt"}}');var r=n(4848),t=n(8453);const a={sidebar_position:9},l="Installing require Packages",o={},d=[{value:"Qemu Packages Required",id:"qemu-packages-required",level:3},{value:"Next Steps: Configuring Libvirt Permissions",id:"next-steps-configuring-libvirt-permissions",level:2}];function u(e){const s={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"installing-require-packages",children:"Installing require Packages"})}),"\n",(0,r.jsx)(s.p,{children:"Alright, let's installing the essential packages. Each of these plays a key role in getting virtualization up and running smoothly."}),"\n",(0,r.jsxs)(s.p,{children:["We'll be using ",(0,r.jsx)(s.code,{children:"virt-manager"}),", which provides a user-friendly interface for managing virtual machines. ",(0,r.jsx)(s.code,{children:"qemu"})," is a robust emulator that handles hardware virtualization."]}),"\n",(0,r.jsx)(s.p,{children:"Here\u2019s a breakdown of the packages you\u2019ll need:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"virt-manager:"})," A desktop user interface for managing virtual machines."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"qemu-base:"})," A basic QEMU setup for headless environments."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"vde2:"})," Virtual Distributed Ethernet for emulators like QEMU."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"iptables-nft:"})," A Linux kernel packet control tool, using the nft interface."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"nftables:"})," Userspace tools for Netfilter tables."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"dnsmasq:"})," A lightweight, easy-to-configure DNS forwarder and DHCP server."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"bridge-utils:"})," Utilities for configuring the Linux Ethernet bridge."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"edk2-ovmf:"})," Firmware for Virtual Machines (x86_64, i686)."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"dmidecode:"})," Utilities for Desktop Management Interface tables."]}),"\n"]}),"\n",(0,r.jsx)(s.p,{children:"To install these packages, run the following command in your terminal:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"sudo pacman -S virt-manager qemu-base vde2 iptables-nft nftables dnsmasq bridge-utils edk2-ovmf dmidecode\n"})}),"\n",(0,r.jsx)(s.h3,{id:"qemu-packages-required",children:"Qemu Packages Required"}),"\n",(0,r.jsxs)(s.p,{children:["I\u2019ve noticed that the ",(0,r.jsx)(s.code,{children:"qemu"})," package names have changed over time. Previously, installing ",(0,r.jsx)(s.code,{children:"qemu"})," was straightforward, but now it\u2019s split into several packages. Although the names have changed, the package manager should automatically handle these updates for you."]}),"\n",(0,r.jsx)(s.p,{children:"To ensure already cover all the requirements, you should also install the following packages:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"sudo pacman -S qemu-hw-display-qxl qemu-hw-display-virtio-vga qemu-hw-usb-redirect qemu-audio-spice qemu-hw-usb-host qemu-chardev-spice\n"})}),"\n",(0,r.jsx)(s.p,{children:"These packages provide support for display QXL, VGA, USB redirection, audio spice and spicevmc. Without these, you might encounter errors or find that some functions don\u2019t work properly."}),"\n",(0,r.jsx)(s.h2,{id:"next-steps-configuring-libvirt-permissions",children:"Next Steps: Configuring Libvirt Permissions"}),"\n",(0,r.jsxs)(s.p,{children:["Next, we\u2019ll cover how to configure libvirt permissions to ensure that ",(0,r.jsx)(s.code,{children:"virt-manager"})," and ",(0,r.jsx)(s.code,{children:"libvirt"})," don\u2019t run into any permission issues and work smoothly."]})]})}function c(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},8453:(e,s,n)=>{n.d(s,{R:()=>a,x:()=>l});var i=n(6540);const r={},t=i.createContext(r);function a(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(t.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ed285987.07eda72f.js b/assets/js/ed285987.07eda72f.js new file mode 100644 index 0000000..9bd2357 --- /dev/null +++ b/assets/js/ed285987.07eda72f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[983],{214:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>r,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"dual-gpu-passthru-desktop/InstallOS-GNU-Linux","title":"Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps","description":"Setting up passthrough on GNU/Linux is a breeze. You won\'t need extra drivers like VirtIO because GNU/Linux has what you need built right in. This makes the setup smoother and simpler.","source":"@site/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/InstallOS-GNU-Linux","permalink":"/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux.mdx","tags":[],"version":"current","sidebarPosition":14,"frontMatter":{"sidebar_position":14},"sidebar":"tutorialSidebar","previous":{"title":"Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps","permalink":"/docs/dual-gpu-passthru-desktop/InstallOS-win11"},"next":{"title":"Tutorial - Extras","permalink":"/docs/category/tutorial---extras"}}');var i=t(4848),o=t(8453);const r={sidebar_position:14},a="Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps",l={},d=[{value:"UEFI and BIOS",id:"uefi-and-bios",level:2},{value:"Picking a GNU/Linux Distribution",id:"picking-a-gnulinux-distribution",level:2},{value:"Switching Monitors",id:"switching-monitors",level:2},{value:"1. Download the GNU/Linux Distribution ISO",id:"1-download-the-gnulinux-distribution-iso",level:3},{value:"2. Setting Up the Virtual Machine",id:"2-setting-up-the-virtual-machine",level:3},{value:"2.1 Create a New VM",id:"21-create-a-new-vm",level:4},{value:"2.2 Choose the ISO",id:"22-choose-the-iso",level:4},{value:"2.3 Configure RAM and CPU",id:"23-configure-ram-and-cpu",level:4},{value:"2.4 Set Up Disks and Enable Storage",id:"24-set-up-disks-and-enable-storage",level:4},{value:"5. Ready to Install",id:"5-ready-to-install",level:4},{value:"3. Getting Ready to Install",id:"3-getting-ready-to-install",level:3},{value:"3.1 Choose UEFI Firmware",id:"31-choose-uefi-firmware",level:4},{value:"3.2 Configure Boot Options",id:"32-configure-boot-options",level:4},{value:"4. TianoCore",id:"4-tianocore",level:3},{value:"5. Install Your GNU/Linux System",id:"5-install-your-gnulinux-system",level:3},{value:"Step 6: Network Access, System Upgrade, and GPU Passthrough",id:"step-6-network-access-system-upgrade-and-gpu-passthrough",level:3},{value:"Final Step: Optimizing Monitor Configuration",id:"final-step-optimizing-monitor-configuration",level:3}];function h(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"setting-up-your-virtual-machine-gnulinux--the-final-steps",children:"Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps"})}),"\n",(0,i.jsx)(n.p,{children:"Setting up passthrough on GNU/Linux is a breeze. You won't need extra drivers like VirtIO because GNU/Linux has what you need built right in. This makes the setup smoother and simpler."}),"\n",(0,i.jsx)(n.h2,{id:"uefi-and-bios",children:"UEFI and BIOS"}),"\n",(0,i.jsx)(n.p,{children:"When setting up your virtual machine, make sure you download a UEFI-compatible ISO file. GNU/Linux comes in both BIOS and UEFI versions, so it's important to choose the right one."}),"\n",(0,i.jsx)(n.p,{children:"If you don't use the correct version, your system might not boot properly."}),"\n",(0,i.jsx)(n.h2,{id:"picking-a-gnulinux-distribution",children:"Picking a GNU/Linux Distribution"}),"\n",(0,i.jsx)(n.p,{children:"Choosing a GNU/Linux distro is all about personal preference. Whether you like Arch Linux, Ubuntu, or NixOS, it\u2019s up to you. The passthrough setup process will be similar no matter which one you pick."}),"\n",(0,i.jsx)(n.h2,{id:"switching-monitors",children:"Switching Monitors"}),"\n",(0,i.jsx)(n.p,{children:"In GNU/Linux passthrough, you can switch your monitor input easily. dont need to install another package."}),"\n",(0,i.jsx)(n.h3,{id:"1-download-the-gnulinux-distribution-iso",children:"1. Download the GNU/Linux Distribution ISO"}),"\n",(0,i.jsxs)(n.p,{children:["First things first, download the ISO file of the GNU/Linux distribution you want to install. This is the starting point for your passthrough setup. To speed up the download, you can use ",(0,i.jsx)(n.code,{children:"aria2"})," with this command:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:'aria2c -x 16 "your_gnu_linux_iso_file.iso"\n'})}),"\n",(0,i.jsx)(n.p,{children:"With your ISO ready, let\u2019s move on to setting up the VM."}),"\n",(0,i.jsx)(n.h3,{id:"2-setting-up-the-virtual-machine",children:"2. Setting Up the Virtual Machine"}),"\n",(0,i.jsx)(n.p,{children:"Now that you have your ISO, it\u2019s time to create your VM with Virt-Manager:"}),"\n",(0,i.jsx)(n.h4,{id:"21-create-a-new-vm",children:"2.1 Create a New VM"}),"\n",(0,i.jsxs)(n.p,{children:["Open Virt-Manager and start a new VM setup. Choose ",(0,i.jsx)(n.code,{children:"Local install."})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Create a New VM - 1 of 5",src:t(3087).A+"",width:"500",height:"500"})}),"\n",(0,i.jsx)(n.h4,{id:"22-choose-the-iso",children:"2.2 Choose the ISO"}),"\n",(0,i.jsx)(n.p,{children:"Select the GNU/Linux ISO you downloaded as the installation media."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Choose ISO - 2 of 5",src:t(1442).A+"",width:"517",height:"500"})}),"\n",(0,i.jsx)(n.h4,{id:"23-configure-ram-and-cpu",children:"2.3 Configure RAM and CPU"}),"\n",(0,i.jsx)(n.p,{children:"Set how much RAM and how many CPU cores you want for your VM."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Configure RAM and CPU - 3 of 5",src:t(9425).A+"",width:"500",height:"500"})}),"\n",(0,i.jsx)(n.h4,{id:"24-set-up-disks-and-enable-storage",children:"2.4 Set Up Disks and Enable Storage"}),"\n",(0,i.jsx)(n.p,{children:"Allocate disk space and enable storage support."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Set Up Disks and Enable Storage - 4 of 5",src:t(7356).A+"",width:"500",height:"500"})}),"\n",(0,i.jsx)(n.h4,{id:"5-ready-to-install",children:"5. Ready to Install"}),"\n",(0,i.jsx)(n.p,{children:"Make sure custom settings are enabled for the installation."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Ready to Install - 5 of 5",src:t(8112).A+"",width:"519",height:"500"})}),"\n",(0,i.jsx)(n.h3,{id:"3-getting-ready-to-install",children:"3. Getting Ready to Install"}),"\n",(0,i.jsx)(n.p,{children:"With your VM set up, let\u2019s prepare for installing Linux:"}),"\n",(0,i.jsx)(n.h4,{id:"31-choose-uefi-firmware",children:"3.1 Choose UEFI Firmware"}),"\n",(0,i.jsxs)(n.p,{children:["Select the UEFI firmware option for your VM, like ",(0,i.jsx)(n.code,{children:"UEFI x86_64 OVM_CODE.fd."})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Firmware",src:t(6147).A+"",width:"1076",height:"899"})}),"\n",(0,i.jsx)(n.h4,{id:"32-configure-boot-options",children:"3.2 Configure Boot Options"}),"\n",(0,i.jsxs)(n.p,{children:["Enable the boot menu and set ",(0,i.jsx)(n.code,{children:"SATA CDROM1"})," as the first boot device to boot from the ISO."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Boot options",src:t(8231).A+"",width:"1076",height:"899"})}),"\n",(0,i.jsxs)(n.p,{children:["Now your VM is set up to start the GNU/Linux installation process. Click the ",(0,i.jsx)(n.code,{children:"begin installation"})," button to proceed."]}),"\n",(0,i.jsx)(n.h3,{id:"4-tianocore",children:"4. TianoCore"}),"\n",(0,i.jsx)(n.p,{children:"When you start your VM, you should see the TianoCore UEFI logo."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"UEFI",src:t(611).A+"",width:"1076",height:"899"})}),"\n",(0,i.jsx)(n.h3,{id:"5-install-your-gnulinux-system",children:"5. Install Your GNU/Linux System"}),"\n",(0,i.jsx)(n.p,{children:"Now, install your chosen GNU/Linux distribution on the VM. Follow the usual installation prompts:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Boot from ISO:"})," Start the VM and boot from the ISO."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Follow Prompts:"})," Choose your language, keyboard layout, and disk partitions."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Update and Install Software:"})," After installation, update your system and install any needed software."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ubuntu_install",src:t(7545).A+"",width:"1920",height:"1048"})}),"\n",(0,i.jsx)(n.p,{children:"With GNU/Linux installed, you\u2019re almost done with the passthrough setup. Next, we\u2019ll enable network access and GPU passthrough."}),"\n",(0,i.jsx)(n.h3,{id:"step-6-network-access-system-upgrade-and-gpu-passthrough",children:"Step 6: Network Access, System Upgrade, and GPU Passthrough"}),"\n",(0,i.jsx)(n.p,{children:"Here\u2019s how to get network access, upgrade your system, and set up GPU passthrough:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Power Off the VM:"})," Make sure your VM is off."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Add PCI Devices for GPU Passthrough:"})," In Virt-Manager, go to ",(0,i.jsx)(n.code,{children:"Add Hardware"})," and choose ",(0,i.jsx)(n.code,{children:"PCI Host Device."})," Add your GPU and GPU audio device."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Add a PCI Network Device:"})," Also, add a PCI network device."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Apply Changes and Start the VM:"})," Save the settings and start your VM."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Upgrade Your System:"})}),"\n",(0,i.jsx)(n.p,{children:"Open a terminal and run:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"sudo apt-get update -y\nsudo apt-get upgrade -y\nsudo apt-get full-upgrade -y\n"})}),"\n",(0,i.jsx)(n.p,{children:"Reboot your VM. Your GPU should now be passed through."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Check GPU Passthrough:"})}),"\n",(0,i.jsxs)(n.p,{children:["Install ",(0,i.jsx)(n.code,{children:"neofetch"})," to check if the GPU is recognized:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"sudo apt-get install neofetch\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Run ",(0,i.jsx)(n.code,{children:"neofetch"})," to see your GPU details."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"neofetch",src:t(6546).A+"",width:"1076",height:"926"})}),"\n",(0,i.jsx)(n.h3,{id:"final-step-optimizing-monitor-configuration",children:"Final Step: Optimizing Monitor Configuration"}),"\n",(0,i.jsx)(n.p,{children:"For the best visual experience, adjust your monitor settings:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Power Off Your VM:"})," Shut down your VM."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Configure VM Video Settings:"})," In Virt-Manager, go to the ",(0,i.jsx)(n.code,{children:"Video"})," section and select the ",(0,i.jsx)(n.code,{children:"Ramfb"})," device model."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Switch Monitor Input:"})," Change your monitor\u2019s input to HDMI2 or another secondary option."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ramfb",src:t(4258).A+"",width:"1076",height:"899"})}),"\n",(0,i.jsx)(n.p,{children:"Now, your monitor should display the VM\u2019s output on the secondary input."})]})}function c(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},3087:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/1of5-c2d77efcebc80a7d22b405e8508bac8f.png"},1442:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/2of5-a2d6a06a0934bed88bc91ca9d1715c03.png"},9425:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/3of5-3090f1964433a21e228e74d7c53f679b.png"},7356:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/4of5-5410bfdc74c2a69827ac38265958bee7.png"},8112:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/5of5-1d3ffc226a43a2663c7249453580969e.png"},611:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/Tiano_core-ac3edccb4fc9053c517fba308dc7c26e.png"},8231:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/boot_options-7b48e43eca4b6446fb80082ef2840e2c.png"},6147:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/firmware-8e1e08f713690497c65a2f53f5ab23f0.png"},7545:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/install_ubuntu-d9eac061f8774d41dc79b444dfb974f8.png"},6546:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/neofetch-fae137e62d8663871c5e9c3a0b892f02.png"},4258:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/ramfb-5b2a57746afd29f14ca48fa2eb8f5f93.png"},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var s=t(6540);const i={},o=s.createContext(i);function r(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ed285987.62f325e5.js b/assets/js/ed285987.62f325e5.js deleted file mode 100644 index 4c88bec..0000000 --- a/assets/js/ed285987.62f325e5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[983],{214:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>r,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"dual-gpu-passthru-desktop/InstallOS-GNU-Linux","title":"Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps","description":"Setting up passthrough on GNU/Linux is a breeze. You won\'t need extra drivers like VirtIO because GNU/Linux has what you need built right in. This makes the setup smoother and simpler.","source":"@site/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/InstallOS-GNU-Linux","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux.mdx","tags":[],"version":"current","sidebarPosition":14,"frontMatter":{"sidebar_position":14},"sidebar":"tutorialSidebar","previous":{"title":"Setting Up Your Virtual Machine (Windows 11) \u2013 The Final Steps","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/InstallOS-win11"},"next":{"title":"Tutorial - Extras","permalink":"/gpu.passthru.info/docs/category/tutorial---extras"}}');var i=s(4848),o=s(8453);const r={sidebar_position:14},a="Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps",l={},d=[{value:"UEFI and BIOS",id:"uefi-and-bios",level:2},{value:"Picking a GNU/Linux Distribution",id:"picking-a-gnulinux-distribution",level:2},{value:"Switching Monitors",id:"switching-monitors",level:2},{value:"1. Download the GNU/Linux Distribution ISO",id:"1-download-the-gnulinux-distribution-iso",level:3},{value:"2. Setting Up the Virtual Machine",id:"2-setting-up-the-virtual-machine",level:3},{value:"2.1 Create a New VM",id:"21-create-a-new-vm",level:4},{value:"2.2 Choose the ISO",id:"22-choose-the-iso",level:4},{value:"2.3 Configure RAM and CPU",id:"23-configure-ram-and-cpu",level:4},{value:"2.4 Set Up Disks and Enable Storage",id:"24-set-up-disks-and-enable-storage",level:4},{value:"5. Ready to Install",id:"5-ready-to-install",level:4},{value:"3. Getting Ready to Install",id:"3-getting-ready-to-install",level:3},{value:"3.1 Choose UEFI Firmware",id:"31-choose-uefi-firmware",level:4},{value:"3.2 Configure Boot Options",id:"32-configure-boot-options",level:4},{value:"4. TianoCore",id:"4-tianocore",level:3},{value:"5. Install Your GNU/Linux System",id:"5-install-your-gnulinux-system",level:3},{value:"Step 6: Network Access, System Upgrade, and GPU Passthrough",id:"step-6-network-access-system-upgrade-and-gpu-passthrough",level:3},{value:"Final Step: Optimizing Monitor Configuration",id:"final-step-optimizing-monitor-configuration",level:3}];function h(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"setting-up-your-virtual-machine-gnulinux--the-final-steps",children:"Setting Up Your Virtual Machine (GNU/Linux) \u2013 The Final Steps"})}),"\n",(0,i.jsx)(n.p,{children:"Setting up passthrough on GNU/Linux is a breeze. You won't need extra drivers like VirtIO because GNU/Linux has what you need built right in. This makes the setup smoother and simpler."}),"\n",(0,i.jsx)(n.h2,{id:"uefi-and-bios",children:"UEFI and BIOS"}),"\n",(0,i.jsx)(n.p,{children:"When setting up your virtual machine, make sure you download a UEFI-compatible ISO file. GNU/Linux comes in both BIOS and UEFI versions, so it's important to choose the right one."}),"\n",(0,i.jsx)(n.p,{children:"If you don't use the correct version, your system might not boot properly."}),"\n",(0,i.jsx)(n.h2,{id:"picking-a-gnulinux-distribution",children:"Picking a GNU/Linux Distribution"}),"\n",(0,i.jsx)(n.p,{children:"Choosing a GNU/Linux distro is all about personal preference. Whether you like Arch Linux, Ubuntu, or NixOS, it\u2019s up to you. The passthrough setup process will be similar no matter which one you pick."}),"\n",(0,i.jsx)(n.h2,{id:"switching-monitors",children:"Switching Monitors"}),"\n",(0,i.jsx)(n.p,{children:"In GNU/Linux passthrough, you can switch your monitor input easily. dont need to install another package."}),"\n",(0,i.jsx)(n.h3,{id:"1-download-the-gnulinux-distribution-iso",children:"1. Download the GNU/Linux Distribution ISO"}),"\n",(0,i.jsxs)(n.p,{children:["First things first, download the ISO file of the GNU/Linux distribution you want to install. This is the starting point for your passthrough setup. To speed up the download, you can use ",(0,i.jsx)(n.code,{children:"aria2"})," with this command:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:'aria2c -x 16 "your_gnu_linux_iso_file.iso"\n'})}),"\n",(0,i.jsx)(n.p,{children:"With your ISO ready, let\u2019s move on to setting up the VM."}),"\n",(0,i.jsx)(n.h3,{id:"2-setting-up-the-virtual-machine",children:"2. Setting Up the Virtual Machine"}),"\n",(0,i.jsx)(n.p,{children:"Now that you have your ISO, it\u2019s time to create your VM with Virt-Manager:"}),"\n",(0,i.jsx)(n.h4,{id:"21-create-a-new-vm",children:"2.1 Create a New VM"}),"\n",(0,i.jsxs)(n.p,{children:["Open Virt-Manager and start a new VM setup. Choose ",(0,i.jsx)(n.code,{children:"Local install."})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Create a New VM - 1 of 5",src:s(3814).A+"",width:"500",height:"500"})}),"\n",(0,i.jsx)(n.h4,{id:"22-choose-the-iso",children:"2.2 Choose the ISO"}),"\n",(0,i.jsx)(n.p,{children:"Select the GNU/Linux ISO you downloaded as the installation media."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Choose ISO - 2 of 5",src:s(515).A+"",width:"517",height:"500"})}),"\n",(0,i.jsx)(n.h4,{id:"23-configure-ram-and-cpu",children:"2.3 Configure RAM and CPU"}),"\n",(0,i.jsx)(n.p,{children:"Set how much RAM and how many CPU cores you want for your VM."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Configure RAM and CPU - 3 of 5",src:s(764).A+"",width:"500",height:"500"})}),"\n",(0,i.jsx)(n.h4,{id:"24-set-up-disks-and-enable-storage",children:"2.4 Set Up Disks and Enable Storage"}),"\n",(0,i.jsx)(n.p,{children:"Allocate disk space and enable storage support."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Set Up Disks and Enable Storage - 4 of 5",src:s(3441).A+"",width:"500",height:"500"})}),"\n",(0,i.jsx)(n.h4,{id:"5-ready-to-install",children:"5. Ready to Install"}),"\n",(0,i.jsx)(n.p,{children:"Make sure custom settings are enabled for the installation."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Ready to Install - 5 of 5",src:s(8754).A+"",width:"519",height:"500"})}),"\n",(0,i.jsx)(n.h3,{id:"3-getting-ready-to-install",children:"3. Getting Ready to Install"}),"\n",(0,i.jsx)(n.p,{children:"With your VM set up, let\u2019s prepare for installing Linux:"}),"\n",(0,i.jsx)(n.h4,{id:"31-choose-uefi-firmware",children:"3.1 Choose UEFI Firmware"}),"\n",(0,i.jsxs)(n.p,{children:["Select the UEFI firmware option for your VM, like ",(0,i.jsx)(n.code,{children:"UEFI x86_64 OVM_CODE.fd."})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Firmware",src:s(1934).A+"",width:"1076",height:"899"})}),"\n",(0,i.jsx)(n.h4,{id:"32-configure-boot-options",children:"3.2 Configure Boot Options"}),"\n",(0,i.jsxs)(n.p,{children:["Enable the boot menu and set ",(0,i.jsx)(n.code,{children:"SATA CDROM1"})," as the first boot device to boot from the ISO."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Boot options",src:s(7002).A+"",width:"1076",height:"899"})}),"\n",(0,i.jsxs)(n.p,{children:["Now your VM is set up to start the GNU/Linux installation process. Click the ",(0,i.jsx)(n.code,{children:"begin installation"})," button to proceed."]}),"\n",(0,i.jsx)(n.h3,{id:"4-tianocore",children:"4. TianoCore"}),"\n",(0,i.jsx)(n.p,{children:"When you start your VM, you should see the TianoCore UEFI logo."}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"UEFI",src:s(5562).A+"",width:"1076",height:"899"})}),"\n",(0,i.jsx)(n.h3,{id:"5-install-your-gnulinux-system",children:"5. Install Your GNU/Linux System"}),"\n",(0,i.jsx)(n.p,{children:"Now, install your chosen GNU/Linux distribution on the VM. Follow the usual installation prompts:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Boot from ISO:"})," Start the VM and boot from the ISO."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Follow Prompts:"})," Choose your language, keyboard layout, and disk partitions."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Update and Install Software:"})," After installation, update your system and install any needed software."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ubuntu_install",src:s(648).A+"",width:"1920",height:"1048"})}),"\n",(0,i.jsx)(n.p,{children:"With GNU/Linux installed, you\u2019re almost done with the passthrough setup. Next, we\u2019ll enable network access and GPU passthrough."}),"\n",(0,i.jsx)(n.h3,{id:"step-6-network-access-system-upgrade-and-gpu-passthrough",children:"Step 6: Network Access, System Upgrade, and GPU Passthrough"}),"\n",(0,i.jsx)(n.p,{children:"Here\u2019s how to get network access, upgrade your system, and set up GPU passthrough:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Power Off the VM:"})," Make sure your VM is off."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Add PCI Devices for GPU Passthrough:"})," In Virt-Manager, go to ",(0,i.jsx)(n.code,{children:"Add Hardware"})," and choose ",(0,i.jsx)(n.code,{children:"PCI Host Device."})," Add your GPU and GPU audio device."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Add a PCI Network Device:"})," Also, add a PCI network device."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"Apply Changes and Start the VM:"})," Save the settings and start your VM."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Upgrade Your System:"})}),"\n",(0,i.jsx)(n.p,{children:"Open a terminal and run:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"sudo apt-get update -y\nsudo apt-get upgrade -y\nsudo apt-get full-upgrade -y\n"})}),"\n",(0,i.jsx)(n.p,{children:"Reboot your VM. Your GPU should now be passed through."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.strong,{children:"Check GPU Passthrough:"})}),"\n",(0,i.jsxs)(n.p,{children:["Install ",(0,i.jsx)(n.code,{children:"neofetch"})," to check if the GPU is recognized:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"sudo apt-get install neofetch\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Run ",(0,i.jsx)(n.code,{children:"neofetch"})," to see your GPU details."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"neofetch",src:s(7443).A+"",width:"1076",height:"926"})}),"\n",(0,i.jsx)(n.h3,{id:"final-step-optimizing-monitor-configuration",children:"Final Step: Optimizing Monitor Configuration"}),"\n",(0,i.jsx)(n.p,{children:"For the best visual experience, adjust your monitor settings:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Power Off Your VM:"})," Shut down your VM."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Configure VM Video Settings:"})," In Virt-Manager, go to the ",(0,i.jsx)(n.code,{children:"Video"})," section and select the ",(0,i.jsx)(n.code,{children:"Ramfb"})," device model."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Switch Monitor Input:"})," Change your monitor\u2019s input to HDMI2 or another secondary option."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ramfb",src:s(8673).A+"",width:"1076",height:"899"})}),"\n",(0,i.jsx)(n.p,{children:"Now, your monitor should display the VM\u2019s output on the secondary input."})]})}function c(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},3814:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/1of5-c2d77efcebc80a7d22b405e8508bac8f.png"},515:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/2of5-a2d6a06a0934bed88bc91ca9d1715c03.png"},764:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/3of5-3090f1964433a21e228e74d7c53f679b.png"},3441:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/4of5-5410bfdc74c2a69827ac38265958bee7.png"},8754:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/5of5-1d3ffc226a43a2663c7249453580969e.png"},5562:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/Tiano_core-ac3edccb4fc9053c517fba308dc7c26e.png"},7002:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/boot_options-7b48e43eca4b6446fb80082ef2840e2c.png"},1934:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/firmware-8e1e08f713690497c65a2f53f5ab23f0.png"},648:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/install_ubuntu-d9eac061f8774d41dc79b444dfb974f8.png"},7443:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/neofetch-fae137e62d8663871c5e9c3a0b892f02.png"},8673:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/ramfb-5b2a57746afd29f14ca48fa2eb8f5f93.png"},8453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>a});var t=s(6540);const i={},o=t.createContext(i);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/effe9807.578fb60b.js b/assets/js/effe9807.578fb60b.js deleted file mode 100644 index e615517..0000000 --- a/assets/js/effe9807.578fb60b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[937],{8663:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>a});const o=JSON.parse('{"id":"dual-gpu-passthru-desktop/Bootloader-enable-distro","title":"Edit Bootloader Configuration","description":"If your arch is ready to go, it\'s time to dive into bootloader configuration. To fine-tune your bootloader settings, let\u2019s customize them based on your CPU type:","source":"@site/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/Bootloader-enable-distro","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro.mdx","tags":[],"version":"current","sidebarPosition":7,"frontMatter":{"sidebar_position":7},"sidebar":"tutorialSidebar","previous":{"title":"Enabling Virtualization in BIOS","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/BIOS"},"next":{"title":"Passthrough the GPU!","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/Passthrough-GPU"}}');var t=i(4848),r=i(8453);const s={sidebar_position:7},d="Edit Bootloader Configuration",l={},a=[{value:"Decoding the Parameters",id:"decoding-the-parameters",level:3},{value:"1.2 Configuring GRUB",id:"12-configuring-grub",level:2},{value:"GRUB Configuration Examples",id:"grub-configuration-examples",level:4},{value:"1.3 Configuring bootctl",id:"13-configuring-bootctl",level:2},{value:"What's Next",id:"whats-next",level:2}];function c(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"edit-bootloader-configuration",children:"Edit Bootloader Configuration"})}),"\n",(0,t.jsx)(n.p,{children:"If your arch is ready to go, it's time to dive into bootloader configuration. To fine-tune your bootloader settings, let\u2019s customize them based on your CPU type:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"AMD CPU"}),(0,t.jsx)(n.th,{children:"Intel CPU"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"amd_iommu=on"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"intel_iommu=on"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"video=efifb:off"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"iommu=pt"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"iommu=pt"})}),(0,t.jsx)(n.td,{})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Each of these parameters plays a crucial role in enabling virtualization and improving your system's performance for virtual machines."}),"\n",(0,t.jsx)(n.h3,{id:"decoding-the-parameters",children:"Decoding the Parameters"}),"\n",(0,t.jsx)(n.p,{children:"Let\u2019s break down what each of these parameters does:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsxs)(n.strong,{children:[(0,t.jsx)(n.code,{children:"amd_iommu=on"})," (AMD) / ",(0,t.jsx)(n.code,{children:"intel_iommu=on"})," (Intel)"]}),": Activates IOMMU support for better hardware isolation and sharing, crucial for virtualization."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"video=efifb:off"})}),": Disables the EFI framebuffer driver, which can interfere with GPU passthrough."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"iommu=pt"})}),": Sets the IOMMU to pass-through mode, ensuring efficient and direct hardware access for VMs."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"By adding these parameters to your bootloader configuration, you set the stage for effective virtualization, enhancing your ability to run virtual machines and perform related tasks."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"12-configuring-grub",children:"1.2 Configuring GRUB"}),"\n",(0,t.jsx)(n.p,{children:"If you\u2019re using the GRUB bootloader, follow these steps to configure it:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Open the GRUB configuration file at ",(0,t.jsx)(n.code,{children:"/etc/default/grub"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo vim /etc/default/grub\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Locate the line beginning with ",(0,t.jsx)(n.code,{children:"GRUB_CMDLINE_LINUX_DEFAULT"}),". Add your parameters to this line."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Save your changes and regenerate the GRUB configuration with:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo grub-mkconfig -o /boot/grub/grub.cfg\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Reboot your system to apply the new GRUB configuration."}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Your GRUB bootloader should now include the necessary parameters for an optimized virtualization setup."}),"\n",(0,t.jsx)(n.h4,{id:"grub-configuration-examples",children:"GRUB Configuration Examples"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"For AMD CPUs:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt video=efifb:off"\n'})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"For Intel CPUs:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"\n'})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"13-configuring-bootctl",children:"1.3 Configuring bootctl"}),"\n",(0,t.jsxs)(n.p,{children:["If you\u2019re using ",(0,t.jsx)(n.code,{children:"bootctl"})," as your bootloader, here\u2019s how to configure it:"]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Edit your configuration file located at ",(0,t.jsx)(n.code,{children:"/boot/loader/entries/your_config.conf"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo vim /boot/loader/entries/your_config.conf\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Find the line starting with ",(0,t.jsx)(n.code,{children:"options"})," and modify it. For instance, if you have an AMD CPU, change it to:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"options root= quiet rw amd_iommu=on iommu=pt video=efifb:off\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Save your changes."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Reboot your system to activate the new configuration."}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Your bootloader configuration should now look something like this:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"For AMD CPUs:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"title Arch Linux\nlinux /vmlinuz-linux\ninitrd /initramfs-linux.img\noptions root= quiet rw amd_iommu=on iommu=pt video=efifb:off\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"For Intel CPUs:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"title Arch Linux\nlinux /vmlinuz-linux\ninitrd /initramfs-linux.img\noptions root= quiet rw intel_iommu=on iommu=pt\n"})}),"\n",(0,t.jsx)(n.p,{children:"With these configurations in place, your bootloader is now primed to support virtualization."}),"\n",(0,t.jsx)(n.h2,{id:"whats-next",children:"What's Next"}),"\n",(0,t.jsxs)(n.p,{children:["For the next step, we\u2019re going to enable the GPU needed to empower virtualization. This includes modifying the ",(0,t.jsx)(n.code,{children:"mkinitcpio.conf"})," file, identifying the IOMMU GPU IDs, configuring the ",(0,t.jsx)(n.code,{children:"vfio.conf"})," file, and regenerating the ",(0,t.jsx)(n.code,{children:"mkinitcpio"})," image with the new configuration. Finally, you\u2019ll need to verify that the GPU is using the ",(0,t.jsx)(n.code,{children:"vfio-pci"})," driver by checking the ",(0,t.jsx)(n.code,{children:"Kernel driver in use"}),"."]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>d});var o=i(6540);const t={},r=o.createContext(t);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/effe9807.932f6214.js b/assets/js/effe9807.932f6214.js new file mode 100644 index 0000000..11f752d --- /dev/null +++ b/assets/js/effe9807.932f6214.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[937],{8663:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>a});const o=JSON.parse('{"id":"dual-gpu-passthru-desktop/Bootloader-enable-distro","title":"Edit Bootloader Configuration","description":"If your arch is ready to go, it\'s time to dive into bootloader configuration. To fine-tune your bootloader settings, let\u2019s customize them based on your CPU type:","source":"@site/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro.mdx","sourceDirName":"dual-gpu-passthru-desktop","slug":"/dual-gpu-passthru-desktop/Bootloader-enable-distro","permalink":"/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro","draft":false,"unlisted":false,"editUrl":"https://github.com/UmmItC/gpu.passthru.info/tree/master/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro.mdx","tags":[],"version":"current","sidebarPosition":7,"frontMatter":{"sidebar_position":7},"sidebar":"tutorialSidebar","previous":{"title":"Enabling Virtualization in BIOS","permalink":"/docs/dual-gpu-passthru-desktop/BIOS"},"next":{"title":"Passthrough the GPU!","permalink":"/docs/dual-gpu-passthru-desktop/Passthrough-GPU"}}');var t=i(4848),r=i(8453);const s={sidebar_position:7},d="Edit Bootloader Configuration",l={},a=[{value:"Decoding the Parameters",id:"decoding-the-parameters",level:3},{value:"1.2 Configuring GRUB",id:"12-configuring-grub",level:2},{value:"GRUB Configuration Examples",id:"grub-configuration-examples",level:4},{value:"1.3 Configuring bootctl",id:"13-configuring-bootctl",level:2},{value:"What's Next",id:"whats-next",level:2}];function c(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"edit-bootloader-configuration",children:"Edit Bootloader Configuration"})}),"\n",(0,t.jsx)(n.p,{children:"If your arch is ready to go, it's time to dive into bootloader configuration. To fine-tune your bootloader settings, let\u2019s customize them based on your CPU type:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"AMD CPU"}),(0,t.jsx)(n.th,{children:"Intel CPU"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"amd_iommu=on"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"intel_iommu=on"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"video=efifb:off"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"iommu=pt"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"iommu=pt"})}),(0,t.jsx)(n.td,{})]})]})]}),"\n",(0,t.jsx)(n.p,{children:"Each of these parameters plays a crucial role in enabling virtualization and improving your system's performance for virtual machines."}),"\n",(0,t.jsx)(n.h3,{id:"decoding-the-parameters",children:"Decoding the Parameters"}),"\n",(0,t.jsx)(n.p,{children:"Let\u2019s break down what each of these parameters does:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsxs)(n.strong,{children:[(0,t.jsx)(n.code,{children:"amd_iommu=on"})," (AMD) / ",(0,t.jsx)(n.code,{children:"intel_iommu=on"})," (Intel)"]}),": Activates IOMMU support for better hardware isolation and sharing, crucial for virtualization."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"video=efifb:off"})}),": Disables the EFI framebuffer driver, which can interfere with GPU passthrough."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"iommu=pt"})}),": Sets the IOMMU to pass-through mode, ensuring efficient and direct hardware access for VMs."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"By adding these parameters to your bootloader configuration, you set the stage for effective virtualization, enhancing your ability to run virtual machines and perform related tasks."}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"12-configuring-grub",children:"1.2 Configuring GRUB"}),"\n",(0,t.jsx)(n.p,{children:"If you\u2019re using the GRUB bootloader, follow these steps to configure it:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Open the GRUB configuration file at ",(0,t.jsx)(n.code,{children:"/etc/default/grub"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo vim /etc/default/grub\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Locate the line beginning with ",(0,t.jsx)(n.code,{children:"GRUB_CMDLINE_LINUX_DEFAULT"}),". Add your parameters to this line."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Save your changes and regenerate the GRUB configuration with:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo grub-mkconfig -o /boot/grub/grub.cfg\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Reboot your system to apply the new GRUB configuration."}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Your GRUB bootloader should now include the necessary parameters for an optimized virtualization setup."}),"\n",(0,t.jsx)(n.h4,{id:"grub-configuration-examples",children:"GRUB Configuration Examples"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"For AMD CPUs:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt video=efifb:off"\n'})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"For Intel CPUs:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"\n'})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"13-configuring-bootctl",children:"1.3 Configuring bootctl"}),"\n",(0,t.jsxs)(n.p,{children:["If you\u2019re using ",(0,t.jsx)(n.code,{children:"bootctl"})," as your bootloader, here\u2019s how to configure it:"]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Edit your configuration file located at ",(0,t.jsx)(n.code,{children:"/boot/loader/entries/your_config.conf"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"sudo vim /boot/loader/entries/your_config.conf\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Find the line starting with ",(0,t.jsx)(n.code,{children:"options"})," and modify it. For instance, if you have an AMD CPU, change it to:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"options root= quiet rw amd_iommu=on iommu=pt video=efifb:off\n"})}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Save your changes."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Reboot your system to activate the new configuration."}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Your bootloader configuration should now look something like this:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"For AMD CPUs:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"title Arch Linux\nlinux /vmlinuz-linux\ninitrd /initramfs-linux.img\noptions root= quiet rw amd_iommu=on iommu=pt video=efifb:off\n"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"For Intel CPUs:"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"title Arch Linux\nlinux /vmlinuz-linux\ninitrd /initramfs-linux.img\noptions root= quiet rw intel_iommu=on iommu=pt\n"})}),"\n",(0,t.jsx)(n.p,{children:"With these configurations in place, your bootloader is now primed to support virtualization."}),"\n",(0,t.jsx)(n.h2,{id:"whats-next",children:"What's Next"}),"\n",(0,t.jsxs)(n.p,{children:["For the next step, we\u2019re going to enable the GPU needed to empower virtualization. This includes modifying the ",(0,t.jsx)(n.code,{children:"mkinitcpio.conf"})," file, identifying the IOMMU GPU IDs, configuring the ",(0,t.jsx)(n.code,{children:"vfio.conf"})," file, and regenerating the ",(0,t.jsx)(n.code,{children:"mkinitcpio"})," image with the new configuration. Finally, you\u2019ll need to verify that the GPU is using the ",(0,t.jsx)(n.code,{children:"vfio-pci"})," driver by checking the ",(0,t.jsx)(n.code,{children:"Kernel driver in use"}),"."]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>d});var o=i(6540);const t={},r=o.createContext(t);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fffd43af.1ee43d13.js b/assets/js/fffd43af.1ee43d13.js deleted file mode 100644 index 33f311e..0000000 --- a/assets/js/fffd43af.1ee43d13.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[123],{4975:s=>{s.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Dual GPU-Passthrough (Dekstop user)","description":"it\'s really easy to setup, dont worry i will guide you through the process :)","slug":"/category/dual-gpu-passthrough-dekstop-user","permalink":"/gpu.passthru.info/docs/category/dual-gpu-passthrough-dekstop-user","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"Introduction","permalink":"/gpu.passthru.info/docs/intro"},"next":{"title":"Introduction","permalink":"/gpu.passthru.info/docs/dual-gpu-passthru-desktop/"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/main.a9c58109.js b/assets/js/main.a9c58109.js new file mode 100644 index 0000000..563bf65 --- /dev/null +++ b/assets/js/main.a9c58109.js @@ -0,0 +1,2 @@ +/*! For license information please see main.a9c58109.js.LICENSE.txt */ +(self.webpackChunkgpu_passthru_info=self.webpackChunkgpu_passthru_info||[]).push([[792],{8650:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});n(6540);var r=n(3259),o=n.n(r),a=n(4054);const i={"0058b4c6":[()=>n.e(849).then(n.t.bind(n,6164,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-175.json",6164],"0e384e19":[()=>n.e(976).then(n.bind(n,2053)),"@site/docs/intro.md",2053],"14eb3368":[()=>Promise.all([n.e(869),n.e(969)]).then(n.bind(n,4419)),"@theme/DocCategoryGeneratedIndexPage",4419],17896441:[()=>Promise.all([n.e(869),n.e(896),n.e(401)]).then(n.bind(n,3900)),"@theme/DocItem",3900],"1df93b7f":[()=>Promise.all([n.e(869),n.e(583)]).then(n.bind(n,2664)),"@site/src/pages/index.tsx",2664],"1f391b9e":[()=>Promise.all([n.e(869),n.e(896),n.e(61)]).then(n.bind(n,5596)),"@theme/MDXPage",5596],"2424ea14":[()=>n.e(18).then(n.t.bind(n,2645,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-category-dual-gpu-passthrough-dekstop-user-aaa.json",2645],"393be207":[()=>n.e(134).then(n.bind(n,591)),"@site/src/pages/markdown-page.md",591],"44191dd7":[()=>n.e(877).then(n.bind(n,6868)),"@site/docs/dual-gpu-passthru-desktop/InstallOS-win11.mdx",6868],"4c69877e":[()=>n.e(436).then(n.bind(n,1791)),"@site/docs/dual-gpu-passthru-desktop/InstallOS-win10.mdx",1791],"4e74f26b":[()=>n.e(171).then(n.bind(n,9646)),"@site/docs/dual-gpu-passthru-desktop/Download-OS.mdx",9646],"57f0c23e":[()=>n.e(610).then(n.bind(n,7961)),"@site/docs/dual-gpu-passthru-desktop/GPU.mdx",7961],"5e95c892":[()=>n.e(647).then(n.bind(n,3713)),"@theme/DocsRoot",3713],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"63a3ead2":[()=>n.e(938).then(n.bind(n,3051)),"@site/docs/dual-gpu-passthru-desktop/CPU.mdx",3051],"6a1dee16":[()=>n.e(132).then(n.bind(n,374)),"@site/docs/dual-gpu-passthru-desktop/Configuring-Libvirt.mdx",374],"6bb166bd":[()=>n.e(518).then(n.t.bind(n,3618,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-category-tutorial-extras-128.json",3618],"7b1264a8":[()=>n.e(252).then(n.bind(n,5413)),"@site/docs/dual-gpu-passthru-desktop/motherboard.mdx",5413],"7f3cffad":[()=>n.e(197).then(n.bind(n,6481)),"@site/docs/dual-gpu-passthru-desktop/BIOS.mdx",6481],a7456010:[()=>n.e(235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e(98).then(n.bind(n,8323)),"@theme/DocVersionRoot",8323],a94703ab:[()=>Promise.all([n.e(869),n.e(48)]).then(n.bind(n,3046)),"@theme/DocRoot",3046],aba21aa0:[()=>n.e(742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],cd5453fa:[()=>n.e(6).then(n.bind(n,5615)),"@site/docs/dual-gpu-passthru-desktop/index.mdx",5615],ce29ed2b:[()=>n.e(247).then(n.bind(n,4458)),"@site/docs/dual-gpu-passthru-desktop/Optional-device.mdx",4458],d528e438:[()=>n.e(822).then(n.bind(n,888)),"@site/docs/dual-gpu-passthru-desktop/Passthrough-GPU.mdx",888],dff1c289:[()=>n.e(724).then(n.bind(n,4126)),"@site/docs/tutorial-extras/manage-docs-versions.md",4126],e44a2883:[()=>n.e(736).then(n.bind(n,3274)),"@site/docs/tutorial-extras/translate-your-site.md",3274],e9c04861:[()=>n.e(343).then(n.bind(n,3844)),"@site/docs/dual-gpu-passthru-desktop/Install-require-packages.mdx",3844],ed285987:[()=>n.e(983).then(n.bind(n,214)),"@site/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux.mdx",214],effe9807:[()=>n.e(937).then(n.bind(n,8663)),"@site/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro.mdx",8663]};var l=n(4848);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(8030),c=n(8917);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>n.e(726).then(n.bind(n,3726)),modules:["@theme/NotFound"],webpack:()=>[3726],render(e,t){const n=e.default;return(0,l.jsx)(c.W,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],m=(0,u.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const s=o.__props;return delete o.__props,(0,l.jsx)(c.W,{value:i,children:(0,l.jsx)(a,{...o,...s,...n})})}})}const p=[{path:"/markdown-page",component:d("/markdown-page","3d7"),exact:!0},{path:"/docs",component:d("/docs","845"),routes:[{path:"/docs",component:d("/docs","446"),routes:[{path:"/docs",component:d("/docs","857"),routes:[{path:"/docs/category/dual-gpu-passthrough-dekstop-user",component:d("/docs/category/dual-gpu-passthrough-dekstop-user","d4d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/category/tutorial---extras",component:d("/docs/category/tutorial---extras","9ad"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/",component:d("/docs/dual-gpu-passthru-desktop/","f4a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/BIOS",component:d("/docs/dual-gpu-passthru-desktop/BIOS","fbe"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro",component:d("/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro","946"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/Configuring-Libvirt",component:d("/docs/dual-gpu-passthru-desktop/Configuring-Libvirt","763"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/CPU",component:d("/docs/dual-gpu-passthru-desktop/CPU","923"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/Download-OS",component:d("/docs/dual-gpu-passthru-desktop/Download-OS","2fc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/GPU",component:d("/docs/dual-gpu-passthru-desktop/GPU","cab"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/Install-require-packages",component:d("/docs/dual-gpu-passthru-desktop/Install-require-packages","73b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux",component:d("/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux","a93"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/InstallOS-win10",component:d("/docs/dual-gpu-passthru-desktop/InstallOS-win10","9dc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/InstallOS-win11",component:d("/docs/dual-gpu-passthru-desktop/InstallOS-win11","94b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/motherboard",component:d("/docs/dual-gpu-passthru-desktop/motherboard","875"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/Optional-device",component:d("/docs/dual-gpu-passthru-desktop/Optional-device","341"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/dual-gpu-passthru-desktop/Passthrough-GPU",component:d("/docs/dual-gpu-passthru-desktop/Passthrough-GPU","a68"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/intro",component:d("/docs/intro","61d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorial-extras/manage-docs-versions",component:d("/docs/tutorial-extras/manage-docs-versions","978"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorial-extras/translate-your-site",component:d("/docs/tutorial-extras/translate-your-site","f9a"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/",component:d("/","e5f"),exact:!0},{path:"*",component:d("*")}]},5770:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(6540),o=n(4848);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},3695:(e,t,n)=>{"use strict";var r=n(6540),o=n(5338),a=n(545),i=n(4625),l=n(4784),s=n(3442);const u=[n(119),n(2461),n(9311),n(1043)];var c=n(8650),d=n(6347),p=n(2831),f=n(4848);function m(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var h=n(1171),g=n(2777),y=n(1306),b=n(2263),v=n(1308),w=n(660),k=n(8767);var x=n(3783),S=n(9136);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.A)(),r=(0,w.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,f.jsxs)(h.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.A)(),{pathname:r}=(0,d.zy)();return e+(0,x.Ks)((0,y.Ay)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,f.jsxs)(h.A,{children:[(0,f.jsx)("meta",{property:"og:url",content:o}),(0,f.jsx)("link",{rel:"canonical",href:o})]})}function C(){const{i18n:{currentLocale:e}}=(0,g.A)(),{metadata:t,image:n}=(0,b.p)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(h.A,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:k.w})]}),n&&(0,f.jsx)(v.be,{image:n}),(0,f.jsx)(_,{}),(0,f.jsx)(E,{}),(0,f.jsx)(S.A,{tag:"default",locale:e}),(0,f.jsx)(h.A,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const A=new Map;var T=n(5770),j=n(3433),P=n(4280);function O(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,P.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),O("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function L(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,p.u)(c.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class R extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.A.canUseDOM?O("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=O("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),L(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(d.qh,{location:t,render:()=>e})})}}const D=R,I="__docusaurus-base-url-issue-banner-suggestion-container";function M(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '__docusaurus-base-url-issue-banner-container';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{let{route:t}=e;return!0===t.exact})))return A.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return A.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,f.jsx)(D,{location:e,children:G})}function V(){return(0,f.jsx)(U.A,{children:(0,f.jsx)(j.l,{children:(0,f.jsxs)(T.x,{children:[(0,f.jsxs)(m,{children:[(0,f.jsx)(B,{}),(0,f.jsx)(C,{}),(0,f.jsx)(z,{}),(0,f.jsx)(H,{})]}),(0,f.jsx)(q,{})]})})})}var W=n(4054);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var K=n(8030);const Y=new Set,Z=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,J={prefetch:e=>{if(!(e=>!X()&&!Z.has(e)&&!Y.has(e))(e))return!1;Y.add(e);const t=(0,p.u)(c.A,e).flatMap((e=>{return t=e.route.path,Object.entries(W).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,K.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!X()&&!Z.has(e))(e)&&(Z.add(e),L(e))},ee=Object.freeze(J);function te(e){let{children:t}=e;return"hash"===l.default.future.experimental_router?(0,f.jsx)(i.I9,{children:t}):(0,f.jsx)(i.Kd,{children:t})}const ne=Boolean(!0);if(s.A.canUseDOM){window.docusaurus=ee;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(a.vd,{children:(0,f.jsx)(te,{children:(0,f.jsx)(V,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(ne)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};L(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},3433:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>p});var r=n(6540),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"intro","docs":[{"id":"dual-gpu-passthru-desktop/BIOS","path":"/docs/dual-gpu-passthru-desktop/BIOS","sidebar":"tutorialSidebar"},{"id":"dual-gpu-passthru-desktop/Bootloader-enable-distro","path":"/docs/dual-gpu-passthru-desktop/Bootloader-enable-distro","sidebar":"tutorialSidebar"},{"id":"dual-gpu-passthru-desktop/Configuring-Libvirt","path":"/docs/dual-gpu-passthru-desktop/Configuring-Libvirt","sidebar":"tutorialSidebar"},{"id":"dual-gpu-passthru-desktop/CPU","path":"/docs/dual-gpu-passthru-desktop/CPU","sidebar":"tutorialSidebar"},{"id":"dual-gpu-passthru-desktop/Download-OS","path":"/docs/dual-gpu-passthru-desktop/Download-OS","sidebar":"tutorialSidebar"},{"id":"dual-gpu-passthru-desktop/GPU","path":"/docs/dual-gpu-passthru-desktop/GPU","sidebar":"tutorialSidebar"},{"id":"dual-gpu-passthru-desktop/index","path":"/docs/dual-gpu-passthru-desktop/","sidebar":"tutorialSidebar"},{"id":"dual-gpu-passthru-desktop/Install-require-packages","path":"/docs/dual-gpu-passthru-desktop/Install-require-packages","sidebar":"tutorialSidebar"},{"id":"dual-gpu-passthru-desktop/InstallOS-GNU-Linux","path":"/docs/dual-gpu-passthru-desktop/InstallOS-GNU-Linux","sidebar":"tutorialSidebar"},{"id":"dual-gpu-passthru-desktop/InstallOS-win10","path":"/docs/dual-gpu-passthru-desktop/InstallOS-win10","sidebar":"tutorialSidebar"},{"id":"dual-gpu-passthru-desktop/InstallOS-win11","path":"/docs/dual-gpu-passthru-desktop/InstallOS-win11","sidebar":"tutorialSidebar"},{"id":"dual-gpu-passthru-desktop/motherboard","path":"/docs/dual-gpu-passthru-desktop/motherboard","sidebar":"tutorialSidebar"},{"id":"dual-gpu-passthru-desktop/Optional-device","path":"/docs/dual-gpu-passthru-desktop/Optional-device","sidebar":"tutorialSidebar"},{"id":"dual-gpu-passthru-desktop/Passthrough-GPU","path":"/docs/dual-gpu-passthru-desktop/Passthrough-GPU","sidebar":"tutorialSidebar"},{"id":"intro","path":"/docs/intro","sidebar":"tutorialSidebar"},{"id":"tutorial-extras/manage-docs-versions","path":"/docs/tutorial-extras/manage-docs-versions","sidebar":"tutorialSidebar"},{"id":"tutorial-extras/translate-your-site","path":"/docs/tutorial-extras/translate-your-site","sidebar":"tutorialSidebar"},{"id":"/category/dual-gpu-passthrough-dekstop-user","path":"/docs/category/dual-gpu-passthrough-dekstop-user","sidebar":"tutorialSidebar"},{"id":"/category/tutorial---extras","path":"/docs/category/tutorial---extras","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/docs/intro","label":"intro"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(2654);const s=JSON.parse('{"docusaurusVersion":"3.6.3","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.6.3"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.6.3"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.6.3"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.6.3"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.6.3"}}}');var u=n(4848);const c={siteConfig:o.default,siteMetadata:s,globalData:a,i18n:i,codeTranslations:l},d=r.createContext(c);function p(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},6941:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(6540),o=n(3442),a=n(1171),i=n(3783),l=n(1771),s=n(8917),u=n(4848);function c(e){let{error:t,tryAgain:n}=e;return(0,u.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,u.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,u.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,u.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function p(e){let{children:t}=e;return(0,u.jsx)(s.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)(p,{children:(0,u.jsxs)(h,{fallback:()=>(0,u.jsx)(c,{error:t,tryAgain:n}),children:[(0,u.jsx)(a.A,{children:(0,u.jsx)("title",{children:"Page Error"})}),(0,u.jsx)(l.A,{children:(0,u.jsx)(c,{error:t,tryAgain:n})})]})})}const m=e=>(0,u.jsx)(f,{...e});class h extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??m)(e)}return e??null}}},3442:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},1171:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);var r=n(545),o=n(4848);function a(e){return(0,o.jsx)(r.mg,{...e})}},8957:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(6540),o=n(4625),a=n(3783),i=n(2777),l=n(3091),s=n(3442),u=n(2456),c=n(1306),d=n(4848);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:v}=(0,i.A)(),{trailingSlash:w,baseUrl:k}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,c.hH)(),E=(0,u.A)(),_=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>_.current));const C=p||f;const A=(0,l.A)(C),T=C?.replace("pathname://","");let j=void 0!==T?(P=T,y&&(e=>e.startsWith("/"))(P)?S(P):P):void 0;var P;"hash"===x&&j?.startsWith("./")&&(j=j?.slice(1)),j&&A&&(j=(0,a.Ks)(j,{trailingSlash:w,baseUrl:k}));const O=(0,r.useRef)(!1),N=n?o.k2:o.N_,L=s.A.canUseIntersectionObserver,R=(0,r.useRef)(),D=()=>{O.current||null==j||(window.docusaurus.preload(j),O.current=!0)};(0,r.useEffect)((()=>(!L&&A&&s.A.canUseDOM&&null!=j&&window.docusaurus.prefetch(j),()=>{L&&R.current&&R.current.disconnect()})),[R,j,L,A]);const I=j?.startsWith("#")??!1,M=!b.target||"_self"===b.target,F=!j||!A||!M||I&&"hash"!==x;g||!I&&F||E.collectLink(j),b.id&&E.collectAnchor(b.id);const z={};return F?(0,d.jsx)("a",{ref:_,href:j,...C&&!A&&{target:"_blank",rel:"noopener noreferrer"},...b,...z}):(0,d.jsx)(N,{...b,onMouseEnter:D,onTouchStart:D,innerRef:e=>{_.current=e,L&&e&&A&&(R.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(R.current.unobserve(e),R.current.disconnect(),null!=j&&window.docusaurus.prefetch(j))}))})),R.current.observe(e))},to:j,...n&&{isActive:h,activeClassName:m},...z})}const f=r.forwardRef(p)},4049:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=()=>null},5122:(e,t,n)=>{"use strict";n.d(t,{A:()=>u,T:()=>s});var r=n(6540),o=n(4848);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(2654);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},536:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},3091:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>o,z:()=>r})},1306:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>l,hH:()=>i});var r=n(6540),o=n(2777),a=n(3091);function i(){const{siteConfig:e}=(0,o.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,l=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:l}=e;if(!r||r.startsWith("#")||(0,a.z)(r))return r;if("hash"===l)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const s=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+s:s}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:l}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},2456:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540);n(4848);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},2777:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(3433);function a(){return(0,r.useContext)(o.o)}},6916:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(5770);function a(){return(0,r.useContext)(o.o)}},4280:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540);const o=n(3442).A.canUseDOM?r.useLayoutEffect:r.useEffect},8030:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const l=o?`${o}.${a}`:a;r(i)?e(i,l):t[l]=i}))}(e),t}},8917:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>a});var r=n(6540),o=n(4848);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:l,children:t})}},4075:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>g,g1:()=>b});var r=n(6540),o=n(9752),a=n(536),i=n(2263),l=n(4031),s=n(7893),u=n(4848);const c=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,l.Wf)(c(e),{persistence:t}).set(n)},read:(e,t)=>(0,l.Wf)(c(e),{persistence:t}).get(),clear:(e,t)=>{(0,l.Wf)(c(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const f=r.createContext(null);function m(){const e=(0,o.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,l]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return(0,u.jsx)(f.Provider,{value:n,children:t})}function g(e){let{children:t}=e;return(0,u.jsx)(h,{children:t})}function y(){const e=(0,r.useContext)(f);if(!e)throw new s.dV("DocsPreferredVersionContextProvider");return e}function b(e){void 0===e&&(e=a.W);const t=(0,o.ht)(e),[n,i]=y(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},8366:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,t:()=>u});var r=n(6540),o=n(7893),a=n(4848);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(l.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(l);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},381:(e,t,n)=>{"use strict";n.d(t,{d1:()=>C,Nr:()=>f,w8:()=>y,$S:()=>m,cC:()=>p,B5:()=>_,Vd:()=>x,QB:()=>E,fW:()=>S,OF:()=>k,Y:()=>v});var r=n(6540),o=n(6347),a=n(2831),i=n(9752),l=n(8578);function s(e){return Array.from(new Set(e))}var u=n(4075),c=n(8542),d=n(8366);function p(e){const t=(0,c.r)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function f(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=f(t);if(e)return e}}(e):void 0:e.href}function m(){const{pathname:e}=(0,o.zy)(),t=(0,d.t)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=w({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const h=(e,t)=>void 0!==e&&(0,l.ys)(e,t),g=(e,t)=>e.some((e=>y(e,t)));function y(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||g(e.items,t))}function b(e,t){switch(e.type){case"category":return y(e,t)||e.items.some((e=>b(e,t)));case"link":return!e.unlisted||y(e,t);default:return!0}}function v(e,t){return(0,r.useMemo)((()=>e.filter((e=>b(e,t)))),[e,t])}function w(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,l.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,l.ys)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function k(){const e=(0,d.t)(),{pathname:t}=(0,o.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?w({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,u.g1)(e),o=(0,i.r7)(e);return(0,r.useMemo)((()=>s([t,n,o].filter(Boolean))),[t,n,o])}function S(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function E(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${s(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function _(e){let{route:t}=e;const n=(0,o.zy)(),r=(0,c.r)(),i=t.routes,l=i.find((e=>(0,o.B6)(n.pathname,e)));if(!l)return null;const s=l.sidebar,u=s?r.docsSidebars[s]:void 0;return{docElement:(0,a.v)(i),sidebarName:s,sidebarItems:u}}function C(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!f(e)))}},8542:(e,t,n)=>{"use strict";n.d(t,{n:()=>l,r:()=>s});var r=n(6540),o=n(7893),a=n(4848);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},9752:(e,t,n)=>{"use strict";n.d(t,{zK:()=>h,vT:()=>p,Gy:()=>c,HW:()=>g,ht:()=>d,r7:()=>m,jh:()=>f});var r=n(6347),o=n(2777),a=n(536);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>{try{return function(e,t,n){void 0===t&&(t=a.W),void 0===n&&(n={});const r=i(e),o=r?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function p(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function f(e){return d(e).versions}function m(e){const t=d(e);return l(t)}function h(e){const t=d(e),{pathname:n}=(0,r.zy)();return s(t,n)}function g(e){const t=d(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},9311:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(5947),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},2461:(e,t,n)=>{"use strict";var r=n(1765),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t,a=globalThis.Prism;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(9700),n(8692)(`./prism-${e}`)})),delete globalThis.Prism,void 0!==a&&(globalThis.Prism=e)}(r.My)},4794:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var r=n(4164),o=n(5122),a=n(2263),i=n(8957),l=n(2456);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var u=n(4848);function c(e){let{as:t,id:n,...c}=e;const d=(0,l.A)(),{navbar:{hideOnScroll:p}}=(0,a.p)();if("h1"===t||!n)return(0,u.jsx)(t,{...c,id:void 0});d.collectAnchor(n);const f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,u.jsxs)(t,{...c,className:(0,r.A)("anchor",p?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,u.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},885:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(4848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},1771:(e,t,n)=>{"use strict";n.d(t,{A:()=>ft});var r=n(6540),o=n(4164),a=n(6941),i=n(1308),l=n(6347),s=n(5122),u=n(9433),c=n(4848);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,l.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,u.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var g=n(9872),y=n(8767);const b={skipToContent:"skipToContent_fXgn"};function v(){return(0,c.jsx)(h,{className:b.skipToContent})}var w=n(2263),k=n(7664);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:o,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,o.A)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const A={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function T(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.M)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,c.jsxs)("div",{className:A.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,c.jsx)("div",{className:A.announcementBarPlaceholder}),(0,c.jsx)(C,{className:A.announcementBarContent}),a&&(0,c.jsx)(E,{onClick:n,className:A.announcementBarClose})]})}var j=n(1163),P=n(4319);var O=n(7893),N=n(6829);const L=r.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,j.M)(),t=(0,N.YL)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,O.ZC)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,c.jsx)(L.Provider,{value:n,children:t})}function D(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function I(){const e=(0,r.useContext)(L);if(!e)throw new O.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,N.YL)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:D(a)})),[o,a,t])}function M(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=I();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var F=n(1720),z=n(6916);function B(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function U(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,z.A)(),l=(0,s.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,o.A)($.toggle,t),children:(0,c.jsxs)("button",{className:(0,o.A)("clean-btn",$.toggleButton,!i&&$.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite","aria-pressed":"dark"===r?"true":"false",children:[(0,c.jsx)(B,{className:(0,o.A)($.toggleIcon,$.lightToggleIcon)}),(0,c.jsx)(U,{className:(0,o.A)($.toggleIcon,$.darkToggleIcon)})]})})}const G=r.memo(q),H={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,F.G)();return r?null:(0,c.jsx)(G,{className:t,buttonClassName:"dark"===n?H.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var W=n(2253);function Q(){return(0,c.jsx)(W.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,j.M)();return(0,c.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,c.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(Q,{}),(0,c.jsx)(V,{className:"margin-right--md"}),(0,c.jsx)(K,{})]})}var Z=n(8957),X=n(1306),J=n(3091);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(885);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}=e;const d=(0,X.Ay)(r),p=(0,X.Ay)(t),f=(0,X.Ay)(o,{forcePrependBaseUrl:!0}),m=a&&o&&!(0,J.A)(o),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[a,m&&(0,c.jsx)(te.A,{...l&&{width:12,height:12}})]})};return o?(0,c.jsx)(Z.A,{href:s?f:o,...u,...h}):(0,c.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...u,...h})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,c.jsx)(ne,{className:(0,o.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,o.A)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,c.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(3107),le=n(8578),se=n(2777);const ue="dropdownNavbarItemMobile_S0Fm";function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.ys)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...l}=e;const s=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,c.jsxs)("div",{ref:s,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,o.A)("navbar__link",a),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:l.children??l.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(_e,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:a,onClick:i,...s}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.A)(),{pathname:t}=(0,l.zy)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[u,d,m]),(0,c.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,c.jsx)(ne,{role:"button",className:(0,o.A)(ue,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,c.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(_e,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,c.jsx)(r,{...n})}var me=n(660);function he(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const ge="iconLanguage_nlXk";var ye=n(4049);const be={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ve(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,o.A)(n,be.navbarSearchContainer),children:t})}var we=n(9752),ke=n(381);var xe=n(4075);function Se(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const Ee={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,se.A)(),p=(0,me.o)(),{search:f,hash:m}=(0,l.zy)(),h=[...n,...u.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],g=t?(0,s.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(fe,{...a,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(he,{className:ge}),g]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(ve,{className:n,children:(0,c.jsx)(ye.A,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,c.jsx)(i,{className:(0,o.A)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,we.zK)(r),i=(0,ke.QB)(t,r),l=a?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,c.jsx)(ae,{exact:!0,...o,isActive:()=>l||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,we.zK)(r),i=(0,ke.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,ke.Vd)(r)[0],i=t??a.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,c.jsx)(ae,{...o,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:u,hash:d}=(0,l.zy)(),p=(0,we.zK)(n),f=(0,we.jh)(n),{savePreferredVersionName:m}=(0,xe.g1)(n),h=[...o,...f.map((function(e){const t=Se(e,p);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...a],g=(0,ke.Vd)(n)[0],y=t&&h.length>1?(0,s.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):g.label,b=t&&h.length>1?void 0:Se(g,p).path;return h.length<=1?(0,c.jsx)(ae,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(fe,{...i,mobile:t,label:y,to:b,items:h,isActive:r?()=>!1:void 0})}};function _e(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Ee[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(o,{...n})}function Ce(){const e=(0,j.M)(),t=(0,w.p)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(_e,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Ae(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(s.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Te(){const e=0===(0,w.p)().navbar.items.length,t=I();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(Ae,{onClick:()=>t.hide()}),t.content]})}function je(){const e=(0,j.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,c.jsx)(M,{header:(0,c.jsx)(Y,{}),primaryMenu:(0,c.jsx)(Ce,{}),secondaryMenu:(0,c.jsx)(Te,{})}):null}const Pe={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Oe(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function Ne(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,w.p)(),i=(0,j.M)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,P.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:l,"aria-label":(0,s.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",n&&[Pe.navbarHideable,!d&&Pe.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(Oe,{onClick:i.toggle}),(0,c.jsx)(je,{})]})}var Le=n(3783);const Re={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function De(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(s.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Ie(e){let{error:t}=e;const n=(0,Le.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:Re.errorBoundaryError,children:n})}class Me extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Fe="right";function ze(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Be(){const{toggle:e,shown:t}=(0,j.M)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,s.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,c.jsx)(ze,{})})}const Ue={colorModeToggle:"colorModeToggle_DEke"};function $e(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(Me,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,c.jsx)(_e,{...e})},t)))})}function qe(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Ge(){const e=(0,j.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Fe)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,c.jsx)(qe,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Be,{}),(0,c.jsx)(Q,{}),(0,c.jsx)($e,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)($e,{items:r}),(0,c.jsx)(V,{className:Ue.colorModeToggle}),!o&&(0,c.jsx)(ve,{children:(0,c.jsx)(ye.A,{})})]})})}function He(){return(0,c.jsx)(Ne,{children:(0,c.jsx)(Ge,{})})}function Ve(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,l=(0,X.Ay)(n),s=(0,X.Ay)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(Z.A,{className:"footer__link-item",...r?{href:a?s:r}:{to:l},...i,children:[o,r&&!(0,J.A)(r)&&(0,c.jsx)(te.A,{})]})}function We(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(Ve,{item:t})},t.href??t.to)}function Qe(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(We,{item:e},t)))})]})}function Ke(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(Qe,{column:e},t)))})}function Ye(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ze(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(Ve,{item:t})}function Xe(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(Ze,{item:e}),t.length!==n+1&&(0,c.jsx)(Ye,{})]},n)))})})}function Je(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(Ke,{columns:t}):(0,c.jsx)(Xe,{links:t})}var et=n(1695);const tt="footerLogoLink_BH7S";function nt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(et.A,{className:(0,o.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function rt(e){let{logo:t}=e;return t.href?(0,c.jsx)(Z.A,{href:t.href,className:tt,target:t.target,children:(0,c.jsx)(nt,{logo:t})}):(0,c.jsx)(nt,{logo:t})}function ot(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function at(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,c.jsx)("footer",{className:(0,o.A)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function it(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,c.jsx)(at,{style:o,links:n&&n.length>0&&(0,c.jsx)(Je,{links:n}),logo:r&&(0,c.jsx)(rt,{logo:r}),copyright:t&&(0,c.jsx)(ot,{copyright:t})})}const lt=r.memo(it),st=(0,O.fM)([F.a,k.o,P.Tv,xe.VQ,i.Jx,function(e){let{children:t}=e;return(0,c.jsx)(N.y_,{children:(0,c.jsx)(j.e,{children:(0,c.jsx)(R,{children:t})})})}]);function ut(e){let{children:t}=e;return(0,c.jsx)(st,{children:t})}var ct=n(4794);function dt(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(ct.A,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(De,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(Ie,{error:t})})]})})})}const pt={mainWrapper:"mainWrapper_z2l0"};function ft(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.J)(),(0,c.jsxs)(ut,{children:[(0,c.jsx)(i.be,{title:l,description:s}),(0,c.jsx)(v,{}),(0,c.jsx)(T,{}),(0,c.jsx)(He,{}),(0,c.jsx)("div",{id:d,className:(0,o.A)(g.G.wrapper.main,pt.mainWrapper,r),children:(0,c.jsx)(a.A,{fallback:e=>(0,c.jsx)(dt,{...e}),children:t})}),!n&&(0,c.jsx)(lt,{})]})}},2253:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var r=n(8957),o=n(1306),a=n(2777),i=n(2263),l=n(1695),s=n(4848);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Ay)(t.src),dark:(0,o.Ay)(t.srcDark||t.src)},i=(0,s.jsx)(l.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,a.A)(),{navbar:{title:n,logo:l}}=(0,i.p)(),{imageClassName:c,titleClassName:d,...p}=e,f=(0,o.Ay)(l?.href||"/"),m=n?"":t,h=l?.alt??m;return(0,s.jsxs)(r.A,{to:f,...p,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(u,{logo:l,alt:h,imageClassName:c}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},9136:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);var r=n(1171),o=n(4848);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},1695:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(6540),o=n(4164),a=n(6916),i=n(1720);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(4848);function u(e){let{className:t,children:n}=e;const u=(0,a.A)(),{colorMode:c}=(0,i.G)();return(0,s.jsx)(s.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.A)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:a},e)}))})}function c(e){const{sources:t,className:n,alt:r,...o}=e;return(0,s.jsx)(u,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},3107:(e,t,n)=>{"use strict";n.d(t,{N:()=>y,u:()=>u});var r=n(6540),o=n(3442),a=n(4280),i=n(5496),l=n(4848);const s="ease-in-out";function u(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function m(e){if(!o.A.canUseDOM)return e?c:d}function h(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:s,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return f({collapsibleRef:c,collapsed:n,animation:a}),(0,l.jsx)(t,{ref:c,style:u?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(c.current,n),i?.(n))},className:s,children:o})}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[s,u]=(0,r.useState)(t);return(0,a.A)((()=>{t||i(!0)}),[t]),(0,a.A)((()=>{o&&u(t)}),[o,t]),o?(0,l.jsx)(h,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?g:h;return(0,l.jsx)(r,{...n})}},7664:(e,t,n)=>{"use strict";n.d(t,{M:()=>h,o:()=>m});var r=n(6540),o=n(6916),a=n(4031),i=n(7893),l=n(2263),s=n(4848);const u=(0,a.Wf)("docusaurus.announcement.dismiss"),c=(0,a.Wf)("docusaurus.announcement.id"),d=()=>"true"===u.get(),p=e=>u.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.p)(),t=(0,o.A)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&p(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(f.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(f);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},1720:(e,t,n)=>{"use strict";n.d(t,{G:()=>y,a:()=>g});var r=n(6540),o=n(3442),a=n(7893),i=n(4031),l=n(2263),s=n(4848);const u=r.createContext(void 0),c="theme",d=(0,i.Wf)(c),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>o.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),h=e=>{d.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.p)(),[o,a]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&h(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[o,i])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},1163:(e,t,n)=>{"use strict";n.d(t,{e:()=>f,M:()=>m});var r=n(6540),o=n(6829),a=n(8726),i=n(6347),l=n(7893);function s(e){!function(e){const t=(0,i.W6)(),n=(0,l._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(2263),c=n(4848);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,u.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const c=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function f(e){let{children:t}=e;const n=p();return(0,c.jsx)(d.Provider,{value:n,children:t})}function m(){const e=r.useContext(d);if(void 0===e)throw new l.dV("NavbarMobileSidebarProvider");return e}},6829:(e,t,n)=>{"use strict";n.d(t,{GX:()=>u,YL:()=>s,y_:()=>l});var r=n(6540),o=n(7893),a=n(4848);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,l]=a,s=(0,o.Be)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},8767:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var r=n(6540);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},8726:(e,t,n)=>{"use strict";n.d(t,{l:()=>l});var r=n(6540),o=n(3442);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},9872:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},5496:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},1308:(e,t,n)=>{"use strict";n.d(t,{e3:()=>f,be:()=>d,Jx:()=>m});var r=n(6540),o=n(4164),a=n(1171),i=n(8917);function l(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(1306),u=n(2777);var c=n(4848);function d(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const l=function(e){const{siteConfig:t}=(0,u.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.hH)(),p=o?d(o,{absolute:!0}):void 0;return(0,c.jsxs)(a.A,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,c.jsx)("meta",{property:"og:image",content:p}),p&&(0,c.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),l=(0,o.A)(i,t);return(0,c.jsxs)(p.Provider,{value:l,children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("html",{className:l})}),n]})}function m(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(f,{className:(0,o.A)(r,a),children:t})}},7893:(e,t,n)=>{"use strict";n.d(t,{Be:()=>u,ZC:()=>l,_q:()=>i,dV:()=>s,fM:()=>c});var r=n(6540),o=n(4280),a=n(4848);function i(e){const t=(0,r.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},8578:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>l,ys:()=>i});var r=n(6540),o=n(8650),a=n(2777);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,a.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},4319:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>u,gk:()=>f});var r=n(6540),o=n(3442),a=n(6916),i=(n(4280),n(7893)),l=n(4848);const s=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const d=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),o=(0,r.useRef)(d()),a=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,a.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},4031:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>u});n(6540);const r=JSON.parse('{"N":"localStorage","M":""}'),o=r.N;function a(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function i(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,l||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),l=!0),null}var t}let l=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){const n=`${e}${r.M}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const o=i(t?.persistence);return null===o?s:{get:()=>{try{return o.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=o.getItem(n);o.setItem(n,e),a({key:n,oldValue:t,newValue:e,storage:o})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=o.getItem(n);o.removeItem(n),a({key:n,oldValue:e,newValue:null,storage:o})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===o&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}},660:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(2777),o=n(6347),a=n(3783);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.A)(),{pathname:s}=(0,o.zy)(),u=(0,a.Ks)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},9433:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(6540),o=n(6347),a=n(7893);function i(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),i=(0,a._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},2263:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var r=n(2777);function o(){return(0,r.A)().siteConfig.themeConfig}},7958:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),l="/"===i||i===r?i:(s=i,u=n,u?o(s):a(s));var s,u;return e.replace(i,l)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a;const r=n(6009);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}},2348:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},3783:(e,t,n)=>{"use strict";t.rA=t.Ks=void 0;const r=n(1635);var o=n(7958);Object.defineProperty(t,"Ks",{enumerable:!0,get:function(){return r.__importDefault(o).default}});var a=n(6009);var i=n(2348);Object.defineProperty(t,"rA",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},6009:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},1513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>C,yJ:()=>f,sC:()=>T,AO:()=>p});var r=n(8168);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;p--){var f=i[p];"."===f?a(i,p):".."===f?(a(i,p),d++):d&&(a(i,p),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(1561);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,h(),w.location);c.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(4363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=f(n);o&&o!==m&&e(t,o,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),h=s(n),g=0;g{"use strict";e.exports=function(e,t,n,r,o,a,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,o,a,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},4634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},119:(e,t,n)=>{"use strict";n.r(t)},1043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),u=a.querySelector(r.barSelector),c=r.speed,d=r.easing;return a.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){s(a,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),l=e?"-100":a(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function u(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=p(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},6969:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},8722:(e,t,n)=>{const r=n(6969),o=n(8380),a=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...a,...Object.keys(Prism.languages)];o(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(3157).resolve(t)],delete Prism.languages[e],n(3157)(t),a.add(e)}))}i.silent=!1,e.exports=i},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(r,l));)++l;return i[l]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=a.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=a[o],d=n.tokenStack[c],p="string"==typeof u?u:u.content,f=t(r,c),m=p.indexOf(f);if(m>-1){++o;var h=p.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=p.substring(m+f.length),b=[];h&&b.push.apply(b,i([h])),b.push(g),y&&b.push.apply(b,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},8692:(e,t,n)=>{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=8692},3157:(e,t,n)=>{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=3157},8380:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var l={},s=e[r];if(s){function u(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in o(t,a),l[t]=!0,n[t])l[i]=!0}t(s.require,u),t(s.optional,u),t(s.modify,u)}n[r]=l,a.pop()}}return function(e){var t=n[e];return t||(o(e,r),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(a,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var o in r)if("meta"!=o){var a=r[o];t[o]="string"==typeof a?{title:a}:a}}return t}(a),u=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var o in n={},e){var a=e[o];t(a&&a.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}return n[r]||r}}(s);i=i.map(u),l=(l||[]).map(u);var c=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(c[t]=!0,e(t))}))}));for(var p,f=r(s),m=c;o(m);){for(var h in p={},m){var g=s[h];t(g&&g.modify,(function(e){e in d&&(p[e]=!0)}))}for(var y in d)if(!(y in c))for(var b in f(y))if(b in c){p[y]=!0;break}for(var v in m=p)c[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,o){var a=o?o.series:void 0,i=o?o.parallel:e,l={},s={};function u(e){if(e in l)return l[e];s[e]=!0;var o,c=[];for(var d in t(e))d in n&&c.push(d);if(0===c.length)o=r(e);else{var p=i(c.map((function(e){var t=u(e);return delete s[e],t})));a?o=a(p,(function(){return r(e)})):r(e)}return l[e]=o}for(var c in n)u(c);var d=[];for(var p in s)d.push(l[p]);return i(d)}(f,c,t,n)}};return w}}();e.exports=t},2694:(e,t,n)=>{"use strict";var r=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,t,n)=>{"use strict";var r=n(6540),o=n(9982);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n