diff --git a/Jenkinsfile b/Jenkinsfile
index 91fb94028c9d0180544c6c4a30ddcb5f263adefd..7f58dfdc66c66beb5e28249785e03e83a86a33cc 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -32,7 +32,7 @@
 // - Allow publishing from any node, to avoid relying on a single machine.
 
 // Configuration globals.
-def SUBMODULES = ['daemon', 'lrc', 'lrc-gnome', 'client-gnome', 'client-qt']
+def SUBMODULES = ['daemon', 'lrc', 'client-qt']
 def TARGETS = [:]
 def REMOTE_HOST = env.SSH_HOST_DL_RING_CX
 def REMOTE_BASE_DIR = '/srv/repository/ring'
diff --git a/Makefile b/Makefile
index 59a7600328ac64ccd5a473ad9a243272529f84f3..9703ede77a54ad5c6cc0296b18a46c1d5adfed92 100644
--- a/Makefile
+++ b/Makefile
@@ -125,7 +125,7 @@ $(RELEASE_TARBALL_FILENAME): tarballs.manifest
 	rm -f "$@"
 	mkdir $(TMPDIR)/jami-project
 	git archive HEAD | tar xf - -C $(TMPDIR)/jami-project
-	for m in daemon lrc lrc-gnome client-gnome client-qt; do \
+	for m in daemon lrc client-qt; do \
 		(cd "$$m" && git archive --prefix "$$m/" HEAD \
 			| tar xf - -C $(TMPDIR)/jami-project); \
 	done
@@ -165,6 +165,7 @@ DISTRIBUTIONS := \
 	ubuntu_20.04 \
 	ubuntu_21.04 \
 	ubuntu_21.10 \
+	ubuntu_22.04 \
 	fedora_33 \
 	fedora_34 \
 	fedora_35 \
diff --git a/client-qt b/client-qt
index bef42fb1ce9b4cbd1418bae539d0ac8f75e8a590..92829ad3e14dc85cf20d1125ad9fda80887c8290 160000
--- a/client-qt
+++ b/client-qt
@@ -1 +1 @@
-Subproject commit bef42fb1ce9b4cbd1418bae539d0ac8f75e8a590
+Subproject commit 92829ad3e14dc85cf20d1125ad9fda80887c8290
diff --git a/daemon b/daemon
index 0c98f2b1ffd8528ec26a0d4abc67a6de3067263a..dca2eaaa4bb672e3e7c2f69ad02c88c0af15c9a2 160000
--- a/daemon
+++ b/daemon
@@ -1 +1 @@
-Subproject commit 0c98f2b1ffd8528ec26a0d4abc67a6de3067263a
+Subproject commit dca2eaaa4bb672e3e7c2f69ad02c88c0af15c9a2
diff --git a/docker/Dockerfile_ubuntu_18.04 b/docker/Dockerfile_ubuntu_18.04
index 62b3032c8a3ca4589dca44ccebe969a4f129530d..ecce72f6caf0e1c78cd340ee6a62b1d7a7c53d69 100644
--- a/docker/Dockerfile_ubuntu_18.04
+++ b/docker/Dockerfile_ubuntu_18.04
@@ -12,6 +12,7 @@ RUN apt-get update && \
         g++-8 \
         clang \
         clang-tools \
+        libarchive-dev \
         software-properties-common \
         libarchive-dev \
         wget
