На этот месяц XDA опубликовал материал о том, что худшая игровая видеокарта в вашем ящике может стать лучшим апгрейдом, который когда-либо получит ваш домашний сервер. Это правда, с одним условием: карта оправдывает свое место только когда что-то, кроме хоста, может её использовать. Предоставление физического GPU виртуальной машине или контейнеру — это отдельная проблема от его установки, и это именно та часть, которая занимает выходные. Мы протестировали 8 лучших приложений для сквозной передачи GPU на домашнем сервере, охватив гипервизор, который управляет картой, исправления на уровне ядра для карт, которые отказываются сбрасываться, уровень отображения, который позволяет вам видеть гостевую систему, и маршрут для контейнеров для тех, кто предпочитает делиться GPU, чем отдавать его полностью.
На что обратить внимание при выборе инструмента сквозной передачи GPU
Сквозная передача — это стек, а не отдельное приложение, поэтому оценивайте каждый компонент в соответствии с тем, что может делать ваше оборудование.
- Изоляция групп IOMMU. Ваш процессор и материнская плата должны поддерживать VT-d или AMD-Vi, а GPU должна находиться в группе IOMMU, не содержащей ничего другого важного. На потребительских платах слот x16 часто объединён с контроллерами USB и NVMe, и тогда вы либо передаёте всё это, либо ничего.
- Графика хоста после того, как карта уходит. После того как GPU привязана к vfio-pci, хост её теряет. Либо процессор имеет встроенную графику, либо вам нужна вторая карта, либо вы используете единственную GPU и принимаете тот факт, что рабочий стол хоста отключится при загрузке ВМ.
- Поведение при сбросе. Карта должна вернуться в чистое состояние при выключении гостевой системы. Несколько поколений AMD этого не делают, и исправление — это модуль ядра, а не флаг конфигурации.
- Как вы видите гостевую систему. GPU, прикреплённый к ВМ, выводит изображение на физический порт, а не в ваш оконный менеджер хоста. Что-то должно преодолеть этот разрыв с приемлемой задержкой.
- Нужна ли вам вообще эксклюзивность. Рабочие нагрузки трансcodирования и вывода обычно хорошо работают на совместно используемой GPU в контейнере. Полная сквозная передача предназначена для гостей, которым нужен реальный стек драйверов и реальный вывод.
- Реальность лицензирования. NVIDIA vGPU на картах центра обработки данных требует платной лицензии на одного одновременного гостя. Intel SR-IOV на встроенной графике — нет. Это различие решает многое.
Быстрое сравнение
| Приложение | Лучше всего для | Платформы | Бесплатный план | Начальная цена | Выдающаяся особенность |
|---|---|---|---|---|---|
| Looking Glass | Просмотр переданной GPU на хосте | Linux хост, Windows гость | Бесплатно, открытый исходный код | Бесплатно | Ретрансляция кадров через общую память, без сетевого скачка |
| Proxmox VE | Гипервизор для домашнего сервера | Linux (bare metal) | Бесплатно, открытый исходный код | Бесплатно, платная поддержка опционально | Отображение ресурсов PCI в веб-интерфейсе |
| virt-manager | Сквозная передача на простом Linux десктопе или сервере | Linux | Бесплатно, открытый исходный код | Бесплатно | Прямое управление XML libvirt |
| vendor-reset | AMD карты, которые не сбрасываются | Linux | Бесплатно, открытый исходный код | Бесплатно | Специфичный для устройства сброс для Polaris, Vega, Navi |
| i915-sriov-dkms | Разделение Intel iGPU между ВМ | Linux | Бесплатно, открытый исходный код | Бесплатно | До 7 виртуальных функций из одной iGPU |
| NVIDIA Container Toolkit | Совместное использование GPU вместо его выделения | Linux | Бесплатно, открытый исходный код | Бесплатно | Одна GPU, много контейнеров, нет VFIO |
| Unraid | Наиболее удобный интерфейс сквозной передачи | Linux (bare metal) | 30-дневная пробная версия | Однократная платная лицензия | Флажок привязки VFIO для каждого устройства |
| Sunshine | Получение вывода гостевой системы вне коробки | Windows, Linux, macOS | Бесплатно, открытый исходный код | Бесплатно | Кодирование на аппаратном уровне для любого клиента Moonlight |
Приложения
1. Looking Glass: лучший выбор для использования переданной GPU без второго монитора
Looking Glass решает проблему, которая заставляет большинство людей сдаться при работе со сквозной передачей. GPU находится внутри гостевой системы Windows, гостевая система отправляет на неё изображение, а вы сидите за Linux хостом, который больше не может её видеть. Looking Glass копирует кадры из гостевой системы в общую область памяти (IVSHMEM), и хост-клиент отрисовывает их в обычном окне без сетевого стека, без кодера и без прохода сжатия. Вот почему это ощущается иначе, чем VNC или RDP: вы получаете высокую частоту обновления и задержку ввода достаточно низкую для игр на одной машине.
Установка в 2026 году проще, чем в старых гайдах. Looking Glass Indirect Display Driver (LGIdd) устанавливается в гостевую систему Windows как драйвер режима пользователя и создаёт виртуальный монитор, что означает, что обязательная фиктивная заглушка HDMI больше не требуется. Он также заменяет старое хост-приложение, поэтому внутри гостевой системы работает одна вещь меньше.
Недостатки: Это только Linux хост к гостю Windows, и ему нужна реальная сквозная передача для существования. Looking Glass не создаёт GPU для вас, он отображает тот, который вы уже назначили. Аудио обрабатывается отдельно, и устройство общей памяти должно быть правильно размерено в конфигурации ВМ, или клиент откажется присоединяться.
Цены:
- Бесплатно: Полностью открытый исходный код, GPL-2.0
- Платно: Нет
Платформы: Linux (хост-клиент), Windows (гост драйвер)
Загрузить: looking-glass.io · GitHub
Итог: Если сервер и ваш стол находятся на одной машине, Looking Glass — это то, что делает сквозную передачу GPU стоящей вообще.
2. Proxmox VE: лучший бесплатный гипервизор для сквозной передачи GPU на домашнем сервере
Proxmox VE — это место, где происходит большинство домашних сквозных передач GPU, потому что это bare-metal гипервизор на базе Debian с веб-интерфейсом поверх QEMU/KVM и LXC. Для сквозной передачи GPU он даёт вам уровень отображения ресурсов PCI: вы регистрируете карту как именованный ресурс на узле, а затем подключаете это отображение к ВМ вместо редактирования сырых адресов PCI. Включите IOMMU в командной строке ядра, занесите в чёрный список драйвер хоста, привяжите к vfio-pci, и карта появится в списке оборудования ВМ.
Proxmox VE для сквозной передачи GPU также охватывает случай совместного использования. С NVIDIA vGPU Software 18 Proxmox официально поддерживается платформой vGPU, с экземплярами vGPU, подключённых к гостям как отображённые устройства через ту же систему отображения ресурсов. Встроенная графика Intel работает через виртуальные функции SR-IOV на недавних ядрах, где драйвер Xe заменил i915.
Недостатки: Сложные части остаются сложными. Плохая группировка IOMMU на потребительской материнской плате — это не то, что Proxmox может исправить, и патч переопределения ACS, который люди используют, ослабляет гарантию изоляции, на которой зависит сквозная передача. Ожидайте как минимум одного редактирования командной строки ядра и цикла перезагрузки перед началом работы.
Цены:
- Бесплатно: Полная функциональность из репозитория без подписки
- Платно: Подписка за сокет для репозитория предприятия и поддержки
Платформы: Linux (устанавливается bare metal)
Загрузить: proxmox.com · Вики сквозной передачи PCI
Итог: Стандартный выбор для выделенного ящика домашнего сервера и тот, который имеет больше всего документации сообщества, когда что-то ломается.
3. virt-manager: лучший выбор для сквозной передачи на Linux боксе, который вы уже используете
virt-manager — это графический интерфейс к libvirt, и это правильный инструмент, когда домашний сервер — это просто установка Linux, которую вы не хотели переформатировать в распределение гипервизора. Добавьте устройство хоста PCI к гостю, и libvirt обрабатывает передачу vfio-pci при запуске ВМ и возвращает карту при выключении. Интерфейс выставляет базовый XML напрямую, что здесь имеет значение, потому что настройка сквозной передачи находится в местах, куда мастер вас не отведёт: привязка процессора, hugepages, скрытие гипервизора от драйверов NVIDIA и подключение устройства IVSHMEM, которое нужен Looking Glass.
Потому что он работает поверх libvirt и QEMU/KVM, всё, что вы узнаёте, передаётся. Тот же XML домена работает из командной строки с virsh, из virt-install в скрипте и на любом распределении, которое поставляет libvirt.
Недостатки: Нет веб-интерфейса, поэтому вы либо сидите на машине, либо пересылаете сеанс на неё. Нет встроенной абстракции отображения устройства, как в Proxmox, поэтому адреса PCI в XML могут сдвинуться, если вы переместите карты между слотами. Сквозная передача с единственной GPU, где хост не имеет другой графики, нуждается в ваших собственных скриптах запуска и остановки для демонтажа менеджера дисплея и переподключения драйверов.
Цены:
- Бесплатно: Полностью открытый исходный код, GPL-2.0
- Платно: Нет
Платформы: Linux
Загрузить: virt-manager.org · GitHub
Итог: Самый лёгкий путь к сквозной передаче, когда сервер — это машина общего назначения Linux, а не выделенный гипервизор.
4. vendor-reset: лучший выбор для AMD карт, которые зависают при выключении ВМ
vendor-reset существует из-за одного специфического и раздражающего отказа: вы выключаете гостевую систему, пытаетесь запустить её снова, и GPU исчезла, пока весь хост не перезагрузится. Несколько поколений AMD не реализуют рабочий функционально-уровневый сброс, поэтому карта заканчивается в состоянии, из которого ядро не может восстановиться. vendor-reset — это модуль ядра Linux, который подключается к пути сброса с ftrace и применяет последовательности сброса, специфичные для устройства, без необходимости патчить ядро.
Покрытие включает Polaris (RX 470, 480, 570, 580, 590 и мобильные части 5xx), Vega 56 и 64, Radeon VII, Instinct MI100 и карты Navi, включая 5600 XT, 5700 и 5700 XT. Это как раз те карты, которые сейчас продаются дёшево со вторых рук, что делает этот модуль тихо необходимым для читателя, который только что купил один. Установите его как модуль DKMS и установите метод сброса для задействованного устройства на device_specific.
Недостатки: Это не универсально. Если ваша карта находится вне поддерживаемых семейств, этот модуль не поможет, и некоторые пользователи по-прежнему попадают в граничные случаи, когда крах гостевой системы вместо чистого выключения оставляет устройство в заклинении. Это модуль ядра, поэтому обновления ядра могут потребовать пересборку.
Цены:
- Бесплатно: Полностью открытый исходный код, GPL-2.0
- Платно: Нет
Платформы: Linux
Загрузить: GitHub
Итог: Установите его перед тем как заключить, что ваша использованная AMD карта несовместима со сквозной передачей, потому что обычно это не так.
5. i915-sriov-dkms: лучший выбор для разделения Intel iGPU между несколькими ВМ
i915-sriov-dkms занимает другую позицию: вместо выделения одной карты одной гостевой системе, она превращает встроенную GPU Intel в несколько виртуальных функций, которые одновременно могут удерживать несколько ВМ. Проект упаковывает поддерживающий SR-IOV код драйвера i915 и xe как модуль DKMS для ядер, которые его не поставляют, и на Intel UHD Graphics может выставить до 7 виртуальных функций. Для домашнего сервера, который представляет собой небольшой Intel бокс, это разница между тем, что одна ВМ получает аппаратное ускорение, и каждая ВМ получает его.
Это также решает проблему второй GPU полезным способом. Если iGPU может быть разделена, хост удерживает функцию для себя, а дискретная карта остаётся свободной для одной мощной гостевой системы, или вы полностью пропускаете дискретную карту.
Недостатки: Проект описывает себя как сильно экспериментальный и управляемый сообществом, без связи с Intel. Он отслеживает определённые диапазоны версий ядра, поэтому обновление ядра хоста может сломать сборку, пока модуль не наверстает. Недавние платформы Intel перешли на mainline xe драйвер, что меняет путь установки в зависимости от поколения, которое вы владеете, и некоторые конфигурации Meteor Lake и Lunar Lake не охватываются.
Цены:
- Бесплатно: Полностью открытый исходный код, GPL-2.0
- Платно: Нет
Платформы: Linux
Загрузить: GitHub
Итог: Лучшее значение в виртуализации GPU, если ваш сервер уже имеет Intel iGPU, которая ничего не делает.
6. NVIDIA Container Toolkit: лучший выбор для совместного использования GPU вместо его отдачи
NVIDIA Container Toolkit — это честная альтернатива сквозной передаче для большинства рабочих нагрузок домашнего сервера. Вместо привязки карты к vfio-pci и запирания её внутри одной ВМ, он подключает драйвер хоста NVIDIA и узлы устройства к контейнерам, поэтому несколько контейнеров могут использовать одну GPU одновременно. Установите хост драйвер, установите инструментарий, и контейнеры получают доступ к GPU с флагом времени выполнения. CUDA toolkit не требуется на хосте.
Для домашнего сервера это охватывает большую часть причин, по которым кто-либо вообще кладёт GPU в коробку. Это избегает каждой проблемы группировки IOMMU, каждой ошибки сброса и требования отдельной хост-графики, потому что драйвер хоста никогда не отпускает карту. Эквивалентный маршрут для системных контейнеров — это Incus, который имеет тип устройства gpu, который может подключить физическую GPU, виртуальную функцию SR-IOV или отображённое устройство к контейнерам и ВМ.
Недостатки: Контейнеры совместно используют версию драйвера с хостом, поэтому гостевая система, которой нужен другой стек драйверов, пользовательское пространство Windows или реальный вывод дисплея, выходит за рамки. Это не замена сквозной передаче, когда цель — ВМ для игр. Это также только для NVIDIA.
Цены:
- Бесплатно: Полностью открытый исходный код, Apache-2.0
- Платно: Нет
Платформы: Linux
Итог: Попробуйте это в первую очередь. Большое количество людей, которые потратили выходные на VFIO, на самом деле не нуждались в ВМ.
7. Unraid: лучший платный вариант для сквозной передачи без раскопок конфигурации
Unraid — это коммерческая ОС для домашнего сервера, которая сделала сквозную передачу GPU доступной, и это всё ещё самый быстрый путь от bare metal к работающей ВМ для игр. Менеджер ВМ в веб-интерфейсе перечисляет устройства PCI с видимыми группами IOMMU, а привязка устройства к VFIO — это флажок, а не параметр командной строки ядра, который вы редактируете вручную. Подключите GPU и её аудиофункцию к гостевой системе Windows или macOS, укажите на ISO драйвера VirtIO и запустите её. Docker контейнеры и массив работают рядом на одном боксе.
Unraid также выставляет информацию, которую другие инструменты заставляют вас искать. Видеть, какие устройства совместно используют группу IOMMU перед тем как вы закрепитесь, экономит конкретное разочарование от обнаружения, три часа спустя, что ваша GPU совместно использует группу с контроллером USB.
Недостатки: Это платно, с уровнями, основанными на количестве подключённых устройств хранилища и моделью обновления для продолжения обновлений функций после включённого периода. Массив имеет мнение и построен вокруг паритета, а не полосатого пула, что нравится не всем. Продвинутая настройка сквозной передачи всё ещё опускает вас в virsh и сырой XML, как везде.
Цены:
- Бесплатно: 30-дневная пробная версия с полной функциональностью
- Платно: Однократная лицензия, с уровнями по количеству подключённых устройств, с опциональными платными обновлениями для более позднего обновления функций
Платформы: Linux (загружается с USB, bare metal)
Загрузить: unraid.net
Итог: Стоит лицензии, если ваше время стоит больше, чем цена, и вы хотите, чтобы сквозная передача работала сегодня вечером.
8. Sunshine: лучший выбор для доступа к ВМ сквозной передачи из любой части дома
Sunshine — это последний выбор, потому что он отвечает на вопрос, который другие инструменты игнорируют. Looking Glass предполагает, что вы сидите на сервере. Большинство домашних серверов находятся в шкафу, стойке или подвале. Sunshine работает внутри гостевой системы, которая теперь владеет GPU, кодирует её вывод с кодировщиком аппаратного уровня этой GPU и потокует его к клиенту Moonlight на ноутбуке, телефоне, планшете, медиаоборудовании или Steam Deck. Переданная карта делает кодирование, поэтому стоимость для гостевой системы мала.
Хосты Sunshine работают на Windows 11, Linux, macOS 14.2 и позже, а также FreeBSD, и клиенты Moonlight существуют для почти каждой платформы. На гостевой системе Linux это работает без головы с виртуальным дисплеем; на Windows это хочет присутствующий дисплей, что именно там, где помощь драйвера виртуального дисплея или собственный виртуальный монитор гостевой системы входит.
Недостатки: Это сетевой поток, поэтому он несёт задержку кодирования и декодирования, которые Looking Glass не имеет. По проводной LAN это хорошо для большинства игр и каждой задачи рабочего стола, но это не то же самое впечатление, как совместная память на одной машине. Установка — это работа на гостевую основу, а не на основе хоста.
Цены:
- Бесплатно: Полностью открытый исходный код, GPL-3.0
- Платно: Нет
Платформы: Windows, Linux, macOS
Итог: Соедините его с Looking Glass, а не выбирайте между ними: один для когда вы на сервере, один для когда вы не на сервере.
Как выбрать правильный
- Если сервер также является вашим десктопом: Proxmox VE или virt-manager для сквозной передачи, Looking Glass для дисплея.
- Если сервер находится в шкафу: любой гипервизор плюс Sunshine и Moonlight, потому что вы никогда больше не подключите монитор к нему.
- Если вы просто хотите Plex, Jellyfin или локальную модель для использования карты: NVIDIA Container Toolkit и полностью пропустите сквозную передачу.
- Если ваша карта — RX 580, Vega или 5700 XT: установите vendor-reset сначала, затем установите ВМ.
- Если ящик — небольшая машина Intel без слота PCIe: i915-sriov-dkms и разделите iGPU.
- Если несколько ВМ каждому нужна графика: SR-IOV на Intel или NVIDIA vGPU с лицензиями, которые это требует.
- Если вы хотите это работающим сегодня вечером и будете платить за это: Unraid.
- Если вы попробовали сквозную передачу на потребительской материнской плате и попали в одну гигантскую группу IOMMU: проверьте, группируется ли лучше другой слот PCIe, перед тем как вы берётесь за патч переопределения ACS, который обменивает реальную изоляцию на удобство.
FAQ
Что мне нужно для сквозной передачи GPU на домашнем сервере? CPU и материнская плата с поддержкой IOMMU (Intel VT-d или AMD-Vi) включены в микропрограмму, GPU, которая приземляется в используемую группу IOMMU, и способ для хоста продолжить отображение чего-то после того как карта передана. Последняя часть означает встроенную графику, вторую GPU или установку с единственной GPU с скриптами hook.
NVIDIA все ещё блокирует сквозную передачу GPU с Code 43? Нет. NVIDIA прекратила блокирование виртуализации на картах GeForce с драйвера 465.89 и позже, и виртуализация официально поддерживается на потребительских картах сейчас. Старые гайды, которые говорят вам скрыть флаг CPUID гипервизора, описывают проблему, которая больше не применяется к текущим драйверам, хотя этот параметр безвреден, если он уже в вашей конфигурации.
Почему моя AMD GPU работает только один раз за загрузку хоста? Это ошибка сброса AMD. Несколько карт Polaris, Vega и Navi не реализуют рабочий сброс, поэтому GPU не может быть восстановлена после выключения гостевой системы. Модуль ядра vendor-reset добавляет последовательности сброса, специфичные для устройства, для задействованных семейств и обычно это исправляет.
Могут ли две ВМ совместно использовать одну GPU? Не с простой сквозной передачей, которая является исключительной для одной гостевой системы за раз. Совместное использование требует виртуальных функций SR-IOV (доступно на недавней встроенной графике Intel и на некоторых картах центра обработки данных) или NVIDIA vGPU, который лицензируется на одного одновременного гостя на поддерживаемом оборудовании. Для контейнеров, а не ВМ, NVIDIA Container Toolkit или Incus могут свободно совместно использовать одну GPU.
Мне нужна фиктивная заглушка HDMI для Looking Glass? Не с текущей установкой. Прямой видеодрайвер Looking Glass создаёт виртуальный монитор внутри гостевой системы Windows, что удаляет требование фиктивной заглушки, которое старые гайды описывают.
Является ли Hyper-V реальным вариантом для этого? Редко дома. Назначение дискретного устройства требует оборудования уровня сервера с собственным управлением выраженной PCI и поддержкой ACS на корневом комплексе PCIe, и оно не поддерживается на Windows 10 или 11 Pro. Разделение GPU в Windows Server 2025 — это более новый путь, но требования оборудования и издания всё ещё помещают его за пределами большинства домашних сборок.