looking-glass
The source URL is hosted on the project's official domain (looking-glass.io), which is legitimate and expected for this package; the non-whitelisted host flag is a false positive as the domain is project-owned and trustworthy.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source URL is hosted on the project's official domain (looking-glass.io), which is legitimate and expected for this package; the non-whitelisted host flag is a false positive as the domain is project-owned and trustworthy.
1 higher static finding superseded - not the current verdict (shown for transparency)
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:18
source=("looking-glass-${pkgver}.tar.gz::https://looking-glass.io/artifact/${pkgver}/source"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Omar Pakker <archlinux@opakker.nl>
pkgbase=looking-glass
pkgname=("${pkgbase}"
"${pkgbase}-module-dkms"
# "${pkgbase}-host"
"obs-plugin-${pkgbase}")
epoch=2
pkgver=B7
pkgrel=7
pkgdesc="An extremely low latency KVMFR (KVM FrameRelay) implementation for guests with VGA PCI Passthrough"
url="https://looking-glass.io/"
arch=('x86_64')
license=('GPL-2.0-or-later')
makedepends=('cmake' 'fontconfig' 'libpipewire' 'libpulse'
'libsamplerate' 'libxi' 'libxpresent' 'libxss' 'obs-studio'
'spice-protocol' 'wayland-protocols')
source=("looking-glass-${pkgver}.tar.gz::https://looking-glass.io/artifact/${pkgver}/source"
"1197-backport.patch"
"nettle4-compat.patch")
sha512sums=('a3f0193451c64dbd9ead01538fa53cc78b42d318d54b2eef026fb730811e055bb140b67dcd91c1da5ef09ec74fbb141c791b53264a56a943308b81a6e49e1e93'
'7e927d6cae8190dba46be59e64862f327f5226e4baa3116559aa92174d9c8b7e6752a356fe67bb144036c36f1a95b2379d4b2efa5f4f09775bcbbe03107dcaac'
'0b0cfe95179fef4d5443a66536c6bb628996340c667ad87fbb1bd57cf759e1aec007e44e1a210a4eb63516cc213a47eb9cfe41d18916508d1718ba3e050ddf48')
_lgdir="${pkgbase}-${pkgver}"
prepare() {
cd "${srcdir}/${_lgdir}"
for patch in "${srcdir}"/*.patch; do
patch -p1 < "${patch}"
done
}
build() {
cd "${srcdir}/${_lgdir}"
local components=(
"client"
# "host"
"obs"
)
for b in "${components[@]}"; do
mkdir "${b}/build"
pushd "${b}/build"
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make
popd
done
}
package_looking-glass() {
pkgdesc="A client application for accessing the LookingGlass IVSHMEM device of a VM"
depends=('binutils' 'fontconfig' 'gcc-libs' 'glibc' 'gmp' 'hicolor-icon-theme'
'libegl' 'libgl' 'libpipewire' 'libpulse' 'libsamplerate' 'libx11'
'libxcursor' 'libxfixes' 'libxi' 'libxinerama' 'libxkbcommon' 'libxpresent'
'libxss' 'nettle' 'wayland' 'zlib' 'zstd')
cd "${srcdir}/${_lgdir}/client/build"
make DESTDIR="${pkgdir}" install
}
package_looking-glass-module-dkms() {
pkgdesc="A kernel module that implements a basic interface to the IVSHMEM device for when using LookingGlass in VM->VM mode"
depends=('dkms')
cd "${srcdir}/${_lgdir}/module"
install -Dm644 -t "${pkgdir}/usr/src/${pkgbase}-${pkgver}" \
Makefile \
dkms.conf \
kvmfr.{h,c}
}
#package_looking-glass-host() {
# pkgdesc="Linux host application for pushing frame data to the LookingGlass IVSHMEM device"
# depends=('binutils' 'gcc-libs' 'glib2' 'glibc'
# 'libpipewire' 'libxcb' 'zlib' 'zstd')
# install="host.install"
#
# cd "${srcdir}/${_lgdir}/host/build"
# make DESTDIR="${pkgdir}" install
#}
package_obs-plugin-looking-glass() {
pkgdesc="Plugin for OBS Studio to stream directly from Looking Glass without having to record the Looking Glass client"
depends=('glibc' 'obs-studio')
install -Dm644 -t "${pkgdir}/usr/lib/obs-plugins" \
"${srcdir}/${_lgdir}/obs/build/liblooking-glass-obs.so"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |