اہم Proxmox VE 8 PCI/PCIE پاس تھرو ٹویکس، اصلاحات اور کام

A M Proxmox Ve 8 Pci Pcie Pas T Rw Wyks Aslahat Awr Kam



حالیہ برسوں میں، نئے ہارڈ ویئر میں PCI/PCIE (یعنی GPU پاس تھرو) کے لیے سپورٹ میں بہت بہتری آئی ہے۔ تو، باقاعدہ Proxmox VE PCI/PCIE اور GPU پاس تھرو گائیڈ زیادہ تر نئے ہارڈ ویئر میں کام کرنا چاہئے۔ پھر بھی، آپ کو Proxmox VE ورچوئل مشین پر GPUs اور دیگر PCI/PCIE آلات سے گزرنے میں بہت سی پریشانیوں کا سامنا کرنا پڑ سکتا ہے۔ Proxmox VE GPU اور PCI/PCIE پاس تھرو کے مسائل میں سے کچھ کے لیے بہت سے موافقتیں/اصلاحات/کام کرنے کے طریقے ہیں۔

اس مضمون میں، میں Proxmox VE PCI/PCIE پاس تھرو اور GPU پاس تھرو کے مسائل اور ان مسائل کو حل کرنے کے لیے آپ جو اقدامات اٹھا سکتے ہیں ان میں سے کچھ پر بات کرنے جا رہا ہوں۔









فہرست کا خانہ

  1. اگر IOMMU انٹرپٹ ری میپنگ سپورٹ نہ ہو تو کیا کریں؟
  2. اگر میرا GPU (یا PCI/PCIE ڈیوائس) اپنے IOMMU گروپ میں نہیں ہے تو کیا کریں؟
  3. میں Proxmox VE پر AMD GPU ڈرائیوروں کو بلیک لسٹ کیسے کروں؟
  4. میں Proxmox VE پر NVIDIA GPU ڈرائیوروں کو بلیک لسٹ کیسے کروں؟
  5. میں Proxmox VE پر Intel GPU ڈرائیوروں کو بلیک لسٹ کیسے کروں؟
  6. کیسے چیک کریں کہ آیا میرا GPU (یا PCI/PCIE ڈیوائس) Proxmox VE پر VFIO ڈرائیور استعمال کر رہا ہے؟
  7. میں نے AMU GPU ڈرائیوروں کو بلیک لسٹ کر دیا ہے، پھر بھی، GPU VFIO ڈرائیور استعمال نہیں کر رہا، کیا کیا جائے؟
  8. میں نے NVIDIA GPU ڈرائیوروں کو بلیک لسٹ کر دیا ہے، پھر بھی، GPU VFIO ڈرائیور استعمال نہیں کر رہا، کیا کریں؟
  9. میں نے انٹیل GPU ڈرائیوروں کو بلیک لسٹ کر دیا ہے، پھر بھی، GPU VFIO ڈرائیور استعمال نہیں کر رہا ہے، کیا کریں؟
  10. سنگل GPU نے VFIO ڈرائیور استعمال کیا، لیکن جب دوسرے GPU کو کنفیگر کیا تو یہ کام نہیں ہوا، کیوں؟
  11. GPUs کے لیے VGA ثالثی کو کیوں غیر فعال کریں اور اسے کیسے کریں؟
  12. کیا ہوگا اگر میرا GPU VFIO کو ترتیب دینے کے بعد بھی VFIO ڈرائیور استعمال نہیں کر رہا ہے؟
  13. GPU پاس تھرو میں کوئی خرابی نہیں دکھائی گئی، لیکن مجھے GPU سے منسلک مانیٹر پر ایک بلیک اسکرین مل رہی ہے جو Proxmox VE VM کو پاس کیا گیا ہے، کیوں؟
  14. AMD وینڈر ری سیٹ بگ کیا ہے اور اسے کیسے حل کیا جائے؟
  15. Proxmox VE ورچوئل مشین پر پاس شدہ GPU کے لیے vBIOS کیسے فراہم کیا جائے؟
  16. اگر کچھ ایپس Proxmox VE ونڈوز ورچوئل مشین کو کریش کر دیں تو کیا کریں؟
  17. Proxmox VE Linux ورچوئل مشینوں پر HDMI آڈیو کریکلنگ/ ٹوٹے ہوئے مسائل کو کیسے حل کریں؟
  18. Proxmox VE initramfs کو کیسے اپ ڈیٹ کریں؟
  19. Proxmox VE GRUB بوٹ لوڈر کو کیسے اپ ڈیٹ کریں؟
  20. نتیجہ
  21. حوالہ جات



اگر آئی او ایم ایم یو انٹرپٹ ری میپنگ سپورٹ نہ ہو تو کیا کریں؟

PCI/PCIE پاس تھرو کے لیے، IOMMU انٹرپٹ ری میپنگ ضروری ہے۔





یہ چیک کرنے کے لیے کہ آیا آپ کا پروسیسر IOMMU انٹرپٹ ری میپنگ کو سپورٹ کرتا ہے، نیچے دی گئی کمانڈ کو چلائیں:

