RemoteFX – расширение возможностей технологии удаленных виртуальных рабочих столов (rdp), позволяющая виртуализовать серверный видеоадаптер. Данная технология была разработана компанией Calista Technologies, которую в дальнейшем приобрела Microsoft.
Технология RemoteFX впервые появилась в ОС Windows Server 2008 R2 SP1 и поддерживается клиентскими ОС Microsoft начиная с Windows 7 SP1. Вместе с выходом Windows Server 2012 и Windows 8, возможности RemoteFX были существенно расширены.
RemoteFX в Windows Server 2012. Что нового?
Что же нового предлагает нам Microsoft в обновлённой версии RemoteFX:
- Multi-Touch: поддержка мульти-тач в RDP сессии (в совместимом клиенте, как минимум RDP 8.0). RDS поддерживает полный набор жестов, которые работают в Windows 8 (например, увеличение или открытия меню настроек) между клиентом и хостом с разрешением до 256 касаний.
- Адаптивная графика: динамический выбор типа компрессионного кодека в зависимости от передаваемого изображения и качества канала
- Специальный API для перенаправления медиа-контента: используется для передачи медиа-нагрузки на клиентское устройство, облегчая тем самым рендеринга аудио-видео контента (на текущий момент используется только в Lync)
- WAN Enhancements: возможность работы на WAN каналоах с сохранением всех преимуществ RemoteFX за чет использования специальных адаптивных расширения для протокола UDP.
- GPU Changes: поддержка как аппаратных так и программно-эмулируемых GPU. Добавлена поддержка DirectX 11.
- Динамическое перенаправление USB-устройств: Возможность добавления локальных USB устройств без необходимости переподключения.
- Восстановление сессий для RemoteApp и Remote Desktop. Возможность переподключения к существующим сессиям с сохранением последнего состояния
- RemoteFX Network Auto Detect: автоматическое определение качества канала для оптимизации качества сессии и производительности
Аппаратные и программные требования для использования RemoteFX в Windows Server 2012
Чтобы полноценно воспользоваться всеми нововведениями в технологии RemoteFX, необходимо, чтобы система соответствовала следующим требованиям:
- Аппаратное соответствие для запуска роли HyperV (поддержка Intel VT или AMD-V, а также XD/NX bit)
- Процессор, совместимые со SLAT (Second-Level Address Translation — преобразование адреса второго уровня). Для процессоров AMD эта технология называется NPT/RVI (Nested Page Tables), для Intel CPU – EPT (Extended Page Tables).
- Графический контроллер (GPU) с большим количеством видеопамяти, поддерживающий DirectX 11 (WDDM 1.2).
- На сервере должны быть установлены роли Remote Desktop Virtualization Host и Remote Desktop Services
- Виртуальная машина Windows 8 Enterprise x64 c драйвером Windows Display Driver Model (WDDM) 1.2 и выше
Развертывание RemoteFX на Windows Server 2012
Перейдем, собственно, к описанию сценария разворачивания и настройки технологии RemoteFX в Windows Server 2012
- Для работы нам понадобится сервер с Windows Server 2012 редакций Standard или Datacenter (Hyper-V возможно развернуть только на них)
- Установите актуальную версию драйвера видеокарты (не все вендоры выпускают драйвера именно под Windows 2012, поэтому подойдет драйвер для Windows 8)
- Установите роль Hyper-V
- Установите компонент Remote Desktop Virtualization Host роли Remote Desktop Services. Это можно сделать с помощью консоли Server Manager или команды Powershell:
Install-WindowsFeature –name RDS-Virtualization -source d:\sources\sxs
(где d:\ диск с дистрибутивом Windows Server 2012)
- С помощью диспетчера Hyper-V новую виртуальную машину с Windows 8 Enterprise (только эта версию Windows 8 поддерживает RemoteFX).
- Установите на гостевую Windows 8 службы интеграции Hyper-V Integration Services (обычно это происходит автоматически, однако следует в этом все-же убедиться)
- Далее нужно разрешить использование виртуальными машинами физического графического процессора (GPU). Для этого в консоли управления Hyper-V перейдите в параметры сервера (Hyper-V Settings), выберите раздел Physical GPUs, затем выберите графический процессор (в данном примере это NVIDIA GeForce GTX 650) и отметьте галочкой, что его можно использовать с RemoteFX (Use this GPU with RemoteFX).
- Затем необходимо включить удаленный рабочий стол (rdp) на гостевой ОС (как включить удаленный рабочий стол в Windows 8).
- Нам осталось добавить трехмерный видеоадаптер RemoteFX в гостевую Windows 8. Это можно сделать в свойствах виртуальной машины. Однако при добавлении трехмерный видеоадаптер RemoteFX из GUI (Установка оборудования -> Трехмерный видеоадаптер RemoteFX) появляется ошибка: Error applying RemoteFX 3D Video Adapter changes.
Как оказалось это баг именно графической консоли, если тоже самое сделать с помощью powershell, то добавление адаптера обрабатывается корректно.
Import-Module RemoteDesktopServices Add-VMRemoteFx3dVideoAdapter -VMName ИмяВиртуальнойМашинысWindows8 Set-VMRemoteFx3dVideoAdapter –VMName ИмяВиртуальнойМашинысWindows8 –MaximumResolution 1920x1200
Примечание. Естественно, если виртуальных машин несколько, эти команды нужно выполнить для каждой из них. - В итоге (после пары перезагрузок), внутри виртуальной машине с Windows 8 в диспетчере устройств в разделе Display Adapters должно появится устройство Microsoft RemoteFX Graphics Device — WDDM.
- Осталось потестировать работу RemoteFX, подключившись к созданной нами виртуальной машине с помощью клиента rdp v8.
Спасибо за мануал!
В статье самое важное не сказано: нельзя изменять параметр размера видеопамяти. По умолчанию оно составляет 10-20% от памяти графического(их) адаптера(ов). На выходе вроде и 3д есть в гостевой системе, а полноценно использовать это нельзя.
Изменение этой настройки заявлено только следующей после Windows Server 2012 R2 редакции сервера.
Спасибо за замечание! Думаю, это очень важно для всех тех, кто решился внедрить RemoteFx в продакшн
Добрый день!
Настроил remote fx не 2016 сервере, видеокарта видна и в свойствах сервера гипервизора и внутри виртуальной машины, но не могу подключиться к виртуалке по RDP, получается только через оснастку гипервизора.
В чем может быть причина?
Так же ругается, что нет лицензии для службы удаленных рабочих столов и осталось порядка 118 дней, эта лицензия тоже нужна для remote fx?
лицензии RDS и remote fx не связаны между собой.
Windows Server из коробки позволяет использовать две удаленные RDP сессии для администраторов. Проверяйте, на целевом хосте по сети открыт и отвечает RDP порт 3389 и вы используете учетку с правами адмнистратора.
Если нужно подключаться большему количеству пользователей, нужно ставить роль RDS (у вас она как зачем-то раз разавернута)
Нашел ответ в интернетах. Есть такая проблема — об ошибке подключения к виртуальной машине, если включен remote fx. Вылечил этим:
Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Службы удаленных рабочих столов > Узла сеансов удаленных рабочих столов > Среда удаленных сеансов > Использовать графический драйвер WDDM для подключений к удаленным рабочим столам – ставим ОТКЛЮЧЕНА!!!
рядом есть параметр — он тоже должен быть включен:
Включить кодирование RemoteFX для клиентов RemoteFX… он ВКЛЮЧЕН
а тут:
Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Службы удаленных рабочих столов > Узла сеансов удаленных рабочих столов > Среда удаленных сеансов > RemoteFX для Windows Server 2008 R2. Внутри этой папки включаем параметр Настройка RemoteFX – ставим ВКЛЮЧЕНО.
ссылка на решение тут: https://www.nakivo.com/blog/how-to-deploy-graphics-devices-using-remotefx-vgpu/
Без этих настроек пишет ошибку в журналах RDP и Terminal services
Но не получилось сделать разрешение Full HD — сколько бы видео памяти я не выделял для виртуальной машины, 1920х1080 не дает выбрать. Дает только 1920х1200 почему то…