RemoteFX в Windows Server 2012

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

  1. Для роботи нам знадобиться сервер з Windows Server 2012 редакцій Standard або Datacenter (Hyper-V можливо розгорнути тільки на них)
  2. Встановіть актуальну версію драйвера відеокарти (не всі вендори випускають драйвера саме під Windows 2012, тому підійде драйвер для Windows 8)
  3. встановіть роль Hyper-V
  4. встановіть компонент Remote Desktop Virtualization Host ролі Remote Desktop Services. Це можна зробити за допомогою консолі Server Manager або команди Powershell:
    Install-WindowsFeature -name RDS-Virtualization -source d: \ sources \ sxs

    (Де d: \ диск з дистрибутивом Windows Server 2012)

  5. За допомогою диспетчера Hyper-V нову віртуальну машину з Windows 8 Enterprise (тільки ця версію Windows 8 підтримує RemoteFX).
  6. Встановіть на гостьову Windows 8 служби інтеграції Hyper-V Integration Services (Зазвичай це відбувається автоматично, проте слід в цьому все-таки переконатися)
  7. Далі потрібно дозволити використання віртуальними машинами фізичного графічного процесора (GPU). Для цього в консолі управління Hyper-V перейдіть в параметри сервера (Hyper-V Settings), Виберіть розділ Physical GPUs, потім виберіть графічний процесор (в даному прикладі це  NVIDIA GeForce GTX 650) І відзначте галочкою, що його можна використовувати з RemoteFX (Use this GPU with RemoteFX).
  8. Потім необхідно включити віддалений робочий стіл (rdp) на гостьовий ОС (як включити віддалений робочий стіл у Windows 8).
  9. Нам залишилося додати тривимірний відеоадаптер 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
    Примітка. Природно, якщо віртуальних машин кілька, ці команди потрібно виконати для кожної з них.
  10. В результаті (після пари перезавантажень), всередині віртуальної машини з Windows 8 в диспетчері пристроїв в розділі Display Adapters має з'явиться пристрій Microsoft RemoteFX Graphics Device - WDDM.
  11. Залишилося потестировать роботу RemoteFX, підключившись до створеної нами віртуальній машині за допомогою клієнта rdp v8.