$dmesg | grep -i remap



اگر آپ کا پروسیسر IOMMU انٹرپٹ ری میپنگ کو سپورٹ کرتا ہے، تو آپ کو کچھ قسم کی آؤٹ پٹ نظر آئے گی جو اس بات کی تصدیق کرتی ہے کہ انٹرپٹ ری میپنگ فعال ہے۔ بصورت دیگر، آپ کو کوئی آؤٹ پٹ نظر نہیں آئے گا۔

اگر IOMMU انٹرپٹ ری میپنگ آپ کے پروسیسر پر تعاون یافتہ نہیں ہے، تو آپ کو Proxmox VE ورچوئل مشینوں پر PCI/PCIE ڈیوائسز کو پاس تھرو کرنے کے لیے اپنے Proxmox VE سرور پر غیر محفوظ رکاوٹوں کو ترتیب دینا ہوگا۔

Proxmox VE پر غیر محفوظ رکاوٹوں کو ترتیب دینے کے لیے، ایک نئی فائل بنائیں iommu_unsafe_interrupts.conf میں /etc/modprobe.d ڈائریکٹری بنائیں اور اسے نینو ٹیکسٹ ایڈیٹر کے ساتھ کھولیں:

$nano /etc/modprobe.d/iommu_unsafe_interrupts.conf

میں درج ذیل لائن شامل کریں۔ iommu_unsafe_interrupts.conf فائل اور دبائیں + ایکس اس کے بعد اور اور <درج کریں> فائل کو محفوظ کرنے کے لیے۔

اختیارات vfio_iommu_type1 allow_unsafe_interrupts=1

ایک بار جب آپ کام کر لیں، آپ کو لازمی ہے۔ اپنے Proxmox VE سرور کے initramfs کو اپ ڈیٹ کریں۔ .

اگر میرا GPU (یا PCI/PCIE ڈیوائس) اپنے IOMMU گروپ میں نہیں ہے تو کیا کریں؟

اگر آپ کے سرور میں متعدد PCI/PCIE سلاٹ ہیں، تو آپ GPU کو ایک مختلف PCI/PCIE سلاٹ میں منتقل کر سکتے ہیں اور دیکھ سکتے ہیں کہ آیا GPU اس کے اپنے IOMMU گروپ میں ہے۔

اگر یہ کام نہیں کرتا ہے، تو آپ Proxmox VE پر ACS اوور رائیڈ کرنل پیچ کو فعال کرنے کی کوشش کر سکتے ہیں۔

Proxmox VE پر ACS اوور رائیڈ کرنل پیچ کو فعال کرنے کی کوشش کرنے کے لیے، کھولیں۔ /etc/default/grub نینو ٹیکسٹ ایڈیٹر کے ساتھ فائل درج ذیل ہے:

$ nano /etc/default/grub

کرنل بوٹ آپشن شامل کریں۔ pcie_acs_override=downstream کے آخر میں GRUB_CMDLINE_LINUX_DEFAULT .

ایک بار جب آپ کام کر لیں، دبائیں۔ + ایکس اس کے بعد اور اور <درج کریں> فائل کو محفوظ کرنے اور یقینی بنانے کے لیے Proxmox VE GRUB بوٹ لوڈر کو اپ ڈیٹ کریں۔ تبدیلیوں کے مؤثر ہونے کے لیے۔

آپ کے Proxmox VE سرور کے بوٹ ہونے کے بعد آپ کے پاس بہتر IOMMU گروپ بندی ہونی چاہیے۔

اگر آپ کے GPU کے پاس اب بھی اپنا IOMMU گروپ نہیں ہے، تو آپ استعمال کرکے ایک قدم آگے بڑھ سکتے ہیں۔ pcie_acs_override=downstream،ملٹی فنکشن اس کے بجائے آپ کے پاس اور بھی بہتر IOMMU گروپنگ ہونی چاہیے۔

اگر pcie_acs_override=downstream،ملٹی فنکشن اس کے نتیجے میں بہتر IOMMU گروپ بندی ہوتی ہے۔ pcie_acs_override=downstream ، پھر کیوں استعمال کریں pcie_acs_override=downstream بالکل؟

ٹھیک ہے، PCIE ACS اوور رائڈ کا مقصد دانا کو یہ سوچ کر بے وقوف بنانا ہے کہ PCIE ڈیوائسز اس وقت الگ تھلگ ہیں جب وہ حقیقت میں نہیں ہیں۔ لہذا، PCIE ACS اوور رائڈ سیکیورٹی اور استحکام کے مسائل کے ساتھ آتا ہے۔ اس لیے آپ کو کم جارحانہ PCIE ACS اوور رائیڈ آپشن استعمال کرنے کی کوشش کرنی چاہیے۔ pcie_acs_override=downstream پہلے اور دیکھیں کہ کیا آپ کا مسئلہ حل ہو گیا ہے۔ اگر pcie_acs_override=downstream کام نہیں کرتا، تب ہی آپ کو زیادہ جارحانہ آپشن استعمال کرنا چاہیے۔ pcie_acs_override=downstream،ملٹی فنکشن .

