有客戶問到如何在ZCU106單板/其它MPSOC上,同時支持多個顯示器,以便在多個顯示器上運行QT應用程序。
Xorg的xorg.conf里可以增加card和screen,同時支持多個顯示器。Xorg可以在多個顯示器上顯示多個QT應用程序。
在嵌入式系統里,更常用的是eglfs_kms,它也可以同時支持多個顯示器。接下來以PS-DP和PL-HDMI-Tx為例、說明對應配置和步驟。
首先,在系統里為eglfs_kms設置如下系統變量。
export QT_QPA_PLATFORM="eglfs"
export QT_QPA_EGLFS_KMS_ATOMIC=1
export QT_QPA_EGLFS_INTEGRATION="eglfs_kms"
export QT_QPA_EGLFS_DEBUG="1"
export QT_QPA_EGLFS_FORCE888=1
再分別為DP和HDMI創建eglfs_kms的配置文件。
下面是PS DP的eglfs_kms配置文件,文件名是kms-ps-dp.conf。
{
"device": "/dev/dri/card0",
"hwcursor": false,
"pbuffers": true,
"outputs": [
{
"name": "psdp",
"mode": "1920x1080"
}
]
}
下面是PL HDMI-Tx的eglfs_kms配置文件,文件名是kms-pl-hdmi-tx.conf。
{
"device": "/dev/dri/card1",
"hwcursor": false,
"pbuffers": true,
"outputs": [
{
"name": "plhdmi",
"mode": "1920x1080"
}
]
}
有了以上文件,在兩個不同的ssh窗口里,分別執行以下命令,就能分別為PS-DP、PL-HDMI-Tx啟動QT應用程序。
QT_QPA_EGLFS_KMS_CONFIG="/run/kms-ps-dp.conf" /usr/share/examples/opengl/textures/textures
QT_QPA_EGLFS_KMS_CONFIG="/run/kms-pl-hdmi-tx.conf" /usr/share/examples/opengl/textures/textures
