실제로 "문제를 해결하는 방법"에 대한 질문은 아니지만... 현대 X 아키텍처가 compiz와 함께 어떻게 작동하는지 궁금합니다.
내가 아는 것:
- 처음에는 X 서버가 있었고, 클라이언트는 (아마도 TCP로) 연결되었고, 그런 다음 서버에 창 등을 표시하도록 지시하는 메시지를 보냈습니다.
- OpenGL 및 3D 가속에서는 이것이 작동하지 않았기 때문에(전혀? 아니면 충분히 빠르나요?) 직접 렌더링(DRI?)을 위한 추가 API가 생성되었으며 X 서버 외에도 X 클라이언트가 어떤 항목과 통신했습니까? 물건을 렌더링하고 어떤 인터페이스를 통해?)
- 그리고 마지막으로 Compiz를 입력합니다. X 클라이언트는 (어쨌든) OpenGL 텍스처로 렌더링을 마친 다음 이를 모아서 반투명 창이 있는 멋진 화면을 형성하고 화면에 렌더링합니다.
제가 특히 관심을 갖고 있는 것은 시스템에 어떤 구성요소가 있고, 그것들이 어떻게 서로 연결되어 있는가 하는 것입니다. 예를 들어... 시스템에 "compiz"라고 표시된 상자가 있다면... X 서버 내부에 있습니까? 그렇지 않다면 앱에서 렌더링된 이미지가 어떻게 그 안에 들어가나요? 그리고 어디로 렌더링되나요? 또 다른 X 서버인가요? 아니면 DRI?
물론, 위에서 설명한 혼란을 해결할 수 있는 일부 문서를 지적한다면 똑같이 기쁠 것입니다(책 크기의 엔터티보다 상당히 짧은 경우에 한함).
답변1
여기는좋은 기사, 도움이 될 수 있습니다.