本文檔介紹如何在 iMX6 開發闆下,QtE 系統中,實作 LVDS 和 HDMI 的雙屏異顯和同顯。
首先開發闆分别連接配接 9.7 寸屏和 HDMI 顯示器,然後使用 MfgTool 工具燒寫 QT 系統,然後撥碼開
關設定成從 emmc 啟動,在 uboot 指令行下設定開發闆為 9.7 寸屏顯示(這樣也會同時設定 HDMI),設
置完,儲存配置,如下圖:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAnYldHL0FWby9mZvwFN4ETMfdHLkVGepZ2XtxSZ6l2clJ3LcV2Zh1Wa9M3clN2byBXLzN3btgHL9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsQTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cGcq5CM3ETM3kzNjRTNmdjM5MmZyYzXzIjMwUTM3EzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.jpg)
然後設定啟動 QT 系統,并儲存設定,如下圖:
然後開發闆重新啟動,可以看到預設 9.7 寸屏顯示 qt 的觸摸校準程式了,點選螢幕校準,最後會在
9.7 寸屏上運作 QT 的 demo 程式。
HDMI 顯示通道預設是關閉的,在序列槽指令行下輸入指令“echo 0 > /sys/class/graphics/fb2/blank”,
使能 hdmi 通道,如下圖:
現在 hdmi 顯示屏上顯示黑屏,我們可以給 hdmi 對應的 frambuffer 寫入一些随機資料,輸入下面
的指令“cat /dev/urandom > /dev/fb2”,如下圖:
輸入完這條指令,我們可以看到 hdmi 顯示器開始顯示一些噪點(無規則的圖案)了,說明現在 hdmi
這路 frambuffer 顯示是可以了,同時 9.7 寸顯示的是 qt 的 demo 程式。
我們可以在 hdmi 上也運作一個 qt 的 demo 程式,這樣兩個 qt 的程式分别在兩個顯示器下單獨顯
示,輸入下面的指令,在 hdmi 下運作 qt 的 demo 程式,如下:
export QTDIR=/opt/qt-4.7.1/
export
LD_LIBRARY_PATH=$QTDIR/plugins/qtopialmigrate/:$QTDIR/qt_plugins/imageformats/:$QTDIR/li
b:/root/tslib/build/lib:$LD_LIBRARY_PATH
export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/root/tslib/build/bin
export QWS_DISPLAY=:2:/dev/fb2
export HOME=/root
cd /opt/qt-4.7.1/demos/embedded/fluidlauncher
./fluidlauncher -qws
運作完上面的指令,可以看到 hdmi 顯示器也運作 qt 的 demo 程式了。
通過上面的這些步驟,我們運作了兩個 qt 的 demo 程式,分别在 9.7 和 hdmi 顯示器上分别顯示。
qt 程式運作前需要設定一組對應的環境變量,在上面的指令裡有一個指令是
“export QWS_DISPLAY=:2:/dev/fb2”,這個指令是設定 qt 的界面輸出 frambuffer 為 /dev/fb2(即
hdmi 顯示屏對應的 frambuffer)。9.7 寸屏對應的設定為
“export QWS_DISPLAY=:0:/dev/fb0”。
通過上面的講解,我們可以清楚了 qt 下 lvds 和 hdmi 分别顯示不同界面的(也可以成為雙屏異顯)