Wayland 정보 몇가지
Wayland 에 관한 정보 몇가지 from ref.1
- wayland 는 그냥 protocol 이다. Wayland protocol을 구현한 display server를 Wayland Compositor 라고 부른다.[ref. 2]
- 이 wayland 의 reference 구현체가 Weston 이다.
- composite을 좀 더 효율적으로 하도록 디자인됐다. X 에서는 extension 으로 composite을 했다. XComposite
- 그런데, 전체화면에서도 composite을 하도록 돼 있어서 그것이 전체화면에서 약간의 오버헤드가 된다. 전체화면에서 이것을 하지 않도록 app에서 구현해야 한다.
- NVidia driver로는 사용하기 어렵다. 다른 graphics card들은 GBM(Generic Buffer Managerment) 를 사용하는데, Nvidia 는 EGL 이라는 방법을 사용
- server와 client 는 IPC 로 통신한다.
stacking manager 와의 비교
- Compositing window manager - Wikipedia
- Stacking window manager - Wikipedia
- Tiling window manager - Wikipedia
stacking window manager에서 window 끼리 overlapping 이 가능해졌다. 이전에는 window 들이 tile 처럼 화면에 overlapping 이 안되게 배치됐다.
window 가 repaint 하라는 message를 보냈는데, 여러가지 이유로 처리를 못하는 경우 이 repainting 작업이 잘못될 수 있다.(become corrupted) 그러면 그 화면이 안그려지거나 할 것이다.
compositing window manager 에서는 이 경우 마지막 repaint 가 계속 그려진채로 남겨지고, window 가 어두워질 것이다.(me : 즉, 그리는 것에 대한 부분을 compositing window manager가 담당한다. window manager는 window 가 담당한다.)
- 여기에서 stacking manager 의 동작을 볼 수 있다.
다른 것은 shadow 같은 것들이 있다. 이것을 window 가 처리해야 하겠지만, composite에서는 window 를 그려넣을때 composite manager 가 처리해준다.
X windows system 과의 비교
Greefield project
browser에서 Wayland composite을 구현했다.
- https://github.com/udevbe/greenfield
- https://wayouttheresoftware.blogspot.com/2023/07/some-history-about-greenfield.html
댓글 없음:
댓글 쓰기