> И на кой это нужно? Серьезно, помимо задачи нарисовать Х есть соседняя
> задача сделать с этим Х что-то У причем на CPU. Пример
> - игры.Это ведь не работа иксов. Работа иксов - GUI.
> Даже если сделать так, что хватит команд графического сервера для отрисовки всех базовых вещей, то каковы будут возможности? Как вы собрались раскодировать видео?
Для (рас)кодировки видео, аудио, графики нужен отдельный сервер.
> Да-да, это по вашей логике сервер должен передать клиенту стрим файла, а клиент должен решить как его рисовать на сервере. Или логика у вас вот для видео мы сделаем исключение?
0. есть базовы протокол. Этот базовый протокол - основа всех серверов. В него входит протокол обмена командами и базовые команды:
а) создания и удаление серверных объектов. При разрыве соединения все объекты удаляются.
б) определения их типа
в) проксирования соединения к другому серверу. При проксировании владельцем объекта становится проксирующий сервер. Проксирование идёт сессиями, при разрыве соединения сессия закрывается аварийно, при любом закрытии сессии закрывается соединение с проксируемым сервером и объекты удаляются.
1. клиент подключается к иксам
2. клиент спрашивает иксы про сервер кодирования, заданный в конфиге
3. клиент инициирует проксирование через иксы на сервер кодирования
4. иксы становятся владельцами объектов декодирования
5. соответственно декодированному видео не надо покидать машину
Разумеется, можно использовать внешний сервер декодирования. И совсем необязательно, чтобы сервер декодирования реализовывал декодирование на GPU, могут быть и асики.
> Кроме нарисовки видео есть задачи конвертирования из формата А в формат
> Б и снова это будет исключение, так?
Отлично вписывается в предыдущую корцепцию.