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.