Продолжение 2... кодеки.Все эти векторные кодеки совершенно не актуальны в условиях композитных рабочих столов. Даже на Windows если ваше приложение не из времен XP с полным WinForms оно не будет нормально закодировано векторными кодеками, потому что оно отрисовано в буфер DirectX. Графическая подсистема Windows начиная с 8 ТОЛЬКО КОМПОЗИТНАЯ. У нее нету больше этой логики, её выпилили!
У вас есть буферы, данные из которых отрисовываются на поверхности... Ну вот с ними сейчас и работаем. Отслеживаем изменения растра и шлём по сети. Для этого используется кодек H264 специально затюненный под эту работу. Его также можно переложить аппаратно на видеокарту, если у вас физический сессионный терминальный сервер. Если у вас виртуальный сессионный терминальник - не морочьте голову с видеокартами.
Взрослых решений по сессионным терминальным серверам 2:
- Citrix Virtual Apps and Desktops (бывший XenApp и XenDesktop). Для его работы с GPU требуется XenServer.
- Microsoft RDS
По виртуальным десктопам их 3:
- Citrix Virtual Apps and Desktops (бывший XenApp и XenDesktop). Для его работы с GPU требуется XenServer.
- Microsoft RDS
- VMware Horizon
Они поддерживают свои оригинальные старые кодеки для некомпозитной работы, но современные - это H264. Для тех кому нужен HDR используют VP9 (Citrix) и H265 (Horizon)
Отсюда ваш пункт 1 умер много лет назад не актуален и забудьте вообще. Если нужно API возьмите и напишите REST API и перетащите приложение в браузер. Для полного десктопа в композитном режиме это вообще не возможно.
Ваш пункт 2 не учитывает того что в нормальных современных протоколах удаленного рабочего стола существуют дополонительные транспортные пересылки. Например, вебсокеты, SIP/RTP, и другие медиапротоколы пересылаются на клиент напрямую без двойной буферизации. Вендоры виртуальных рабочих столов расширяют и тюнят поддерживаемые протоколы в своих клиентах для такого проброса. Естественно, криво развернутое RDP это не умеет. Нужно его задрать до RDP 8+ на сервере или сразу покупать Citrix, потому что только он умеет всё и сразу.