গ্রাফিক্স কার্ড পাস-মাধ্যমে কার্নেলের মধ্যে আইওএমএমইউ সক্ষম করা


16

সংক্ষিপ্ত প্রশ্ন:

আমি কীভাবে intel_iommuলিনাক্স কার্নেলের সেটিংসটি চালু করতে পারি ? আমি গ্রাব 2 বুটলোডার ব্যবহার করে একটি ডেবিয়ান হোস্ট চালাই। আমি যে ডকুমেন্টেশন দেখেছি /boot/grub/menu.lstসেগুলি সম্পাদনা করতে বলেছে , যা কেবল গ্রাব 1.x এর জন্য প্রাসঙ্গিক বলে মনে হয়, কারণ আমার কাছে এই ফাইলটি নেই।

এটি আমার বোঝার (এবং শেষ বিকল্পটি আমি ভাবতে পারি) এই বুট বিকল্পটি পরিবর্তনের ফলে নিম্নলিখিত ত্রুটি বার্তায় মুক্তি পেতে পারে /var/log/kern.log

vboxpci: No IOMMU domain (attach)

দীর্ঘ প্রশ্ন:

কোনও অতিথি ওএসকে গ্রাফিক্স কার্ডে সরাসরি অ্যাক্সেস দেওয়া

আমি সম্প্রতি উপলব্ধি করেছি যে ভার্চুয়ালবক্সে অতিথি ওএসের চলার জন্য পিসিআই-এক্সপ্রেস ডিভাইসটি দিয়ে যাওয়া সম্ভব। কুল, ভাবলাম! আমি দুটি এনভিআইডিএ কোয়াড্রো এফএক্স গ্রাফিক্স কার্ড পেয়েছি (এস এল এল সেতুর সংযোগ স্থানে রয়েছে, যা আমি আশা করি যে দুঃখের কারণ নয়) এবং অতিথি ওএসকে ২ য় গ্রাফিক্স কার্ড উত্সর্গ করতে চাই, যাতে আমি ওপেনজিএল বৈশিষ্ট্যগুলি এর মধ্যে ব্যবহার করতে পারি ফটোশপ এবং অন্যান্য।

এনভিআইডিএ এই "এস এল এল মাল্টি-ওএস " কনফিগারেশনটি বাজারজাত করে , যা মূলত আমি যুগ যুগ ধরে সেট আপ করতে চেয়েছিলাম, তবে আমি যখন ভার্চুয়ালাইজেশন সফ্টওয়্যার (সমান্তরাল ওয়ার্কস্টেশন চূড়ান্ত) এর উপর কোনও অর্থ ব্যয় করতে চাই না, তখন আমি ছিলাম ভার্চুয়ালবক্স এখন বেশ কয়েক বছর ধরে বেশ সুখে ব্যবহার করছে।

হোস্ট সিস্টেম

আমি বেশ উচ্চ-প্রান্তের ওয়ার্কস্টেশন সরঞ্জামগুলিতে (আসুস পি 6 টি 7 ডাব্লুএস সুপার কম্পিউটার কম্পিউটার মোও / ইনটেল আইসি 1010 চিপসেট এবং জিয়ন ডাব্লু 3680 সিপিইউ) লিনাক্স-3.5.0-19 চালাচ্ছি এবং কার্নেলের আইওএমএমইউ সমর্থন চালু করতে চাই , নিজেরাই এটি সংকলন না করেই পছন্দ করুন।

BIOS- র

BIOS সেটিংসে আমার ভিটি-এক্স এবং ভিটি-ডি সমর্থন সক্ষম রয়েছে। যদিও আমি আইওএমএমইউয়ের উল্লেখ উল্লেখ করে কিছু দেখতে পাইনি।

পিসিআই ডিভাইস সংযুক্ত করা হচ্ছে

