Package Details: looking-glass-host-git 2:B7.r822.g54ea580e-1

Git Clone URL: https://aur.archlinux.org/looking-glass-git.git (read-only, click to copy)
Package Base: looking-glass-git
Description: Linux host application for pushing frame data to the LookingGlass IVSHMEM device
Upstream URL: https://looking-glass.io/
Licenses: GPL-2.0-or-later
Conflicts: looking-glass-host
Provides: looking-glass-host
Submitter: Omar007
Maintainer: Omar007
Last Packager: Omar007
Votes: 18
Popularity: 0.99
First Submitted: 2017-12-14 09:38 (UTC)
Last Updated: 2026-09-01 11:29 (UTC)

Pinned Comments

Omar007 commented on 2025-08-08 12:31 (UTC) (edited on 2025-08-08 12:34 (UTC) by Omar007)

If you encounter any issues building a package from this PKGBUILD and/or running the resulting binaries:

DO NOT CONTACT UPSTREAM!!!

This PKGBUILD is not supported nor provided by upstream!

Only leave messages here on the AUR!

Latest Comments

1 2 3 4 5 6 .. 9 Next › Last »

heddxh commented on 2026-08-26 08:40 (UTC)

May missing usbredir as dep or optional dependencies.

https://looking-glass.io/docs/B7-822-54ea580e/build/#may-be-disabled

heddxh commented on 2026-08-19 06:50 (UTC) (edited on 2026-08-19 07:05 (UTC) by heddxh)

@Omar007 Oops just realize I disable LTO which leads to the error. Thanks for your help!

Omar007 commented on 2026-08-18 17:01 (UTC)

@heddxh: Unable to reproduce in a clean chroot (classic nor pkgctl) or a container based build.

gcc: 16.2.1+r23+gd564253eb6c8-1 glib2: 2.88.3-1 CFLAGS: Arch default -O2 LTO: disabled ccache/distcc: disabled host optimization: x86-64-v2, not native

This suggests you're running custom build flags? As far as I can tell this does not match Arch ootb configuration.
I am not familiar with aurbuild so there's nothing I can say about that or what it might be doing.

heddxh commented on 2026-08-18 03:13 (UTC)

[ 78%] Built target capture_XCB
In file included from /usr/lib/glib-2.0/include/glibconfig.h:9,
                 from /usr/include/glib-2.0/glib/gtypes.h:34,
                 from /usr/include/glib-2.0/glib/galloca.h:34,
                 from /usr/include/glib-2.0/glib.h:32,
                 from /usr/include/glib-2.0/gobject/gbinding.h:30,
                 from /usr/include/glib-2.0/glib-object.h:24,
                 from /usr/include/glib-2.0/gio/gioenums.h:30,
                 from /usr/include/glib-2.0/gio/giotypes.h:30,
                 from /usr/include/glib-2.0/gio/gio.h:28,
                 from /build/looking-glass-git/src/looking-glass/host/platform/Linux/capture/pipewire/src/portal.c:27:
In function ‘glib_autoptr_clear_GVariant’,
    inlined from ‘glib_autoptr_cleanup_GVariant’ at /usr/include/glib-2.0/glib/glib-autocleanups.h:96:1,
    inlined from ‘portal_createScreenCastSession’ at /build/looking-glass-git/src/looking-glass/host/platform/Linux/capture/pipewire/src/portal.c:201:23:
/usr/include/glib-2.0/glib/glib-autocleanups.h:96:1: error: ‘response’ may be used uninitialized [-Werror=maybe-uninitialized]
   96 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariant, g_variant_unref)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated due to -Wfatal-errors.