میں Proxmox VE پر AMD GPU ڈرائیوروں کو بلیک لسٹ کیسے کروں؟

اگر آپ Proxmox VE ورچوئل مشینوں پر AMD GPU پاس کرنا چاہتے ہیں، تو آپ کو AMD GPU ڈرائیوروں کو بلیک لسٹ کرنا چاہیے اور اس بات کو یقینی بنانا چاہیے کہ اس کی بجائے VFIO ڈرائیور کا استعمال کیا جائے۔

سب سے پہلے، کھولیں /etc/modprobe.d/blacklist.conf نینو ٹیکسٹ ایڈیٹر کے ساتھ فائل درج ذیل ہے:

$nano /etc/modprobe.d/blacklist.conf

AMD GPU ڈرائیوروں کو بلیک لسٹ کرنے کے لیے، درج ذیل لائنیں شامل کریں۔ /etc/modprobe.d/blacklist.conf فائل اور دبائیں + ایکس اس کے بعد اور اور <درج کریں> فائل کو محفوظ کرنے کے لیے۔

بلیک لسٹ radeon

بلیک لسٹ amdgpu

ایک بار جب آپ کام کر لیں، آپ کو لازمی ہے۔ اپنے Proxmox VE سرور کے initramfs کو اپ ڈیٹ کریں۔ تبدیلیوں کے مؤثر ہونے کے لیے۔

میں Proxmox VE پر NVIDIA GPU ڈرائیوروں کو بلیک لسٹ کیسے کروں؟

اگر آپ Proxmox VE ورچوئل مشینوں پر NVIDIA GPU کو پاس کرنا چاہتے ہیں، تو آپ کو NVIDIA GPU ڈرائیوروں کو بلیک لسٹ کرنا چاہیے اور اس بات کو یقینی بنانا چاہیے کہ اس کی بجائے VFIO ڈرائیور کا استعمال کیا جائے۔

سب سے پہلے، کھولیں /etc/modprobe.d/blacklist.conf نینو ٹیکسٹ ایڈیٹر کے ساتھ فائل درج ذیل ہے:

$nano /etc/modprobe.d/blacklist.conf

NVIDIA GPU ڈرائیوروں کو بلیک لسٹ کرنے کے لیے، درج ذیل لائنوں کو شامل کریں۔ /etc/modprobe.d/blacklist.conf فائل اور دبائیں + ایکس اس کے بعد اور اور <درج کریں> فائل کو محفوظ کرنے کے لیے۔

بلیک لسٹ نووا

بلیک لسٹ nvidia

بلیک لسٹ nvidiafb

بلیک لسٹ nvidia_drm

ایک بار جب آپ کام کر لیں، آپ کو لازمی ہے۔ اپنے Proxmox VE سرور کے initramfs کو اپ ڈیٹ کریں۔ تبدیلیوں کے مؤثر ہونے کے لیے۔

میں Proxmox VE پر Intel GPU ڈرائیوروں کو بلیک لسٹ کیسے کروں؟

اگر آپ Proxmox VE ورچوئل مشینوں پر Intel GPU کو پاس کرنا چاہتے ہیں، تو آپ کو Intel GPU ڈرائیوروں کو بلیک لسٹ کرنا چاہیے اور اس بات کو یقینی بنانا چاہیے کہ یہ VFIO ڈرائیور کا استعمال کرتا ہے۔

سب سے پہلے، کھولیں /etc/modprobe.d/blacklist.conf نینو ٹیکسٹ ایڈیٹر کے ساتھ فائل درج ذیل ہے:

$nano /etc/modprobe.d/blacklist.conf

Intel GPU ڈرائیوروں کو بلیک لسٹ کرنے کے لیے، درج ذیل لائنوں کو شامل کریں۔ /etc/modprobe.d/blacklist.conf فائل اور دبائیں + ایکس اس کے بعد اور اور <درج کریں> فائل کو محفوظ کرنے کے لیے۔

بلیک لسٹ snd_hda_intel

بلیک لسٹ snd_hda_codec_hdmi

بلیک لسٹ i915

ایک بار جب آپ کام کر لیں، آپ کو لازمی ہے۔ اپنے Proxmox VE سرور کے initramfs کو اپ ڈیٹ کریں۔ تبدیلیوں کے مؤثر ہونے کے لیے۔

کیسے چیک کریں کہ آیا میرا GPU (یا PCI/PCIE ڈیوائس) Proxmox VE پر VFIO ڈرائیور استعمال کر رہا ہے؟

یہ چیک کرنے کے لیے کہ آیا آپ کا GPU یا مطلوبہ PCI/PCIE ڈیوائسز VFIO ڈرائیور استعمال کر رہے ہیں، درج ذیل کمانڈ کو چلائیں:

$lspci -v