এটি আনন্দদায়ক আশ্চর্যজনক সহজ ছিল! অফিসিয়াল ভার্চুয়ালবক্স ডকুমেন্টেশন এখানে । আমি যা করেছি, যা আমি কম অস্পষ্ট দেখতে পেয়েছি তা হ'ল nvidia-settings, মাধ্যমিক গ্রাফিক্স কার্ডটি নির্বাচন করা এবং বাস আইডি নোট করা (আমার ক্ষেত্রে "পিসিআই: 5: 0: 0")। তারপরে, হোস্টের কমান্ড লাইন থেকে:

VBoxManage modifyvm "Windows Guest" --pciattach 05:00.0

(আমি যখন এটি প্রথম চালিয়েছি তখন একটি ত্রুটি হয়েছিল কারণ ভার্চুয়ালবক্স একটি পিআইআইএক্স চিপসেট অনুকরণ করছে; এতে বলা হয়েছে যে পিসিআই পাস-থ্রুটি কেবল আইসিএইচ 9 চিপসেটের সাথে কাজ করে So প্রয়োজনীয় নতুন ড্রাইভারগুলি ইনস্টল করতে later পরে একটি রিবুট করুন এবং সবকিছু ঠিকঠাক কাজ করছিল, তাই আমি অতিথিকে বন্ধ করে দিয়েছিলাম এবং আবার কমান্ডটি চালিয়েছি))

কোনও আউটপুট ছিল না এবং প্রায় অবিলম্বে আমাকে কমান্ড লাইনে ফিরিয়ে দেওয়া হয়েছিল।

অতিথির কাছ থেকে হোস্ট জিপিইউ ব্যবহার করা

অতিথিকে সক্রিয় করার আগে, প্রথমে আমি হোস্ট মেশিনটি রিবুট করেছিলাম, ভার্চুয়ালবক্স-ডিকেএমএসের সাহায্যে কার্নেলের মধ্যে অপ্রকাশিত কিছু হওয়ার প্রয়োজন আছে। যেহেতু আমি পূর্ববর্তী কমান্ডটি sudoসুবিধাগুলি ছাড়াই চালিয়েছি, সন্দেহ আছে যে কোনও পরিবর্তন হয়েছে কিনা ।

আমি যখন পরবর্তী অতিথিটি শুরু করলাম তখন উইন্ডোজ আপডেট তার কাজটি শুরু করে এবং স্বয়ংক্রিয়ভাবে সঠিক এনভিআইডিআইএ ড্রাইভার সনাক্ত এবং ইনস্টল করে। এখন পর্যন্ত সব দেখতে ভাল লাগছে। যদিও আমি ডিভাইসটি ব্যবহার করতে পারার আগে আমাকে অতিথিকে রিবুট করতে হয়েছিল ...

সমস্যা

এখন যেহেতু গ্রাফিক্স কার্ড ড্রাইভার গেস্ট এবং পিসিআই ডিভাইসে সংযুক্ত রয়েছে, আমি উইন্ডোজ ডেস্কটপে প্রবেশ করতে পারছি না। আমি উইন্ডোজ লগইন স্ক্রিনে পৌঁছেছি, তারপরে লগ ইন করার পরে, স্ক্রিনটি হ'ল "ওয়েলকাম" বলছে, তার পাশের নীল বৃত্তটি হওয়া উচিত।

মধ্যে /var/log/kern.log, শেষ বার্তা প্রিন্ট করা হয়:

vboxpci: vboxPciOsDevInit: dev=500
vboxpci: detected device: 10de:05ff at 05:00.0, driver pci-stub
vboxpci: vboxPciOsDevInit: dev=500 pdev=ffff88061bea0000
pci-stub 0000:05:00.0: irq 76 for MSI/MSI-X
vboxpci: enabled MSI
500: linux vboxPciOsDevGetRegionInfo: reg=0
got mmio region: fa000000:16777216
500: linux vboxPciOsDevGetRegionInfo: reg=1
got mmio region: d0000000:268435456
500: linux vboxPciOsDevGetRegionInfo: reg=3
got mmio region: f8000000:33554432
500: linux vboxPciOsDevGetRegionInfo: reg=5
got pio region: 8c00:128
500: linux vboxPciOsDevGetRegionInfo: reg=6
got mmio region: fb980000:524288
got PCI IRQ: 76
device eth0 entered promiscuous mode
power state: 0
vboxpci: No IOMMU domain (attach)

