История изменений
Исправление
geekless,
(текущая версия)
:
Ага, со стороны реализации XNext такая получается картина:
Дисплейный сервер должен работать с видеодрайвером через некоторый достаточно стабильный API (чтобы не было вот этого вот, когда вышла новая версия xorg, и у всех xf-драйверов сменилось ABI, внезапно).
Сам штатный композитор окон, который будет встроен в реализацию XNext, использует только те же API, что и приложения: OpenGL и т.п. Никаких особых «для внутреннего использования в иксах» рисующих API быть не должно.
В принципе, ему нужен только уровень 4 (или 3, смотря как границу провести), по твоей классификации. Что на на этом уровне должно быть:
- Перечисление высокоуровневыех ресурсов: какие есть gpu, какие подключены к gpu мониторы и т.п.
- Перечисление API уровня 4, которые доступны в данном окружении (vdpau, opengl...).
- Возможность создавать хэндлы для рисования, привязанные к устройству.
- Возможность к хэндлу забиндить контекст конкретного API.
- Возможность выступить посредником авторизации между ядром и приложением, чтобы сказать затем сказать приложению: «вот тебе способ динамически слинковаться с opengl-переходником, а теперь рисуй там сам».
Так-с, теперь понятен следующий этап моих изысканий: надо разобраться, насколько желаемое близко к тому, что сейчас реально есть в графическом стеке.
затычку для проброса по сети.
Имхо, самый разумный способ проброса по сети — это пробрасывать API уровня 4. Например, как OpenGL заданной версии в спецификации определена, так команды по сокету и гнать.
Исходная версия
geekless,
:
Ага, со стороны реализации XNext такая получается картина:
Дисплейный сервер должен работать с видеодрайвером через некоторый достаточно стабильный API (чтобы не было вот этого вот, когда с вышла новая версия xorg, и у всех xf-драйверов сменилось ABI, внезапно).
Сам штатный композитор окон, который будет встроен в реализацию XNext, использует только те же API, что и приложения: OpenGL и т.п. Никаких особых «для внутреннего использования в иксах» рисующих API быть не должно.
В принципе, ему нужен только уровень 4 (или 3, смотря как границу провести), по твоей классификации. Что на на этом уровне должно быть:
- Перечисление высокоуровневыех ресурсов: какие есть gpu, какие подключены к gpu мониторы и т.п.
- Перечисление API уровня 4, которые доступны в данном окружении (vdpau, opengl...).
- Возможность создавать хэндлы для рисования, привязанные к устройству.
- Возможность к хэндлу забиндить контекст конкретного API.
- Возможность выступить посредником авторизации между ядром и приложением, чтобы сказать затем сказать приложению: «вот тебе способ динамически слинковаться с opengl-переходником, а теперь рисуй там сам».
Так-с, теперь понятен следующий этап моих изысканий: надо разобраться, насколько желаемое близко к тому, что сейчас реально есть в графическом стеке.
затычку для проброса по сети.
Имхо, самый разумный способ проброса по сети — это пробрасывать API уровня 4. Например, как OpenGL заданной версии в спецификации определена, так команды по сокету и гнать.