اگر آپ کا GPU یا PCI/PCIE ڈیوائس VFIO ڈرائیور استعمال کر رہا ہے، تو آپ کو لائن نظر آنی چاہیے۔ استعمال میں کرنل ڈرائیور: vfio-pci جیسا کہ ذیل میں اسکرین شاٹ میں نشان زد کیا گیا ہے۔

میں نے AMU GPU ڈرائیوروں کو بلیک لسٹ کر دیا ہے، پھر بھی، GPU VFIO ڈرائیور استعمال نہیں کر رہا، کیا کیا جائے؟

بعض اوقات، AMD GPU ڈرائیوروں کو بلیک لسٹ کرنا کافی نہیں ہے، آپ کو VFIO ڈرائیور کے بعد لوڈ کرنے کے لیے AMD GPU ڈرائیورز کو بھی ترتیب دینا ہوگا۔

ایسا کرنے کے لیے، کھولیں۔ /etc/modprobe.d/vfio.conf نینو ٹیکسٹ ایڈیٹر کے ساتھ فائل درج ذیل ہے:

$nano /etc/modprobe.d/vfio.conf

AMD GPU ڈرائیوروں کو VFIO ڈرائیور کے بعد لوڈ کرنے کے لیے کنفیگر کرنے کے لیے، درج ذیل لائنیں شامل کریں۔ /etc/modprobe.d/vfio.conf فائل اور دبائیں + ایکس اس کے بعد اور اور <درج کریں> فائل کو محفوظ کرنے کے لیے۔

softdep radeon pre: vfio-pci

softdep amdgpu pre: vfio-pci

ایک بار جب آپ کام کر لیں، آپ کو لازمی ہے۔ اپنے Proxmox VE سرور کے initramfs کو اپ ڈیٹ کریں۔ تبدیلیوں کے مؤثر ہونے کے لیے۔

میں نے NVIDIA GPU ڈرائیوروں کو بلیک لسٹ کر دیا ہے، پھر بھی، GPU VFIO ڈرائیور استعمال نہیں کر رہا، کیا کریں؟

بعض اوقات، NVIDIA GPU ڈرائیوروں کو بلیک لسٹ کرنا کافی نہیں ہوتا، آپ کو VFIO ڈرائیور کے بعد لوڈ کرنے کے لیے NVIDIA GPU ڈرائیورز کو بھی ترتیب دینا پڑتا ہے۔

ایسا کرنے کے لیے، کھولیں۔ /etc/modprobe.d/vfio.conf نینو ٹیکسٹ ایڈیٹر کے ساتھ فائل درج ذیل ہے:

$nano /etc/modprobe.d/vfio.conf

NVIDIA GPU ڈرائیوروں کو VFIO ڈرائیور کے بعد لوڈ کرنے کے لیے کنفیگر کرنے کے لیے، درج ذیل لائنیں شامل کریں۔ /etc/modprobe.d/vfio.conf فائل اور دبائیں + ایکس اس کے بعد اور اور <درج کریں> فائل کو محفوظ کرنے کے لیے۔

softdep نیا پری: vfio-pci

softdep Nvidia for: vfio-pci

softdep nvidiafb برائے: vfio-pci

softdep nvidia_drm pre: vfio-pci

softdep drm pre: vfio-pci

ایک بار جب آپ کام کر لیں، آپ کو لازمی ہے۔ اپنے Proxmox VE سرور کے initramfs کو اپ ڈیٹ کریں۔ تبدیلیوں کے مؤثر ہونے کے لیے۔

میں نے انٹیل GPU ڈرائیوروں کو بلیک لسٹ کر دیا ہے، پھر بھی، GPU VFIO ڈرائیور استعمال نہیں کر رہا ہے، کیا کریں؟

بعض اوقات، Intel GPU ڈرائیوروں کو بلیک لسٹ کرنا کافی نہیں ہوتا، آپ کو VFIO ڈرائیور کے بعد لوڈ کرنے کے لیے Intel GPU ڈرائیورز کو بھی ترتیب دینا پڑتا ہے۔

ایسا کرنے کے لیے، کھولیں۔ /etc/modprobe.d/vfio.conf نینو ٹیکسٹ ایڈیٹر کے ساتھ فائل درج ذیل ہے:

$nano /etc/modprobe.d/vfio.conf

VFIO ڈرائیور کے بعد لوڈ کرنے کے لیے Intel GPU ڈرائیوروں کو کنفیگر کرنے کے لیے، درج ذیل لائنیں شامل کریں۔ /etc/modprobe.d/vfio.conf فائل اور دبائیں + ایکس اس کے بعد اور اور <درج کریں> فائل کو محفوظ کرنے کے لیے۔

softdep snd_hda_intel pre: vfio-pci

softdep snd_hda_codec_hdmi pre: vfio-pci

softdep i915 pre: vfio-pci

ایک بار جب آپ کام کر لیں، آپ کو لازمی ہے۔ اپنے Proxmox VE سرور کے initramfs کو اپ ڈیٹ کریں۔ تبدیلیوں کے مؤثر ہونے کے لیے۔

سنگل GPU نے VFIO ڈرائیور استعمال کیا، لیکن جب دوسرے GPU کو کنفیگر کیا تو یہ کام نہیں ہوا، کیوں؟

