Name: mvgal Version: 0.2.0 Release: 1%{?dist} Summary: Multi-Vendor GPU Aggregation Layer for Linux License: GPL-3.0-only URL: https://github.com/TheCreateGM/mvgal Source0: %{name}-%{version}.tar.gz BuildRequires: gcc, make, cmake >= 3.20 BuildRequires: libdrm-devel, systemd-devel BuildRequires: pkgconfig(libdrm) Requires: libdrm, systemd Requires: vulkan-loader Prefix: /usr %description MVGAL (Multi-Vendor GPU Aggregation Layer) enables heterogeneous GPUs (AMD, NVIDIA, Intel, Moore Threads) to function as a single logical compute and rendering device. %prep %setup -q %build mkdir -p build cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DWITH_VULKAN=OFF \ -DWITH_OPENCL=OFF \ -DWITH_DAEMON=ON \ -DWITH_TESTS=OFF \ -DWITH_KERNEL_MODULE=OFF \ -DWITH_BENCHMARKS=OFF \ -DWITH_DOCS=OFF make %{?_smp_mflags} %install rm -rf %{buildroot} # Libraries mkdir -p %{buildroot}%{_libdir} install -m 755 build/src/userspace/libmvgal.so %{buildroot}%{_libdir}/ 2>/dev/null || : install -m 755 build/src/userspace/libmvgal_core.a %{buildroot}%{_libdir}/ 2>/dev/null || : # Headers mkdir -p %{buildroot}%{_includedir}/mvgal install -m 644 include/mvgal/mvgal.h %{buildroot}%{_includedir}/mvgal/ install -m 644 include/mvgal/mvgal_types.h %{buildroot}%{_includedir}/mvgal/ install -m 644 include/mvgal/mvgal_gpu.h %{buildroot}%{_includedir}/mvgal/ install -m 644 include/mvgal/mvgal_memory.h %{buildroot}%{_includedir}/mvgal/ install -m 644 include/mvgal/mvgal_scheduler.h %{buildroot}%{_includedir}/mvgal/ install -m 644 include/mvgal/mvgal_log.h %{buildroot}%{_includedir}/mvgal/ install -m 644 include/mvgal/mvgal_config.h %{buildroot}%{_includedir}/mvgal/ install -m 644 include/mvgal/mvgal_ipc.h %{buildroot}%{_includedir}/mvgal/ install -m 644 include/mvgal/mvgal_version.h %{buildroot}%{_includedir}/mvgal/ install -m 644 include/mvgal/mvgal_execution.h %{buildroot}%{_includedir}/mvgal/ install -m 644 include/mvgal/mvgal_intercept.h %{buildroot}%{_includedir}/mvgal/ # Daemon mkdir -p %{buildroot}%{_sbindir} install -m 755 build/src/userspace/mvgal-daemon %{buildroot}%{_sbindir}/ 2>/dev/null || : # Config mkdir -p %{buildroot}%{_sysconfdir}/mvgal echo "# MVGAL Configuration" > %{buildroot}%{_sysconfdir}/mvgal/mvgal.conf echo "enabled = true" >> %{buildroot}%{_sysconfdir}/mvgal/mvgal.conf echo "debug_level = info" >> %{buildroot}%{_sysconfdir}/mvgal/mvgal.conf # udev rules mkdir -p %{buildroot}%{_udevrulesdir} echo "# MVGAL udev rules" > %{buildroot}%{_udevrulesdir}/99-mvgal.rules # Systemd service mkdir -p %{buildroot}%{_unitdir} cat > %{buildroot}%{_unitdir}/mvgal-daemon.service << 'EOF' [Unit] Description=MVGAL Daemon After=graphical.target [Service] Type=simple ExecStart=%{_sbindir}/mvgal-daemon Restart=on-failure [Install] WantedBy=multi-user.target EOF %post mkdir -p /var/run/mvgal mkdir -p /var/log/mvgal /sbin/ldconfig if [ -d /run/systemd/system ]; then systemctl daemon-reload > /dev/null 2>&1 || : fi %preun if [ $1 -eq 0 ] && [ -d /run/systemd/system ]; then systemctl stop mvgal-daemon.service > /dev/null 2>&1 || : fi %postun if [ $1 -eq 0 ] && [ -d /run/systemd/system ]; then systemctl daemon-reload > /dev/null 2>&1 || : fi %files %defattr(-,root,root,755) %license LICENSE %doc README.md %{_libdir}/libmvgal.so %{_libdir}/libmvgal_core.a %{_includedir}/mvgal/ %{_sbindir}/mvgal-daemon %{_sysconfdir}/mvgal/ %{_udevrulesdir}/99-mvgal.rules %{_unitdir}/mvgal-daemon.service %changelog * Thu Apr 24 2026 AxoGM - 0.2.0-1 - Updated to version 0.2.0 - Build for Fedora COPR