কোন ধারনা কিভাবে এটা ঠিক করতে হবে?

হালনাগাদ:

আমি এখন কার্নেলটি বুট করার সাথে পেয়েছি intel_iommu=on, তবে জিনিসগুলি এখনও পুরোপুরি কাজ করছে না .. হোস্টটিকে রিবুট করার পরে, অতিথিটি শুরু হয়, ঠিক আছে লগইন করে এবং এর কোনওটি শুরু করার আগে সবকিছু যেমন মনে হয় তেমনই মনে হয়। আমার ২ য় গ্রাফিক্স কার্ড কিছুই আউটপুট দিচ্ছে না।

ডিভাইস ম্যানেজারে, কোয়াড্রো এফএক্স ডিভাইসের পাশেই একটি বিস্ময়বোধক চিহ্ন রয়েছে এবং ডিভাইসের বৈশিষ্ট্যগুলিতে 12 এর একটি ত্রুটি কোড রয়েছে, "এই ডিভাইসটি যথেষ্ট নিখরচায় সংস্থান খুঁজে পাচ্ছে না" এই বার্তায়। টেকনেট.মাইক্রোসফট.কম-এ আরও বর্ণনা ।

হোস্ট কার্নেল লগে এটি আশাব্যঞ্জক দেখায়: -

vboxpci: detected device: 10de:05ff at 05:00.0, driver pci-stub
vboxpci: vboxPciOsDevInit: dev=500 pdev=ffff88061baa0000
pci-stub 0000:05:00.0: irq 76 for MSI/MSI-X
vboxpci: enabled MSI
500: linux vboxPciOsDevGetRegionInfo: reg=0
got mmio region: fa000000:16777216
500: linux vboxPciOsDevGetRegionInfo: reg=1
got mmio region: d0000000:268435456
500: linux vboxPciOsDevGetRegionInfo: reg=3
got mmio region: f8000000:33554432
500: linux vboxPciOsDevGetRegionInfo: reg=5
got pio region: 8c00:128
500: linux vboxPciOsDevGetRegionInfo: reg=6
got mmio region: fb980000:524288
got PCI IRQ: 76
created IOMMU domain ffff88058377c9a0
device eth0 entered promiscuous mode
power state: 0
vboxpci: iommu_attach_device() success

আমি যদি দ্বিতীয়বার অতিথিকে ওএস শুরু করি, হোস্টটিকে রিবুট না করে, প্রদর্শনটি "স্বাগত" পর্যায়ে আবারও হিমশীতল হয়। এটি অবশ্যই লগ-ইন পর্যায়ে শেষ করেছে যদিও আমি কোনও শাটডাউন না করেই মেশিনটি বন্ধ করতে উইন্ডোজ শর্টকাট ব্যবহার করতে পারি ..

এখন আমি এক ধরণের ধারণা ছাড়াই ... এই কাজটি করার জন্য কোনও পরামর্শ? আমি যে আর কোনও তথ্য সরবরাহ করতে পারি?

UPDATE2:

dmesg আরও কিছু আকর্ষণীয় ত্রুটি রয়েছে তবে আমি তাদের সম্পর্কে আমি কী করতে পারি তা জানি না:

IOMMU 0 0xfbfff000: using Queued invalidation
IOMMU 1 0xfbffe000: using Queued invalidation
------------[ cut here ]------------
WARNING: at /build/buildd/linux-3.5.0/drivers/iommu/intel-iommu.c:4254 init_dmars+0x39b/0x74f()
Hardware name: System Product Name

Your BIOS is broken; DMA routed to ISOCH DMAR unit but no TLB space.

BIOS vendor: American Megatrends Inc.; Ver: 0811   ; Product Version: System Version
...
Your BIOS is broken; RMRR ends before it starts!