میں /etc/modprobe.d/vfio.conf فائل میں، آپ کو ان تمام PCI/PCIE آلات کی IDs شامل کرنا ہوں گی جنہیں آپ VFIO ڈرائیور کو ایک لائن میں استعمال کرنا چاہتے ہیں۔ فی لائن ایک آلہ کام نہیں کرے گا۔

مثال کے طور پر، اگر آپ کے پاس 2 GPUs ہیں جنہیں آپ VFIO ڈرائیور استعمال کرنے کے لیے کنفیگر کرنا چاہتے ہیں، تو آپ کو ان کی IDs کو ایک لائن میں شامل کرنا چاہیے۔ /etc/modprobe.d/vfio.conf درج ذیل فائل:

اختیارات vfio-pci ids=,,,

اگر آپ فہرست میں ایک اور GPU شامل کرنا چاہتے ہیں، تو اسے موجودہ کے آخر میں شامل کریں۔ vfio-pci میں لائن /etc/modprobe.d/vfio.conf درج ذیل فائل:

اختیارات vfio-pci ids=,,,,,

ایسا کبھی نہ کریں۔ اگرچہ یہ بہت صاف نظر آتا ہے، یہ کام نہیں کرے گا۔ میری خواہش ہے کہ ہم اس طرح PCI/PCIE IDs کی وضاحت کر سکیں۔

اختیارات vfio-pci ids=,

اختیارات vfio-pci ids=,

اختیارات vfio-pci ids=,

GPUs کے لیے VGA ثالثی کو کیوں غیر فعال کریں اور اسے کیسے کریں؟

اگر آپ Proxmox VE ورچوئل مشین پر UEFI/OVMF BIOS استعمال کر رہے ہیں جہاں آپ GPU کو پاس کرنا چاہتے ہیں، تو آپ VGA ثالثی کو غیر فعال کر سکتے ہیں جو بوٹ کے دوران درکار لیگیسی کوڈز کو کم کر دے گا۔

GPUs کے لیے VGA ثالثی کو غیر فعال کرنے کے لیے، شامل کریں۔ disable_vga=1 کے آخر میں vfio-pci آپشن میں /etc/modprobe.d/vfio.conf فائل جیسا کہ ذیل میں دکھایا گیا ہے:

اختیارات vfio-pci ids=,,, disable_vga=1

کیا ہوگا اگر میرا GPU VFIO کو ترتیب دینے کے بعد بھی VFIO ڈرائیور استعمال نہیں کر رہا ہے؟

سب کچھ درست طریقے سے کرنے کے بعد بھی، اگر آپ کا GPU پھر بھی VFIO ڈرائیور استعمال نہیں کرتا ہے، تو آپ کو کرنل آپشنز کے ساتھ Proxmox VE کو بوٹ کرنے کی کوشش کرنی ہوگی جو ویڈیو فریم بفر کو غیر فعال کر دیتے ہیں۔

Proxmox VE 7.1 اور اس سے زیادہ پر، nofb nomodeset video=vesafb:off video=efifb:off video=simplefb:off کرنل کے اختیارات آپ کے Proxmox VE سرور کے لیے GPU فریم بفر کو غیر فعال کر دیتے ہیں۔

Proxmox VE 7.2 اور جدید تر پر، initcall_blacklist=sysfb_init کرنل آپشن آپ کے Proxmox VE سرور کے لیے GPU فریم بفر کو غیر فعال کرنے میں بہتر کام کرتا ہے۔

GRUB بوٹ لوڈر کنفیگریشن فائل کھولیں۔ /etc/default/grub نینو ٹیکسٹ ایڈیٹر کے ساتھ فائل درج ذیل کمانڈ کے ساتھ:

$ nano /etc/default/grub

کرنل آپشن شامل کریں۔ initcall_blacklist=sysfb_init کے آخر میں GRUB_CMDLINE_LINUX_DEFAULT .

ایک بار جب آپ کام کر لیں، دبائیں۔ + ایکس اس کے بعد اور اور <درج کریں> فائل کو محفوظ کرنے اور یقینی بنانے کے لیے Proxmox VE GRUB بوٹ لوڈر کو اپ ڈیٹ کریں۔ تبدیلیوں کے مؤثر ہونے کے لیے۔

GPU پاس تھرو میں کوئی خرابی نہیں دکھائی گئی، لیکن مجھے GPU سے منسلک مانیٹر پر ایک بلیک اسکرین مل رہی ہے جو Proxmox VE VM کو پاس کیا گیا ہے، کیوں؟

ایک بار جب آپ نے ایک GPU کو Proxmox VE ورچوئل مشین میں منتقل کر دیا ہے، تو اس کا استعمال یقینی بنائیں طے شدہ ورچوئل مشین شروع کرنے سے پہلے گرافکس کارڈ۔ اس طرح، آپ Proxmox VE ویب مینجمنٹ UI سے ورچوئل مشین کے ڈسپلے تک رسائی حاصل کر سکیں گے، ورچوئل مشین پر GPU ڈرائیور انسٹالر ڈاؤن لوڈ کر سکیں گے، اور اسے ورچوئل مشین پر انسٹال کر سکیں گے۔

