저는 X11을 사용하여 애플리케이션을 실행하는 사용자 정의 Linux(Debian, 데스크톱 환경을 제거했습니다)를 가지고 있습니다. 화면 크기는 1024x768이고 응용 프로그램 창이 화면을 채웁니다. 이제 응용 프로그램의 창 너비는 2048이고 다른 모니터는 HDMI를 통해 컴퓨터에 연결됩니다. 두 번째 모니터의 해상도도 1024x768입니다.
두 가지 질문이 있습니다.
사례 1: HDMI가 연결되어 있고 컴퓨터를 부팅하고 부팅 프로세스 후에 애플리케이션이 시작되면 창이 두 모니터를 모두 채우는 것을 볼 수 있습니다. 하지만 이 경우 (X;Y) 위치에서 컴퓨터 화면(터치 스크린)을 터치하면 시스템은 (X*2;Y) 위치에서 화면을 터치한 것으로 간주합니다.
사례 2: HDMI가 분리된 상태에서 컴퓨터를 부팅하면 부팅 프로세스 후에 애플리케이션이 시작됩니다. 그런 다음 HDMI를 연결하고 듀얼 모니터를 사용하도록 X11을 재구성했습니다. 이 경우 컴퓨터 화면에서는 내 애플리케이션을 볼 수 있지만 두 번째 화면에서는 애플리케이션의 왼쪽 절반을 볼 수 없고 X11 배경만 볼 수 있습니다. 터치는 잘 작동하지만 마우스 커서가 첫 번째 화면에 그대로 유지됩니다.
다음은 X11 구성에 사용하는 명령입니다.
xrandr --output HDMI1 --mode 1024x768 --pos 1024x0 --rotate normal --output eDP1 --mode 1024x768 --pos 0x0 --rotate normal
나는 애플리케이션을 시작하기 전에 항상 이 명령을 실행합니다. 질문이 있으신가요?
답변1
내 응용 프로그램은 eglfs 플랫폼을 사용하는 Qt 기반 프로그램입니다. 문제의 원인은 eglfs입니다. 응용 프로그램을 실행하기 전에 다음 명령을 실행하면 xrandr이 제대로 작동합니다.
xrandr --fb 2048x768 export QT_QPA_EGLFS_WIDTH=2048 export QT_QPA_EGLFS_HEIGHT=768
그래도 터치가 잘 안되는데 그건 또 다른 문제인 것 같아 새로 질문을 열었습니다.