diff --git a/81a6d1b0d4d93a3330cc99fbb1601c90b9516a9c.patch b/81a6d1b0d4d93a3330cc99fbb1601c90b9516a9c.patch new file mode 100644 index 0000000000000000000000000000000000000000..7050703799bff011bd23ea6df45ea29c467c7464 --- /dev/null +++ b/81a6d1b0d4d93a3330cc99fbb1601c90b9516a9c.patch @@ -0,0 +1,28 @@ +From 81a6d1b0d4d93a3330cc99fbb1601c90b9516a9c Mon Sep 17 00:00:00 2001 +From: Alexander Alekhin +Date: Thu, 2 Dec 2021 13:32:59 +0000 +Subject: [PATCH] cmake: update SOVERSION + +- OpenCV 4.x doesn't guarantee or maintain ABI compatibility +- We should increase SO version on each release +--- + cmake/OpenCVVersion.cmake | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/cmake/OpenCVVersion.cmake b/cmake/OpenCVVersion.cmake +index a2b4926cf0d2..6ffaab94cf02 100644 +--- a/cmake/OpenCVVersion.cmake ++++ b/cmake/OpenCVVersion.cmake +@@ -10,8 +10,10 @@ set(OPENCV_VERSION_PLAIN "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}.${OPEN + + set(OPENCV_VERSION "${OPENCV_VERSION_PLAIN}${OPENCV_VERSION_STATUS}") + +-set(OPENCV_SOVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}") +-set(OPENCV_LIBVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}.${OPENCV_VERSION_PATCH}") ++string(REGEX MATCH "[0-9][0-9]$" OPENCV_VERSION_MINOR_2DIGITS "00${OPENCV_VERSION_MINOR}") ++string(REGEX MATCH "[0-9][0-9]$" OPENCV_VERSION_PATCH_2DIGITS "00${OPENCV_VERSION_PATCH}") ++ocv_update(OPENCV_SOVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR_2DIGITS}") ++ocv_update(OPENCV_LIBVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}.${OPENCV_VERSION_PATCH}") + + # create a dependency on the version file + # we never use the output of the following command but cmake will rerun automatically if the version file changes diff --git a/Fix-OpenCV-build-with-OpenEXR-before-2.2.0.patch b/Fix-OpenCV-build-with-OpenEXR-before-2.2.0.patch deleted file mode 100644 index 3e8126ab56d0b0784c093b345d9d5d379fc7c545..0000000000000000000000000000000000000000 --- a/Fix-OpenCV-build-with-OpenEXR-before-2.2.0.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 083a7c8f0a71076d4f2f5130d70abaedb2f8c8a5 Mon Sep 17 00:00:00 2001 -From: Alexander Smorkalov -Date: Wed, 28 Apr 2021 10:41:59 +0300 -Subject: [PATCH] Fix OpenCV build with OpenEXR before 2.2.0. - ---- - modules/imgcodecs/include/opencv2/imgcodecs.hpp | 4 ++-- - modules/imgcodecs/src/grfmt_exr.cpp | 3 +++ - 2 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/modules/imgcodecs/include/opencv2/imgcodecs.hpp b/modules/imgcodecs/include/opencv2/imgcodecs.hpp -index 42227f3788..101a944146 100644 ---- a/modules/imgcodecs/include/opencv2/imgcodecs.hpp -+++ b/modules/imgcodecs/include/opencv2/imgcodecs.hpp -@@ -120,8 +120,8 @@ enum ImwriteEXRCompressionFlags { - IMWRITE_EXR_COMPRESSION_PXR24 = 5, //!< lossy 24-bit float compression - IMWRITE_EXR_COMPRESSION_B44 = 6, //!< lossy 4-by-4 pixel block compression, fixed compression rate - IMWRITE_EXR_COMPRESSION_B44A = 7, //!< lossy 4-by-4 pixel block compression, flat fields are compressed more -- IMWRITE_EXR_COMPRESSION_DWAA = 8, //!< lossy DCT based compression, in blocks of 32 scanlines. More efficient for partial buffer access. -- IMWRITE_EXR_COMPRESSION_DWAB = 9, //!< lossy DCT based compression, in blocks of 256 scanlines. More efficient space wise and faster to decode full frames than DWAA_COMPRESSION. -+ IMWRITE_EXR_COMPRESSION_DWAA = 8, //!< lossy DCT based compression, in blocks of 32 scanlines. More efficient for partial buffer access. Supported since OpenEXR 2.2.0. -+ IMWRITE_EXR_COMPRESSION_DWAB = 9, //!< lossy DCT based compression, in blocks of 256 scanlines. More efficient space wise and faster to decode full frames than DWAA_COMPRESSION. Supported since OpenEXR 2.2.0. - }; - - //! Imwrite PNG specific flags used to tune the compression algorithm. -diff --git a/modules/imgcodecs/src/grfmt_exr.cpp b/modules/imgcodecs/src/grfmt_exr.cpp -index aaf28eead6..7acaf434c6 100644 ---- a/modules/imgcodecs/src/grfmt_exr.cpp -+++ b/modules/imgcodecs/src/grfmt_exr.cpp -@@ -64,6 +64,7 @@ - #include - #include - #include "grfmt_exr.hpp" -+#include "OpenEXRConfig.h" - - #if defined _WIN32 - -@@ -649,12 +650,14 @@ bool ExrEncoder::write( const Mat& img, const std::vector& params ) - case IMWRITE_EXR_COMPRESSION_B44A: - header.compression() = B44A_COMPRESSION; - break; -+#if ((OPENEXR_VERSION_MAJOR * 1000 + OPENEXR_VERSION_MINOR) >= (2 * 1000 + 2)) // available since version 2.2.0 - case IMWRITE_EXR_COMPRESSION_DWAA: - header.compression() = DWAA_COMPRESSION; - break; - case IMWRITE_EXR_COMPRESSION_DWAB: - header.compression() = DWAB_COMPRESSION; - break; -+#endif - default: - CV_Error(Error::StsBadArg, "IMWRITE_EXR_COMPRESSION is invalid or not supported"); - } --- -2.29.2.windows.2 - diff --git a/Fix_compilation_of_copy_assignment_operators_with_GCC.patch b/Fix_compilation_of_copy_assignment_operators_with_GCC.patch deleted file mode 100644 index ca13ff69c87affddb499533322994da904f6c66b..0000000000000000000000000000000000000000 --- a/Fix_compilation_of_copy_assignment_operators_with_GCC.patch +++ /dev/null @@ -1,109 +0,0 @@ -diff -Npur opencv-4.5.2/modules/core/include/opencv2/core/types.hpp opencv-4.5.2-new/modules/core/include/opencv2/core/types.hpp ---- opencv-4.5.2/modules/core/include/opencv2/core/types.hpp 2021-04-02 19:23:54.000000000 +0800 -+++ opencv-4.5.2-new/modules/core/include/opencv2/core/types.hpp 2021-11-13 16:24:25.592720089 +0800 -@@ -162,13 +162,23 @@ public: - //! default constructor - Point_(); - Point_(_Tp _x, _Tp _y); -+#if (defined(__GNUC__) && __GNUC__ < 5) -+ Point_(const Point_& pt); -+ Point_(Point_&& pt) CV_NOEXCEPT = default; -+#elif OPENCV_ABI_COMPATIBILITY < 500 - Point_(const Point_& pt); - Point_(Point_&& pt) CV_NOEXCEPT; -+#endif - Point_(const Size_<_Tp>& sz); - Point_(const Vec<_Tp, 2>& v); - -+#if (defined(__GNUC__) && __GNUC__ < 5) -+ Point_& operator = (const Point_& pt); -+ Point_& operator = (Point_&& pt) CV_NOEXCEPT = default; -+#elif OPENCV_ABI_COMPATIBILITY < 500 - Point_& operator = (const Point_& pt); - Point_& operator = (Point_&& pt) CV_NOEXCEPT; -+#endif - //! conversion to another data type - template operator Point_<_Tp2>() const; - -@@ -244,13 +254,17 @@ public: - //! default constructor - Point3_(); - Point3_(_Tp _x, _Tp _y, _Tp _z); -+#if OPENCV_ABI_COMPATIBILITY < 500 - Point3_(const Point3_& pt); - Point3_(Point3_&& pt) CV_NOEXCEPT; -+#endif - explicit Point3_(const Point_<_Tp>& pt); - Point3_(const Vec<_Tp, 3>& v); - -+#if OPENCV_ABI_COMPATIBILITY < 500 - Point3_& operator = (const Point3_& pt); - Point3_& operator = (Point3_&& pt) CV_NOEXCEPT; -+#endif - //! conversion to another data type - template operator Point3_<_Tp2>() const; - //! conversion to cv::Vec<> -@@ -320,12 +334,16 @@ public: - //! default constructor - Size_(); - Size_(_Tp _width, _Tp _height); -+#if OPENCV_ABI_COMPATIBILITY < 500 - Size_(const Size_& sz); - Size_(Size_&& sz) CV_NOEXCEPT; -+#endif - Size_(const Point_<_Tp>& pt); - -+#if OPENCV_ABI_COMPATIBILITY < 500 - Size_& operator = (const Size_& sz); - Size_& operator = (Size_&& sz) CV_NOEXCEPT; -+#endif - //! the area (width*height) - _Tp area() const; - //! aspect ratio (width/height) -@@ -425,13 +443,17 @@ public: - //! default constructor - Rect_(); - Rect_(_Tp _x, _Tp _y, _Tp _width, _Tp _height); -+#if OPENCV_ABI_COMPATIBILITY < 500 - Rect_(const Rect_& r); - Rect_(Rect_&& r) CV_NOEXCEPT; -+#endif - Rect_(const Point_<_Tp>& org, const Size_<_Tp>& sz); - Rect_(const Point_<_Tp>& pt1, const Point_<_Tp>& pt2); - -+#if OPENCV_ABI_COMPATIBILITY < 500 - Rect_& operator = ( const Rect_& r ); - Rect_& operator = ( Rect_&& r ) CV_NOEXCEPT; -+#endif - //! the top-left corner - Point_<_Tp> tl() const; - //! the bottom-right corner -@@ -1164,6 +1186,12 @@ template inline - Point_<_Tp>::Point_(_Tp _x, _Tp _y) - : x(_x), y(_y) {} - -+#if (defined(__GNUC__) && __GNUC__ < 5) -+template inline -+Point_<_Tp>::Point_(const Point_& pt) -+ : x(pt.x), y(pt.y) {} -+#endif -+ - template inline - Point_<_Tp>::Point_(const Point_& pt) - : x(pt.x), y(pt.y) {} -@@ -1180,6 +1208,15 @@ template inline - Point_<_Tp>::Point_(const Vec<_Tp,2>& v) - : x(v[0]), y(v[1]) {} - -+#if (defined(__GNUC__) && __GNUC__ < 5) -+template inline -+Point_<_Tp>& Point_<_Tp>::operator = (const Point_& pt) -+{ -+ x = pt.x; y = pt.y; -+ return *this; -+} -+#endif -+ - template inline - Point_<_Tp>& Point_<_Tp>::operator = (const Point_& pt) - { diff --git a/Repair_clang_abi.patch b/Repair_clang_abi.patch deleted file mode 100644 index e05dd088182386c47888536a4213d3e99a206465..0000000000000000000000000000000000000000 --- a/Repair_clang_abi.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -Npur opencv-4.5.2/modules/core/include/opencv2/core/types.hpp opencv-4.5.2-new/modules/core/include/opencv2/core/types.hpp ---- opencv-4.5.2/modules/core/include/opencv2/core/types.hpp 2021-11-17 10:30:22.631203192 +0800 -+++ opencv-4.5.2-new/modules/core/include/opencv2/core/types.hpp 2021-11-17 10:34:53.117761924 +0800 -@@ -162,7 +162,7 @@ public: - //! default constructor - Point_(); - Point_(_Tp _x, _Tp _y); --#if (defined(__GNUC__) && __GNUC__ < 5) -+#if (defined(__GNUC__) && __GNUC__ < 5) && !defined(__clang__) - Point_(const Point_& pt); - Point_(Point_&& pt) CV_NOEXCEPT = default; - #elif OPENCV_ABI_COMPATIBILITY < 500 -@@ -172,7 +172,7 @@ public: - Point_(const Size_<_Tp>& sz); - Point_(const Vec<_Tp, 2>& v); - --#if (defined(__GNUC__) && __GNUC__ < 5) -+#if (defined(__GNUC__) && __GNUC__ < 5) && !defined(__clang__) - Point_& operator = (const Point_& pt); - Point_& operator = (Point_&& pt) CV_NOEXCEPT = default; - #elif OPENCV_ABI_COMPATIBILITY < 500 -@@ -1186,7 +1186,7 @@ template inline - Point_<_Tp>::Point_(_Tp _x, _Tp _y) - : x(_x), y(_y) {} - --#if (defined(__GNUC__) && __GNUC__ < 5) -+#if (defined(__GNUC__) && __GNUC__ < 5) && !defined(__clang__) - template inline - Point_<_Tp>::Point_(const Point_& pt) - : x(pt.x), y(pt.y) {} -@@ -1208,7 +1208,7 @@ template inline - Point_<_Tp>::Point_(const Vec<_Tp,2>& v) - : x(v[0]), y(v[1]) {} - --#if (defined(__GNUC__) && __GNUC__ < 5) -+#if (defined(__GNUC__) && __GNUC__ < 5) && !defined(__clang__) - template inline - Point_<_Tp>& Point_<_Tp>::operator = (const Point_& pt) - { diff --git a/b624b995ec9c439cbc2e9e6ee940d3a2-v0.1.1f.zip b/b624b995ec9c439cbc2e9e6ee940d3a2-v0.1.1f.zip new file mode 100644 index 0000000000000000000000000000000000000000..a65465b211656c9611e5f1c0b75c9c2da766c17d Binary files /dev/null and b/b624b995ec9c439cbc2e9e6ee940d3a2-v0.1.1f.zip differ diff --git a/docs/opencv.png b/docs/opencv.png deleted file mode 100644 index a61b676b08b0bc649ec6ce59d8a9d84688eefb61..0000000000000000000000000000000000000000 Binary files a/docs/opencv.png and /dev/null differ diff --git a/docs/opencv_module.png b/docs/opencv_module.png deleted file mode 100644 index 29df5c5b8fe25197df1f22e68993a08e7a55fc69..0000000000000000000000000000000000000000 Binary files a/docs/opencv_module.png and /dev/null differ diff --git a/opencv_extra-4.5.2.tar.gz.aa b/face_landmark_model.dat.xz similarity index 54% rename from opencv_extra-4.5.2.tar.gz.aa rename to face_landmark_model.dat.xz index a412056c6efd7dc306323b89fd61a621dd989979..b66a21034c37dfaa721e5bfb9e7680245af798f9 100644 Binary files a/opencv_extra-4.5.2.tar.gz.aa and b/face_landmark_model.dat.xz differ diff --git a/opencv-4.1.0-install_3rdparty_licenses.patch b/opencv-4.1.0-install_3rdparty_licenses.patch new file mode 100644 index 0000000000000000000000000000000000000000..7bbc85f66cff52e5b9cc353d5ac13eb5cac5f491 --- /dev/null +++ b/opencv-4.1.0-install_3rdparty_licenses.patch @@ -0,0 +1,11 @@ +--- ./cmake/OpenCVDetectOpenCL.cmake.orig 2019-05-14 00:35:41.373094435 +0100 ++++ ./cmake/OpenCVDetectOpenCL.cmake 2019-05-14 00:35:50.833189862 +0100 +@@ -5,7 +5,7 @@ if(APPLE) + else() + set(OPENCL_LIBRARY "" CACHE STRING "OpenCL library") + set(OPENCL_INCLUDE_DIR "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/1.2" CACHE PATH "OpenCL include directory") +- ocv_install_3rdparty_licenses(opencl-headers "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/LICENSE.txt") ++ #ocv_install_3rdparty_licenses(opencl-headers "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/LICENSE.txt") + endif() + mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY) + diff --git a/opencv-4.5.2.tar.gz b/opencv-clean-4.5.5.tar.gz similarity index 83% rename from opencv-4.5.2.tar.gz rename to opencv-clean-4.5.5.tar.gz index cd63e5b3cc627068875a11f6a19502d4fdefa68a..3396616e51987c3f5f12b899f1fbeb801f26f981 100644 Binary files a/opencv-4.5.2.tar.gz and b/opencv-clean-4.5.5.tar.gz differ diff --git a/opencv.spec b/opencv.spec index 6df5d6e52363b9f1fc52c537704a9334f15bcd02..b910fc2c9b526670e5d682a68c42370fc2452ce5 100644 --- a/opencv.spec +++ b/opencv.spec @@ -1,94 +1,555 @@ -Name: opencv -Version: 4.5.2 -Release: 6 -Summary: OpenCV means IntelĀ® Open Source Computer Vision Library. -License: Apache-2.0 -URL: https://github.com/opencv/opencv -Source0: %{name}-%{version}.tar.gz -Source1: %{name}_extra-%{version}.tar.gz -Source2: opencv_extra-4.5.2.tar.gz.aa -Source3: opencv_extra-4.5.2.tar.gz.ab -Source4: opencv_extra-4.5.2.tar.gz.ac -Source5: opencv_extra-4.5.2.tar.gz.ad -Source6: opencv_extra-4.5.2.tar.gz.ae -Patch1: Fix-OpenCV-build-with-OpenEXR-before-2.2.0.patch -Patch2: Fix_compilation_of_copy_assignment_operators_with_GCC.patch -Patch3: Repair_clang_abi.patch -BuildRequires: gcc-c++ gcc autoconf pkgconfig protobuf-compiler protobuf -BuildRequires: cmake -BuildRequires: python3-numpy python3-devel +%undefine __cmake_in_source_build +%bcond_without tests +%bcond_with ffmpeg +%bcond_without gstreamer +%bcond_with eigen2 +%bcond_without eigen3 +%bcond_without opencl +%ifarch %{ix86} x86_64 %{arm} +%bcond_without openni +%else +# we dont have openni in other archs +%bcond_with openni +%endif +%bcond_without tbb +%bcond_with cuda +%bcond_with xine +# Atlas need (missing: Atlas_CLAPACK_INCLUDE_DIR Atlas_CBLAS_LIBRARY Atlas_BLAS_LIBRARY Atlas_LAPACK_LIBRARY) +# LAPACK may use atlas or openblas since now it detect openblas, atlas is not used anyway, more info please +# check OpenCVFindLAPACK.cmake +%bcond_with atlas +%bcond_without openblas +%bcond_without gdcm + +%bcond_without vtk + + +%ifarch x86_64 +%bcond_without libmfx +%else +%bcond_with libmfx +%endif +%bcond_without clp +%bcond_without va +%bcond_without java +%bcond_without vulkan + +%define _lto_cflags %{nil} + +# If _cuda_version is unset +%if 0%{!?_cuda_version:1} && 0%{?with_cuda:1} +%global _cuda_version 11.2 +%global _cuda_rpm_version 11-2 +%global _cuda_prefix /usr/local/cuda-%{_cuda_version} +%bcond_without dnn_cuda +%endif + +Name: opencv +Version: 4.5.5 +%global javaver %(foo=%{version}; echo ${foo//./}) +%global abiver %(foo=%{version}; echo ${foo:0:3}) +Release: 1 +Summary: Collection of algorithms for computer vision +# This is normal three clause BSD. +License: BSD +URL: https://opencv.org +# TO PREPARE TARBALLS FOR FEDORA +# Edit opencv-clean.sh and set VERSION, save file, after run opencv-clean.sh +# +# Need to remove copyrighted lena.jpg images from tarball (rhbz#1295173) +# and SIFT/SURF from tarball, due to legal concerns. +# +Source0: %{name}-clean-%{version}.tar.gz +Source1: %{name}_contrib-clean-%{version}.tar.gz +#Source2: %{name}_extra-clean-%{version}.tar.gz +Source3: face_landmark_model.dat.xz +# from https://github.com/opencv/ade/archive/v0.1.1f.zip +Source4: b624b995ec9c439cbc2e9e6ee940d3a2-v0.1.1f.zip +Source5: xorg.conf +#Source6: %{name}_extra-clean-%{version}.tar.gz.0 +#Source7: %{name}_extra-clean-%{version}.tar.gz.1 +#Source8: %{name}_extra-clean-%{version}.tar.gz.2 +#Source9: %{name}_extra-clean-%{version}.tar.gz.3 +#Source10: %{name}_extra-clean-%{version}.tar.gz.4 + + +BuildRequires: gcc-c++ +BuildRequires: cmake >= 2.6.3 +BuildRequires: chrpath +%{?with_cuda: +#BuildRequires: cuda-minimal-build-%{?_cuda_rpm_version} +#BuildRequires: pkgconfig(cublas-%{?_cuda_version}) +#BuildRequires: pkgconfig(cufft-%{?_cuda_version}) +#BuildRequires: pkgconfig(nppc-%{?_cuda_version}) +#{?with_dnn_cuda:BuildRequires: libcudnn8-devel} +} +%{?with_eigen2:BuildRequires: eigen2-devel} +%{?with_eigen3:BuildRequires: eigen3-devel} +BuildRequires: libtheora-devel +BuildRequires: libvorbis-devel + +#BuildRequires: jasper-devel +BuildRequires: libjpeg-devel +BuildRequires: libpng-devel +BuildRequires: libtiff-devel +BuildRequires: libGL-devel +BuildRequires: libv4l-devel +BuildRequires: OpenEXR-devel +###{?with_openni: +###BuildRequires: openni-devel +###BuildRequires: openni-primesense +###} +%{?with_tbb: +BuildRequires: tbb-devel +} +BuildRequires: zlib-devel +BuildRequires: pkgconfig +BuildRequires: python3-devel +BuildRequires: python3-numpy +BuildRequires: pylint +BuildRequires: python3-flake8 +BuildRequires: swig >= 1.3.24 +%{?with_ffmpeg:BuildRequires: ffmpeg-devel >= 0.4.9} +%{?with_gstreamer:BuildRequires: gstreamer1-devel gstreamer1-plugins-base-devel} +%{?with_xine:BuildRequires: xine-lib-devel} +%{?with_opencl:BuildRequires: opencl-headers} +BuildRequires: libgphoto2-devel +BuildRequires: libwebp-devel +BuildRequires: tesseract-devel +BuildRequires: protobuf-devel +BuildRequires: gdal-devel +BuildRequires: glog-devel +#BuildRequires: doxygen +BuildRequires: python3-beautifulsoup4 +#for doc/doxygen/bib2xhtml.pl +#BuildRequires: perl-open +BuildRequires: gflags-devel +BuildRequires: libucil-devel +BuildRequires: qt5-qtbase-devel +BuildRequires: libGL-devel +BuildRequires: libGLU-devel +BuildRequires: hdf5-devel +BuildRequires: openjpeg2-devel +# Module opencv_ovis disabled because of incompatible OGRE3D version < 1.10 +# BuildRequires: ogre-devel +%{?with_vtk:BuildRequires: vtk-devel vtk-java} +%{?with_atlas:BuildRequires: atlas-devel} +#ceres-solver-devel push eigen3-devel and tbb-devel +%{?with_tbb: + %{?with_eigen3: +BuildRequires: ceres-solver-devel + } +} +%{?with_openblas: +BuildRequires: openblas-devel +BuildRequires: lapack-devel +} +%{?with_gdcm:BuildRequires: gdcm-devel} +###{?with_libmfx:BuildRequires: libmfx-devel} +%{?with_clp:BuildRequires: coin-or-Clp-devel} +%{?with_va:BuildRequires: libva-devel} +%{?with_java: +BuildRequires: ant +BuildRequires: java-devel +} +%{?with_vulkan:BuildRequires: vulkan-headers} +%if %{with tests} +BuildRequires: xorg-x11-drv-dummy +BuildRequires: mesa-dri-drivers +%endif + +Requires: opencv-core%{_isa} = %{version}-%{release} +Requires: vtk vtk-devel vtk-mpich-devel vtk-openmpi-devel %description OpenCV means IntelĀ® Open Source Computer Vision Library. It is a collection of C functions and a few C++ classes that implement some popular Image Processing and Computer Vision algorithms. -%global debug_package %{nil} + +%package core +Summary: OpenCV core libraries +Provides: bundled(quirc) = 1.0 +Obsoletes: python2-%{name} < %{version}-%{release} + +%description core +This package contains the OpenCV C/C++ core libraries. + + +%package devel +Summary: Development files for using the OpenCV library +Requires: %{name}%{_isa} = %{version}-%{release} +Requires: %{name}-contrib%{_isa} = %{version}-%{release} + +%description devel +This package contains the OpenCV C/C++ library and header files, as well as +documentation. It should be installed if you want to develop programs that +will use the OpenCV library. You should consider installing opencv-doc +package. + + +%package doc +Summary: Documentation files +Requires: opencv-devel = %{version}-%{release} +BuildArch: noarch +Provides: %{name}-devel-docs = %{version}-%{release} +Obsoletes: %{name}-devel-docs < %{version}-%{release} + +%description doc +This package contains the OpenCV documentation, samples and examples programs. + + +%package -n python3-opencv +Summary: Python3 bindings for apps which use OpenCV +Requires: opencv%{_isa} = %{version}-%{release} +Requires: python3-numpy +%{?%py_provides:%py_provides python3-%{name}} + +%description -n python3-opencv +This package contains Python3 bindings for the OpenCV library. + + +%package java +Summary: Java bindings for apps which use OpenCV +Requires: java-headless +Requires: javapackages-filesystem +Requires: %{name}-core%{_isa} = %{version}-%{release} + +%description java +This package contains Java bindings for the OpenCV library. + + +%package contrib +Summary: OpenCV contributed functionality + +%description contrib +This package is intended for development of so-called "extra" modules, contributed +functionality. New modules quite often do not have stable API, and they are not +well-tested. Thus, they shouldn't be released as a part of official OpenCV +distribution, since the library maintains binary compatibility, and tries +to provide decent performance and stability. %prep -cat %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} > %{SOURCE1} %autosetup -p1 -n %{name}-%{version} tar -xvf %{SOURCE1} -C . -pwd + +%if 1 +# we don't use pre-built contribs except quirc +pushd 3rdparty +shopt -s extglob +#rm -r !(openexr|openvx|quirc|include) +rm -r !(openvx|quirc|include) +shopt -u extglob +popd &>/dev/null +%endif + + +# Install face_landmark_model +mkdir -p .cache/data +install -pm 0644 %{SOURCE3} .cache/data +pushd .cache/data + xz -d face_landmark_model.dat.xz + mv face_landmark_model.dat 7505c44ca4eb54b4ab1e4777cb96ac05-face_landmark_model.dat +popd + +# Install ADE, needed for opencv_gapi +mkdir -p .cache/ade +install -pm 0644 %{SOURCE4} .cache/ade/ + +%ifarch ppc64le +# Disable some altivec vectorization optimization on ppc64le (bug 2051193) +sed -i modules/core/include/opencv2/core/hal/intrin.hpp \ + -e '\@ifdef CV_FORCE_SIMD128_CPP@i #define CV_FORCE_SIMD128_CPP' +%endif %build -mkdir -p cmake/build -cd cmake/build -cmake ../../ -DCMAKE_BUILD_TYPE=Release\ - -DWITH_PROTOBUF=OFF\ - -DWITH_WEBP=OFF\ - -DWITH_IPP=OFF\ - -DWITH_ADE=OFF\ - -DBUILD_ZLIB=ON\ - -DBUILD_JPEG=ON\ - -DBUILD_PNG=ON\ - -DBUILD_OPENEXR=ON\ - -DBUILD_TESTS=ON\ - -DBUILD_PERF_TESTS=OFF\ - -DBUILD_opencv_apps=OFF\ - -DBUILD_opencv_python3=ON\ - -DBUILD_opencv_python2=OFF\ - -DBUILD_opencv_java=OFF\ - -DWITH_FFMPEG=OFF\ - -DWITH_TIFF=ON\ - -DBUILD_TIFF=OFF\ - -DWITH_JASPER=OFF\ - -DBUILD_JASPER=OFF\ - -DBUILD_SHARED_LIBS=ON\ - -DBUILD_EXAMPLES=ON\ - -DOPENCV_TEST_DATA_PATH=%_builddir/%{name}-%{version}/opencv_extra-%{version}/testdata\ - -DINSTALL_TESTS=ON\ - -DPYTHON3_EXECUTABLE=$(which python3)\ - -DPYTHON_EXECUTABLE=$(which python3)\ - -DPYTHON_DEFAULT_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")\ - -DPYTHON3_NUMPY_INCLUDE_DIRS=$(python3 -c "import numpy; print (numpy.get_include())")\ - -DPYTHON3_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())")\ - -DPYTHON_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())")\ - -DPYTHON3_LIBRARIES=$(python3 -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR')+ '/libpython3.so')")\ - -DPYTHON3_LIBRARY=$(python3 -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR')+ '/libpython3.so')")\ - -DPYTHON_LIBRARIES=$(python3 -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR')+ '/libpython3.so')")\ - -DPYTHON_LIBRARY=$(python3 -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR')+ '/libpython3.so')")\ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DOPENCV_CONFIG_INSTALL_PATH=%{_lib}/cmake/OpenCV \ - -DOPENCV_GENERATE_PKGCONFIG=ON +# enabled by default if libraries are presents at build time: +# GTK, GSTREAMER, 1394, V4L, eigen3 +# non available on Fedora: FFMPEG, XINE +# disabling IPP because it is closed source library from intel +mkdir build +cd build + +%cmake .. \ + -DCV_TRACE=OFF \ + -DWITH_IPP=OFF \ + -DWITH_ITT=OFF \ + -DWITH_QT=ON \ + -DWITH_OPENGL=ON \ +%if ! %{with tests} + -DBUILD_TESTS=OFF \ +%endif + -DOpenGL_GL_PREFERENCE=GLVND \ + -DWITH_GDAL=ON \ + -DWITH_OPENEXR=ON \ + -DWITH_UNICAP=ON \ + -DCMAKE_SKIP_RPATH=ON \ + -DWITH_CAROTENE=OFF \ +%ifarch x86_64 %{ix86} + -DCPU_BASELINE=SSE2 \ +%endif + -DENABLE_PRECOMPILED_HEADERS=OFF \ + -DCMAKE_BUILD_TYPE=ReleaseWithDebInfo \ + %{?with_java: -DBUILD_opencv_java=ON \ + -DOPENCV_JAR_INSTALL_PATH=%{_jnidir} } \ + %{!?with_java: -DBUILD_opencv_java=OFF } \ + %{?with_tbb: -DWITH_TBB=ON } \ + %{!?with_gstreamer: -DWITH_GSTREAMER=OFF } \ + %{!?with_ffmpeg: -DWITH_FFMPEG=OFF } \ + %{?with_cuda: \ + -DWITH_CUDA=OFF \ + -DCUDA_TOOLKIT_ROOT_DIR=%{?_cuda_prefix} \ + -DCUDA_VERBOSE_BUILD=OFF \ + -DCUDA_PROPAGATE_HOST_FLAGS=OFF \ + -DCUDA_NVCC_FLAGS="-Xcompiler -fPIC" \ + %{?with_dnn_cuda:-DOPENCV_DNN_CUDA=OFF} \ + } \ + %{?with_openni: -DWITH_OPENNI=OFF } \ + %{!?with_xine: -DWITH_XINE=OFF } \ + -DBUILD_DOCS=ON \ + -DBUILD_EXAMPLES=ON \ + -DBUILD_opencv_python2=OFF \ + -DINSTALL_C_EXAMPLES=ON \ + -DINSTALL_PYTHON_EXAMPLES=ON \ + -DPYTHON3_EXECUTABLE=%{__python3} \ + -DPYTHON3_PACKAGES_PATH=%{python3_sitearch} \ + -DENABLE_PYLINT=ON \ + -DBUILD_PROTOBUF=OFF \ + -DPROTOBUF_UPDATE_FILES=ON \ +%{?with_opencl: -DOPENCL_INCLUDE_DIR=%{_includedir}/CL } \ +%{!?with_opencl: -DWITH_OPENCL=OFF } \ + -DOPENCV_SKIP_PYTHON_LOADER=ON \ + -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-%{version}/modules \ + -DWITH_LIBV4L=ON \ + -DWITH_OPENMP=ON \ + -DOPENCV_CONFIG_INSTALL_PATH=%{_lib}/cmake/OpenCV \ + -DOPENCV_GENERATE_PKGCONFIG=ON \ + %{?with_gdcm: -DWITH_GDCM=ON } \ + %{?with_libmfx: -DWITH_MFX=OFF } \ + %{?with_clp: -DWITH_CLP=ON } \ + %{?with_va: -DWITH_VA=ON } \ + %{!?with_vtk: -DWITH_VTK=OFF} \ + %{?with_vulkan: -DWITH_VULKAN=ON -DVULKAN_INCLUDE_DIRS=%{_includedir}/vulkan } + make -j24 V=1 -ctest -E "opencv_test_objdetect|opencv_test_photo" + + + %install -cd cmake/build +rm -rf $RPM_BUILD_ROOT +cd %{_builddir}/%{name}-%{version}/build + + + make install DESTDIR=%{buildroot} + + + +rm -rf %{buildroot}%{_datadir}/OpenCV/licenses/ +%if %{with java} +ln -s -r %{buildroot}%{_jnidir}/libopencv_java%{javaver}.so %{buildroot}%{_jnidir}/libopencv_java.so +ln -s -r %{buildroot}%{_jnidir}/opencv-%{javaver}.jar %{buildroot}%{_jnidir}/opencv.jar +%endif + +# For compatibility with existing opencv.pc application +%{!?without_compat_openvc_pc: + ln -s opencv4.pc %{buildroot}%{_libdir}/pkgconfig/opencv.pc +} + + +%check +# Check fails since we don't support most video +# read/write capability and we don't provide a display +# ARGS=-V increases output verbosity +#ifnarch ppc64 +%if %{with tests} + cp %SOURCE5 . + if [ -x /usr/libexec/Xorg ]; then + Xorg=/usr/libexec/Xorg + else + Xorg=/usr/libexec/Xorg.bin + fi + $Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xorg.log -config ./xorg.conf -configdir . :99 & + export DISPLAY=:99 + LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}/build/lib:$LD_LIBARY_PATH %ctest || : +%endif +#endif + + +%ldconfig_scriptlets core + +%ldconfig_scriptlets contrib + +%ldconfig_scriptlets java + %files -%defattr(-,root,root) -%exclude /usr/bin/setup_vars_opencv4.sh -%{_bindir}/* -%{_libdir}/* -%{_includedir}/* -%exclude /usr/share/* -%{python3_sitelib}/cv2/* +%doc README.md +%{_bindir}/opencv_* +%dir %{_datadir}/opencv4 +%{_datadir}/opencv4/haarcascades +%{_datadir}/opencv4/lbpcascades +%{_datadir}/opencv4/valgrind* +%{_datadir}/opencv4/quality + + +%files core +%license LICENSE +%{_datadir}/licenses/opencv4/ +%{_libdir}/libopencv_calib3d.so.%{abiver}* +%{_libdir}/libopencv_core.so.%{abiver}* +%{_libdir}/libopencv_dnn.so.%{abiver}* +%{_libdir}/libopencv_features2d.so.%{abiver}* +%{_libdir}/libopencv_flann.so.%{abiver}* +%{_libdir}/libopencv_gapi.so.%{abiver}* +%{_libdir}/libopencv_highgui.so.%{abiver}* +%{_libdir}/libopencv_imgcodecs.so.%{abiver}* +%{_libdir}/libopencv_imgproc.so.%{abiver}* +%{_libdir}/libopencv_ml.so.%{abiver}* +%{_libdir}/libopencv_objdetect.so.%{abiver}* +%{_libdir}/libopencv_photo.so.%{abiver}* +%{_libdir}/libopencv_stitching.so.%{abiver}* +%{_libdir}/libopencv_video.so.%{abiver}* +%{_libdir}/libopencv_videoio.so.%{abiver}* + +%files devel +%{_includedir}/opencv4 +%{_includedir}/opencv4/opencv2 +%{_libdir}/lib*.so +%{!?without_compat_openvc_pc: +%{_libdir}/pkgconfig/opencv.pc +} +%{_libdir}/pkgconfig/opencv4.pc +%{_libdir}/cmake/OpenCV/*.cmake + +%files doc +%{_datadir}/opencv4/samples + +%files -n python3-opencv +%exclude %{_bindir}/setup_vars_opencv4.sh +%{python3_sitearch}/cv2.cpython-3*.so + +%if %{with java} +%files java +%{_jnidir}/libopencv_java%{javaver}.so +%{_jnidir}/opencv-%{javaver}.jar +%{_jnidir}/libopencv_java.so +%{_jnidir}/opencv.jar +%endif + +%files contrib +%{_libdir}/libopencv_alphamat.so.%{abiver}* +%{_libdir}/libopencv_aruco.so.%{abiver}* +%{_libdir}/libopencv_bgsegm.so.%{abiver}* +%{_libdir}/libopencv_barcode.so.%{abiver}* +%{_libdir}/libopencv_bioinspired.so.%{abiver}* +%{_libdir}/libopencv_ccalib.so.%{abiver}* +%{?with_cuda: +%{_libdir}/libopencv_cuda*.so.%{abiver}* +%{_libdir}/libopencv_cudev.so.%{abiver}* +} +%{_libdir}/libopencv_cvv.so.%{abiver}* +%{_libdir}/libopencv_datasets.so.%{abiver}* +%{_libdir}/libopencv_dnn_objdetect.so.%{abiver}* +%{_libdir}/libopencv_dnn_superres.so.%{abiver}* +%{_libdir}/libopencv_dpm.so.%{abiver}* +%{_libdir}/libopencv_face.so.%{abiver}* +%{_libdir}/libopencv_freetype.so.%{abiver}* +%{_libdir}/libopencv_fuzzy.so.%{abiver}* +%{_libdir}/libopencv_hdf.so.%{abiver}* +%{_libdir}/libopencv_hfs.so.%{abiver}* +%{_libdir}/libopencv_img_hash.so.%{abiver}* +%{_libdir}/libopencv_intensity_transform.so.%{abiver}* +%{_libdir}/libopencv_line_descriptor.so.%{abiver}* +%{_libdir}/libopencv_mcc.so.%{abiver}* +%{_libdir}/libopencv_optflow.so.%{abiver}* +%{_libdir}/libopencv_phase_unwrapping.so.%{abiver}* +%{_libdir}/libopencv_plot.so.%{abiver}* +%{_libdir}/libopencv_quality.so.%{abiver}* +%{_libdir}/libopencv_rapid.so.%{abiver}* +%{_libdir}/libopencv_reg.so.%{abiver}* +%{_libdir}/libopencv_rgbd.so.%{abiver}* +%{_libdir}/libopencv_saliency.so.%{abiver}* +%{_libdir}/libopencv_shape.so.%{abiver}* +%{_libdir}/libopencv_stereo.so.%{abiver}* +%{_libdir}/libopencv_structured_light.so.%{abiver}* +%{_libdir}/libopencv_superres.so.%{abiver}* +%{_libdir}/libopencv_surface_matching.so.%{abiver}* +%{_libdir}/libopencv_text.so.%{abiver}* +%{_libdir}/libopencv_tracking.so.%{abiver}* +%{_libdir}/libopencv_videostab.so.%{abiver}* +%if %{with vtk} +%{_libdir}/libopencv_viz.so.%{abiver}* +%endif +%{_libdir}/libopencv_wechat_qrcode.so.%{abiver}* +%{_libdir}/libopencv_ximgproc.so.%{abiver}* +%{_libdir}/libopencv_xobjdetect.so.%{abiver}* +%{_libdir}/libopencv_xphoto.so.%{abiver}* +%{_libdir}/libopencv_alphamat.so.405 +%{_libdir}/libopencv_aruco.so.405 +%{_libdir}/libopencv_barcode.so.405 +%{_libdir}/libopencv_bgsegm.so.405 +%{_libdir}/libopencv_bioinspired.so.405 +%{_libdir}/libopencv_calib3d.so.405 +%{_libdir}/libopencv_ccalib.so.405 +%{_libdir}/libopencv_core.so.405 +%{_libdir}/libopencv_cvv.so.405 +%{_libdir}/libopencv_datasets.so.405 +%{_libdir}/libopencv_dnn.so.405 +%{_libdir}/libopencv_dnn_objdetect.so.405 +%{_libdir}/libopencv_dnn_superres.so.405 +%{_libdir}/libopencv_dpm.so.405 +%{_libdir}/libopencv_face.so.405 +%{_libdir}/libopencv_features2d.so.405 +%{_libdir}/libopencv_flann.so.405 +%{_libdir}/libopencv_freetype.so.405 +%{_libdir}/libopencv_fuzzy.so.405 +%{_libdir}/libopencv_gapi.so.405 +%{_libdir}/libopencv_hdf.so.405 +%{_libdir}/libopencv_hfs.so.405 +%{_libdir}/libopencv_highgui.so.405 +%{_libdir}/libopencv_img_hash.so.405 +%{_libdir}/libopencv_imgcodecs.so.405 +%{_libdir}/libopencv_imgproc.so.405 +%{_libdir}/libopencv_intensity_transform.so.405 +%{_libdir}/libopencv_line_descriptor.so.405 +%{_libdir}/libopencv_mcc.so.405 +%{_libdir}/libopencv_ml.so.405 +%{_libdir}/libopencv_objdetect.so.405 +%{_libdir}/libopencv_optflow.so.405 +%{_libdir}/libopencv_phase_unwrapping.so.405 +%{_libdir}/libopencv_photo.so.405 +%{_libdir}/libopencv_plot.so.405 +%{_libdir}/libopencv_quality.so.405 +%{_libdir}/libopencv_rapid.so.405 +%{_libdir}/libopencv_reg.so.405 +%{_libdir}/libopencv_rgbd.so.405 +%{_libdir}/libopencv_saliency.so.405 +%{_libdir}/libopencv_shape.so.405 +%{_libdir}/libopencv_stereo.so.405 +%{_libdir}/libopencv_stitching.so.405 +%{_libdir}/libopencv_structured_light.so.405 +%{_libdir}/libopencv_superres.so.405 +%{_libdir}/libopencv_surface_matching.so.405 +%{_libdir}/libopencv_text.so.405 +%{_libdir}/libopencv_tracking.so.405 +%{_libdir}/libopencv_video.so.405 +%{_libdir}/libopencv_videoio.so.405 +%{_libdir}/libopencv_videostab.so.405 +%{_libdir}/libopencv_viz.so.405 +%{_libdir}/libopencv_wechat_qrcode.so.405 +%{_libdir}/libopencv_ximgproc.so.405 +%{_libdir}/libopencv_xobjdetect.so.405 +%{_libdir}/libopencv_xphoto.so.405 + + %changelog +* Thu May 12 2022 tanyulong - 4.5.5-1 +- update upstream version + * Thu Jan 28 2022 douyan - 4.5.2-6 - add pkgconfig file @@ -106,3 +567,4 @@ make install DESTDIR=%{buildroot} * Thu Sep 30 2021 shenwei - 4.5.2-1 - package init + diff --git a/opencv_extra-4.5.2.tar.gz.ae b/opencv_contrib-clean-4.5.5.tar.gz similarity index 68% rename from opencv_extra-4.5.2.tar.gz.ae rename to opencv_contrib-clean-4.5.5.tar.gz index 6a117010b5f56a3b402b0ba4a43bfee1edd198ff..0fb40e3985c86efdeb2b49fe4b620c5d1dbfa5e1 100644 Binary files a/opencv_extra-4.5.2.tar.gz.ae and b/opencv_contrib-clean-4.5.5.tar.gz differ diff --git a/opencv_extra-4.5.2.tar.gz b/opencv_extra-4.5.2.tar.gz deleted file mode 100644 index 5bd66f1a6f4c4c5bd7209bc5d1e8b4f42cf8cb52..0000000000000000000000000000000000000000 Binary files a/opencv_extra-4.5.2.tar.gz and /dev/null differ diff --git a/opencv_extra-4.5.2.tar.gz.ab b/opencv_extra-4.5.2.tar.gz.ab deleted file mode 100644 index abe5197a4aeb09cca981a232579509ef8c9967c0..0000000000000000000000000000000000000000 Binary files a/opencv_extra-4.5.2.tar.gz.ab and /dev/null differ diff --git a/opencv_extra-4.5.2.tar.gz.ac b/opencv_extra-4.5.2.tar.gz.ac deleted file mode 100644 index 6d79a33e5a0c32decee390d35f910f921fad45bb..0000000000000000000000000000000000000000 Binary files a/opencv_extra-4.5.2.tar.gz.ac and /dev/null differ diff --git a/opencv_extra-4.5.2.tar.gz.ad b/opencv_extra-4.5.2.tar.gz.ad deleted file mode 100644 index ee942f848d5667df9dab937a3bdb256d93c6f74e..0000000000000000000000000000000000000000 Binary files a/opencv_extra-4.5.2.tar.gz.ad and /dev/null differ diff --git a/xorg.conf b/xorg.conf new file mode 100644 index 0000000000000000000000000000000000000000..8edc24023c2ad57f4ff174821711f9ac5928ef4f --- /dev/null +++ b/xorg.conf @@ -0,0 +1,98 @@ +# This xorg configuration file is meant to be used +# to start a dummy X11 server for graphical testing. + +Section "ServerFlags" + Option "DontVTSwitch" "true" + Option "AllowMouseOpenFail" "true" + Option "PciForceNone" "true" + Option "AutoEnableDevices" "false" + Option "AutoAddDevices" "false" +EndSection + +Section "InputDevice" + Identifier "dummy_mouse" + Option "CorePointer" "true" + Driver "void" +EndSection + +Section "InputDevice" + Identifier "dummy_keyboard" + Option "CoreKeyboard" "true" + Driver "void" +EndSection + +Section "Device" + Identifier "dummy_videocard" + Driver "dummy" + Option "ConstantDPI" "true" + #VideoRam 4096000 + #VideoRam 256000 + VideoRam 192000 +EndSection + +Section "Monitor" + Identifier "dummy_monitor" + HorizSync 5.0 - 1000.0 + VertRefresh 5.0 - 200.0 + #This can be used to get a specific DPI, but only for the default resolution: + #DisplaySize 508 317 + #NOTE: the highest modes will not work without increasing the VideoRam + # for the dummy video card. + Modeline "32768x32768" 15226.50 32768 35800 39488 46208 32768 32771 32781 32953 + Modeline "32768x16384" 7516.25 32768 35544 39192 45616 16384 16387 16397 16478 + Modeline "16384x8192" 2101.93 16384 16416 24400 24432 8192 8390 8403 8602 + Modeline "8192x4096" 424.46 8192 8224 9832 9864 4096 4195 4202 4301 + Modeline "5496x1200" 199.13 5496 5528 6280 6312 1200 1228 1233 1261 + Modeline "5280x1080" 169.96 5280 5312 5952 5984 1080 1105 1110 1135 + Modeline "5280x1200" 191.40 5280 5312 6032 6064 1200 1228 1233 1261 + Modeline "5120x3200" 199.75 5120 5152 5904 5936 3200 3277 3283 3361 + Modeline "4800x1200" 64.42 4800 4832 5072 5104 1200 1229 1231 1261 + Modeline "3840x2880" 133.43 3840 3872 4376 4408 2880 2950 2955 3025 + Modeline "3840x2560" 116.93 3840 3872 4312 4344 2560 2622 2627 2689 + Modeline "3840x2048" 91.45 3840 3872 4216 4248 2048 2097 2101 2151 + Modeline "3840x1080" 100.38 3840 3848 4216 4592 1080 1081 1084 1093 + Modeline "3600x1200" 106.06 3600 3632 3984 4368 1200 1201 1204 1214 + Modeline "3288x1080" 39.76 3288 3320 3464 3496 1080 1106 1108 1135 + Modeline "2048x2048" 49.47 2048 2080 2264 2296 2048 2097 2101 2151 + Modeline "2048x1536" 80.06 2048 2104 2312 2576 1536 1537 1540 1554 + Modeline "2560x1600" 47.12 2560 2592 2768 2800 1600 1639 1642 1681 + Modeline "2560x1440" 42.12 2560 2592 2752 2784 1440 1475 1478 1513 + Modeline "1920x1440" 69.47 1920 1960 2152 2384 1440 1441 1444 1457 + Modeline "1920x1200" 26.28 1920 1952 2048 2080 1200 1229 1231 1261 + Modeline "1920x1080" 23.53 1920 1952 2040 2072 1080 1106 1108 1135 + Modeline "1680x1050" 20.08 1680 1712 1784 1816 1050 1075 1077 1103 + Modeline "1600x1200" 22.04 1600 1632 1712 1744 1200 1229 1231 1261 + Modeline "1600x900" 33.92 1600 1632 1760 1792 900 921 924 946 + Modeline "1440x900" 30.66 1440 1472 1584 1616 900 921 924 946 + ModeLine "1366x768" 72.00 1366 1414 1446 1494 768 771 777 803 + Modeline "1280x1024" 31.50 1280 1312 1424 1456 1024 1048 1052 1076 + Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841 + Modeline "1280x768" 23.11 1280 1312 1392 1424 768 786 789 807 + Modeline "1360x768" 24.49 1360 1392 1480 1512 768 786 789 807 + Modeline "1024x768" 18.71 1024 1056 1120 1152 768 786 789 807 + Modeline "768x1024" 19.50 768 800 872 904 1024 1048 1052 1076 +EndSection + +Section "Screen" + Identifier "dummy_screen" + Device "dummy_videocard" + Monitor "dummy_monitor" + DefaultDepth 24 + SubSection "Display" + Viewport 0 0 + Depth 24 + #Modes "32768x32768" "32768x16384" "16384x8192" "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" + Modes "5120x3200" "3840x2880" "3840x2560" "3840x2048" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" + #Virtual 32000 32000 + #Virtual 16384 8192 + Virtual 8192 4096 + #Virtual 5120 3200 + EndSubSection +EndSection + +Section "ServerLayout" + Identifier "dummy_layout" + Screen "dummy_screen" + InputDevice "dummy_mouse" + InputDevice "dummy_keyboard" +EndSection