diff --git a/docker/Dockerfile_ubuntu_22.04 b/docker/Dockerfile_ubuntu_22.04
new file mode 100644
index 0000000000000000000000000000000000000000..957dd686756e476cc1ae999679b90ae2159c95cc
--- /dev/null
+++ b/docker/Dockerfile_ubuntu_22.04
@@ -0,0 +1,29 @@
+FROM ubuntu:22.04
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get clean
+RUN apt-get update && \
+    apt-get install -y -o Acquire::Retries=10 \
+        devscripts \
+        equivs \
+        python-is-python3 \
+        wget
+
+ADD scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
+
+COPY packaging/rules/debian-qt/control /tmp/builddeps/debian/control
+RUN /opt/prebuild-package-debian.sh qt-deps
+
+COPY packaging/rules/debian/control /tmp/builddeps/debian/control
+RUN /opt/prebuild-package-debian.sh jami-deps
+
+# Install CMake 3.19 for Qt 6
+ADD scripts/install-cmake.sh /opt/install-cmake.sh
+RUN /opt/install-cmake.sh
+# nodejs
+RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
+RUN apt install nodejs -y
+
+ADD scripts/build-package-debian.sh /opt/build-package-debian.sh
+CMD ["/opt/build-package-debian.sh"]
diff --git a/lrc b/lrc
index 0c88ebafe0f640afd74c215533f9315f171e0d8d..492ff0fec3f9f880a923faaae9ca112e560109c9 160000
--- a/lrc
+++ b/lrc
@@ -1 +1 @@
-Subproject commit 0c88ebafe0f640afd74c215533f9315f171e0d8d
+Subproject commit 492ff0fec3f9f880a923faaae9ca112e560109c9
diff --git a/packaging/rules/debian/control b/packaging/rules/debian/control
index f8219c37711c305add456b6bf414cba738c4d7c9..420a851ce09f1fbff9e46ed3e8591876f39b9858 100644
--- a/packaging/rules/debian/control
+++ b/packaging/rules/debian/control
@@ -86,8 +86,7 @@ Conflicts: jami,
            libqt-jami
 Description: One-click install package for Jami
  This package only exists to provide an easy installation user experience.
- To install the default client, install the 'jami' package. To install
- the GNOME client, install the 'jami-gnome' package.
+ To install the default client, install the 'jami' package.
 
 Package: jami
 Architecture: any
@@ -109,7 +108,8 @@ Package: jami-gnome
 Architecture: any
 Depends: ${shlibs:Depends},
          ${misc:Depends},
-         jami-libclient-gnome (=${binary:Version})
+         jami-libclient-gnome (=${binary:Version}),
+         libqt-jami (>= 6.2.3)
 Description: Secure and distributed voice, video and chat platform - desktop client
  Jami (jami.net) is a secure and distributed voice, video and chat communication
  platform that requires no centralized server and leaves the power of privacy
