بعد انتقال ناجح إلى مطوري برامج Linux ، جاءت اللحظة التي حدث فيها القليل من العمل ، وغيرت أيضًا نظام التشغيل الرئيسي. نشأت المخاوف من برنامج necro-platform لدعم المشروعات الحالية. جزء من البرنامج يعمل من خلال النبيذ. ومع ذلك ، اتضح أن بعض البرامج ترفض العمل تحت النبيذ. تقرر تشغيل البرنامج على الجهاز الظاهري QEMU + KVM. بدأ تشغيل البرنامج ، لكن العمل فيه كان غير مريح إلى حد ما. لا تختلف بطاقات الفيديو الافتراضية للبرامج في الأداء ، كما أن دعم الرسومات ثلاثية الأبعاد متواضع للغاية. اضطررت للكشف عن الدف والبحث عن مخرج.
تخصيص بطاقة فيديو منفصلة لنظام الضيف!
لم يستغرق الأمر وقتًا طويلاً لإيجاد مخرج ، لكن فكرة ضرب الدف باستخدام كشاف تبين أنها غريبة للغاية. بالنسبة إلى موضوع إعادة توجيه بطاقات الفيديو إلى جهاز افتراضي ، فإن الإنترنت مليء بالتعليمات في أوقات مختلفة ولأجهزة مختلفة. ما هي مقالة ضخمة على موقع Arch Linux
[0] . سأقدم نسخة مختصرة من التعليمات لإعادة توجيه بطاقة الفيديو.
0. تحقق من أن الجهاز يدعم IOMMU
على سبيل المثال ، هنا
[1] .
1. ندرج دعم IOMMU في النواة.
القط / الخ / الافتراضي / اليرقةGRUB_CMDLINE_LINUX_DEFAULT = "البداية الهادئة amd_iommu = on"
او
GRUB_CMDLINE_LINUX_DEFAULT = "البداية الهادئة intel_iommu = on"
لا تنسى
sudo update-grub
.
2. نختار بطاقة الفيديو من السائق
نحن نبحث عن الأجهزة اللازمة ونرى ما هي برامج التشغيل التي تستخدمها.
lspci -nnk04: 00.0 وحدة تحكم متوافقة مع VGA [0300]: NVIDIA Corporation GT218 [GeForce 210] [ 10de: 0a65 ] (rev a2)
سائق Kernel قيد الاستخدام: nouveau
وحدات Kernel: nvidiafb ، nouveau
04: 00.1 جهاز الصوت [0403]: جهاز التحكم الصوتي عالي الوضوح NVIDIA Corporation [ 10de: 0be3 ] ( المراجعة a1)
برنامج تشغيل Kernel قيد الاستخدام: snd_hda_intel
وحدات النواة: snd_hda_intel
إضافة وحدات VFIO بحيث يتم تحميلها في وقت التمهيد.
القط / الخ / وحدات | grep vfiovfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
نقوم بتكوين وحدة VFIO بحيث تعترض الأجهزة ، مما يمنع برامج التشغيل الرئيسية من التحميل. إذا لزم الأمر ، أضف إلى قائمة التشغيل الرئيسية لبرنامج التشغيل.
cat /etc/modprobe.d/vfio.confخيارات vfio-pci = 10de: 0a65،10de: 0be3
القائمة السوداء الحديثة
3. إعادة تشغيل وتحقق من أن كل شيء يعمل بها
تحولت IOMMU.
dmesg | grep -e DMAR -e IOMMU -e AMD-ViDMAR: تقنية المحاكاة الافتراضية من Intel® للإخراج / الإخراج المباشر
او
AMD-Vi: وجدت IOMMU في 0000: 00: 00.2 الحد الأقصى 0x40
AMD-Vi: تم تمكين إعادة تعيين المقاطعة
AMD-Vi: تمكين التدفق المتقطع IO / TLB
سقطت الأجهزة المركبة في مجموعة واحدة.
في / sys / kernel / iommu_groups / * ؛ هل تجد $ a-type l؛ عمله | نوع - نسخة الفرز/sys/kernel/iommu_groups/15/devices/0000:01:00.0
/sys/kernel/iommu_groups/15/devices/0000:01:00.1
/sys/kernel/iommu_groups/16/devices/0000:02:00.0
/sys/kernel/iommu_groups/17/devices/0000:03:00.0
/sys/kernel/iommu_groups/18/devices/0000:04:00.0
/sys/kernel/iommu_groups/18/devices/0000:04:00.1
KVM و VFIO تحميل برامج التشغيل.
lsmod | grep -e kvm -e vfio kvm_amd 94208 0
ccp 90112 1 kvm_amd
kvm 622592 1 kvm_amd
vfio_pci 45056 0
vfio_virqfd 16384 1 vfio_pci
irqbypass 16384 2 vfio_pci ، kvm
vfio_iommu_type1 24576 0
vfio 28672 2 vfio_iommu_type1، vfio_pci
بطاقة الفيديو لنظام التشغيل الضيف التي استولت عليها VFIO.
lspci -nnk04: 00.0 وحدة تحكم متوافقة مع VGA [0300]: NVIDIA Corporation GT218 [GeForce 210] [ 10de: 0a65 ] (rev a2)
برنامج تشغيل Kernel قيد الاستخدام: vfio-pci
وحدات Kernel: nvidiafb ، nouveau
04: 00.1 جهاز الصوت [0403]: جهاز التحكم الصوتي عالي الوضوح NVIDIA Corporation [ 10de: 0be3 ] ( المراجعة a1)
برنامج تشغيل Kernel قيد الاستخدام: vfio-pci
وحدات النواة: snd_hda_intel
4. تكوين QEMU وإطلاق نظام التشغيل الضيف
تثبيت ، إن لم تكن مثبتة بالفعلsudo apt تثبيت qemu-kvm qemu-utils seabios ovmf virt-viewer
قم بإنشاء قرص حيث سيتم تثبيت نظام التشغيل الضيفqemu-img create -f raw -o preallocation = guest.img 50G الكامل
او
fallocate -l 50G guest.img
نبدأ تشغيل الجهاز الظاهري دون إعادة توجيه بطاقة الفيديو لتثبيت نظام التشغيل الضيف. نظرًا لوجود نظرة على Looking Glass ، فإنه بالنسبة إلى الضيف ، يجب اختيار Windows 10. كما يتم دعم Windows 8 / 8.1 وفقًا لأحدث البيانات.
vga_qxl.sh#! / بن / باش
توابل المشاهد عن بعد: //127.0.0.1: 5900 &
sudo qemu-system-x86_64 \
، آلة Q35 ، تسارع = kvm \
- تمكين kvm \
-مضيف وحدة المعالجة المركزية ، kvm = إيقاف ، تحقق \
-smp cpus = 2 ، المقابس = 1 ، النوى = 2 ، المواضيع = 1 \
- م 6 غرام \
-rtc base = التوقيت المحلي ، الساعة = المضيف \
- القرص piix3-usb-uhci \
- القرص USB- قرص \
-drive إذا = pflash ، format = raw ، للقراءة فقط ، file = / usr / share / OVMF / OVMF_CODE.fd \
-drive file = 'w10.iso' ، if = ide ، format = raw ، index = 2 ، media = cdrom ، cache = none \
-drive file = 'virtio-win-0.1.141_st.iso' ، if = ide ، format = raw ، index = 3 ، media = cdrom ، cache = none \
-drive file = 'guest.img ، if = ide ، format = raw ، index = 4 ، media = disk ، cache = writeback \
-vga qxl \
منفذ التوابل = 5900 ، addr = 127.0.0.1 ، تعطيل إصدار التذاكر \
-مراقبة stdio \
-netdev user ، id = n1 ، ipv6 = off ، smb = "/ media / user / data" \
- القرص e1000 ، netdev = n1 ، mac = 67: 77: 78: 88: 89: 99 \
"$ @"
5. نعيد توجيه بطاقة الفيديو إلى نظام التشغيل الضيف
للبدء ، قم بالتمهيد باستخدام بطاقتي فيديو. نتطلع إلى ظهور البطاقة المعاد توجيهها في النظام ، ووضع برامج التشغيل عليها والتأكد من أنها تعمل.
vga_qxl_pass.sh#! / بن / باش
توابل المشاهد عن بعد: //127.0.0.1: 5900 &
sudo qemu-system-x86_64 \
، آلة Q35 ، تسارع = kvm \
- تمكين kvm \
-مضيف وحدة المعالجة المركزية ، kvm = إيقاف ، تحقق \
-smp cpus = 2 ، المقابس = 1 ، النوى = 2 ، المواضيع = 1 \
- م 6 غرام \
-rtc base = التوقيت المحلي ، الساعة = المضيف \
- القرص piix3-usb-uhci \
- القرص USB- قرص \
-drive إذا = pflash ، format = raw ، للقراءة فقط ، file = / usr / share / OVMF / OVMF_CODE.fd \
-drive file = 'virtio-win-0.1.141_st.iso' ، if = ide ، format = raw ، index = 3 ، media = cdrom ، cache = none \
-drive file = 'guest.img ، if = ide ، format = raw ، index = 4 ، media = disk ، cache = writeback \
-vga qxl \
منفذ التوابل = 5900 ، addr = 127.0.0.1 ، تعطيل إصدار التذاكر \
- القرص ioh3420 ، ناقل = pcie.0 ، addr = 1c.0 ، متعدد الوظائف = على ، منفذ = 1 ، هيكل = 1 ، معرف = الجذر \
- جهاز vfio-pci ، مضيف = 04: 00.0 ، ناقل = الجذر ، addr = 00.0 ، multifunction = on \
- جهاز vfio-pci ، مضيف = 04: 00.1 ، ناقل = جذر ، addr = 00.1 \
-مراقبة stdio \
-netdev user ، id = n1 ، ipv6 = off ، smb = "/ media / user / data" \
- القرص e1000 ، netdev = n1 ، mac = 67: 77: 78: 88: 89: 99 \
"$ @"
بعد كيفية عمل بطاقة الفيديو المعاد توجيهها ، وفي مدير الجهاز يكتب "الجهاز يعمل بشكل جيد" ، نبدأ تشغيل الجهاز الظاهري فقط مع بطاقة الفيديو المعاد توجيهها.
vga_pass.sh#! / بن / باش
sudo qemu-system-x86_64 \
، آلة Q35 ، تسارع = kvm \
- تمكين kvm \
-مضيف وحدة المعالجة المركزية ، kvm = إيقاف ، تحقق \
-smp cpus = 2 ، المقابس = 1 ، النوى = 2 ، المواضيع = 1 \
- م 6 غرام \
-rtc base = التوقيت المحلي ، الساعة = المضيف \
- القرص piix3-usb-uhci \
- القرص USB- قرص \
-drive إذا = pflash ، format = raw ، للقراءة فقط ، file = / usr / share / OVMF / OVMF_CODE.fd \
-drive file = 'virtio-win-0.1.141_st.iso' ، if = ide ، format = raw ، index = 3 ، media = cdrom ، cache = none \
-drive file = 'guest.img ، if = ide ، format = raw ، index = 4 ، media = disk ، cache = writeback \
-فغا لا شيء \
- القرص ioh3420 ، ناقل = pcie.0 ، addr = 1c.0 ، متعدد الوظائف = على ، منفذ = 1 ، هيكل = 1 ، معرف = الجذر \
- جهاز vfio-pci ، مضيف = 04: 00.0 ، ناقل = الجذر ، addr = 00.0 ، multifunction = on \
- جهاز vfio-pci ، مضيف = 04: 00.1 ، ناقل = جذر ، addr = 00.1 \
-مراقبة stdio \
-netdev user ، id = n1 ، ipv6 = off ، smb = "/ media / user / data" \
- القرص e1000 ، netdev = n1 ، mac = 67: 77: 78: 88: 89: 99 \
"$ @"
نقوم بتوصيل شاشة بها ونعجب صورة سطح المكتب لنظام التشغيل الضيف.
المكان الذي تنتهي فيه القرارات البسيطة
ثم تبدأ المتعة. شخص ما ، كل شيء على ما يرام ، الصورة ذهبت وكل شيء بسيط. تعثرت تجربتي مرتين في مرحلة عدم وجود صورة. كانت المرة الأولى التي يتم فيها إعادة توجيه بطاقة الرسومات المدمجة لمعالج Intel 6700T HD 530 ، وكانت مخرجات الفيديو فارغة ويعزى الفشل إلى حقيقة أن المكونات الإضافية لا تعمل بشكل جيد. في المرة الثانية تم طرح Nvidia GF210 الخارجي ، والذي تم شراؤه بالفعل خصيصًا للتجارب. وكانت النتيجة أكثر إثارة للاهتمام. في وضع غير EFI ، تمت إعادة توجيه بطاقة الفيديو بنجاح وحتى أظهرت صورة ، ولكن إيقاف تشغيل نظام التشغيل الضيف غير
المناسب .
إعادة التوجيه التالية يمكن فقط تعليق المضيف. بضع ساعات من googling السهل يؤدي إلى حقيقة أن مشكلة تجميد بطاقة الفيديو أمر شائع للغاية. هذا يؤدي إلى إيقاف تشغيل الجهاز الظاهري بشكل غير صحيح ، وحتى مع وجود فرصة لإيقاف التشغيل بشكل صحيح. كإخراج ، يوصى بإعادة التوجيه في وضع EFI. ولكن VBIOS نفيديا GF210 لا يدعم EFI ...
لخياطة أو لا لخياطة ، هذا هو السؤال
لا تخيط. يدعم QEMU خداع VBIOS عند إعادة توجيه بطاقة فيديو. ولكن VBIOS لا يزال يتعين تدريسها لدعم وضع EFI. يوصى عادةً بالتحقق من ذلك قبل بدء إعادة توجيه بطاقة الفيديو ، على سبيل المثال ، هنا
[2] . لكن على المرء أن يتعامل مع ما هو ، ولا يريد البحث عن بطاقة فيديو جديدة بدعم من EFI. لذلك تحتاج إلى تصحيح VBIOS.
تتم جميع العمليات التي تتم مع VBIOS على مسؤوليتك الخاصة. لقد استخدمت حزمة البرامج والإرشادات الخاصة بها من هنا
[3] . بعد قراءة VBIOS ، نحصل على الملف
gt210.rom
، والتصحيح ، وعند الإخراج لدينا
gt210_uefi.rom
. هذا هو المكان الذي تحتاج فيه إلى تمرير بطاقة الفيديو عند تحميل الجهاز الظاهري.
vga_pass_rom.sh#! / بن / باش
sudo qemu-system-x86_64 \
، آلة Q35 ، تسارع = kvm \
- تمكين kvm \
-مضيف وحدة المعالجة المركزية ، kvm = إيقاف ، تحقق \
-smp cpus = 2 ، المقابس = 1 ، النوى = 2 ، المواضيع = 1 \
- م 6 غرام \
-rtc base = التوقيت المحلي ، الساعة = المضيف \
- القرص piix3-usb-uhci \
- القرص USB- قرص \
-drive إذا = pflash ، format = raw ، للقراءة فقط ، file = / usr / share / OVMF / OVMF_CODE.fd \
-drive file = 'virtio-win-0.1.141_st.iso' ، if = ide ، format = raw ، index = 3 ، media = cdrom ، cache = none \
-drive file = 'guest.img ، if = ide ، format = raw ، index = 4 ، media = disk ، cache = writeback \
-فغا لا شيء \
- القرص ioh3420 ، ناقل = pcie.0 ، addr = 1c.0 ، متعدد الوظائف = على ، منفذ = 1 ، هيكل = 1 ، معرف = الجذر \
-device vfio-pci ، المضيف = 04: 00.0 ، الناقل = الجذر ، addr = 00.0 ، multifunction = on ، romfile = gt210_uefi.rom \
- جهاز vfio-pci ، مضيف = 04: 00.1 ، ناقل = جذر ، addr = 00.1 \
-مراقبة stdio \
-netdev user ، id = n1 ، ipv6 = off ، smb = "/ media / user / data" \
- القرص e1000 ، netdev = n1 ، mac = 67: 77: 78: 88: 89: 99 \
"$ @"
نبدأ الجهاز الظاهري والبحث.
الظلام
مخرجات بطاقة الفيديو أشرق في الظلام. مرة أخرى ، مرت الأخلاق اختبار الفشل. أول ما يتبادر إلى الذهن هو أن نظام التشغيل الضيف يتعطل عند بدء التشغيل. سجلات ، أنا بحاجة إلى سجلات لها. للقيام بذلك ، قم بتشغيل
vga_qxl.sh
. نحن ننظر إلى الإطلاق السابق. وهناك كل شيء على ما يرام ، إلا أنه تم سحب الطعام بحدة. اتضح أنه يعمل ، على الرغم من أنه لا يعمل. كانت الفكرة الأولى هي الاتصال عبر RDP ومعرفة ما يحدث هناك ، ولكن لا يزال من الأفضل استخدام VNC ، على سبيل المثال tightvnc
[4] . نقوم بتثبيت VNC ، وتكوين المنفذ
5600
وإعادة توجيه هذا المنفذ للوصول من المضيف.
vga_vnc_pass_rom.sh#! / بن / باش
sudo qemu-system-x86_64 \
، آلة Q35 ، تسارع = kvm \
- تمكين kvm \
-مضيف وحدة المعالجة المركزية ، kvm = إيقاف ، تحقق \
-smp cpus = 2 ، المقابس = 1 ، النوى = 2 ، المواضيع = 1 \
- م 6 غرام \
-rtc base = التوقيت المحلي ، الساعة = المضيف \
- القرص piix3-usb-uhci \
- القرص USB- قرص \
-drive إذا = pflash ، format = raw ، للقراءة فقط ، file = / usr / share / OVMF / OVMF_CODE.fd \
-drive file = 'virtio-win-0.1.141_st.iso' ، if = ide ، format = raw ، index = 3 ، media = cdrom ، cache = none \
-drive file = 'guest.img ، if = ide ، format = raw ، index = 4 ، media = disk ، cache = writeback \
-فغا لا شيء \
- القرص ioh3420 ، ناقل = pcie.0 ، addr = 1c.0 ، متعدد الوظائف = على ، منفذ = 1 ، هيكل = 1 ، معرف = الجذر \
-device vfio-pci ، المضيف = 04: 00.0 ، الناقل = الجذر ، addr = 00.0 ، multifunction = on ، romfile = gt210_uefi.rom \
- جهاز vfio-pci ، مضيف = 04: 00.1 ، ناقل = جذر ، addr = 00.1 \
-مراقبة stdio \
- netdev user ، id = n1 ، hostfwd = tcp: 127.0.0.1: 5600-: 5600 ، ipv6 = off ، smb = "/ media / user / data" \
- القرص e1000 ، netdev = n1 ، mac = 67: 77: 78: 88: 89: 99 \
"$ @"
نقوم بتوصيل ورؤية آلة العمل ، فقط جهاز العرض لديه شاشة Generic Non-PnP Monitor غريبة (Universal Monitor ليس PnP). هناك صورة ، بحيث يمكنك محاولة تشغيل Looking Glass.
أبحث الزجاج
على الرغم من أن هذه التكنولوجيا تستخدم برنامج OpenGL ، إلا أنه لا توجد مساحة بعد gl. لكن عليك قراءة التعليمات
[5] على موقع المشروع. بالنسبة لنظام التشغيل الضيف ، قم بتنزيل الشاشة
- تطبيق الالتقاط
look-glass-host.exe [6] ، قم بتنزيل وتثبيت Microsoft Visual C ++ 2015 Redistributable
[7] ، قم بتنزيل برنامج التشغيل لجهاز IVSHMEM
[8] . بالنسبة للمضيف ، نضيف التبعيات وننزل وننشئ تطبيق العميل.
build_looking_glass_a12.sh#! / بن / باش
sudo apt-get install cmake libsdl2-dev libsdl2-ttf-dev nettle-dev libspice-protocol-dev libfontconfig1-dev libx11-dev
wget github.com/gnif/LookingGlass/archive/a12.tar.gz
tar -xf a12.tar.gz
القرص المضغوط LookingGlass-a12
mkdir العميل / بناء
العميل CD / بناء
cmake ../
اصنع
نبدأ تشغيل الجهاز الظاهري باستخدام جهاز IVSHMEM. تم تحديد حجم ذاكرة 32 ميجابايت بدقة 1920 × 1080.
vga_vnc_lg_pass_rom.sh#! / بن / باش
إذا [! -f / ديف / shm / أبحث الزجاج] ؛ اذن
لمس / ديف / shm / يبحث الزجاج
chown `whoami`: kvm / dev / shm / looking-glass
شمود 660 / ديف / SHM / يبحث الزجاج
فاي
sudo qemu-system-x86_64 \
، آلة Q35 ، تسارع = kvm \
- تمكين kvm \
-مضيف وحدة المعالجة المركزية ، kvm = إيقاف ، تحقق \
-smp cpus = 2 ، المقابس = 1 ، النوى = 2 ، المواضيع = 1 \
- م 6 غرام \
-rtc base = التوقيت المحلي ، الساعة = المضيف \
- القرص piix3-usb-uhci \
- القرص USB- قرص \
-drive إذا = pflash ، format = raw ، للقراءة فقط ، file = / usr / share / OVMF / OVMF_CODE.fd \
-drive file = 'virtio-win-0.1.141_st.iso' ، if = ide ، format = raw ، index = 3 ، media = cdrom ، cache = none \
-drive file = 'guest.img ، if = ide ، format = raw ، index = 4 ، media = disk ، cache = writeback \
-فغا لا شيء \
- القرص ioh3420 ، ناقل = pcie.0 ، addr = 1c.0 ، متعدد الوظائف = على ، منفذ = 1 ، هيكل = 1 ، معرف = الجذر \
-device vfio-pci ، المضيف = 04: 00.0 ، الناقل = الجذر ، addr = 00.0 ، multifunction = on ، romfile = gt210_uefi.rom \
- جهاز vfio-pci ، مضيف = 04: 00.1 ، ناقل = جذر ، addr = 00.1 \
-device ivshmem-عادي ، memdev = ivshmem ، bus = pcie.0 \
- ملف خلفية الذاكرة الخلفية ، id = ivshmem ، share = on ، mem-path = / dev / shm / looking-glass ، الحجم = 32M \
-مراقبة stdio \
- netdev user ، id = n1 ، hostfwd = tcp: 127.0.0.1: 5600-: 5600 ، ipv6 = off ، smb = "/ media / user / data" \
- القرص e1000 ، netdev = n1 ، mac = 67: 77: 78: 88: 89: 99 \
"$ @"
نحن نتواصل عبر VNC ، ونثبت برنامج التشغيل على جهاز IVSHMEM ، وربما سيتم تثبيت برنامج تشغيل قياسي عليه ، موجود في "أجهزة النظام". نبدأ في
البحث-الزجاج-host.exe . على المضيف ، تشغيل. /
./LookingGlass-a12/client/build/looking-glass-client
.
على هذا ، كان نظام NVIDIA GF210 يعمل لي ، ثم تم إطلاق Intel HD530 على نفس الطريق. كانت هناك مشكلة صغيرة في دقة الشاشة ، للتغيير إلى دقة نادرة ، على سبيل المثال 2048x1152 ، كان علي استخدام Custom Resolution Utility
[9] .
فارق بسيط آخر ، عند إضافة
تطبيق look-glass-host.exe إلى التحميل التلقائي ، تحتاج إلى تكوين تسجيل دخول المستخدم التلقائي ، لأسباب أمنية ، لا يسمح نظام الضيف بالتقاط شاشة تسجيل الدخول.
خاتمة
إذا لم تقم بتعيين مهمة ، والحصول على صورة على إخراج فيديو فعلي ، فستكون هذه النتيجة كافية للحصول على جهاز ظاهري يعمل باستخدام بطاقة فيديو فعلية وتحكم استجابة. تتم الإدارة من المضيف في نافذة منفصلة أو في وضع ملء الشاشة. ومع ذلك ، هناك فروق دقيقة.
الأداء . لن تسمح لك الموارد العامة للمحاكاة الافتراضية وليس نظام التشغيل الضيف الأكثر كفاءة بالعمل بشكل مريح على أجهزة ضعيفة ومتوسطة منخفضة. سوف يتطلب معالجًا قويًا على الأقل من 6-8 نوى ، بطاقة رسومات جيدة لنظام التشغيل الضيف ، 16 جيجابايت + ذاكرة الوصول العشوائي ، 8 جيجابايت على الأقل لكل نظام تشغيل. والرقص مع الدف للحصول على أقصى استفادة من الحديد.
الصبر . إذا لم ينجح الأمر على الفور ، فستضطر إلى قضاء وقت ووقت لائق. البحث والقراءة ، حاول. مرة أخرى ، انظر ، اقرأ وحاول مرة أخرى. سأترك بعض الروابط الإضافية التي صادفتها ، وربما ستكون هناك بعض المعلومات المفيدة.
[10] [11] [12]المراجعالحذر ، وصلات مفتوحة في هذه النافذة.
0. https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF1. https://en.wikipedia.org/wiki/List_of_IOMMU-supporting_hardware2. https://www.techpowerup.com/vgabios/3. https://www.win-raid.com/t892f16-AMD-and-Nvidia-GOP-update-No-requests-DIY.html4. https://www.tightvnc.com/download.php5. https://looking-glass.hostfission.com/quickstart6. https://github.com/gnif/LookingGlass/releases7. https://www.microsoft.com/en-us/download/details.aspx؟id=481458. https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/upstream-virtio/9. https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU10. https://heiko-sieger.info/running-windows-10-on-linux-using-kvm-with-vga-passthrough11. https://ycnrg.org/vga-passthrough-with-ovmf-vfio/12. https://www.reddit.com/r/VFIO/comments/8h352p/guide_running_windows_via_qemukvm_and_intel_gvtg/