diff options
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-graphics/libvncserver')
2 files changed, 58 insertions, 17 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver/0001-rfbserver-add-a-hooking-function-to-deliver-rfbFrame.patch b/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver/0001-rfbserver-add-a-hooking-function-to-deliver-rfbFrame.patch new file mode 100644 index 000000000..6dd1c93f0 --- /dev/null +++ b/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver/0001-rfbserver-add-a-hooking-function-to-deliver-rfbFrame.patch @@ -0,0 +1,54 @@ +From 6d7c437f4d111ed183627c11e9bfc77ad2abc752 Mon Sep 17 00:00:00 2001 +From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> +Date: Thu, 9 May 2019 15:33:55 -0700 +Subject: [PATCH] rfbserver: add a hooking function to deliver + rfbFramebufferUpdateRequest messages. + +This commit adds a hooking function to deliver +rfbFramebufferUpdateRequest messages from clients to the frame +producer for a case the producer needs to handle the messages for +flow control or etc. +--- + libvncserver/rfbserver.c | 2 ++ + rfb/rfb.h | 5 +++++ + 2 files changed, 7 insertions(+) + +diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c +index 42209cf29a0d..3a546f2ed330 100644 +--- a/libvncserver/rfbserver.c ++++ b/libvncserver/rfbserver.c +@@ -2381,6 +2381,8 @@ rfbProcessClientNormalMessage(rfbClientPtr cl) + return; + } + ++ if (cl->clientFURHook) ++ cl->clientFURHook(cl, &msg.fur); + + tmpRegion = + sraRgnCreateRect(msg.fur.x, +diff --git a/rfb/rfb.h b/rfb/rfb.h +index 2a5600e25375..1a2294428288 100644 +--- a/rfb/rfb.h ++++ b/rfb/rfb.h +@@ -412,6 +412,8 @@ typedef struct sraRegion* sraRegionPtr; + */ + + typedef void (*ClientGoneHookPtr)(struct _rfbClientRec* cl); ++typedef void (*ClientFURHookPtr)(struct _rfbClientRec* cl, ++ rfbFramebufferUpdateRequestMsg* furMsg); + + typedef struct _rfbFileTransferData { + int fd; +@@ -457,6 +459,9 @@ typedef struct _rfbClientRec { + void* clientData; + ClientGoneHookPtr clientGoneHook; + ++ /** clientFURHook is called when a client requests a frame buffer update. */ ++ ClientFURHookPtr clientFURHook; ++ + SOCKET sock; + char *host; + +-- +2.7.4 + diff --git a/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend b/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend index b018ad53e..e367e97b9 100644 --- a/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend +++ b/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend @@ -1,20 +1,7 @@ -PACKAGECONFIG_remove = "gcrypt gnutls png sdl" - -do_install_append() { - rm -rf ${D}${libdir}/libvncclient* -} - -# Use the latest to support obmc-ikvm -DEPENDS += "openssl lzo" +FILESEXTRAPATHS_append := ":${THISDIR}/${PN}" +# Use the latest to support obmc-ikvm properly #SRC_URI = "git://github.com/LibVNC/libvncserver" -SRCREV = "f007b685b6c4201b445029ac3d459de38d30d94c" -S = "${WORKDIR}/git" - -# Remove x11 and gtk+ that cause big image size -# Actually, these aren't needed to support obmc-ikvm -REQUIRED_DISTRO_FEATURES_remove = "x11" -DEPENDS_remove = "gtk+" -RDEPENDS_${PN}_remove = "gtk+" +SRCREV = "f12b14f275f019673b3ace8fa4d46c8a79beb388" -FULL_OPTIMIZATION = "-Os -flto -fno-fat-lto-objects" +SRC_URI += "file://0001-rfbserver-add-a-hooking-function-to-deliver-rfbFrame.patch" |