diff --git a/packaging/rules/debian/jami-all.postinst b/packaging/rules/debian/jami-all.postinst
index e2267b10c0023e25f2e7964f2c242852c4673ab9..28a72969449bec76cdbba16118e9eb22be51b910 100755
--- a/packaging/rules/debian/jami-all.postinst
+++ b/packaging/rules/debian/jami-all.postinst
@@ -105,6 +105,8 @@ if [ -f /etc/os-release ]; then
         ENDTAG="ubuntu_21.04"
     elif [ "${UBUNTU_CODENAME}" = "impish" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_21.10" ]; then
         ENDTAG="ubuntu_21.10"
+    elif [ "${UBUNTU_CODENAME}" = "jammy" ] || [ "${ID}_${VERSION_ID}" = "ubuntu_22.04" ]; then
+        ENDTAG="ubuntu_22.04"
     elif [ "${ID}" = "debian" ] && \
              [ "$(command -v lsb_release)" ] && \
              [ "$(lsb_release -rs)" = "testing" ]; then
diff --git a/packaging/rules/debian/rules b/packaging/rules/debian/rules
index 5d1b451c025c56af9d9dd6191f286a631e0fa66d..7759146bc45de767527e61474cf9f3df7c99f03b 100755
--- a/packaging/rules/debian/rules
+++ b/packaging/rules/debian/rules
@@ -24,9 +24,7 @@ endif
 # Binary package names
 JAMI_ALL_IN_ONE_PKG_NAME="jami-all"
 JAMI_CLIENT_PKG_NAME="jami"
-JAMI_CLIENT_GNOME_PKG_NAME="jami-gnome"
 JAMI_LIB_CLIENT_PKG_NAME="jami-libclient"
-JAMI_LIB_CLIENT_GNOME_PKG_NAME="jami-libclient-gnome"
 JAMI_DAEMON_PKG_NAME="jami-daemon"
 
 # Bundled packages from contrib
@@ -36,7 +34,7 @@ ifeq (debian_10,$(findstring debian_10, $(DISTRIBUTION)))
 BUNDLED_PKGS="--disable-libarchive"
 endif
 ifeq (ubuntu_18.04,$(findstring ubuntu_18.04, $(DISTRIBUTION)))
-# Daemon's bundled libarchive does not build on Debian 10
+# Daemon's bundled libarchive does not build on Ubuntu 18.04
 BUNDLED_PKGS="--disable-libarchive"
 endif
 ifeq (raspbian_10_armhf,$(findstring raspbian_10_armhf, $(DISTRIBUTION)))
@@ -109,38 +107,9 @@ override_dh_auto_build:
 	  -DCMAKE_INSTALL_LIBDIR=lib \
 	  $(CMAKE_OPTIONS) ..
 
-	# Libringclient configure (for GNOME client)
-	cd lrc-gnome && \
-	mkdir build && \
-	cd build && \
-	cmake  \
-	  -DRING_BUILD_DIR=$(CURDIR)/daemon/src \
-	  -DENABLE_LIBWRAP=true \
-	  -DCMAKE_INSTALL_PREFIX=/usr \
-	  -DCMAKE_INSTALL_LIBDIR=lib \
-	  $(CMAKE_OPTIONS) ..
-
 	# libringclient build
 	make -C lrc/build -j$(NO_CPUS) V=1
 
-	# libringclient build (for GNOME client)
-	make -C lrc-gnome/build -j$(NO_CPUS) V=1
-
-	# GNOME client configure
-	cd client-gnome && \
-	  mkdir build && \
-	  cd build && \
-	  cmake -DCMAKE_INSTALL_PREFIX=/usr \
-		-DCMAKE_INSTALL_LIBDIR=lib \
-		-DLibRingClient_PROJECT_DIR=/$(CURDIR)/lrc-gnome \
-		-DGSETTINGS_LOCALCOMPILE=OFF \
-		$(CMAKE_OPTIONS) ..
-
-	# GNOME client build
-	cd client-gnome/web && \
-	  for f in ../../lrc-gnome/src/web-chatview/*.*; do ln -sf "$$f" .; done
-	make -C client-gnome/build LDFLAGS="-lpthread" -j$(NO_CPUS) V=1
-
 	# Qt client configure and build
 	cd client-qt && \
 	mkdir build && \
@@ -160,23 +129,6 @@ override_dh_auto_clean:
 	rm -rfv daemon/contrib/native
 	rm -rfv daemon/jamid.1
 
-	#########################
-	## libringclient clean ##
-	#########################
-	# CMake build system has no distclean target, so use clean.
-	[ -f lrc/build/Makefile ] && make -C lrc/build clean || true
-	rm -rfv lrc/build
-	[ -f lrc-gnome/build/Makefile ] && make -C lrc-gnome/build clean || true
-	rm -rfv lrc-gnome/build
-
-	###########################
-	##### gnome client clean ##
-	###########################
-	# CMake build system has no distclean target, so use clean.
-	[ -f client-gnome/build/Makefile ] && \
-	  make -C client-gnome/build clean || true
-	rm -rfv client-gnome/build
-
 	#####################
 	## qt client clean ##
 	#####################
@@ -199,22 +151,13 @@ override_dh_auto_install:
         ## LibRingClient
 	cd lrc/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME) install
 	rm -rfv $(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME)/usr/include
-        ## LibRingClient (for GNOME client)
-	cd lrc-gnome/build && make DESTDIR=$(CURDIR)/debian/$(JAMI_LIB_CLIENT_GNOME_PKG_NAME) install
-	rm -rfv $(CURDIR)/debian/$(JAMI_LIB_CLIENT_GNOME_PKG_NAME)/usr/include
 
 	# This is a symlink, should be in -dev package
 	rm -v $(CURDIR)/debian/$(JAMI_LIB_CLIENT_PKG_NAME)/usr/lib/libringclient.so
-	rm -v $(CURDIR)/debian/$(JAMI_LIB_CLIENT_GNOME_PKG_NAME)/usr/lib/libringclient.so
 
 	# cmake files
 	rm -rfv $(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME)/usr/lib/cmake
 
-	## GNOME client
-	cd client-gnome/build && \
-		make DESTDIR=$(CURDIR)/debian/$(JAMI_CLIENT_GNOME_PKG_NAME) install
-	rm -rfv $(CURDIR)/debian/$(JAMI_CLIENT_GNOME_PKG_NAME)/usr/bin/jami
-
 	## Qt client
 	cd client-qt/build && \
 	make DESTDIR=$(CURDIR)/debian/$(JAMI_CLIENT_PKG_NAME) install
@@ -251,7 +194,10 @@ override_dh_auto_install:
 	make DESTDIR=$(CURDIR)/debian/$(JAMI_ALL_IN_ONE_PKG_NAME) install
 
 override_dh_shlibdeps:
-	dh_shlibdeps -- -x$(JAMI_ALL_IN_ONE_PKG_NAME)
+	dh_shlibdeps -- \
+	  -x$(JAMI_ALL_IN_ONE_PKG_NAME) \
+	  -x$(JAMI_LIB_CLIENT_PKG_NAME) \
+	  -x$(JAMI_LIB_CLIENT_GNOME_PKG_NAME)
 
 tmpdir:= $(shell mktemp -d)
 workdir:= $(shell pwd)
diff --git a/packaging/rules/rpm/jami-gnome.spec b/packaging/rules/rpm/jami-gnome.spec
deleted file mode 100644
index 4f9f7284ffe947c3a8c4a18a708ccbfe445d1741..0000000000000000000000000000000000000000
--- a/packaging/rules/rpm/jami-gnome.spec
+++ /dev/null
@@ -1,69 +0,0 @@
-%define name        jami-gnome
-%define version     RELEASE_VERSION
-%define release     0
-
-Name:          %{name}
-Version:       %{version}
-Release:       %{release}%{?dist}
-Summary:       GNOME desktop client for Jami
-Group:         Applications/Internet
-License:       GPLv3+
-Vendor:        Savoir-faire Linux
-URL:           https://jami.net/
-Source:        jami_%{version}.tar.gz
-Requires:      jami-libclient-gnome = %{version}
-
-# Build dependencies.
-BuildRequires: make
-BuildRequires: gettext-devel
-
-# Build and runtime dependencies.
-BuildRequires: glib2-devel
-%if 0%{?fedora} >= 32
-BuildRequires: gcc
-BuildRequires: cmake
-BuildRequires: dbus-devel
-BuildRequires: libnotify-devel
-BuildRequires: libappindicator-gtk3-devel
-BuildRequires: webkitgtk4-devel
-%endif
-BuildRequires: clutter-devel
-BuildRequires: clutter-gtk-devel
-BuildRequires: gtk3-devel
-BuildRequires: libcanberra-devel
-BuildRequires: qrencode-devel
-
-%description
-This package contains the GNOME desktop client of Jami. Jami is a free
-software for universal communication which respects freedoms and
-privacy of its users.
-
-%prep %setup -n jami-project
-
-%build
-cd %{_builddir}/jami-project/client-gnome && \
-    mkdir build && cd build && \
-    cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-          -DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-          -DCMAKE_BUILD_TYPE=Debug \
-          -DGSETTINGS_LOCALCOMPILE=OFF \
-          ..
-make -C %{_builddir}/jami-project/client-gnome/build \
-    LDFLAGS="-lpthread" %{_smp_mflags} V=1
-
-%install
-DESTDIR=%{buildroot} make -C %{_builddir}/jami-project/client-gnome/build install
-# Only keep /bin/jami-gnome for the GNOME client.
-rm -rfv %{buildroot}/%{_bindir}/jami
-
-%files
-%defattr(-,root,root,-)
-%{_bindir}/jami-gnome
-%{_datadir}/applications/jami-gnome.desktop
-%{_datadir}/glib-2.0/schemas/net.jami.Jami.gschema.xml
-%{_datadir}/icons/hicolor/scalable/apps/jami-gnome.svg
-%{_datadir}/icons/hicolor/scalable/apps/jami-gnome-new.svg
-%{_datadir}/jami-gnome
-%{_datadir}/locale/*
-%{_datadir}/metainfo/jami-gnome.appdata.xml
-%{_datadir}/sounds/jami-gnome
diff --git a/packaging/rules/rpm/jami-libclient-gnome.spec b/packaging/rules/rpm/jami-libclient-gnome.spec
deleted file mode 100644
index 91dd86550dab8c07db2235d75c8abb99dd68d526..0000000000000000000000000000000000000000
--- a/packaging/rules/rpm/jami-libclient-gnome.spec
+++ /dev/null
@@ -1,71 +0,0 @@
-%define name        jami-libclient-gnome
-%define version     RELEASE_VERSION
-%define release     0
-
-Name:          %{name}
-Version:       %{version}
-Release:       %{release}%{?dist}
-Summary:       Client library for Jami GNOME
-Group:         Applications/Internet
-License:       GPLv3+
-Vendor:        Savoir-faire Linux
-URL:           https://jami.net/
-Source:        jami_%{version}.tar.gz
-Requires:      jami-daemon = %{version}
-
-# Build dependencies
-BuildRequires: jami-daemon-devel = %{version}
-Requires:      jami-libqt
-BuildRequires: make
-%if 0%{?fedora} >= 32
-BuildRequires: NetworkManager-libnm-devel
-BuildRequires: cmake
-BuildRequires: gcc-c++
-%endif
-
-%description
-This package contains the client library of Jami GNOME, a free
-software for universal communication which respects freedoms and
-privacy of its users.
-
-%prep
-%setup -n jami-project
-
-%build
-# Qt-related variables
-cd %{_builddir}/jami-project/lrc-gnome && \
-    mkdir build && cd build && \
-    cmake -DRING_BUILD_DIR=%{_builddir}/jami-project/daemon/src \
-          -DENABLE_LIBWRAP=true \
-          -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-          -DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-          -DCMAKE_BUILD_TYPE=Release \
-          ..
-make -C %{_builddir}/jami-project/lrc-gnome/build %{_smp_mflags} V=1
-
-%install
-DESTDIR=%{buildroot} make -C lrc-gnome/build install
-
-%files
-%defattr(-,root,root,-)
-%{_libdir}/libringclient.so.1.0.0
-%{_datadir}/libringclient
-
-%package devel
-Summary: Development files of the Jami GNOME client library
-
-%description devel
-This package contains the header files and the unversioned shared
-library for developing with the Jami client library.
-
-%files devel
-%{_includedir}/libringclient
-%{_libdir}/cmake/LibRingClient
-# The following is a symbolic link.
-%{_libdir}/libringclient.so
-
-%post
-/sbin/ldconfig
-
-%postun
-/sbin/ldconfig
diff --git a/scripts/build-package-rpm.sh b/scripts/build-package-rpm.sh
index 82644546019b99be898e489f31ba937e1f28e3fb..e43130d0731892ae0eafdde5636edd1a831e6401 100755
--- a/scripts/build-package-rpm.sh
+++ b/scripts/build-package-rpm.sh
@@ -132,13 +132,6 @@ rpmbuild --define "debug_package %{nil}"  -ba jami-libclient.spec
 rpm --install /root/rpmbuild/RPMS/x86_64/jami-libclient-*
 rpmbuild --define "debug_package %{nil}" -ba jami-qt.spec
 
-# Uninstall the client library, build and install the client library
-# version specific to the GNOME client, and build the GNOME client.
-rpm --erase $(rpm --query --all 'jami-libclient*')
-rpmbuild --define "debug_package %{nil}"  -ba jami-libclient-gnome.spec
-rpm --install /root/rpmbuild/RPMS/x86_64/jami-libclient-gnome-*
-rpmbuild --define "debug_package %{nil}" -ba jami-gnome.spec
-
 # Move the built packages to the output directory.
 mv /root/rpmbuild/RPMS/*/* /opt/output
 touch /opt/output/.packages-built
diff --git a/scripts/update-submodules.sh b/scripts/update-submodules.sh
index 6c565e03113cccff19f13afd464630c67771c32b..4b787c39698f135909d40dc80390626e61ce4021 100755
--- a/scripts/update-submodules.sh
+++ b/scripts/update-submodules.sh
@@ -2,7 +2,6 @@
 
 git submodule foreach "git pull origin master"
 git add client-android \
-        client-gnome \
         client-ios \
         client-macosx \
         client-qt \