1
আইওএমএমইউ সেটিংটি ডিবিয়ান স্থিতিতে ডিফল্টভাবে সক্রিয় হওয়া উচিত যদি হার্ডওয়্যার সমর্থন করে। যেহেতু এটি লগতে সমস্যা এবং প্রচুর ত্রুটি সৃষ্টি করছিল আমাকে এটিকে নিষ্ক্রিয় করতে হয়েছিল intel_iommu=soft। আপনি পাস করার চেষ্টা করতে পারেন intel_iommu=on
মার্কো

1
দুর্দান্ত, সবেমাত্র ফাইল এবং লাইনটি কোথায় এটি পরিবর্তন করতে পারে তা খুঁজে পেয়েছি; কে-ডি-ই-এর গ্রাব-কনফিগার মডিউলে রাখা CONFIG_CMDLINE_LINUX=intel_iommu=onহয়েছে /etc/default/grub। এখন অতিথি বুট হয়ে গেছে, তবে গ্রাফিক্স কার্ডটি সনাক্ত করতে পারে না ...
অ্যালেক্স লিচ

intel_iommu=softকোনও বৈধ কার্নেল বিকল্প বলে মনে হচ্ছে না, এবং আমি এটি ব্যবহার করার পরে এটি আবার ফিরে গেছে intel_iommu=on.. www.kernel.org থেকে আপনার কাছে থাকতে পারে iommu=soft, তবে আমি এর জন্য কোনও ডকুমেন্টেশন পাচ্ছি না .. আপনি কি জানেন এটি কি করে?
অ্যালেক্স লিচ

3
ঠিক বলেছেন, ঠিক আছে iommu=soft। এটি হার্ডওয়্যার আইওএমএমইউ নিষ্ক্রিয় করে (যা আমার সিস্টেমে অসংখ্য ডিএমএ ত্রুটি ঘটায়) এবং এর পরিবর্তে একটি আইওএমএমইউ ব্যবহার করে। পুরানো থ্রেডের লিঙ্কটি এখানে: সমস্ত কার্নেল প্যাকেজগুলির জন্য iommu = নরম ব্যবহারের পরামর্শ
মার্কো

ধন্যবাদ। আমি পরের পুনরায় বুট করার সময় আমি একটি শট দিতে পারি। আমি মনে করি আমার সমস্ত হার্ডওয়্যার আইওএমএমইউ সমর্থন করে যদিও কোনও সফ্টওয়্যার এমুলেশন ভাল ধারণা হবে কিনা তা নিশ্চিত নই। সম্পর্কিত নোটে, আমার জিপিইউতে ডিএমএআর ইউনিট রয়েছে কিনা তা নিশ্চিত নয় এবং এটি ব্যবহার করা ভাল ধারণা কিনা intel_iommu=igfx_off...
অ্যালেক্স লিচ

উত্তর:


2

আমি ভিভিজি পাসস্ট্র্রু একটি এনভিআইডিআইএ জিটিএক্স 760 কে ভিভিও-ভিগা সহ হাইপারভাইজার হিসাবে কেভিএম ব্যবহার করে কাজ করেছি; ভার্চুয়ালবক্সের সাহায্যে এটি আমি কখনও চেষ্টা করি নি। এটি একটি ব্যথা ছিল, তবে কনফিগারেশনটি সঠিকভাবে পাওয়ার পরে ভাল কাজ করে। কেভিএম আপনার ডেস্কটপ থেকে দ্রুত ভিএমগুলির জন্য ভার্চুয়ালবক্সের মতোই সুবিধাজনক এবং আপনি এটি অন্য বিকল্প হিসাবে বিবেচনা করতে পারেন।

এই থ্রেডটিতে প্রচুর বিভিন্ন কনফিগারেশন এবং সমস্যা সমাধানের পদক্ষেপের জন্য প্রচুর পরিমাণে তথ্য রয়েছে এবং এটি সত্যই সহায়ক ছিল: https://bbs.archlinux.org/viewtopic.php?id=162768


1
চুদা কি কাজ করে?
আলেকসান্দ্র ডাবিনস্কি

