Linux 커널에서 화면의 내용을 나타내는 비디오 메모리 영역을 찾는 방법은 무엇입니까?

Linux 커널에서 화면의 내용을 나타내는 비디오 메모리 영역을 찾는 방법은 무엇입니까?

하루에 5~20번 정도 I/O 로드가 높은 경우에만 발생하는 경쟁 조건으로 인해 일시적인 시각적 결함과 하이젠버그가 발생합니다. 제 시간에 카메라를 잡기에는 화면에서 너무 빨리 사라지기 때문에 단축키/바로가기를 누른 후 대기 시간이 가장 짧은 스크린샷/화면 녹화 도구를 찾고/만들고 있습니다. 작업/응답을 수행합니다.

결정적으로, 도구의 높은 응답성은 높은 I/O 활동(예: 20-40의 10초 로드 평균)에 의해 무시할 수 있을 정도로(이상적으로는 전혀 영향을 받지 않아야 함) 필요합니다.

PREEMPT_RTXorg와 집에서 만든 스크린샷 데몬을 실시간으로 로드하고 실행하는 것에 대해 공정한 주장이 나올 수 있습니다. 이것은 작동할 것입니다... X를 실시간으로 실행하는 부분을 제외하고는 실제로 컴퓨터에서 작업을 완료하고 싶습니다. :)

사실, 내가 좋아하는 코드를 Linux 커널에 넣기만 하면 내 컴퓨터에서 실시간으로 안전하게 실행할 수 있습니다. 자, 커널 모듈 시간입니다! ! 제 질문을 다시 말씀드리자면,

Linux 커널 모듈에서 화면의 픽셀을 나타내는 메모리 영역을 찾고, 액세스하고, 이해하는 방법은 무엇입니까?

/dev/fb0X가 실행되는 동안 읽으려고 하면 검은색 이미지만 생성되므로 분명히 작동하지 않는다는 것을 알았습니다 .

안타깝게도https://dri.freedesktop.org/docs/drm/gpu/index.html프레임 버퍼 다시 읽기와 명백하게 관련된 내용은 표시되지 않지만 이 API에 대한 경험이 없으므로 실제로 원하는 것이 무엇인지 모르겠습니다.

드라이버별 코드가 필요할 수 있다는 점을 인정합니다(실제로 화면에 표시되는 내용을 나타내는 드라이버 독립적인 사양 지점이 메모리에 있을 가능성이 거의 없기 때문에). 저는 현재 Intel-GPU 기반 컴퓨터를 사용하고 있으며 이를 위한 코드를 직접 작성하게 되어 기쁩니다.

앞으로,다른 표현의 버전을 요청했습니다.이 질문은 2년도 채 지나지 않아 제기되었습니다. 이 질문은 HDCP에 대해 단 한 개의 댓글만 끌었고 답변을 받지 못했습니다. 하지만 2년이 지난 지금도 하루에 최대 20번까지 이 문제를 처리하고 있기 때문에 다시 시도해 보았습니다.

(현재 방법( scrot핫키 바인더로 시작 i3)은 I/O 로드가 높은 시스템에서 단일 스크린샷을 찍는 데 최대 20(!!)초가 걸리는 경우가 많습니다.)

관련 정보