File virglrenderer.spec of Package virglrenderer-1.0.1-45.4
#
# spec file for package virglrenderer
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%if 0%{?suse_version} > 1500
%bcond_without vulkan
%else
%bcond_with vulkan
%endif
%define libname lib%{name}1
Name: virglrenderer
Version: 1.0.1
Release: 45.4
Summary: Virgl Rendering library
License: MIT
Group: Development/Libraries/C and C++
URL: https://docs.mesa3d.org/drivers/virgl/
Source0: https://gitlab.freedesktop.org/virgl/%{name}/-/archive/%{name}-%{version}/%{name}-%{name}-%{version}.tar.gz
BuildRequires: Mesa-devel
BuildRequires: meson >= 0.46
BuildRequires: pkgconfig >= 0.9.0
BuildRequires: python3-base
BuildRequires: pkgconfig(epoxy) >= 1.5.4
BuildRequires: pkgconfig(gbm) >= 18.0.0
BuildRequires: pkgconfig(libdrm) >= 2.4.50
BuildRequires: pkgconfig(libva)
%if %{with vulkan}
BuildRequires: pkgconfig(vulkan)
%endif
BuildRequires: pkgconfig(x11)
%description
The virgil3d rendering library is a library used by
qemu to implement 3D GPU support for the virtio GPU.
%package -n %{libname}
Summary: Virgil3D renderer
Group: System/Libraries
%description -n %{libname}
The virgil3d rendering library is a library used by
qemu to implement 3D GPU support for the virtio GPU.
%package devel
Summary: Virgil3D renderer development files
Group: Development/Libraries/C and C++
Requires: %{libname} = %{version}
%description devel
The virgil3d rendering library is a library used by
qemu to implement 3D GPU support for the virtio GPU.
This package contains the virgil3d renderer development
files.
%package test-server
Summary: Virgil3D renderer development files
Group: Development/Libraries/C and C++
Requires: %{libname} = %{version}
%description test-server
The virgil3d rendering library is a library used by
qemu to implement 3D GPU support for the virtio GPU.
This package contains a server to test virgl rendering
without GL.
%prep
%autosetup -n %{name}-%{name}-%{version} -p1
%build
%meson \
%if %{with vulkan}
-Dvenus=true \
-Dvenus-validate=true \
%endif
-Dvideo=true
%meson_build
%install
%meson_install
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%files -n %{libname}
%license COPYING
%{_libdir}/lib*.so.*
%if %{with vulkan}
%{_libexecdir}/virgl_render_server
%endif
%files devel
%dir %{_includedir}/virgl/
%{_includedir}/virgl/*
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*.pc
%files test-server
%{_bindir}/virgl_test_server
%changelog
* Sun Mar 17 2024 Dirk Müller <dmueller@suse.com>
- update to 1.0.1:
* Fix 17 bugs, most of them securety related
* Fix a number of issues uncovered by Coverity
* Add meson option to enable unstable APIs and add the info
to pkg-config
* vtest: Stabilize protocol version 3
* Wed Nov 15 2023 Muhammad Akbar Yanuar Mantari <mantarimay@pm.me>
- Add pkgconfig(libva) BuildRequires: Enable support for hardware
video acceleration
- Add pkgconfig(vulkan) BuildRequires: Enable support for venus on
Tumbleweed (build failed on leap)
* Wed Oct 18 2023 Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 1.0.0:
+ Switch to Venus protocol version 1.0.0
+ Drop experimental tag from Venus configuration flag and update
API.
+ Support passing fences from guest to host for waiting
and inter-context fence sharing/syncing.
- Drop virglrenderer-CVE-2022-0175.patch and
virglrenderer-CVE-2022-0135.patch: fixed upstream.
* Wed Feb 2 2022 Michael Vetter <mvetter@suse.com>
- security update
* Fix OOB in read_transfer_data() (CVE-2022-0135 bsc#1195389)
Add virglrenderer-CVE-2022-0135.patch
* Fri Jan 21 2022 Dario Faggioli <dfaggioli@suse.com>
- Pick up the full upstream patch for bsc#1194601, so we know from where it comes
* No functional change intended
* Mon Jan 17 2022 pgajdos@suse.com
- security update
- added patches
fix CVE-2022-0175 [bsc#1194601], VUL-0: CVE-2022-0175: virglrenderer: Missing initialization of res->ptr
+ virglrenderer-CVE-2022-0175.patch
* Thu Apr 29 2021 Martin Pluskal <mpluskal@suse.com>
- Update to version 0.9.1:
* Various small bugfixes
* Sun Apr 4 2021 Bruce Rogers <brogers@suse.com>
- Update package to 0.9.0
Highlights include:
+ multi-client support
+ supports newer glsl version
+ add ETC2 compressed formats
+ performance improvements
+ misc. bug fixes
* Wed Feb 12 2020 Bruce Rogers <brogers@suse.com>
- Update package to 0.8.2
Release is all bug fixes it seems. It includes these patches in
the release tarball:
vrend-Don-t-free-resource-struct-in-_resource_alloca.patch
vrend-Don-t-try-launching-a-grid-if-no-CS-is-availab.patch
vrend-Use-the-original-context-to-delete-objects.patch
vrend-Don-t-switch-to-ctx0-when-deleting-ctx0.patch
* Tue Feb 4 2020 Bruce Rogers <brogers@suse.com>
- Avoid potential DoS in texture allocation (CVE-2020-8003
boo#1162521)
vrend-Don-t-free-resource-struct-in-_resource_alloca.patch
- Avoid potential DoS if grid launched without prior Compute Shader
(CVE-2020-8002 boo#1162519)
vrend-Don-t-try-launching-a-grid-if-no-CS-is-availab.patch
- Avoid deleting wrong object, in use by others
vrend-Use-the-original-context-to-delete-objects.patch
- Avoid potential use after free when deleting context
vrend-Don-t-switch-to-ctx0-when-deleting-ctx0.patch
* Mon Jan 6 2020 Bruce Rogers <brogers@suse.com>
- Update package to 0.8.1
Requires very recent libepoxy, which is currently only available
in Factory. Accordingly also switch to meson build, which also
excludes older releases.
Other highlights include:
+ support emulating planar image sampling
+ Add all formats to VIRGL_FORMAT that are referenced in Gallium
+ deprecation of the autotools build system
+ miscellaneous bug and performance fixes
+ drop the following patches, which are included in this release:
0001-5d03711-vrend-Keep-the-max-texture-sizes-in-the-vrend_state.patch
0002-0d9a2c8-vrend-Check-resource-creation-more-thoroughly.patch
0003-24f67de-vrend-check-info-formats-in-blits.patch
0004-cbc8d8b-vrend-check-transfer-bounds-for-negative-values-too-.patch
0005-2abeb18-vrend-check-that-the-transfer-iov-holds-enough-data-.patch
0006-164d758-vrend-Add-an-assert-for-allocating-the-intermediate-.patch
* Mon Dec 23 2019 lma@suse.com
- Add 5 security fixes
* Check resource creation more thoroughly (CVE-2019-18388 bsc#1159479)
0001-5d03711-vrend-Keep-the-max-texture-sizes-in-the-vrend_state.patch
0002-0d9a2c8-vrend-Check-resource-creation-more-thoroughly.patch
* check info formats in blits (CVE-2019-18390 bsc#1159478)
0003-24f67de-vrend-check-info-formats-in-blits.patch
* check transfer bounds for negative values too (CVE-2019-18389 bsc#1159482)
0004-cbc8d8b-vrend-check-transfer-bounds-for-negative-values-too-.patch
* check transfer iov holds enough data for the data upload (CVE-2019-18391 bsc#1159486)
0005-2abeb18-vrend-check-that-the-transfer-iov-holds-enough-data-.patch
* Add an assert for allocating the intermediate texture (CVE-2019-18392 bsc#1159454)
0006-164d758-vrend-Add-an-assert-for-allocating-the-intermediate-.patch
* Tue Nov 26 2019 Bruce Rogers <brogers@suse.com>
- Update package to 0.8.0
Note: not switching to meson build system yet since it would
exclude distos with older meson (seems meson v0.49+ is required)
Highlights include:
+ guest support for GL 4.3 on hosts with GLES 3.2 + certain
extensions,
+ major performance improvements, and
+ lots of bug fixes.
- The shared object (SO) version changes from 0 to 1 with this
package update
* Wed Sep 19 2018 minava@t-online.de
- Update package to 0.7.0
- Brings the renderer up to GL4.3/GLES3.1 capability and most of GLES3.2
- Make EGL optional at configure time
- The following patches will be removed:
0001-737c3350-renderer-fix-memory-leak-in-vertex-elements-state-cr.patch
0002-1fdafd62-vrend-Increase-VREND_MAX_CTX-to-64.patch
They are included in 0.7.0
* Thu Jul 26 2018 vliaskovitis@suse.com
- vrend: Increase VREND_MAX_CTX to 64. (bsc#1102749)
0002-1fdafd62-vrend-Increase-VREND_MAX_CTX-to-64.patch
* Wed Nov 1 2017 mpluskal@suse.com
- Clean up spec file with spec-cleaner
- Use source url
- Add gpg signature
- Make building more verbose
- Explicitly require python2
* Fri Mar 10 2017 lma@suse.com
- Fix memory leak in vertex elements state create (CVE-2017-6386 bsc#1027376)
0001-737c3350-renderer-fix-memory-leak-in-vertex-elements-state-cr.patch
* Thu Mar 2 2017 jengelh@inai.de
- Fix RPM groups
* Fri Feb 24 2017 lma@suse.com
- Update package to 0.6.0
The following patches will be removed:
0001-48f67f60-renderer-fix-NULL-pointer-deref-in-vrend_clear.patch
0002-40b0e781-renderer-fix-a-leak-in-resource-attach.patch
0003-6eb13f7a-vrend-fix-memory-leak-in-int-blit-context.patch
0004-114688c5-renderer-fix-heap-overflow-in-vertex-elements-state-.patch
0005-926b9b34-vrend-fix-a-stack-overflow-in-set-framebuffer-state.patch
All of the removed patches were already included in 0.6.0,
So we dont need them any more.
* Fri Feb 17 2017 lma@suse.com
- Address various security issues
* Fix null pointer dereference in vrend_clear (CVE-2017-5937 bsc#1024232)
0001-48f67f60-renderer-fix-NULL-pointer-deref-in-vrend_clear.patch
* Fix host memory leak issue in virgl_resource_attach_backing (CVE-2016-10214 bsc#1024244)
0002-40b0e781-renderer-fix-a-leak-in-resource-attach.patch
* Fix memory leak in int blit context (CVE-2017-5993 bsc#1025505)
0003-6eb13f7a-vrend-fix-memory-leak-in-int-blit-context.patch
* Fix heap overflow in vertex elements state create (CVE-2017-5994 bsc#1025507)
0004-114688c5-renderer-fix-heap-overflow-in-vertex-elements-state-.patch
* Fix a stack overflow in set framebuffer state (CVE-2017-5957 bsc#1024993)
0005-926b9b34-vrend-fix-a-stack-overflow-in-set-framebuffer-state.patch
* Fri Jun 3 2016 brogers@suse.com
- Further tweaks to package layout, including splitting out
the test server into it's own package.
* Wed Jun 1 2016 brogers@suse.com
- Refine BuildRequires tags
* Thu Apr 14 2016 brogers@suse.com
- Fixed url in spec file
* Wed Apr 13 2016 lma@suse.com
- Fixed epoxy dependency
* Tue Apr 12 2016 lma@suse.com
- Initial package, based upon virglrenderer upstream sources
(git tag: 0.5.0)