cc1: all warnings being treated as errors
make[2]: *** [platform/Linux/capture/pipewire/CMakeFiles/capture_pipewire.dir/build.make:93: platform/Linux/capture/pipewire/CMakeFiles/capture_pipewire.dir/src/portal.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:549: platform/Linux/capture/pipewire/CMakeFiles/capture_pipewire.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Reproducible in a clean aurbuild chroot.

gcc: 16.2.1+r23+gd564253eb6c8-1 glib2: 2.88.3-1 CFLAGS: Arch default -O2 LTO: disabled ccache/distcc: disabled host optimization: x86-64-v2, not native

Add CFLAGS+=" -Wno-error=maybe-uninitialized" as workaround.

Technetium1 commented on 2026-08-16 15:29 (UTC)

Requires fuse3 since this commit

Omar007 commented on 2026-08-11 23:04 (UTC)

@bbaovanc & @GrabbenD; the idea behind putting the submodules in the PKGBUILD is to allow native handling of the sources and to allow for reuse without needing to redownload. In that sense it's not that different from putting a file in the sources=(..) array VS. downloading it inside prepare() {..}. This is especially nice if you perform your builds in a clean chroot.
If you want to know more, see https://wiki.archlinux.org/title/VCS_package_guidelines

bbaovanc commented on 2026-08-11 12:41 (UTC)

Well, I assumed that using makepkg to clone all the submodules was intentional so I kept it that way

GrabbenD commented on 2026-08-11 12:19 (UTC)

@bbaovanc Before seeing your replay I hacked together a different workaround:

Didn't dig deeper into this but I suspect the: git submodule set-url -- "repos/${module}" "${srcdir}/${module}" logic might not even be needed with: git submodule update --init --recursive

Maintainers who are more familiar with this project probably know better though

$ git diff PKGBUILD
diff --git a/PKGBUILD b/PKGBUILD
index d1992cd..e6012fa 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ pkgname=("${_pkgname}-git"
          "${_pkgname}-host-git"
          "obs-plugin-${_pkgname}-git")
 epoch=2
-pkgver=B7.r238.gc8edf1ea
+pkgver=B7.r590.gd20904e3
 pkgrel=1
 pkgdesc="An extremely low latency KVMFR (KVM FrameRelay) implementation for guests with VGA PCI Passthrough"
 url="https://looking-glass.io/"
@@ -15,7 +15,8 @@ arch=('x86_64')
 license=('GPL-2.0-or-later')
 makedepends=('binutils' 'cmake' 'fontconfig' 'git' 'libegl' 'libpipewire'
              'libpulse' 'libsamplerate' 'libxi' 'libxpresent' 'libxss'
-             'obs-studio' 'spice-protocol' 'wayland-protocols')
+             'obs-studio' 'spice-protocol' 'wayland-protocols'
+             'clang' 'llvm' 'pahole')
 source=("${_pkgname}::git+https://github.com/gnif/LookingGlass.git"
         "LGMP::git+https://github.com/gnif/LGMP.git"
         "PureSpice::git+https://github.com/gnif/PureSpice.git"
@@ -39,15 +40,20 @@ pkgver() {
 }

 prepare() {
+  set -x
+
        cd "${srcdir}/${_pkgname}"
-       git submodule init
-       for module in LGMP PureSpice cimgui wayland-protocols nanosvg; do
+       git submodule update --init --recursive
+
+       for module in LGMP PureSpice wayland-protocols nanosvg; do
                git submodule set-url -- "repos/${module}" "${srcdir}/${module}"
        done
+       git submodule set-url -- "repos/gui/cimgui" "${srcdir}/cimgui"
+
        git -c protocol.file.allow=always submodule update

-       cd "repos/cimgui"
-       git submodule init
+       cd "repos/gui/cimgui"
+       git submodule update --init --recursive
        git submodule set-url -- imgui "${srcdir}/imgui"
        git -c protocol.file.allow=always submodule update
 }

bbaovanc commented on 2026-08-11 07:49 (UTC)

@GrabbenD Yes, it's failing for me too. I was able to get it to build by making these changes:

diff --git a/PKGBUILD b/PKGBUILD
index d1992cd..373dc6b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ pkgname=("${_pkgname}-git"
          "${_pkgname}-host-git"
          "obs-plugin-${_pkgname}-git")
 epoch=2
-pkgver=B7.r238.gc8edf1ea
+pkgver=B7.r591.g77b66119
 pkgrel=1
 pkgdesc="An extremely low latency KVMFR (KVM FrameRelay) implementation for guests with VGA PCI Passthrough"
 url="https://looking-glass.io/"
@@ -18,12 +18,20 @@ makedepends=('binutils' 'cmake' 'fontconfig' 'git' 'libegl' 'libpipewire'
              'obs-studio' 'spice-protocol' 'wayland-protocols')
 source=("${_pkgname}::git+https://github.com/gnif/LookingGlass.git"
         "LGMP::git+https://github.com/gnif/LGMP.git"
+        "relacy::git+https://github.com/dvyukov/relacy.git"
         "PureSpice::git+https://github.com/gnif/PureSpice.git"
+        "ADL::git+https://github.com/gnif/ADL.git"
         "cimgui::git+https://github.com/cimgui/cimgui.git"
         "imgui::git+https://github.com/ocornut/imgui.git"
+        "cimplot::git+https://github.com/cimgui/cimplot.git"
+        "implot::git+https://github.com/epezent/implot.git"
         "wayland-protocols::git+https://gitlab.freedesktop.org/wayland/wayland-protocols.git"
         "nanosvg::git+https://github.com/memononen/nanosvg.git")
 sha512sums=('SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
             'SKIP'
             'SKIP'
             'SKIP'
@@ -41,15 +49,32 @@ pkgver() {
 prepare() {
    cd "${srcdir}/${_pkgname}"
    git submodule init
-   for module in LGMP PureSpice cimgui wayland-protocols nanosvg; do
+   for module in LGMP PureSpice wayland-protocols nanosvg; do
        git submodule set-url -- "repos/${module}" "${srcdir}/${module}"
    done
+   for module in cimgui cimplot; do
+       git submodule set-url -- "repos/gui/${module}" "${srcdir}/${module}"
+   done
    git -c protocol.file.allow=always submodule update

-   cd "repos/cimgui"
+   src_looking_glass="${srcdir}/looking-glass"
+
+   cd "${src_looking_glass}/repos/gui/cimgui"
    git submodule init
    git submodule set-url -- imgui "${srcdir}/imgui"
    git -c protocol.file.allow=always submodule update
+   cd "${src_looking_glass}/repos/LGMP"
+   git submodule init
+   git submodule set-url -- relacy "${srcdir}/relacy"
+   git -c protocol.file.allow=always submodule update
+   cd "${src_looking_glass}/repos/PureSpice"
+   git submodule init
+   git submodule set-url -- test/ADL "${srcdir}/ADL"
+   git -c protocol.file.allow=always submodule update
+   cd "${src_looking_glass}/repos/gui/cimplot"
+   git submodule init
+   git submodule set-url -- implot "${srcdir}/implot"
+   git -c protocol.file.allow=always submodule update
 }

 build() {

GrabbenD commented on 2026-08-10 18:12 (UTC) (edited on 2026-08-10 18:19 (UTC) by GrabbenD)

Is the build failing for anyone else? Using set -x I've tracked it back to: for module in LGMP PureSpice cimgui wayland-protocols nanosvg; do

Error:

+ git submodule set-url -- repos/cimgui /home/user/game/Repository/Pacman/looking-glass-git/src/cimgui
fatal: no submodule mapping found in .gitmodules for path 'repos/cimgui'

Command:

$ PACMAN=paru makepkg --syncdeps --install --force --cleanbuild --clean --skipinteg --nocheck