FreeRDP 1.0: первый выход в светПервая премьера 2012 года состоялась. Прошла она в сфере программного обеспечения, и представил эту премьеру релиз FreeRDP 1.0. Проект разрабатывался немного больше года и предназначение его в развитии подключений к терминальным серверам Windows с поддержкой обновленных версий 7 и 8. Подключение осуществляется по RDP-протоколу, а сам релиз является как бы логичным продолжением и развитием RDP-клиента Rdesktop. В тоже время это два абсолютно разных проекта. FreeRDP 1.0, кроме поддержки новых версий Windows, отмечен еще и беспроблемной реализацией технологии кэширования битовых карт, поддержкой проброса устройств при доступе к принтерам, звуковым картам, внешним жестким, USB-накопителям и прочей периферии. И это еще далеко не все возможности первой премьеры 2012 года.

Между тем, проект FreeRDP 1.0 является ответвлением от основной ветки FreeRDP 0.n-0.9. Тогда как ветка продолжает развитие проекта Rdesktop, релиз с 1.0 и выше будет идти отдельным клиентом. Разница заключается еще и в том, что FreeRDP 1.0 выпускается под лицензией Apache, в то время как предыдущий проект идет под GPLv2.

До выхода релиза FreeRDP 1.0 разработчики ветки планировали выпустить еще один проект на FreeRDP 0.n-0.9, но теперь передумали. Вместо поддержки устаревшего кода, разработчики направят свои головы на развитие переписанной ветки FreeRDP 1.0-1.n. Теперь в планах программистов реализовать на базе обновленного кода FreeRDP 1.0 программу, которая сможет выступать не только в роли RDP-клиента, но и в роли RDP-сервера. Также в будущем FreeRDP 1.n сможет поддерживать протокол RDP8.

Что нового умеет FreeRDP 1.0:

- появилась поддержка RemoteFX, что позволяет транслировать клиенту и видео, и текст, и бесперебойно задействовать 3В-акселерацию посредством виртуализированного представления GPU гостевых систем. Также здесь есть и кодировщик RemoteFX, и декодер, оптимизированные по инструкциям для Intel и ARM.

- присутствие RDP-расширения для качественного кодирования изображений.

- безошибочная работа с сервером RemoteApp, обеспечивающая доступ к приложениям на сервере, но имеющим полную интеграцию со средой клиента.

- возможность перенаправления потоков мультимедиа. Она проходит через FFmpeg (поверх RDP), увеличивая тем самым эффективность и скорость передачи клиенту с сервера аудио и видео контента.

- полная безопасность в соответствии с требованиями FIPS: проверка действительности сертификатов, аутентификация с NTMLv2.

- поддержка трех клиентских интерфейсов: xfreerdp – для работы в Х11, dfreerdp – поддержка работы поверх DirectFB, wfreerdp – клиент для Windows. Плюс графический интерфейс Remmina с библиотекой GTK+ и возможностью расширения функционала при помощи плагинов.

- в качестве эксперимента: RDP-сервер xfreerdp-server с работой через RemoteFX и трансляцией команд мыши и клавиатуры.

- для проброса периферии между сервером и клиентом добавлены каналы

- cliprdr – буфер обмена (RemotrApp)

- drdynvc – динамический виртуальный канал, наприер, для проброса аудио

- tsmf – мультимедиа

- rdpdr – периферия (принтеры), накопители, порты

- rdpsnd – звук (ALSA и PulseAudio)

- другая система сборки с использованием cmake.

- переделана сама структура. В качестве ядра использована библиотека libfreerdp-core с реализацией как серверного, так и клиентского потока. За кэширование отвечает libfreerdp-cache. Кодирование/декодирование – libfreerdp-codec. Раскладки клавиатуры – libfreerdp-kbd. Виртуальные каналы – libfreerdp-channels, вспомогательные функции – libfreerdp-utils, а реализация GDI – libfreerdp-gdi. Также имеется поддержка RemoteApp – libfreerdp-rail.