যে ব্লগ এখন সেকেলে হয়ে যাবে বলে দাবি করে এবং বিশেষ পরামর্শ দেওয়া হচ্ছে vfio.blogspot.com
আলেক্সান্দ্র Dubinsky

ভাল, ঠান্ডা স্থল থেকে একটি দক্ষ কেভিএম + কিউমু সেটআপ করা এত দ্রুত নাও হতে পারে।
21:59-

@ আলেকসান্ডারডুবিনস্কি, বর্তমানে সিইউডিএর কাজ পেতে একটি নির্দিষ্ট লিনাক্স কার্নেল ব্যবহার করতে হবে: superuser.com/a/1392031/109803
গ্যাব্রিয়েল ফেয়ার

0

যদি আপনার এনভিডিয়া ড্রাইভার বলছেন যে এটি যথেষ্ট নিখরচায় সংস্থান খুঁজে পাচ্ছে না, তবে ডিভাইস ম্যানেজারে এমুলেটেড "স্ট্যান্ডার্ড ভিজিএ অ্যাডাপ্টার" অক্ষম করার চেষ্টা করুন। অতিথিকে পুনরায় বুট করুন, এবং নিম্নলিখিত ক্রিয়াকলাপটি সন্ধান করতে পারেন:

1) আপনার ভিএম পোস্ট / বুট এমুলেটেড ভিজিএ অ্যাডাপ্টারে ঘটে। 2) এমুলেটেড ভিজিএ অ্যাডাপ্টারটি লগইন স্ক্রিনে আসার ঠিক আগে খালি যায় 3) এনভিডিয়া ড্রাইভার লোড করে এবং পাসথ্রু জিপিইউ নিয়ে আসে, এবং আপনি এনভিডিয়া কার্ডে লগইন স্ক্রিন পাবেন।

কিছুটা ভাগ্যের সাথে আপনি দেখতে পাবেন যে সেখান থেকে জিনিসগুলি ঠিকঠাক কাজ করে। জেনের সাথে আমার অনুরূপ সেটআপে এটি কমবেশি ঠিক ঘটে। দয়া করে ফলাফল রিপোর্ট করুন। :)


0

মনে হচ্ছে আপনার দুটি পৃথক সমস্যা রয়েছে। ভিজিএ পাস দিয়ে কাজ করতে রিবুট করা সত্যিকারের ভালুক হতে পারে। জেন-এ, ভিজিএ ডিভাইস প্রায়শই অপসারণযোগ্য ডিভাইস হিসাবে প্রদর্শিত হয় এবং কিছু লোকের রিবুট হওয়ার আগে ডিভাইসটিকে "বের করে" দেওয়ার জন্য আরও ভাগ্য ভাল হয়।

উইন্ডোজ ডিভাইস ম্যানেজারটিতে কেবল ভার্চুয়াল ভিডিও ডিভাইসটি অক্ষম করে কোড 12 ত্রুটিটি সম্ভবত সংশোধন করা যেতে পারে।


0

এর মধ্যে একটি সেট করার চেষ্টা করুন /etc/grub:

  • iommu=memmaper
  • iommu=soft
  • vga=normal
  • vesa=0

আমার কাছে নতুন এএমডি bit৪ বিট সিস্টেম রয়েছে এবং আমি দেখতে পেয়েছি যে বিআইওএসে আইওমু সেটিংসের কারণে এনভিডিয়া এবং ডিএমএ সেটিংসে লিনাক্সের সমস্যা রয়েছে, তাই এগুলি গ্রুবে সেট করা আমার জন্য এটি স্থির করে।

আরও বিস্তারিত জানার জন্য এটি পড়ুন ।


-1

"আইওএমএমইউ পাওয়া গেছে" বার্তাটি দেখতে এইচপি dc7900 এ পরীক্ষা করা হয়েছে:

ইন্টিগ্রেটেড ভিডিও নিষ্ক্রিয় করুন

iommu=calgary intel_iommu=on intel_iommu=igfx_off
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.