ورچوئل مشین پر جی پی یو ڈرائیور انسٹال ہوجانے کے بعد، ورچوئل مشین کی اسکرین جی پی یو سے منسلک مانیٹر پر ظاہر ہوگی جسے آپ نے ورچوئل مشین کو بھی پاس کیا ہے۔

ایک بار جب جی پی یو ڈرائیور ورچوئل مشین پر انسٹال ہو جاتا ہے اور ورچوئل مشین کی سکرین جی پی یو سے منسلک مانیٹر پر ظاہر ہو جاتی ہے (ورچوئل مشین سے گزر جاتی ہے)، ورچوئل مشین کو پاور آف کریں اور سیٹ کریں۔ گرافک کارڈ ڈسپلے کریں۔ ورچوئل مشین سے کوئی نہیں .

آپ کے سیٹ ہوجانے کے بعد، اگلی بار جب آپ ورچوئل مشین پر پاور لگائیں گے، ورچوئل مشین کی اسکرین صرف GPU سے منسلک مانیٹر پر ظاہر ہوگی (ورچوئل مشین کو پاس کی گئی ہے)، Proxmox VE ویب پر کچھ بھی نہیں دکھایا جائے گا۔ مینجمنٹ UI اس طرح، آپ کو ایک حقیقی کمپیوٹر استعمال کرنے جیسا ہی تجربہ حاصل ہوگا حالانکہ آپ ورچوئل مشین استعمال کر رہے ہیں۔

یاد رکھیں، کبھی استعمال نہ کریں۔ SPICE، VirtIO GPU، اور VirGL GPU ڈسپلے گرافک کارڈ Proxmox VE ورچوئل مشین پر جسے آپ GPU پاس تھرو کے لیے ترتیب دے رہے ہیں کیونکہ اس میں ناکامی کا زیادہ امکان ہے۔

AMD وینڈر ری سیٹ بگ کیا ہے اور اسے کیسے حل کیا جائے؟

AMD GPU میں ایک معروف بگ ہے جسے 'وینڈر ری سیٹ بگ' کہتے ہیں۔ ایک بار جب AMD GPU کو Proxmox VE ورچوئل مشین میں منتقل کر دیا جاتا ہے، اور آپ اس ورچوئل مشین کو بند کر دیتے ہیں، تو آپ AMD GPU کو دوسری Proxmox VE ورچوئل مشین میں استعمال نہیں کر پائیں گے۔ بعض اوقات، آپ کا Proxmox VE سرور نتیجہ کے طور پر غیر جوابدہ ہو جائے گا۔ اسے AMD GPUs کا 'وینڈر ری سیٹ بگ' کہا جاتا ہے۔

ایسا ہونے کی وجہ یہ ہے کہ AMD GPUs ورچوئل مشین میں منتقل ہونے کے بعد خود کو درست طریقے سے دوبارہ ترتیب نہیں دے سکتے ہیں۔ اس مسئلے کو حل کرنے کے لیے، آپ کو اپنا AMD GPU صحیح طریقے سے دوبارہ ترتیب دینا ہوگا۔ Proxmox VE پر AMD وینڈر ری سیٹ انسٹال کرنے کے بارے میں مزید معلومات کے لیے، اس مضمون کو پڑھیں اور اس تھریڈ کو Proxmox VE فورم پر پڑھیں . اس کے علاوہ، وینڈر ری سیٹ GitHub صفحہ کو چیک کریں۔ .

Proxmox VE ورچوئل مشین پر پاس شدہ GPU کے لیے vBIOS کیسے فراہم کیا جائے؟

اگر آپ نے اپنے مدر بورڈ کے پہلے سلاٹ پر GPU انسٹال کیا ہے، تو ہو سکتا ہے کہ آپ ڈیفالٹ کے طور پر Proxmox VE ورچوئل مشین میں GPU کو پاس تھرو نہ کر سکیں۔ کچھ مدر بورڈز پہلے سلاٹ پر نصب GPU کے vBIOS کو بطور ڈیفالٹ سایہ کرتے ہیں جس کی وجہ سے ان مدر بورڈز کے پہلے سلاٹ پر نصب GPU کو ورچوئل مشینوں میں منتقل نہیں کیا جا سکتا۔

اس مسئلے کا حل یہ ہے کہ مدر بورڈ کے دوسرے سلاٹ پر GPU انسٹال کریں، GPU کے vBIOS کو نکالیں، GPU کو مدر بورڈ کے پہلے سلاٹ پر انسٹال کریں، اور GPU کو ایک Proxmox VE ورچوئل مشین میں ایکسٹریکٹ کے ساتھ منتقل کریں۔ GPU کا vBIOS۔

اپنے GPU کے vBIOS کو نکالنے کا طریقہ سیکھنے کے لیے، اس مضمون کو پڑھیں .

