%global debug_package %{nil} Name: looking-glass Version: B7 Release: 1 Summary: An extremely low latency KVMFR (KVM FrameRelay) implementation for guests with VGA PCI Passthrough License: GPL-2.0-or-later URL: https://looking-glass.io Source0: %{url}/artifact/%{version}/source BuildRequires: cmake make gcc gcc-c++ BuildRequires: nettle-devel pkgconf-pkg-config fontconfig-devel libglvnd-devel spice-protocol binutils-devel BuildRequires: libXi-devel libXinerama-devel libXcursor-devel libXpresent-devel libXScrnSaver-devel libXrandr-devel BuildRequires: libxkbcommon-x11-devel wayland-devel wayland-protocols-devel libdecor-devel BuildRequires: pulseaudio-libs-devel pipewire-devel libsamplerate-devel Recommends: dejavu-sans-mono-fonts %package docs Summary: Looking Glass %{version} documentation BuildArch: noarch BuildRequires: python3-sphinx python3-sphinx_rtd_theme %package -n obs-studio-plugin-%{name} Summary: Plugin for OBS Studio to stream directly from Looking Glass without having to record the Looking Glass client BuildRequires: obs-studio-devel Requires: obs-studio %global modulename kvmfr %global modulever 0.0.12 #%package -n dkms-%{modulename} %package -n dkms-%{name} Summary: The kernel module implements a basic interface to the IVSHMEM device for Looking Glass allowing DMA GPU transfers BuildRequires: systemd-rpm-macros Requires: dkms %description Looking Glass is an open source application that allows the use of a KVM (Kernel- based Virtual Machine) configured for VGA PCI Pass-through without an attached physical monitor, keyboard or mouse. This is the final step required to move away from dual booting with other operating systems for legacy programs that require high performance graphics. Windows Host Binary: %{url}/artifact/%{version}/host %description docs %{name}-docs provides documentation files regarding looking glass. online documentation: %{url}/docs/%{version}/ to view: %{_docdir}/looking-glass-docs/html/index.html %description -n obs-studio-plugin-%{name} You can add a Looking Glass video feed to OBS as a video source with the included OBS plugin. This provides a lower-latency alternative to capturing the Looking Glass client window with a Screen or Window Capture source. This may help improve your viewers’ watching experience, and allows you to use your host privately. %description -n dkms-%{name} The kernel module implements a basic interface to the IVSHMEM device for Looking Glass allowing DMA GPU transfers module name: %{modulename} %prep %autosetup -n %{name}-%{version} %__mkdir_p client/build %__mkdir_p obs/build %build cd client/build %cmake ../ cd redhat-linux-build %make_build cd %_builddir/%{name}-%{version}/doc %__make html rm _build/html/.buildinfo cd %_builddir/%{name}-%{version}/obs/build %cmake ../ cd redhat-linux-build %__make %install cd client/build/redhat-linux-build %make_install cd %_builddir/%{name}-%{version}/obs/build/redhat-linux-build %make_install cd %_builddir/%{name}-%{version}/module %__mkdir_p %{buildroot}%{_usrsrc}/%{modulename}-%{modulever} %__install -Dm644 -t %{buildroot}%{_usrsrc}/%{modulename}-%{modulever} Makefile dkms.conf kvmfr.{h,c} %post -n dkms-%{name} dkms add -m %{modulename} -v %{modulever} || : dkms build -m %{modulename} -v %{modulever} || : dkms install -m %{modulename} -v %{modulever} --force || : %preun -n dkms-%{name} dkms remove -m %{modulename} -v %{modulever} --all || : %files %{_bindir}/looking-glass-client %{_datadir}/applications/looking-glass-client.desktop %{_datadir}/icons/hicolor/scalable/apps/looking-glass.svg %files docs %doc doc/_build/html %files -n obs-studio-plugin-%{name} %{_datadir}/obs/obs-plugins/looking-glass-obs/bin/64bit/liblooking-glass-obs.so %files -n dkms-%{name} %{_usrsrc}/%{modulename}-%{modulever}/ %changelog %autochangelog