Iommu controller что это
Содержание
- 1 Iommu controller что это
- 1.1 Iommu controller что это
- 1.2 Intel раскрыла подробности Thunderbolt 4
- 1.3 Проброс видеокарты в KVM из под ubuntu
- 1.4 Verify IOMMU Isolation
- 1.5 Программа Setup BIOS фирмы AWARD Software International Inc на системных платах GIGABYTE TECHNOLOGY
- 1.6 Intel раскрыла подробности Thunderbolt 4
- 1.7 [РЕШЕНО] IOMMU
- 1.8 Проброс видеокарты в KVM из под ubuntu
- 1.9 Verify Operation
Iommu controller что это
Часовой пояс: UTC + 3 часа
Запрошенной темы не существует.
Часовой пояс: UTC + 3 часа
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan
Intel раскрыла подробности Thunderbolt 4
В январе 2020 Intel передала разработку и стандартизацию своего стандарта форуму USB Implementers Forum (USB-IF). Это отнюдь не означает, что Intel больше не будет заниматься разработкой Thunderbolt, просто связь между USB4 и Thunderbolt 4 будет еще более тесной.
Thunderbolt 4 по-прежнему полностью совместим со спецификациями USB4, но обеспечивает расширенную функциональность и более высокую пропускную способность. Кроме того, Thunderbolt 4 поддерживает доки с числом портов Thunderbolt до четырех (здесь используется новая линейка контроллеров Thunderbolt 4 8000 Series), длина кабелей может составлять до 2 м.
С процессорами Ice Lake Intel впервые встроила контроллер Thunderbolt 3 напрямую в CPU. Раньше всегда были необходимы внешние чипы. Конечно, потребность во внешних контроллерах никуда не исчезла — например, если у CPU нет встроенного контроллера, а также для клиентов Thunderbolt, таких как док-станции. Будущие процессоры Tiger Lake тоже получат встроенный контроллер. С ним планируется поддержать стандарт Thunderbolt 4. Контроллеры Thunderbolt 4 в линейке 8000 Series поддерживают до четырех портов.
USB4 и Thunderbolt 4 имеют много общих функций, но различаются в некоторых деталях. Как и в случае Thunderbolt 3, Thunderbolt 4 дает максимальную скорость передачи 40 Гбит/с. Стандарт USB4 обеспечивает лишь 20 Гбит/с в качестве минимальной скорости (USB4 20), но опционально возможна 40 Гбит/с (USB4 40). Thunderbolt 4 призван объединить сборную «солянку» разных стандартов USB и скоростей. Причем это касается не только скоростей передачи данных, но и кабелей.
Thunderbolt 4 обратно совместим с Thunderbolt 3 и полностью поддерживает спецификации USB4. Intel указывает в технических спецификациях еще и поддержку «PCIe 32 Gb/s». Конечно, чтобы воспользоваться всеми возможностями, необходимо полноценное подключение 40 Гбит/с Thunderbolt 4. 40 Гбит/с требуется не только для передачи данных, но и для поддержки других протоколов, подобных DisplayPort, которые тоже передаются через Thunderbolt. Например, через Thunderbolt 4 можно подключать два дисплея 4K. В случае Thunderbolt 3 поддерживается передача только одного сигнала в разрешении 4K. Кроме того, имеется поддержка сетевого подключения 10 Гбит/с. Так что 40 Гбит/с стандарта Thunderbolt 4 следует рассматривать не только как доступную пропускную способность для подключения внешних жестких дисков/SSD. Впрочем, то же самое было верно и для Thunderbolt 3.
Через подключение Thunderbolt 4 обеспечивается минимальная мощность 15 Вт, поэтому многие внешние устройства могут работать без дополнительного питания. Конечно, Thunderbolt 4 может обеспечивать и до 100 Вт, чтобы заряжать батарею ноутбука. Но здесь необходимо, чтобы и док Thunderbolt 4 мог обеспечивать 100 Вт.
Еще одно улучшение при использовании дока с Thunderbolt 4 — устройство больше не будет просыпаться при подключении к доку. Оно может оставаться в режиме сна.
Большее число портов Thunderbolt 4 (как через встроенный контроллер процессора, так и через новые контроллеры) дают Intel дополнительную гибкость подключения аксессуаров. Но поддерживается и традиционное подключение по цепочке — хотя теперь оно уже не является обязательным. Intel также показала первые эталонные версии док-станций Thunderbolt 4, которые оснащены четырьмя портами.
Потребуется только один кабель
С новым стандартом Thunderbolt 4 Intel изначально сертифицирует кабели длиной 2 м. Подобная длина была доступна и для Thunderbolt 3, но с сертификацией было не все однозначно. Кроме того, для работы Thunderbolt 3 были необходимы оптические кабели, которые весьма сложно найти. Для Thunderbolt 2 оптические кабели выпускал, например, Corning.
Intel разрабатывает кабели Thunderbolt 4 длиной от 5 до 50 метров. Впрочем, пока неизвестно, базируются они на электрической или оптической передаче сигнала. По крайней мере, Intel дает надежду, что в будущем можно ожидать кабелей длиннее 2-3 метров.
Новые контроллеры
Семейство Thunderbolt 4 8000 Series для ПК состоит из двух host-контроллеров (JHL8540 и JHL8340), которые различаются разным числом портов. Со стороны доков и мониторов для поддержки Thunderbolt 4 должен использоваться контроллер JHL8440.
По аналогии с предшественниками JHL7540 и JHL7340 (Titan Ridge), новые контроллеры для ПК обеспечивают два порта (JHL8540) или один (JHL8340) Thunderbolt 4. Контроллер JHL8440 обеспечивает четыре порта — один «вверх» и три «вниз» для подключения устройств. Кодовое название новых контроллеров Thunderbolt 4 — Maple Ridge.
Большая безопасность
Время от времени исследователи обнаруживают уязвимости Thunderbolt. Недавно стала известна атака Thunderspy, где используется механизм Direct Memory Access (DMA). Intel предотвращает подобные атаки в будущем с помощью адаптированной технологии виртуализации Virtualization Technology for Directed I/O (VT-d).
Thunderbolt обеспечивает прямой доступ к линиям PCI Express. И механизм Direct Memory Access значительно ускоряет работу с памятью. Концепция общей памяти по своей природе является уязвимым звеном, поскольку к ней возможен доступ через внешний интерфейс.
Одна из функций VT-d под названием DMA Remapping (DMA-r) как раз поддерживается блоком IO Memory Management Unit (IOMMU). Она обеспечивает защиту памяти, так как устройство PCI Express может обращаться только к той памяти, к которой имеет доступ.
DMA-r поддерживается под Windows 10 с версии 1803, macOS 10.8.2 и Linux kernel 4.21. И для большинства атак через Thunderbolt технология DMA-r обеспечивает защиту.
Intel представит процессоры Tiger Lake уже этим летом. Первые устройства должны появиться на прилавках магазинов как раз к новогоднему/рождественскому сезону. Когда мы увидим первые внешние устройства Thunderbolt 4 — неизвестно.
Подписывайтесь на группы Hardwareluxx ВКонтакте и Facebook, а также на наш канал в Telegram (@hardwareluxxrussia).
Проброс видеокарты в KVM из под ubuntu
Предистория
Года два назад я решил перейти полностью на линукс, но необходимость в венде не упала, поэтому всегда держал у себя 2 операционные системы. Около месяца назад попробовал поставить VirtualBox и на нее установить Windows, в общем то работать с 2мя операционными системами мне понравилось, но была одна проблема, я программирую исключительно компьютерную графику и мне нужна была поддержка OpenGL 3.3 и выше, к сожалению VirtualBox не предоставлял мне такой возможности. Погуглив наткнулся на такую штуку как Xen, долго пытался что-то сделать на ней, в итоге ничего не вышло, скорее всего из-за основной видеокарты — nVidia GeForce 580 GTX, гипервизор попросту не хотел запускать даже убунту, не говоря уже об виндовсе. Начал искать другие гипервизоры, и наткнулся на KVM, с ним пришлось повозиться, но в конце концов все заработало.
Конфигурация
Подготовка
Для начала следует перезагрузиться в биос и включить IOMMU. Чтобы проверить работает ли IOMMU для AMD:
dmesg | grep -iE «(IOMMU|AMD-Vi)»
dmesg | grep -iE «(IOMMU|VT-d)»
Теперь нужно включить iommu в grub. Открываем /etc/default/grub, ищем GRUB_CMDLINE_LINUX, приводим к виду:
GRUB_CMDLINE_LINUX=»max_loop=64 iommu=pt iommu=1 amd_iommu=fullflush»
Таким образом мы увеличиваем количество LOOP устройств, включаем поддержку IOMMU для AMD. Если у вас при загрузке операционной системы все стало сплющенным (обычно это из-за 2х видеокарт), то к предыдущей строке добавьте nomodeset, получим:
GRUB_CMDLINE_LINUX=»nomodeset max_loop=64 iommu=pt iommu=1 amd_iommu=fullflush»
Так же, для уменьшения глюков, можно запретить скачивание драйверов от AMD (если у вас обе видеокарты от AMD, то не стоит этого делать) добавив их в blacklist. Открываем /etc/modprobe.d/blacklist.conf и добавляем следующее:
blacklist fglrx
blacklist radeon
Теперь нужно подготовить видеокарту для проброса, отключив ее от драйвера на хосте и подключив к pci-stub. Для выбора нашей карты вводим lspci и ищем нашу карту:
02:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Cypress PRO [Radeon HD 5850]
02:00.1 Audio device: Advanced Micro Devices [AMD] nee ATI Cypress HDMI Audio [Radeon HD 5800 Series]
в моем случае это 02:00.0 и 02:00.1. 02:00.1 — это звуковой чип. Видеокарта видна как видео и аудио, поэтому их стоит переносить вместе.
Затем, нам нужны vendor id и device id. посмотреть можно запустив lspci с ключем -n
02:00.0 0300: 1002:6899
02:00.1 0403: 1002:aa50
теперь подключим наши устройства к pci-stub. Видеокарта:
echo «1002 6899» > /sys/bus/pci/drivers/pci-stub/new_id
echo «0000:02:00.0» > /sys/bus/pci/devices/0000:02:00.0/driver/unbind
echo «0000:02:00.0» > /sys/bus/pci/drivers/pci-stub/bind
обратите внимание, в между VendorID и DeviceID не ставится двоеточие.
Звуковая карта:
echo «1002 aa50» > /sys/bus/pci/drivers/pci-stub/new_id
echo «0000:02:00.1» > /sys/bus/pci/devices/0000:02:00.1/driver/unbind
echo «0000:02:00.1» > /sys/bus/pci/drivers/pci-stub/bind
для удобства, можно написать скрипт и добавить его в автозапуск.
Установка
Для начала вам нужно установить несколько пакетов:
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
это установка на сервер без гуи, для удобной работы с kvm установим также virt-manager:
sudo apt-get install virt-manager
После этого в меню должен появится пункт «Менеджер виртуальных машин» (Virtual Machine Manager)
Далее передадим модулю kvm опцию allow_unsafe_assigned_interrupts=1. Создаем файл в /etc/modprobe.d/kvm.conf с содержанием и перезагружаем моудль.
options kvm allow_unsafe_assigned_interrupts=1
Далее запускаем virt-manager, появится окно:
Нажимаем правой кнопкой по localhost и выбираем New либо жмем на мониторчик слева в панели. Далее по инструкции создаем виртуальную машину. После установки системы можно пробрасывать нужные нам устройства. Войдите в меню View->Details. Должно появиться такое окно:
Жмем на кнопку Add hardware, выбираем PCI Host Device, и ищем нашу видеокарту. Тоже самое стоит проделать и со звуковым чипом от видеокарты. Таким же образом можно пробросить USB хосты, чтобы они заработали, стоит указать в Controller USB в поле Model: USB2.
При запуске в устройствах компьютера должен появиться наш адаптер:
Следущее что нам нужно сделать — это скачать драйвер. Скачиваем с сайта производителя и устанавливаем его в систему. У меня при попытке установить драйвер система отчаяно уходила в BSOD, решил я эту проблему установкой более новой винды. Также можно попробовать установить драйвер через диспетчер устройств, но у меня он просто напросто зависал.
Для завершения выключаем виртуальную машину и производим перезагрузку компьютера, если этого не сделать, при повторном запуске система может уйти в BSOD.
На данный момент, kvm при повторном запуске гостя с проброшенной видеокартой вешает всю систему, поэтому, если вы выключили виртуалку, то придется так же перезагружать весь компьютер.
Теперь, после старта консоль виртуальной машины отключится после загрузки драйвера видеокарты, в случае Windows 7 там остается картинка «Starting Windows», но само изображение должно уже выводится на проброшенную видеокарту. Хотя на коносль и не будет выводится изображение, тем не менее она будет передавать данные от устройств ввода и можно будет управлять гостем с клавиатуры и мыши как обычную виртуалку.
Цепляем второй монитор к проброшенной видеокарте, и любуемся проделанной работой.
На последок скриншот оценки производительности системы:
Verify IOMMU Isolation
For working PCI passthrough, you need a dedicated IOMMU group for all PCI devices you want to assign to a VM.
You should have something like:
To have separate IOMMU groups, your processor needs to have support for a feature called ACS (Access Control Services).
All Xeon processor support them (E3,E5) excluding Xeon E3-1200.
For Intel Core it’s different, only some processors support ACS. Anything newer than listed below should support ACS, as long as VT-d is supported. See https://ark.intel.com for more info.
AMD chips from Ryzen 1st generation and newer are fine too.
If you don’t have dedicated IOMMU groups, you can try:
1) moving the card to another pci slot
2) adding «pcie_acs_override=downstream» to kernel boot commandline (grub or systemd-boot) options, which can help on some setup with bad ACS implementation.
Программа Setup BIOS фирмы AWARD Software International Inc на системных платах GIGABYTE TECHNOLOGY
Название данной опции у данного производителя в данной версии BIOS:
Virtualization значение по умолчанию [Disabled]
Hardware assisted VirtuaIization Technology which help improve performance of system running VirtuaI Machine Softwares.
Virtual Machine allows multiple OS on one conputer simultaneously.
Оборудование для помощи VirtuaIization — технология которая помогает повысить производительность системы, работающей на VirtuaI-машине.
Виртуальная машина позволяет запускать более производительно несколько ОС на одном компьютерные одновременно.
Не включать технологию аппаратной виртуализации, основанной на специальной процессорной архитектуре.
Включает технологию аппаратной виртуализации, основанной на специальной процессорной архитектуре.
Intel раскрыла подробности Thunderbolt 4
В январе 2020 Intel передала разработку и стандартизацию своего стандарта форуму USB Implementers Forum (USB-IF). Это отнюдь не означает, что Intel больше не будет заниматься разработкой Thunderbolt, просто связь между USB4 и Thunderbolt 4 будет еще более тесной.
Thunderbolt 4 по-прежнему полностью совместим со спецификациями USB4, но обеспечивает расширенную функциональность и более высокую пропускную способность. Кроме того, Thunderbolt 4 поддерживает доки с числом портов Thunderbolt до четырех (здесь используется новая линейка контроллеров Thunderbolt 4 8000 Series), длина кабелей может составлять до 2 м.
С процессорами Ice Lake Intel впервые встроила контроллер Thunderbolt 3 напрямую в CPU. Раньше всегда были необходимы внешние чипы. Конечно, потребность во внешних контроллерах никуда не исчезла — например, если у CPU нет встроенного контроллера, а также для клиентов Thunderbolt, таких как док-станции. Будущие процессоры Tiger Lake тоже получат встроенный контроллер. С ним планируется поддержать стандарт Thunderbolt 4. Контроллеры Thunderbolt 4 в линейке 8000 Series поддерживают до четырех портов.
USB4 и Thunderbolt 4 имеют много общих функций, но различаются в некоторых деталях. Как и в случае Thunderbolt 3, Thunderbolt 4 дает максимальную скорость передачи 40 Гбит/с. Стандарт USB4 обеспечивает лишь 20 Гбит/с в качестве минимальной скорости (USB4 20), но опционально возможна 40 Гбит/с (USB4 40). Thunderbolt 4 призван объединить сборную «солянку» разных стандартов USB и скоростей. Причем это касается не только скоростей передачи данных, но и кабелей.
Thunderbolt 4 обратно совместим с Thunderbolt 3 и полностью поддерживает спецификации USB4. Intel указывает в технических спецификациях еще и поддержку «PCIe 32 Gb/s». Конечно, чтобы воспользоваться всеми возможностями, необходимо полноценное подключение 40 Гбит/с Thunderbolt 4. 40 Гбит/с требуется не только для передачи данных, но и для поддержки других протоколов, подобных DisplayPort, которые тоже передаются через Thunderbolt. Например, через Thunderbolt 4 можно подключать два дисплея 4K. В случае Thunderbolt 3 поддерживается передача только одного сигнала в разрешении 4K. Кроме того, имеется поддержка сетевого подключения 10 Гбит/с. Так что 40 Гбит/с стандарта Thunderbolt 4 следует рассматривать не только как доступную пропускную способность для подключения внешних жестких дисков/SSD. Впрочем, то же самое было верно и для Thunderbolt 3.
Через подключение Thunderbolt 4 обеспечивается минимальная мощность 15 Вт, поэтому многие внешние устройства могут работать без дополнительного питания. Конечно, Thunderbolt 4 может обеспечивать и до 100 Вт, чтобы заряжать батарею ноутбука. Но здесь необходимо, чтобы и док Thunderbolt 4 мог обеспечивать 100 Вт.
Еще одно улучшение при использовании дока с Thunderbolt 4 — устройство больше не будет просыпаться при подключении к доку. Оно может оставаться в режиме сна.
Большее число портов Thunderbolt 4 (как через встроенный контроллер процессора, так и через новые контроллеры) дают Intel дополнительную гибкость подключения аксессуаров. Но поддерживается и традиционное подключение по цепочке — хотя теперь оно уже не является обязательным. Intel также показала первые эталонные версии док-станций Thunderbolt 4, которые оснащены четырьмя портами.
Потребуется только один кабель
С новым стандартом Thunderbolt 4 Intel изначально сертифицирует кабели длиной 2 м. Подобная длина была доступна и для Thunderbolt 3, но с сертификацией было не все однозначно. Кроме того, для работы Thunderbolt 3 были необходимы оптические кабели, которые весьма сложно найти. Для Thunderbolt 2 оптические кабели выпускал, например, Corning.
Intel разрабатывает кабели Thunderbolt 4 длиной от 5 до 50 метров. Впрочем, пока неизвестно, базируются они на электрической или оптической передаче сигнала. По крайней мере, Intel дает надежду, что в будущем можно ожидать кабелей длиннее 2-3 метров.
Новые контроллеры
Семейство Thunderbolt 4 8000 Series для ПК состоит из двух host-контроллеров (JHL8540 и JHL8340), которые различаются разным числом портов. Со стороны доков и мониторов для поддержки Thunderbolt 4 должен использоваться контроллер JHL8440.
По аналогии с предшественниками JHL7540 и JHL7340 (Titan Ridge), новые контроллеры для ПК обеспечивают два порта (JHL8540) или один (JHL8340) Thunderbolt 4. Контроллер JHL8440 обеспечивает четыре порта — один «вверх» и три «вниз» для подключения устройств. Кодовое название новых контроллеров Thunderbolt 4 — Maple Ridge.
Большая безопасность
Время от времени исследователи обнаруживают уязвимости Thunderbolt. Недавно стала известна атака Thunderspy, где используется механизм Direct Memory Access (DMA). Intel предотвращает подобные атаки в будущем с помощью адаптированной технологии виртуализации Virtualization Technology for Directed I/O (VT-d).
Thunderbolt обеспечивает прямой доступ к линиям PCI Express. И механизм Direct Memory Access значительно ускоряет работу с памятью. Концепция общей памяти по своей природе является уязвимым звеном, поскольку к ней возможен доступ через внешний интерфейс.
Одна из функций VT-d под названием DMA Remapping (DMA-r) как раз поддерживается блоком IO Memory Management Unit (IOMMU). Она обеспечивает защиту памяти, так как устройство PCI Express может обращаться только к той памяти, к которой имеет доступ.
DMA-r поддерживается под Windows 10 с версии 1803, macOS 10.8.2 и Linux kernel 4.21. И для большинства атак через Thunderbolt технология DMA-r обеспечивает защиту.
Intel представит процессоры Tiger Lake уже этим летом. Первые устройства должны появиться на прилавках магазинов как раз к новогоднему/рождественскому сезону. Когда мы увидим первые внешние устройства Thunderbolt 4 — неизвестно.
Подписывайтесь на группы Hardwareluxx ВКонтакте и Facebook, а также на наш канал в Telegram (@hardwareluxxrussia).
[РЕШЕНО] IOMMU
Разумеется, система твоя, мы о ней ничего не знаем.
загляни сперва в правила, обрати внимание на пятый пункт.
Затем приложи,как там просят inxi и дополнительно вывод dmesg и syslog на предмет работы iommu и определения интерфейсов в обоих режимах.
У меня например нет ни гигабайтовских матерей, ни регулировки iommu вовсе на девайсах под рукой.
Он один на оба случая, спосле двух dmesg’ей
Будем читать
Надеюсь это то, что надо.
А вот задействования IOMMU — там не наблюдаю почему-то. Хотя его инициализация должна пройти гораздо раньше сети.
И еще в сислог не попал второй старт от Jun 16 12:55:34, видимо обрезался файлик. За этот срез лога видно только что хром падал.
Можно расшарить где-нибудь сами файлики /var/log/syslog
И /var/log/dmesg, куда-нибудь пересохранить, когда сеть не работает, чтоб нам показать.
Вот так гораздо прозрачней 🙂
сама по себе технология относится к решениям виртуализации, требуется оно или нет в данном случае, решать придется самостоятельно:)
В основном информация в сети сводится к следующему:
1. либо стоит включить проброс (passthrought) и поддержку iommu на уровне ядра. Добавить к строке загрузки:
Чтоб AMD-V не ругался, как здесь:
[ 18.474549] AMD-Vi: Event logged [IO_PAGE_FAULT device=02:00.0 domain=0x0014 address=0x00000000bec16880 flags=0x0010]
2. Либо отключить её в биосе и перевести в программный режим.
Проброс видеокарты в KVM из под ubuntu
Предистория
Года два назад я решил перейти полностью на линукс, но необходимость в венде не упала, поэтому всегда держал у себя 2 операционные системы. Около месяца назад попробовал поставить VirtualBox и на нее установить Windows, в общем то работать с 2мя операционными системами мне понравилось, но была одна проблема, я программирую исключительно компьютерную графику и мне нужна была поддержка OpenGL 3.3 и выше, к сожалению VirtualBox не предоставлял мне такой возможности. Погуглив наткнулся на такую штуку как Xen, долго пытался что-то сделать на ней, в итоге ничего не вышло, скорее всего из-за основной видеокарты — nVidia GeForce 580 GTX, гипервизор попросту не хотел запускать даже убунту, не говоря уже об виндовсе. Начал искать другие гипервизоры, и наткнулся на KVM, с ним пришлось повозиться, но в конце концов все заработало.
Конфигурация
Подготовка
Для начала следует перезагрузиться в биос и включить IOMMU. Чтобы проверить работает ли IOMMU для AMD:
dmesg | grep -iE «(IOMMU|AMD-Vi)»
dmesg | grep -iE «(IOMMU|VT-d)»
Теперь нужно включить iommu в grub. Открываем /etc/default/grub, ищем GRUB_CMDLINE_LINUX, приводим к виду:
GRUB_CMDLINE_LINUX=»max_loop=64 iommu=pt iommu=1 amd_iommu=fullflush»
Таким образом мы увеличиваем количество LOOP устройств, включаем поддержку IOMMU для AMD. Если у вас при загрузке операционной системы все стало сплющенным (обычно это из-за 2х видеокарт), то к предыдущей строке добавьте nomodeset, получим:
GRUB_CMDLINE_LINUX=»nomodeset max_loop=64 iommu=pt iommu=1 amd_iommu=fullflush»
Так же, для уменьшения глюков, можно запретить скачивание драйверов от AMD (если у вас обе видеокарты от AMD, то не стоит этого делать) добавив их в blacklist. Открываем /etc/modprobe.d/blacklist.conf и добавляем следующее:
blacklist fglrx
blacklist radeon
Теперь нужно подготовить видеокарту для проброса, отключив ее от драйвера на хосте и подключив к pci-stub. Для выбора нашей карты вводим lspci и ищем нашу карту:
02:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Cypress PRO [Radeon HD 5850]
02:00.1 Audio device: Advanced Micro Devices [AMD] nee ATI Cypress HDMI Audio [Radeon HD 5800 Series]
в моем случае это 02:00.0 и 02:00.1. 02:00.1 — это звуковой чип. Видеокарта видна как видео и аудио, поэтому их стоит переносить вместе.
Затем, нам нужны vendor id и device id. посмотреть можно запустив lspci с ключем -n
02:00.0 0300: 1002:6899
02:00.1 0403: 1002:aa50
теперь подключим наши устройства к pci-stub. Видеокарта:
echo «1002 6899» > /sys/bus/pci/drivers/pci-stub/new_id
echo «0000:02:00.0» > /sys/bus/pci/devices/0000:02:00.0/driver/unbind
echo «0000:02:00.0» > /sys/bus/pci/drivers/pci-stub/bind
обратите внимание, в между VendorID и DeviceID не ставится двоеточие.
Звуковая карта:
echo «1002 aa50» > /sys/bus/pci/drivers/pci-stub/new_id
echo «0000:02:00.1» > /sys/bus/pci/devices/0000:02:00.1/driver/unbind
echo «0000:02:00.1» > /sys/bus/pci/drivers/pci-stub/bind
для удобства, можно написать скрипт и добавить его в автозапуск.
Установка
Для начала вам нужно установить несколько пакетов:
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
это установка на сервер без гуи, для удобной работы с kvm установим также virt-manager:
sudo apt-get install virt-manager
После этого в меню должен появится пункт «Менеджер виртуальных машин» (Virtual Machine Manager)
Далее передадим модулю kvm опцию allow_unsafe_assigned_interrupts=1. Создаем файл в /etc/modprobe.d/kvm.conf с содержанием и перезагружаем моудль.
options kvm allow_unsafe_assigned_interrupts=1
Далее запускаем virt-manager, появится окно:
Нажимаем правой кнопкой по localhost и выбираем New либо жмем на мониторчик слева в панели. Далее по инструкции создаем виртуальную машину. После установки системы можно пробрасывать нужные нам устройства. Войдите в меню View->Details. Должно появиться такое окно:
Жмем на кнопку Add hardware, выбираем PCI Host Device, и ищем нашу видеокарту. Тоже самое стоит проделать и со звуковым чипом от видеокарты. Таким же образом можно пробросить USB хосты, чтобы они заработали, стоит указать в Controller USB в поле Model: USB2.
При запуске в устройствах компьютера должен появиться наш адаптер:
Следущее что нам нужно сделать — это скачать драйвер. Скачиваем с сайта производителя и устанавливаем его в систему. У меня при попытке установить драйвер система отчаяно уходила в BSOD, решил я эту проблему установкой более новой винды. Также можно попробовать установить драйвер через диспетчер устройств, но у меня он просто напросто зависал.
Для завершения выключаем виртуальную машину и производим перезагрузку компьютера, если этого не сделать, при повторном запуске система может уйти в BSOD.
На данный момент, kvm при повторном запуске гостя с проброшенной видеокартой вешает всю систему, поэтому, если вы выключили виртуалку, то придется так же перезагружать весь компьютер.
Теперь, после старта консоль виртуальной машины отключится после загрузки драйвера видеокарты, в случае Windows 7 там остается картинка «Starting Windows», но само изображение должно уже выводится на проброшенную видеокарту. Хотя на коносль и не будет выводится изображение, тем не менее она будет передавать данные от устройств ввода и можно будет управлять гостем с клавиатуры и мыши как обычную виртуалку.
Цепляем второй монитор к проброшенной видеокарте, и любуемся проделанной работой.
На последок скриншот оценки производительности системы:
Verify Operation
Start the VM and enter the qm monitor onn the CLI: «qm monitor vmnumber» Verify that your card is listed here: «info pci» Then install drivers on your guest OS.
NOTE: Card support might be limited to 2 or 3 devices.
NOTE: A PCI device can only ever be attached to a single VM.
NOTE: This process will remove the card from the proxmox host OS as long as the VM it’s attached to is running.
NOTE: Using PCI passthrough to present drives direct to a ZFS (FreeNAS, Openfiler, OmniOS) virtual machine is OK for testing, but not recommended for production use. Specific FreeNAS warnings can be found here: http://forums.freenas.org/threads/absolutely-must-virtualize-freenas-a-guide-to-not-completely-losing-your-data.12714/