ایک بار جب آپ اپنے GPU کے لیے vBIOS حاصل کر لیتے ہیں، تو آپ کو vBIOS فائل کو میں ذخیرہ کرنا چاہیے۔ /usr/share/kvm/ اس تک رسائی کے لیے آپ کے Proxmox VE سرور کی ڈائرکٹری۔

ایک بار جب آپ کے GPU کے لیے vBIOS فائل میں محفوظ ہو جاتی ہے۔ /usr/share/kvm/ ڈائریکٹری، آپ کو اسے استعمال کرنے کے لیے اپنی ورچوئل مشین کو ترتیب دینے کی ضرورت ہے۔ فی الحال، Proxmox VE ویب مینجمنٹ UI سے Proxmox VE ورچوئل مشینوں کے PCI/PCIE آلات کے لیے vBIOS فائل کی وضاحت کرنے کا کوئی طریقہ نہیں ہے۔ لہذا، آپ کو Proxmox VE شیل/کمانڈ لائن سے سب کچھ کرنا پڑے گا۔

آپ Proxmox VE ورچوئل مشین کنفیگریشن فائلیں میں تلاش کر سکتے ہیں۔ /etc/pve/qemu-server/ آپ کے Proxmox VE سرور کی ڈائرکٹری۔ ہر Proxmox VE ورچوئل مشین میں اس ڈائرکٹری میں فارمیٹ میں ایک کنفیگریشن فائل ہوتی ہے۔ .conf .

مثال کے طور پر، ورچوئل مشین ID 100 کے لیے Proxmox VE ورچوئل مشین کنفیگریشن فائل (ترمیم کے لیے) کھولنے کے لیے، آپ کو درج ذیل کمانڈ کو چلانے کی ضرورت ہوگی:

$nano /etc/pve/qemu-server/100.conf

ورچوئل مشین کنفیگریشن فائل میں، آپ کو شامل کرنے کی ضرورت ہوگی۔ romfile= میں hostpciX لائن جو ورچوئل مشین پر GPU کو منتقل کرنے کے لئے ذمہ دار ہے۔

مثال کے طور پر، اگر میرے GPU کے لیے vBIOS فائل کا نام ہے۔ gigabyte-nvidia-1050ti.bin ، اور میں نے ورچوئل مشین کے پہلے سلاٹ (سلاٹ 0) پر GPU پاس کیا ہے ( hostpci0 )، پھر میں 100.conf فائل میں، لائن مندرجہ ذیل ہونا چاہئے:

hostpci0: ,x-vga=on,romfile=gigabyte-nvidia-1050ti.bin

ایک بار جب آپ کام کر لیں، ورچوئل مشین کنفیگریشن فائل کو دبا کر محفوظ کریں۔ + ایکس اس کے بعد اور اور <درج کریں> ورچوئل مشین شروع کریں، اور چیک کریں کہ آیا GPU پاس تھرو کام کر رہا ہے۔

اگر کچھ ایپس Proxmox VE ونڈوز ورچوئل مشین کو کریش کر دیں تو کیا کریں؟

کچھ ایپس جیسے کہ GeForce Experience، Passmark وغیرہ Proxmox VE Windows ورچوئل مشینوں کو کریش کر سکتی ہیں۔ آپ اپنی Proxmox VE ونڈوز ورچوئل مشینوں پر اچانک نیلی اسکرین آف ڈیتھ (BSOD) کا تجربہ بھی کر سکتے ہیں۔ ایسا ہونے کی وجہ یہ ہے کہ ونڈوز ورچوئل مشین ماڈل مخصوص رجسٹر (MSRs) تک رسائی حاصل کرنے کی کوشش کر سکتی ہے جو حقیقت میں دستیاب نہیں ہیں اور اس بات پر منحصر ہے کہ آپ کا ہارڈویئر MSRs کی درخواستوں کو کیسے ہینڈل کرتا ہے، آپ کا سسٹم کریش ہو سکتا ہے۔

اس مسئلے کا حل آپ کے Proxmox VE سرور پر MSRs پیغامات کو نظر انداز کرنا ہے۔

اپنے Proxmox VE سرور پر MSRs ترتیب دینے کے لیے، کھولیں۔ /etc/modprobe.d/kvm.conf نینو ٹیکسٹ ایڈیٹر کے ساتھ فائل درج ذیل ہے:

$nano /etc/modprobe.d/kvm.conf

اپنے Proxmox VE سرور پر MSRs کو نظر انداز کرنے کے لیے، درج ذیل لائن کو شامل کریں۔ /etc/modprobe.d/kvm.conf فائل

اختیارات kvm ignore_msrs=1

ایک بار جب MSRs کو نظر انداز کر دیا جاتا ہے، تو ہو سکتا ہے کہ آپ کو اپنے dmesg سسٹم لاگ میں بہت سے MSR انتباہی پیغامات نظر آئیں۔ اس سے بچنے کے لیے، آپ MSRs کو نظر انداز کر سکتے ہیں اور ساتھ ہی ساتھ MSRs کے انتباہی پیغامات کو لاگنگ کو غیر فعال کر کے اس کے بجائے درج ذیل لائن کو شامل کر سکتے ہیں:

