내 X11 클라이언트/서버는 백업 저장소(backing_store = WhenMapped)를 사용하도록 설정되어 있으며 창이 부분적으로 가려지면 제대로 작동합니다. 가려진 창의 콘텐츠가 제거되고 현재 보이는 부분이 백업 저장소에서 플러시됩니다. 다시 그릴 필요 없어...
...하지만 창이 매핑 해제되었다가 다시 매핑되면 작동하지 않습니다. UnmapNotify와 MapNotify 이벤트를 받았지만 매핑할 때 창이 비어 있으므로 전체 창을 직접 다시 그려야 합니다.
내 질문은: Unmap/Map 및 Expose를 사용하여 백업 저장소를 어떻게 작동하게 만들 수 있습니까? (backing_store = 항상) 아무런 차이가 없습니다.
시스템: 우분투 16.04, X.Org X 서버 1.19.3
감사해요
답변1
backing_store = always
클라이언트 코드의 창 속성을 의미한다고 가정합니까 ? 하지만 BackingStore
X 서버에 이 옵션이 활성화되어 있다고 확신하시나요 ? Xorg를 사용한다고 가정하면 다음 항목에 대한 로그( /var/log/Xorg.0.log
또는 최근 로그 ~/.local/share/xorg/Xorg.0.log
)와 grep을 찾아야 합니다 Backing store
.
> grep 'Backing store' ~/.local/share/xorg/Xorg.0.log
[ 67.851] (==) intel(0): Backing store enabled
활성화되어 있지 않으면 생성해 볼 수 있습니다 /etc/X11/xorg.conf.d/10-backing-store.conf
(또는 섹션이 있는 파일이 있는 경우 기존 파일에 추가 Device
).
Section "Device"
Option "BackingStore" "on"
EndSection
X를 다시 시작하고 Xorg.0.log를 확인하여 옵션이 활성화되어 있는지 확인하십시오.
+bs
과거에 제가 성공적으로 사용한 Xorg 자체에 대한 옵션 도 있습니다 (참고 +).
> Xorg --help
...
+bs enable any backing store support