1.采用x11vnc的原因
qt4和qt5 x11vnc的区别是在之前qt4版本编译的libqvnc.so,即有vnc插件,可通过-display VNC:size=1024x768来通过vnc viewer连接。对于qt5或以上的版本,虽然说编译出了libqvnc.so的库但是没有了这种vnc插件的支持。
2.编译配置
平台rk3568 编译buildroot时,编译出来的qt默认是基于eglfs插件,但却和x11vnc有冲突,于是编译qt显示为xcb插件,即在qt目录下plugins/platforms里会编译出libqxcb.so,这是x11vnc连接后需要调用的库。
移植最小的x11框架配置添加在编译时的config中:
BR2_PACKAGE_XAPP_TWM=y
BR2_PACKAGE_XAPP_XCALC=y
BR2_PACKAGE_XAPP_XCLOCK=y
BR2_PACKAGE_XAPP_XEYES=y
BR2_PACKAGE_XAPP_XINIT=y
BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD=y
BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_CIRRUS=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBDEV=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_VESA=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XTERM=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y(采用ulibc)
BR2_USE_WCHAR=y
运行程序时带上-platform xcb -geometry 1024x768 &参数后台运行,分辨率为1024x768,即可通过vnc viewer连接