اختیارات kvm ignore_msrs=1 report_ignored_msrs=0

ایک بار جب آپ کام کر لیں، دبائیں۔ + ایکس اس کے بعد اور اور <درج کریں> کو بچانے کے لئے /etc/modprobe.d/kvm.conf فائل اور اپنے Proxmox VE سرور کے initramfs کو اپ ڈیٹ کریں۔ تبدیلیوں کے مؤثر ہونے کے لیے۔

Proxmox VE Linux ورچوئل مشینوں پر HDMI آڈیو کریکلنگ/ ٹوٹے ہوئے مسائل کو کیسے حل کریں؟

اگر آپ نے GPU کو لینکس Proxmox VE ورچوئل مشین میں منتقل کر دیا ہے اور آپ کو ورچوئل مشین پر آڈیو کوالٹی خراب ہو رہی ہے، تو آپ کو Proxmox VE ورچوئل مشین پر آڈیو ڈیوائس کے لیے MSI (Message Signal Interrupt) کو فعال کرنے کی ضرورت ہوگی۔

Linux Proxmox VE ورچوئل مشین پر MSI کو فعال کرنے کے لیے، کھولیں۔ /etc/modprobe.d/snd-hda-intel.conf ورچوئل مشین پر نینو ٹیکسٹ ایڈیٹر کے ساتھ فائل درج ذیل کمانڈ کے ساتھ:

$sudo nano /etc/modprobe.d/snd-had-intel.conf

درج ذیل لائن کو شامل کریں اور دبانے سے فائل کو محفوظ کریں۔ + ایکس اس کے بعد اور اور <درج کریں> .

اختیارات snd-hda-intel enable_msi=1

تبدیلیوں کے اثر انداز ہونے کے لیے، لینکس ورچوئل مشین کو درج ذیل کمانڈ سے ریبوٹ کریں:

$ sudo ریبوٹ

ورچوئل مشین کے بوٹ ہونے کے بعد، چیک کریں کہ آیا MSI مندرجہ ذیل کمانڈ کے ساتھ آڈیو ڈیوائس کے لیے فعال ہے:

$ sudo lspci -vv

اگر MSI ورچوئل مشین پر آڈیو ڈیوائس کے لیے فعال ہے، تو آپ کو آڈیو ڈیوائس کی معلومات میں نشان زد لائن نظر آنی چاہیے۔

Proxmox VE initramfs کو کیسے اپ ڈیٹ کریں؟

ہر بار جب آپ فائلوں میں کوئی تبدیلی کرتے ہیں۔ /etc/modules-load.d/ اور /etc/modprobe.d/ ڈائریکٹریز، آپ کو اپنے Proxmox VE 8 انسٹالیشن کے initramfs کو درج ذیل کمانڈ کے ساتھ اپ ڈیٹ کرنا ہوگا۔

$update-initramfs -u -k all

Proxmox VE initramfs کو اپ ڈیٹ کرنے کے بعد، تبدیلیوں کے مؤثر ہونے کے لیے اپنے Proxmox VE سرور کو دوبارہ شروع کریں۔

$ ریبوٹ

Proxmox VE GRUB بوٹ لوڈر کو کیسے اپ ڈیٹ کیا جائے؟

ہر بار جب آپ Proxmox VE GRUB بوٹ کنفیگریشن فائل کو اپ ڈیٹ کرتے ہیں۔ /etc/default/grub آپ کو تبدیلیوں کے مؤثر ہونے کے لیے GRUB بوٹ لوڈر کو اپ ڈیٹ کرنا چاہیے۔

Proxmox VE GRUB بوٹ لوڈر کو نئی کنفیگریشنز کے ساتھ اپ ڈیٹ کرنے کے لیے، درج ذیل کمانڈ کو چلائیں:

$update-grub2

ایک بار جب GRUB بوٹ لوڈر کو نئی کنفیگریشن کے ساتھ اپ ڈیٹ کر دیا جائے تو تبدیلیوں کے مؤثر ہونے کے لیے اپنے Proxmox VE سرور کو دوبارہ شروع کریں۔

$ ریبوٹ

نتیجہ

اس مضمون میں، Proxmox VE PCI/PCIE پاس تھرو اور GPU پاس تھرو کے مسائل اور ان مسائل کو حل کرنے کے لیے آپ جو اقدامات اٹھا سکتے ہیں ان میں سے کچھ پر تبادلہ خیال کیا ہے۔

حوالہ جات

  1. [ٹیوٹوریل] – Proxmox VE 8 پر PCI/GPU پاس تھرو: انسٹالیشن اور کنفیگریشن | Proxmox سپورٹ فورم
  2. Proxmox GPU پاس تھرو کے لیے حتمی ابتدائی رہنما
  3. لینکس میں ماڈل کے مخصوص رجسٹر پڑھنا اور لکھنا
  4. MSI ڈرائیور گائیڈ HOWTO - لینکس کرنل دستاویزات