KVM передача GPU

теперь я знаю, что об этой проблеме говорили прежде, но те темы стары теперь и немного датированные.

Таким образом, я недавно следовал нескольким различным руководствам по получению этой системной работы, главным образом;

http://www.howtogeek.com/117635/how-to-install-kvm-and-create-virtual-machines-on-ubuntu/
http://www.pugetsystems.com/labs/articles/Multiheaded-NVIDIA-Gaming-using-Ubuntu-14-04-KVM-585/

До сих пор у меня нет удачи. Моя Система состоит из:

Intel Xeon e3-1230V2 with VT-d
Asrock Fatal1ty Pro z77 with VT-d enabled
A nvida 9800gt - for main host
a gtx 780 for windows vm
a gtx 750ti for windows vm

использование второго руководства, я могу получить карты, которые я хочу, как "требуется тупиком", но я сталкиваюсь с проблемой при попытке выполнить vm.

В настоящее время моя система группирует мои 780 (устройство 0000:01:00.0) с моим 9800gt (устройство 0000:02:00.0) вместе, который говорит мне, что я не могу выполнить vm, поскольку я не выделил его вся группа.

Я видел упоминание, что установка патча переопределения acs может работать путем разделения устройств на меньшие группы, чтобы позволить мне передавать GPU, но до сих пор в каждом учебном руководстве или теме просто говорится, "компилируют патч в" или "добавьте эта строка к личинке cmd".

Я не видел никуда объяснение, как на самом деле установить патч на человечности 14.04 или если я должен сделать что-либо еще.

Кто-либо еще смог получить это все выполнение?

Вся справка чрезвычайно ценится и если возможный, попытайтесь объяснить вещи как простые, как может быть. Пока я знаю Linux, я не знаю это первое, что пришло на ум

Примечание: 9800gt на самом деле вторая карта в системе, и расположение их не может быть изменено, таким образом, дисплей по умолчанию в настоящее время переходит к 780

Править

Я просто нашел эти руководства для debian

Исправление

#!/bin/bash
# patch --dry-run --verbose -p 1 -i re_xxxxxxxxxxxxx

echo
echo ... PATCHING ... VGA Arbiter
patch -b -p 1 -i re_patch_01_i915_313rc4.patch
echo
echo ... PATCHING ... acs override
patch -b -p 1 -i re_patch_02_override_for_missing_acs_capabilities.patch
echo
echo ... PATCHING ... memleak
patch -b -p 1 -i re_patch_03_fix_memleak.patch
echo
echo ... PATCHING ... read DR6
patch -b -p 1 -i re_patch_04_fix_reading_of_DR6.patch
echo
echo ... PATCHING ... debug registers - has problem, needs to follow DR6 patch
patch -b -p 1 -i re_patch_05_debug_registers.patch
# patch -b -p 1 -i re_debug_registers_RE.patch   # Corrected to add additional lines before DR6 patch runs
echo
echo ... PATCHING ... kernel__gcc
patch -b -p 1 -i re_patch_06_kernel-38-gcc48-2.patch

Компиляция

To compile a new kernel
https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
https://help.ubuntu.com/community/Kernel/Compile
https://wiki.ubuntu.com/KernelTeam/KernelMaintenance
https://www.debian.org/releases/stable/i386/ch08s06.html.en

architecture is "amd64" or "x86_64"

1) download the source into the current directory using "apt-get source linux-image-xxxxx"  where xxxx is the name of the version eg. apt-get source linux-image-3.13.0-32-generic

This should download the tarball(s) and extract the source code into a directory (which should be renamed immediately because all versions use the same directory name !!!)

2) Open the new directory, clean up and prepare
  chmod a+x debian/scripts/*
  chmod a+x debian/scripts/misc/*
  fakeroot debian/rules clean

  and generate the required config by either -
  a) editing using "fakeroot debian/rules editconfigs"  (for all targets, one after another) ... or 
  b) "make menuconfig" and work through the various options. Remember to save before exit
  c) copy the current config from the boot directory as ".config" in the root direcotry for the new kernel and then use  "make oldconfig" ... which will ask a question for the value of each new config option

  Required config options are
    CONFIG_VFIO_IOMMU_TYPE1=y     in Device Drivers. 2 pages back from end
    CONFIG_VFIO=y
    CONFIG_VFIO_PCI=y
    CONFIG_VFIO_PCI_VGA=y
    CONFIG_PCI_STUB=y             in Bus Options, second page down
    HZ_1000=y                     in Processor Type & Features (last page)
    PREEMPT=voluntary

3) apply any patches /// remember to verify that they worked ok (look for fail)
   "sh re_apply_patches.sh > re_output_patch.txt"

4) "fakeroot debian/rules clean"   to remove any old build information / files

5) Ignore modules not created with new parameters ... copy re_modules.ignore to ...debian.master/abi/<previous-version>/modules.ignore

   and ignore other ABI errors by copying re_prevrelease_arch_ignore (rename to  "ignore") to debian.master/abi/<previous-version>/<arch>    eg. to debian.master/abi/3.13.0-32.56/amd64/

6) "DEB_BUILD_OPTIONS=parallel=3 skipmodule=true fakeroot debian/rules binary-headers binary-generic  > re_output_compile.txt"   to generate the deb files which can be installed (second thoughts don't pipe the poutput to a file - it will prevent selection of the CPU type)

7) Install all the Debs with command "sudo dpkg -i linux*<ver>*.deb
eg.   sudo dpkg -i linux*3.13.0-32_3.13.0-32.57*.deb
      sudo dpkg -i linux*3.13.0-32-generic_3.13.0-32.57*.deb

8) go into Synaptic and lock all the newly installed elements (linux-image*, linux-header*, linux-tool*, linx-cloud-tool*) - to prevent the new kernel and components being overwritten in the next upgrade

Не уверенный, если это работало бы в человечности?

1
задан 1 October 2014 в 16:14

1 ответ

Я знаю, что этот поток на самом деле близко к трем годам, но патч переопределения ACS является устаревшим, потому что это было, встраивают в Ядро Ubuntu 4.8. В настоящее время путем установки новейшего ядра на ubuntu 16.04 LTS Xenial через apt-get install linux-generic-hwe-16.04 Вы получаете ядро 4.10, который полностью разделяет все устройства PCI в разделенную IOMMU-группу. Так прохождение через видеокарты один за другим к нескольким VMs теперь возможно очень легко.

1
ответ дан 11 November 2019 в 12:34

Другие вопросы по тегам:

Похожие вопросы: