mirror of
https://github.com/ublue-os/bazzite.git
synced 2025-01-27 03:35:15 +00:00
Merge branch 'main' into testing
This commit is contained in:
commit
dcc2e34169
@ -90,7 +90,9 @@ RUN sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_ublue-os-akmods.repo
|
||||
/tmp/akmods-rpms/kmods/*nct6687*.rpm \
|
||||
/tmp/akmods-rpms/kmods/*evdi*.rpm \
|
||||
/tmp/akmods-rpms/kmods/*zenergy*.rpm \
|
||||
/tmp/akmods-rpms/kmods/*ayaneo-platform*.rpm \
|
||||
/tmp/akmods-rpms/kmods/*ayn-platform*.rpm \
|
||||
/tmp/akmods-rpms/kmods/*bmi160*.rpm \
|
||||
/tmp/akmods-rpms/kmods/*bmi260*.rpm \
|
||||
/tmp/akmods-rpms/kmods/*bmi323*.rpm \
|
||||
/tmp/akmods-rpms/kmods/*rtl8814au*.rpm \
|
||||
@ -105,6 +107,11 @@ RUN rpm-ostree override replace \
|
||||
|| true && \
|
||||
rpm-ostree override replace \
|
||||
--experimental \
|
||||
--from repo=updates \
|
||||
alsa-libs \
|
||||
|| true && \
|
||||
rpm-ostree override replace \
|
||||
--experimental \
|
||||
--from repo=updates \
|
||||
gnutls \
|
||||
|| true && \
|
||||
@ -589,7 +596,6 @@ RUN rpm-ostree install \
|
||||
jupiter-hw-support-btrfs \
|
||||
galileo-mura \
|
||||
powerbuttond \
|
||||
HandyGCCS \
|
||||
hhd \
|
||||
vpower \
|
||||
ds-inhibit \
|
||||
@ -706,7 +712,6 @@ RUN /tmp/image-info.sh && \
|
||||
systemctl --global disable sdgyrodsu.service && \
|
||||
systemctl disable input-remapper.service && \
|
||||
systemctl disable ublue-update.timer && \
|
||||
systemctl disable handycon.service && \
|
||||
systemctl disable jupiter-fan-control.service && \
|
||||
systemctl disable vpower.service && \
|
||||
systemctl disable jupiter-biosupdate.service && \
|
||||
|
@ -93,7 +93,7 @@ rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-nvidia:sta
|
||||
|
||||
### Steam Deck/Home Theater PCs (HTPCs)
|
||||
> [!IMPORTANT]
|
||||
Devices that are NOT the Steam Deck can still use the bazzite-deck images, but must use an AMD/Intel GPU.
|
||||
Devices that are NOT the Steam Deck can still use the `bazzite-deck` images, but must use a modern AMD GPU. Intel Arc GPUs also have been confirmed to work.
|
||||
|
||||
Variant designed for usage as an alternative to SteamOS on the Steam Deck, and for a console-like experience on HTPCs, available as `bazzite-deck`:
|
||||
|
||||
@ -103,7 +103,7 @@ Variant designed for usage as an alternative to SteamOS on the Steam Deck, and f
|
||||
- **Able to be booted even if the drive is full.**
|
||||
- **Support for every language supported by upstream Fedora.**
|
||||
- **Uses Wayland on the desktop with [support for Steam input](https://github.com/Supreeeme/extest).**
|
||||
- Includes [HHD](https://github.com/hhd-dev/hhd) and [HandyGCCS](https://github.com/ShadowBlip/HandyGCCS) for expanded input support on non-Valve handhelds.
|
||||
- Includes [HHD](https://github.com/hhd-dev/hhd) for expanded input support on non-Valve handhelds.
|
||||
- Features ported versions of most SteamOS packages, including drivers, firmware updaters, and fan controllers [from the evlaV repository](https://gitlab.com/evlaV).
|
||||
- Patched Mesa for proper framerate control from Gamescope.
|
||||
- Comes with patches from [SteamOS BTRFS](https://gitlab.com/popsulfr/steamos-btrfs) for full BTRFS support for the SD card by default.
|
||||
|
57
spec_files/gamescope/crashfix.patch
Normal file
57
spec_files/gamescope/crashfix.patch
Normal file
@ -0,0 +1,57 @@
|
||||
From adaa5e064a6149e1f8122cc55589f60b6f58f7ea Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Cl=C3=A9ment=20Gu=C3=A9rin?= <libcg@protonmail.com>
|
||||
Date: Tue, 19 Dec 2023 16:34:17 -0800
|
||||
Subject: [PATCH 1/2] drm: fix NPE while in headless mode
|
||||
|
||||
caused by e810317
|
||||
---
|
||||
src/drm.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/drm.cpp b/src/drm.cpp
|
||||
index 59516c7..8759321 100644
|
||||
--- a/src/drm.cpp
|
||||
+++ b/src/drm.cpp
|
||||
@@ -3337,6 +3337,7 @@ void drm_get_native_colorimetry( struct drm_t *drm,
|
||||
*displayEOTF = EOTF_Gamma22;
|
||||
*outputEncodingColorimetry = displaycolorimetry_709;
|
||||
*outputEncodingEOTF = EOTF_Gamma22;
|
||||
+ return;
|
||||
}
|
||||
|
||||
*displayColorimetry = drm->connector->metadata.colorimetry;
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From 08c56c656539c88b23d243869b00cf3dd33bcb1d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Cl=C3=A9ment=20Gu=C3=A9rin?= <libcg@protonmail.com>
|
||||
Date: Wed, 20 Dec 2023 17:18:32 -0800
|
||||
Subject: [PATCH 2/2] drm: fix other headless NPE
|
||||
|
||||
fixes a980d912
|
||||
---
|
||||
src/drm.cpp | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/drm.cpp b/src/drm.cpp
|
||||
index 8759321..d632128 100644
|
||||
--- a/src/drm.cpp
|
||||
+++ b/src/drm.cpp
|
||||
@@ -2584,10 +2584,10 @@ int drm_prepare( struct drm_t *drm, bool async, const struct FrameInfo_t *frameI
|
||||
assert( drm->req == nullptr );
|
||||
drm->req = drmModeAtomicAlloc();
|
||||
|
||||
- bool bConnectorSupportsHDR = drm->connector->metadata.supportsST2084;
|
||||
- bool bConnectorHDR = g_bOutputHDREnabled && bConnectorSupportsHDR;
|
||||
-
|
||||
if (drm->connector != nullptr) {
|
||||
+ bool bConnectorSupportsHDR = drm->connector->metadata.supportsST2084;
|
||||
+ bool bConnectorHDR = g_bOutputHDREnabled && bConnectorSupportsHDR;
|
||||
+
|
||||
if (drm->connector->has_colorspace) {
|
||||
drm->connector->pending.colorspace = ( bConnectorHDR ) ? DRM_MODE_COLORIMETRY_BT2020_RGB : DRM_MODE_COLORIMETRY_DEFAULT;
|
||||
}
|
||||
--
|
||||
2.42.0
|
||||
|
@ -11,6 +11,7 @@ URL: https://github.com/ValveSoftware/gamescope
|
||||
# Create stb.pc to satisfy dependency('stb')
|
||||
Source1: stb.pc
|
||||
Source2: chimeraos.patch
|
||||
Source3: crashfix.patch
|
||||
|
||||
BuildRequires: meson >= 0.54.0
|
||||
BuildRequires: ninja-build
|
||||
@ -74,6 +75,7 @@ git submodule update --init --recursive
|
||||
mkdir -p pkgconfig
|
||||
cp %{SOURCE1} pkgconfig/stb.pc
|
||||
patch -Np1 < %{SOURCE2}
|
||||
patch -Np1 < %{SOURCE3}
|
||||
|
||||
%build
|
||||
cd gamescope
|
||||
|
@ -1,10 +0,0 @@
|
||||
diff --git a/bin/mangoplot.py b/bin/mangoplot.py
|
||||
index 7d82b3a..b974aa7 100755
|
||||
--- a/bin/mangoplot.py
|
||||
+++ b/bin/mangoplot.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env python
|
||||
+#!/usr/bin/python3
|
||||
|
||||
r"""
|
||||
Script to plot all the MangoHud benchmarks contained in a given folder.
|
@ -1,298 +0,0 @@
|
||||
## START: Set by rpmautospec
|
||||
## (rpmautospec version 0.3.8)
|
||||
## RPMAUTOSPEC: autorelease
|
||||
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
|
||||
release_number = 1;
|
||||
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
|
||||
print(release_number + base_release_number - 1);
|
||||
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
|
||||
## END: Set by rpmautospec
|
||||
|
||||
## START: Set by rpmautospec
|
||||
## (rpmautospec version 0.3.5)
|
||||
## RPMAUTOSPEC: autorelease, autochangelog
|
||||
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
|
||||
release_number = 12;
|
||||
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
|
||||
print(release_number + base_release_number - 1);
|
||||
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
|
||||
## END: Set by rpmautospec
|
||||
|
||||
%global appname MangoHud
|
||||
|
||||
%global imgui_ver 1.81
|
||||
%global imgui_wrap_ver 1
|
||||
|
||||
%global tarball_version %%(echo %{version} | tr '~' '-')
|
||||
|
||||
# Tests requires bundled stuff. Disable for now.
|
||||
%bcond_with tests
|
||||
|
||||
Name: mangohud
|
||||
Version: 0.7.0
|
||||
Release: 100.bazzite.{{{ git_dir_version }}}
|
||||
Summary: Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load
|
||||
|
||||
License: MIT
|
||||
URL: https://github.com/flightlessmango/MangoHud
|
||||
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
|
||||
Source1: https://github.com/ocornut/imgui/archive/v%{imgui_ver}/imgui-%{imgui_ver}.tar.gz
|
||||
Source2: https://wrapdb.mesonbuild.com/v1/projects/imgui/%{imgui_ver}/%{imgui_wrap_ver}/get_zip#/imgui-%{imgui_ver}-%{imgui_wrap_ver}-wrap.zip
|
||||
Patch0: fedora.patch
|
||||
|
||||
BuildRequires: appstream
|
||||
BuildRequires: dbus-devel
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: git-core
|
||||
BuildRequires: glew-devel
|
||||
BuildRequires: glfw-devel
|
||||
BuildRequires: glslang-devel
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: libstdc++-static
|
||||
BuildRequires: mesa-libGL-devel
|
||||
BuildRequires: meson >= 0.60
|
||||
BuildRequires: python3-mako
|
||||
BuildRequires: pkgconfig(dbus-1)
|
||||
BuildRequires: pkgconfig(dri)
|
||||
BuildRequires: pkgconfig(gl)
|
||||
BuildRequires: pkgconfig(glew)
|
||||
BuildRequires: pkgconfig(glfw3)
|
||||
BuildRequires: pkgconfig(libdrm)
|
||||
|
||||
BuildRequires: pkgconfig(spdlog)
|
||||
BuildRequires: pkgconfig(nlohmann_json)
|
||||
BuildRequires: pkgconfig(vulkan)
|
||||
BuildRequires: pkgconfig(wayland-client)
|
||||
BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: cmake(VulkanHeaders)
|
||||
|
||||
%if %{with tests}
|
||||
BuildRequires: libcmocka-devel
|
||||
%endif
|
||||
|
||||
Requires: hicolor-icon-theme
|
||||
Requires: vulkan-loader%{?_isa}
|
||||
|
||||
Recommends: (mangohud(x86-32) if glibc(x86-32))
|
||||
|
||||
Suggests: goverlay
|
||||
|
||||
Provides: bundled(imgui) = %{imgui_ver}
|
||||
|
||||
%global _description %{expand:
|
||||
A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and
|
||||
more.}
|
||||
|
||||
%description %{_description}
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -n %{appname}-%{version} -p1
|
||||
%setup -qn %{appname}-%{version} -DTa1
|
||||
%setup -qn %{appname}-%{version} -DTa2
|
||||
|
||||
mkdir subprojects/imgui
|
||||
mv imgui-%{imgui_ver} subprojects/
|
||||
|
||||
|
||||
%build
|
||||
%meson \
|
||||
--wrap-mode=forcefallback \
|
||||
-Dinclude_doc=true \
|
||||
-Dwith_wayland=enabled \
|
||||
-Dwith_xnvctrl=disabled \
|
||||
-Dmangoapp=true \
|
||||
-Dmangoapp_layer=true \
|
||||
-Dmangohudctl=true \
|
||||
%if %{with tests}
|
||||
-Dtests=enabled \
|
||||
%else
|
||||
-Dtests=disabled \
|
||||
%endif
|
||||
%{nil}
|
||||
%meson_build
|
||||
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
|
||||
%check
|
||||
# https://github.com/flightlessmango/MangoHud/issues/812
|
||||
# ? tag-invalid : stock icon is not valid [io.github.flightlessmango.mangohud]
|
||||
%dnl appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml
|
||||
%if %{with tests}
|
||||
%meson_test
|
||||
%endif
|
||||
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_bindir}/%{name}*
|
||||
%{_bindir}/mangoapp
|
||||
%{_bindir}/mangoplot
|
||||
%{_datadir}/icons/hicolor/scalable/*/*.svg
|
||||
%{_datadir}/vulkan/implicit_layer.d/*Mango*.json
|
||||
%{_docdir}/%{name}/*
|
||||
%{_libdir}/%{name}/*
|
||||
%{_mandir}/man1/%{name}.1*
|
||||
%{_mandir}/man1/mangoapp.1*
|
||||
%{_metainfodir}/*.metainfo.xml
|
||||
%{_libdir}/%{name}/libMangoApp.so
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Oct 02 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.7.0-6
|
||||
- build: Fix description about 'mangoplot'
|
||||
|
||||
* Mon Oct 02 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.7.0-5
|
||||
- build: mangohud-mangoplot as Suggests
|
||||
|
||||
* Thu Sep 28 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.7.0-4
|
||||
- build: Add missed deps for mangoplot
|
||||
|
||||
* Thu Sep 28 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.7.0-3
|
||||
- build: Package mangoplot as separate sub-package
|
||||
|
||||
* Thu Sep 28 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.7.0-2
|
||||
- build: Upload sources
|
||||
|
||||
* Thu Sep 28 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.7.0-1
|
||||
- build: Update to 0.7.0
|
||||
|
||||
* Sun Sep 10 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.9.1-11
|
||||
- build: Backport upstream patch
|
||||
|
||||
* Sun Sep 10 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.9.1-10
|
||||
- test: Skip for s390x arch
|
||||
|
||||
* Sun Sep 10 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.9.1-9
|
||||
- build: Drop BR: pkgconfig(vulkan)
|
||||
|
||||
* Sun Sep 10 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.9.1-8
|
||||
- test: Fix and enable tests
|
||||
|
||||
* Sun Sep 10 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.9.1-7
|
||||
- style: Minor Spec file update
|
||||
|
||||
* Sun Sep 10 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.9.1-6
|
||||
- build: Bundle vulkan-headers to fix FTBFS
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.9.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue Jul 11 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.9.1-4
|
||||
- build: mangohud relies on old Vulkan-headers < 1.3.241
|
||||
|
||||
* Sat Jul 08 2023 Vitaly Zaitsev <vitaly@easycoding.org> - 0.6.9.1-3
|
||||
- Rebuilt due to spdlog 1.12 update.
|
||||
|
||||
* Wed Jun 28 2023 Vitaly Zaitsev <vitaly@easycoding.org> - 0.6.9.1-2
|
||||
- Rebuilt due to fmt 10 update.
|
||||
|
||||
* Wed Apr 19 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.9.1-1
|
||||
- build: Update to 0.6.9-1
|
||||
|
||||
* Fri Apr 14 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.9-1
|
||||
- build: Update to 0.6.9
|
||||
|
||||
* Tue Mar 14 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.8-4
|
||||
- build: Fix FTBFS 38
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.8-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Thu Nov 03 2022 Vitaly Zaitsev <vitaly@easycoding.org> - 0.6.8-2
|
||||
- Rebuilt due to spdlog update.
|
||||
|
||||
* Tue Aug 02 2022 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.8-1
|
||||
- chore(update): 0.6.8
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.7.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Tue Jul 19 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.6.7.1-3
|
||||
- Rebuild for fmt-9
|
||||
|
||||
* Fri May 13 2022 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.7.1-2
|
||||
- fix: Upload sources
|
||||
|
||||
* Fri May 13 2022 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.7.1-1
|
||||
- chore(update): 0.6.7-1
|
||||
|
||||
* Wed May 04 2022 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.7-1
|
||||
- chore(update): 0.6.7
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Oct 18 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.6-1
|
||||
- chore(update): 0.6.6
|
||||
|
||||
* Thu Oct 07 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.5-3
|
||||
- build: Fix multilib dep | rh#1830718
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Thu Jul 08 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.5-1
|
||||
- build(update): 0.6.5
|
||||
|
||||
* Thu Jun 24 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.4-1
|
||||
- build(update): 0.6.4
|
||||
|
||||
* Sat Jun 12 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.3-1
|
||||
- build(update): 0.6.3
|
||||
|
||||
* Fri Jun 11 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.2-1
|
||||
- build(update): 0.6.2
|
||||
|
||||
* Wed Jan 27 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.1-3
|
||||
- build: Install 32-bit version automagically if multilib packages already
|
||||
installed on end user machine
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Sun Nov 29 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.1-1
|
||||
- build(update): 0.6.1
|
||||
|
||||
* Sun Nov 29 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.0-2
|
||||
- fix: version in HUD | GH-411
|
||||
|
||||
* Sat Nov 28 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.0-1
|
||||
- build(update): 0.6.0
|
||||
|
||||
* Sun Aug 16 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.5.1-1
|
||||
- Update to 0.5.1
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Sat Jun 13 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.4.1-2
|
||||
- Add patch which fix F33 build | GH-213
|
||||
|
||||
* Thu Jun 11 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.4.1-1
|
||||
- Update to 0.4.1
|
||||
- Disable LTO
|
||||
|
||||
* Sat May 02 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.3.5-1
|
||||
- Update to 0.3.5
|
||||
- Remove ExclusiveArch. Now compiles on all arches, see GitHub#88.
|
||||
|
||||
* Thu Mar 26 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.3.1-2
|
||||
- Add GUI fron-end 'goverlay' as very weak dep
|
||||
|
||||
* Wed Mar 18 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.3.1-1
|
||||
- Update to 0.3.1
|
||||
|
||||
* Sun Mar 15 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.3.0-1
|
||||
- Update to 0.3.0
|
||||
|
||||
* Fri Feb 14 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.2.0-11
|
||||
- Initial package
|
||||
- Thanks for help with packaging to:
|
||||
gasinvein <gasinvein@gmail.com>
|
||||
Vitaly Zaitsev <vitaly@easycoding.org>
|
||||
|
@ -1,204 +0,0 @@
|
||||
diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp
|
||||
index 561f3cc02e0..ebc54a900e3 100644
|
||||
--- a/src/amd/compiler/aco_instruction_selection.cpp
|
||||
+++ b/src/amd/compiler/aco_instruction_selection.cpp
|
||||
@@ -12526,7 +12526,8 @@ select_rt_prolog(Program* program, ac_shader_config* config,
|
||||
*/
|
||||
PhysReg out_uniform_shader_addr = get_arg_reg(out_args, out_args->rt.uniform_shader_addr);
|
||||
PhysReg out_launch_size_x = get_arg_reg(out_args, out_args->rt.launch_size);
|
||||
- PhysReg out_launch_size_z = out_launch_size_x.advance(8);
|
||||
+ PhysReg out_launch_size_y = out_launch_size_x.advance(4);
|
||||
+ PhysReg out_launch_size_z = out_launch_size_y.advance(4);
|
||||
PhysReg out_launch_ids[3];
|
||||
for (unsigned i = 0; i < 3; i++)
|
||||
out_launch_ids[i] = get_arg_reg(out_args, out_args->rt.launch_id).advance(i * 4);
|
||||
@@ -12534,9 +12535,13 @@ select_rt_prolog(Program* program, ac_shader_config* config,
|
||||
PhysReg out_record_ptr = get_arg_reg(out_args, out_args->rt.shader_record);
|
||||
|
||||
/* Temporaries: */
|
||||
- num_sgprs = align(num_sgprs, 2) + 4;
|
||||
- PhysReg tmp_raygen_sbt = PhysReg{num_sgprs - 4};
|
||||
- PhysReg tmp_ring_offsets = PhysReg{num_sgprs - 2};
|
||||
+ num_sgprs = align(num_sgprs, 2);
|
||||
+ PhysReg tmp_raygen_sbt = PhysReg{num_sgprs};
|
||||
+ num_sgprs += 2;
|
||||
+ PhysReg tmp_ring_offsets = PhysReg{num_sgprs};
|
||||
+ num_sgprs += 2;
|
||||
+
|
||||
+ PhysReg tmp_invocation_idx = PhysReg{256 + num_vgprs++};
|
||||
|
||||
/* Confirm some assumptions about register aliasing */
|
||||
assert(in_ring_offsets == out_uniform_shader_addr);
|
||||
@@ -12610,6 +12615,36 @@ select_rt_prolog(Program* program, ac_shader_config* config,
|
||||
bld.vop1(aco_opcode::v_mov_b32, Definition(out_record_ptr.advance(4), v1),
|
||||
Operand(tmp_raygen_sbt.advance(4), s1));
|
||||
|
||||
+ /* For 1D dispatches converted into 2D ones, we need to fix up the launch IDs.
|
||||
+ * Calculating the 1D launch ID is: id = local_invocation_index + (wg_id.x * wg_size).
|
||||
+ * in_wg_id_x now holds wg_id.x * wg_size.
|
||||
+ */
|
||||
+ bld.sop2(aco_opcode::s_lshl_b32, Definition(in_wg_id_x, s1), Definition(scc, s1),
|
||||
+ Operand(in_wg_id_x, s1), Operand::c32(program->workgroup_size == 32 ? 5 : 6));
|
||||
+
|
||||
+ /* Calculate and add local_invocation_index */
|
||||
+ bld.vop3(aco_opcode::v_mbcnt_lo_u32_b32, Definition(tmp_invocation_idx, v1), Operand::c32(-1u),
|
||||
+ Operand(in_wg_id_x, s1));
|
||||
+ if (program->wave_size == 64) {
|
||||
+ if (program->gfx_level <= GFX7)
|
||||
+ bld.vop2(aco_opcode::v_mbcnt_hi_u32_b32, Definition(tmp_invocation_idx, v1),
|
||||
+ Operand::c32(-1u), Operand(tmp_invocation_idx, v1));
|
||||
+ else
|
||||
+ bld.vop3(aco_opcode::v_mbcnt_hi_u32_b32_e64, Definition(tmp_invocation_idx, v1),
|
||||
+ Operand::c32(-1u), Operand(tmp_invocation_idx, v1));
|
||||
+ }
|
||||
+
|
||||
+ /* Make fixup operations a no-op if this is not a converted 2D dispatch. */
|
||||
+ bld.sopc(aco_opcode::s_cmp_lg_u32, Definition(scc, s1),
|
||||
+ Operand::c32(ACO_RT_CONVERTED_2D_LAUNCH_SIZE), Operand(out_launch_size_y, s1));
|
||||
+ bld.sop2(Builder::s_cselect, Definition(vcc, bld.lm),
|
||||
+ Operand::c32_or_c64(-1u, program->wave_size == 64),
|
||||
+ Operand::c32_or_c64(0, program->wave_size == 64), Operand(scc, s1));
|
||||
+ bld.vop2(aco_opcode::v_cndmask_b32, Definition(out_launch_ids[0], v1),
|
||||
+ Operand(tmp_invocation_idx, v1), Operand(out_launch_ids[0], v1), Operand(vcc, bld.lm));
|
||||
+ bld.vop2(aco_opcode::v_cndmask_b32, Definition(out_launch_ids[1], v1), Operand::zero(),
|
||||
+ Operand(out_launch_ids[1], v1), Operand(vcc, bld.lm));
|
||||
+
|
||||
/* jump to raygen */
|
||||
bld.sop1(aco_opcode::s_setpc_b64, Operand(out_uniform_shader_addr, s2));
|
||||
|
||||
diff --git a/src/amd/compiler/aco_interface.h b/src/amd/compiler/aco_interface.h
|
||||
index 8f35e18b5b0..9d2c1dbb2af 100644
|
||||
--- a/src/amd/compiler/aco_interface.h
|
||||
+++ b/src/amd/compiler/aco_interface.h
|
||||
@@ -32,6 +32,9 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
+/* Special launch size to indicate this dispatch is a 1D dispatch converted into a 2D one */
|
||||
+#define ACO_RT_CONVERTED_2D_LAUNCH_SIZE -1u
|
||||
+
|
||||
typedef struct nir_shader nir_shader;
|
||||
struct ac_shader_config;
|
||||
struct aco_shader_info;
|
||||
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
|
||||
index cdede679552..c7dd4b216d4 100644
|
||||
--- a/src/amd/vulkan/radv_cmd_buffer.c
|
||||
+++ b/src/amd/vulkan/radv_cmd_buffer.c
|
||||
@@ -42,6 +42,8 @@
|
||||
#include "ac_debug.h"
|
||||
#include "ac_shader_args.h"
|
||||
|
||||
+#include "aco_interface.h"
|
||||
+
|
||||
#include "util/fast_idiv_by_const.h"
|
||||
|
||||
enum {
|
||||
@@ -10003,7 +10005,26 @@ enum radv_rt_mode {
|
||||
};
|
||||
|
||||
static void
|
||||
-radv_trace_rays(struct radv_cmd_buffer *cmd_buffer, const VkTraceRaysIndirectCommand2KHR *tables, uint64_t indirect_va,
|
||||
+radv_upload_trace_rays_params(struct radv_cmd_buffer *cmd_buffer, VkTraceRaysIndirectCommand2KHR *tables,
|
||||
+ enum radv_rt_mode mode, uint64_t *launch_size_va, uint64_t *sbt_va)
|
||||
+{
|
||||
+ uint32_t upload_size = mode == radv_rt_mode_direct ? sizeof(VkTraceRaysIndirectCommand2KHR)
|
||||
+ : offsetof(VkTraceRaysIndirectCommand2KHR, width);
|
||||
+
|
||||
+ uint32_t offset;
|
||||
+ if (!radv_cmd_buffer_upload_data(cmd_buffer, upload_size, tables, &offset))
|
||||
+ return;
|
||||
+
|
||||
+ uint64_t upload_va = radv_buffer_get_va(cmd_buffer->upload.upload_bo) + offset;
|
||||
+
|
||||
+ if (mode == radv_rt_mode_direct)
|
||||
+ *launch_size_va = upload_va + offsetof(VkTraceRaysIndirectCommand2KHR, width);
|
||||
+ if (sbt_va)
|
||||
+ *sbt_va = upload_va;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+radv_trace_rays(struct radv_cmd_buffer *cmd_buffer, VkTraceRaysIndirectCommand2KHR *tables, uint64_t indirect_va,
|
||||
enum radv_rt_mode mode)
|
||||
{
|
||||
if (cmd_buffer->device->instance->debug_flags & RADV_DEBUG_NO_RT)
|
||||
@@ -10024,34 +10045,43 @@ radv_trace_rays(struct radv_cmd_buffer *cmd_buffer, const VkTraceRaysIndirectCom
|
||||
cmd_buffer->compute_scratch_size_per_wave_needed =
|
||||
MAX2(cmd_buffer->compute_scratch_size_per_wave_needed, scratch_bytes_per_wave);
|
||||
|
||||
+ /* Since the workgroup size is 8x4 (or 8x8), 1D dispatches can only fill 8 threads per wave at most. To increase
|
||||
+ * occupancy, it's beneficial to convert to a 2D dispatch in these cases. */
|
||||
+ if (tables && tables->height == 1 && tables->width >= cmd_buffer->state.rt_prolog->info.cs.block_size[0])
|
||||
+ tables->height = ACO_RT_CONVERTED_2D_LAUNCH_SIZE;
|
||||
+
|
||||
struct radv_dispatch_info info = {0};
|
||||
info.unaligned = true;
|
||||
|
||||
- uint64_t launch_size_va;
|
||||
- uint64_t sbt_va;
|
||||
+ uint64_t launch_size_va = 0;
|
||||
+ uint64_t sbt_va = 0;
|
||||
|
||||
if (mode != radv_rt_mode_indirect2) {
|
||||
- uint32_t upload_size = mode == radv_rt_mode_direct ? sizeof(VkTraceRaysIndirectCommand2KHR)
|
||||
- : offsetof(VkTraceRaysIndirectCommand2KHR, width);
|
||||
-
|
||||
- uint32_t offset;
|
||||
- if (!radv_cmd_buffer_upload_data(cmd_buffer, upload_size, tables, &offset))
|
||||
- return;
|
||||
-
|
||||
- uint64_t upload_va = radv_buffer_get_va(cmd_buffer->upload.upload_bo) + offset;
|
||||
-
|
||||
- launch_size_va =
|
||||
- (mode == radv_rt_mode_direct) ? upload_va + offsetof(VkTraceRaysIndirectCommand2KHR, width) : indirect_va;
|
||||
- sbt_va = upload_va;
|
||||
+ launch_size_va = indirect_va;
|
||||
+ radv_upload_trace_rays_params(cmd_buffer, tables, mode, &launch_size_va, &sbt_va);
|
||||
} else {
|
||||
launch_size_va = indirect_va + offsetof(VkTraceRaysIndirectCommand2KHR, width);
|
||||
sbt_va = indirect_va;
|
||||
}
|
||||
|
||||
+ uint32_t remaining_ray_count = 0;
|
||||
+
|
||||
if (mode == radv_rt_mode_direct) {
|
||||
info.blocks[0] = tables->width;
|
||||
info.blocks[1] = tables->height;
|
||||
info.blocks[2] = tables->depth;
|
||||
+
|
||||
+ if (tables->height == ACO_RT_CONVERTED_2D_LAUNCH_SIZE) {
|
||||
+ /* We need the ray count for the 2D dispatch to be a multiple of the y block size for the division to work, and
|
||||
+ * a multiple of the x block size because the invocation offset must be a multiple of the block size when
|
||||
+ * dispatching the remaining rays. Fortunately, the x block size is itself a multiple of the y block size, so
|
||||
+ * we only need to ensure that the ray count is a multiple of the x block size. */
|
||||
+ remaining_ray_count = tables->width % rt_prolog->info.cs.block_size[0];
|
||||
+
|
||||
+ uint32_t ray_count = tables->width - remaining_ray_count;
|
||||
+ info.blocks[0] = ray_count / rt_prolog->info.cs.block_size[1];
|
||||
+ info.blocks[1] = rt_prolog->info.cs.block_size[1];
|
||||
+ }
|
||||
} else
|
||||
info.va = launch_size_va;
|
||||
|
||||
@@ -10085,6 +10115,22 @@ radv_trace_rays(struct radv_cmd_buffer *cmd_buffer, const VkTraceRaysIndirectCom
|
||||
assert(cmd_buffer->cs->cdw <= cdw_max);
|
||||
|
||||
radv_dispatch(cmd_buffer, &info, pipeline, rt_prolog, VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR);
|
||||
+
|
||||
+ if (remaining_ray_count) {
|
||||
+ info.blocks[0] = remaining_ray_count;
|
||||
+ info.blocks[1] = 1;
|
||||
+ info.offsets[0] = tables->width - remaining_ray_count;
|
||||
+
|
||||
+ /* Reset the ray launch size so the prolog doesn't think this is a converted dispatch */
|
||||
+ tables->height = 1;
|
||||
+ radv_upload_trace_rays_params(cmd_buffer, tables, mode, &launch_size_va, NULL);
|
||||
+ if (size_loc->sgpr_idx != -1) {
|
||||
+ radv_emit_shader_pointer(cmd_buffer->device, cmd_buffer->cs, base_reg + size_loc->sgpr_idx * 4, launch_size_va,
|
||||
+ true);
|
||||
+ }
|
||||
+
|
||||
+ radv_dispatch(cmd_buffer, &info, pipeline, rt_prolog, VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR);
|
||||
+ }
|
||||
}
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
@ -1,117 +0,0 @@
|
||||
|
||||
Subject: RE: Question about Mesa MLAA license
|
||||
From: Jorge Jimenez <iryoku@gmail.com>
|
||||
Date: 01/08/2013 12:50 PM
|
||||
To: Tom Callaway <tcallawa@redhat.com>
|
||||
CC: "jorge@iryoku.com" <jorge@iryoku.com>
|
||||
|
||||
Yes to both questions.
|
||||
|
||||
Thanks,
|
||||
Jorge
|
||||
|
||||
From: Tom Callaway <tcallawa@redhat.com>
|
||||
Sent: January 8, 2013 6:49 PM
|
||||
To: Jorge Jimenez <iryoku@gmail.com>
|
||||
CC: jorge@iryoku.com
|
||||
Subject: Re: Question about Mesa MLAA license
|
||||
|
||||
On 01/08/2013 12:39 PM, Jorge Jimenez wrote:
|
||||
> Hi Tom,
|
||||
>
|
||||
> What we meant with that is that we made an exception for clause 2.
|
||||
> Instead of clause 2, in the case of the Mesa project, you have to name
|
||||
> the technique Jimenez's MLAA in the config options of Mesa. We did that
|
||||
> just to allow them to solve license issues. This exception should be for
|
||||
> the Mesa project, and any project using Mesa, like Fedora.
|
||||
>
|
||||
> We want to widespread usage of our MLAA, so we want to avoid any kind of
|
||||
> license complications. Hope current one is good for Fedora, if not
|
||||
> please tell, and we'll see what we can do!
|
||||
|
||||
Okay, a few more questions:
|
||||
|
||||
* If Fedora decides to simply reproduce the quoted statement:
|
||||
"Uses Jimenez's MLAA. Copyright (C) 2010 by Jorge Jimenez, Belen Masia,
|
||||
Jose I. Echevarria, Fernando Navarro and Diego Gutierrez."
|
||||
|
||||
Specifically, if this is done as part of documentation included with
|
||||
Mesa, is that sufficient to meet clause 2 even if the Mesa config option
|
||||
is not set as described in your exception?
|
||||
|
||||
* Currently, the Mesa config option for MLAA says: "Morphological
|
||||
anti-aliasing based on Jimenez\' MLAA. 0 to disable, 8 for default
|
||||
quality". Is this in compliance with your exception?
|
||||
|
||||
Thanks again,
|
||||
|
||||
~tom
|
||||
|
||||
==
|
||||
Fedora Project
|
||||
|
||||
Subject: RE: Question about Mesa MLAA license
|
||||
From: Jorge Jimenez <iryoku@gmail.com>
|
||||
Date: 01/08/2013 12:39 PM
|
||||
To: "jorge@iryoku.com" <jorge@iryoku.com>, Tom Callaway <tcallawa@redhat.com>
|
||||
|
||||
Hi Tom,
|
||||
|
||||
What we meant with that is that we made an exception for clause 2.
|
||||
Instead of clause 2, in the case of the Mesa project, you have to name
|
||||
the technique Jimenez's MLAA in the config options of Mesa. We did that
|
||||
just to allow them to solve license issues. This exception should be for
|
||||
the Mesa project, and any project using Mesa, like Fedora.
|
||||
|
||||
We want to widespread usage of our MLAA, so we want to avoid any kind of
|
||||
license complications. Hope current one is good for Fedora, if not
|
||||
please tell, and we'll see what we can do!
|
||||
|
||||
Cheers,
|
||||
Jorge
|
||||
|
||||
From: Tom Callaway <tcallawa@redhat.com>
|
||||
Sent: January 8, 2013 6:30 PM
|
||||
To: jorge@iryoku.com
|
||||
Subject: Question about Mesa MLAA license
|
||||
|
||||
Jorge,
|
||||
|
||||
Thanks for all of your fantastic graphics work! I have been auditing
|
||||
Fedora (a popular distribution of Linux) for license compliance and I
|
||||
came across your MLAA code in Mesa.
|
||||
|
||||
The license says:
|
||||
|
||||
* 2. Redistributions in binary form must reproduce the following
|
||||
statement:
|
||||
*
|
||||
* "Uses Jimenez's MLAA. Copyright (C) 2010 by Jorge Jimenez, Belen Masia,
|
||||
* Jose I. Echevarria, Fernando Navarro and Diego Gutierrez."
|
||||
*
|
||||
* Only for use in the Mesa project, this point 2 is filled by naming the
|
||||
* technique Jimenez's MLAA in the Mesa config options.
|
||||
|
||||
That wording is unclear. When you say "Only for use in the Mesa
|
||||
project...", it seems like you could either be saying:
|
||||
|
||||
- This code may only be used as part of Mesa.
|
||||
|
||||
OR
|
||||
|
||||
- In Mesa, you can comply with clause 2 by simply selecting "Jimenez's
|
||||
MLAA" in the Mesa config options.
|
||||
|
||||
*****
|
||||
|
||||
If the first item is true, then we may have to remove the MLAA code from
|
||||
Fedora's copy of Mesa. However, looking at the license on your SMAA
|
||||
code, I do not believe it to be the case. Please let me know either way!
|
||||
|
||||
Thanks in advance,
|
||||
|
||||
Tom Callaway
|
||||
Fedora Legal
|
||||
|
||||
==
|
||||
Fedora Project
|
@ -1,11 +0,0 @@
|
||||
diff -up mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf.dma mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf
|
||||
--- mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf.dma 2022-11-25 10:32:32.175879868 +1000
|
||||
+++ mesa-22.3.0-rc4/src/util/00-mesa-defaults.conf 2022-11-25 10:32:43.743067470 +1000
|
||||
@@ -653,6 +653,7 @@ TODO: document the other workarounds.
|
||||
<application name="gnome-shell" executable="gnome-shell">
|
||||
<option name="adaptive_sync" value="false" />
|
||||
<option name="v3d_nonmsaa_texture_size_limit" value="true" />
|
||||
+ <option name="mesa_glthread" value="false"/>
|
||||
</application>
|
||||
<application name="Desktop — Plasma" executable="plasmashell">
|
||||
<option name="adaptive_sync" value="false" />
|
@ -1,42 +0,0 @@
|
||||
meson: C type error in strtod_l/strtof_l probe
|
||||
|
||||
Future compilers will fail compilation due to the C type error:
|
||||
|
||||
…/testfile.c: In function 'main':
|
||||
…/testfile.c:12:30: error: passing argument 2 of 'strtod_l' from incompatible pointer type
|
||||
12 | double d = strtod_l(s, end, loc);
|
||||
| ^~~
|
||||
| |
|
||||
| char *
|
||||
/usr/include/stdlib.h:416:43: note: expected 'char ** restrict' but argument is of type 'char *'
|
||||
416 | char **__restrict __endptr, locale_t __loc)
|
||||
| ~~~~~~~~~~~~~~~~~~^~~~~~~~
|
||||
…/testfile.c:13:29: error: passing argument 2 of 'strtof_l' from incompatible pointer type
|
||||
13 | float f = strtof_l(s, end, loc);
|
||||
| ^~~
|
||||
| |
|
||||
| char *
|
||||
/usr/include/stdlib.h:420:42: note: expected 'char ** restrict' but argument is of type 'char *'
|
||||
420 | char **__restrict __endptr, locale_t __loc)
|
||||
| ~~~~~~~~~~~~~~~~~~^~~~~~~~
|
||||
|
||||
This means that the probe no longer tests is objective and always
|
||||
fails.
|
||||
|
||||
Submitted upstream: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26927>
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 35cc5f1cd5fd9079..1a5d2ba492be0b31 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -1425,8 +1425,8 @@ if cc.links('''
|
||||
locale_t loc = newlocale(LC_CTYPE_MASK, "C", NULL);
|
||||
const char *s = "1.0";
|
||||
char *end;
|
||||
- double d = strtod_l(s, end, loc);
|
||||
- float f = strtof_l(s, end, loc);
|
||||
+ double d = strtod_l(s, &end, loc);
|
||||
+ float f = strtof_l(s, &end, loc);
|
||||
freelocale(loc);
|
||||
return 0;
|
||||
}''',
|
@ -1,691 +0,0 @@
|
||||
%ifnarch s390x
|
||||
%global with_hardware 1
|
||||
%global with_vulkan_hw 1
|
||||
%global with_vdpau 1
|
||||
%global with_va 1
|
||||
%if !0%{?rhel}
|
||||
%global with_nine 1
|
||||
%global with_omx 1
|
||||
%global with_opencl 1
|
||||
%endif
|
||||
%global base_vulkan ,amd,nouveau-experimental
|
||||
%endif
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
%global with_crocus 1
|
||||
%global with_i915 1
|
||||
%if !0%{?rhel}
|
||||
%global with_intel_clc 1
|
||||
%endif
|
||||
%global with_iris 1
|
||||
%global with_xa 1
|
||||
%global intel_platform_vulkan ,intel,intel_hasvk
|
||||
%endif
|
||||
|
||||
%ifarch aarch64 x86_64 %{ix86}
|
||||
%if !0%{?rhel}
|
||||
%global with_lima 1
|
||||
%global with_vc4 1
|
||||
%endif
|
||||
%global with_etnaviv 1
|
||||
%global with_freedreno 1
|
||||
%global with_kmsro 1
|
||||
%global with_panfrost 1
|
||||
%global with_tegra 1
|
||||
%global with_v3d 1
|
||||
%global with_xa 1
|
||||
%global extra_platform_vulkan ,broadcom,freedreno,panfrost
|
||||
%endif
|
||||
|
||||
%ifnarch s390x
|
||||
%if !0%{?rhel}
|
||||
%global with_r300 1
|
||||
%global with_r600 1
|
||||
%endif
|
||||
%global with_radeonsi 1
|
||||
%global with_vmware 1
|
||||
%endif
|
||||
|
||||
%if !0%{?rhel}
|
||||
%global with_libunwind 1
|
||||
%global with_lmsensors 1
|
||||
%endif
|
||||
|
||||
%ifarch %{valgrind_arches}
|
||||
%bcond_without valgrind
|
||||
%else
|
||||
%bcond_with valgrind
|
||||
%endif
|
||||
|
||||
%global vulkan_drivers swrast%{?base_vulkan}%{?intel_platform_vulkan}%{?extra_platform_vulkan}
|
||||
|
||||
Name: mesa
|
||||
Summary: Mesa graphics libraries
|
||||
%global ver 23.3.3
|
||||
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
||||
Release: 100.bazzite.{{{ git_dir_version }}}
|
||||
License: MIT AND BSD-3-Clause AND SGI-B-2.0
|
||||
URL: http://www.mesa3d.org
|
||||
|
||||
Source0: https://archive.mesa3d.org/mesa-%{ver}.tar.xz
|
||||
# src/gallium/auxiliary/postprocess/pp_mlaa* have an ... interestingly worded license.
|
||||
# Source1 contains email correspondence clarifying the license terms.
|
||||
# Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD.
|
||||
Source1: Mesa-MLAA-License-Clarification-Email.txt
|
||||
|
||||
Patch10: gnome-shell-glthread-disable.patch
|
||||
Patch11: zink-fix-resizable-bar-detection-logic.patch
|
||||
Patch12: mesa-meson-c99.patch
|
||||
|
||||
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26105/
|
||||
Patch30: 26105.patch
|
||||
|
||||
# https://gitlab.com/evlaV/mesa/
|
||||
Patch40: valve.patch
|
||||
|
||||
BuildRequires: meson >= 1.2.0
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gettext
|
||||
%if 0%{?with_hardware}
|
||||
BuildRequires: kernel-headers
|
||||
%endif
|
||||
# We only check for the minimum version of pkgconfig(libdrm) needed so that the
|
||||
# SRPMs for each arch still have the same build dependencies. See:
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1859515
|
||||
BuildRequires: pkgconfig(libdrm) >= 2.4.97
|
||||
%if 0%{?with_libunwind}
|
||||
BuildRequires: pkgconfig(libunwind)
|
||||
%endif
|
||||
BuildRequires: pkgconfig(expat)
|
||||
BuildRequires: pkgconfig(zlib) >= 1.2.3
|
||||
BuildRequires: pkgconfig(libzstd)
|
||||
BuildRequires: pkgconfig(libselinux)
|
||||
BuildRequires: pkgconfig(wayland-scanner)
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.8
|
||||
BuildRequires: pkgconfig(wayland-client) >= 1.11
|
||||
BuildRequires: pkgconfig(wayland-server) >= 1.11
|
||||
BuildRequires: pkgconfig(wayland-egl-backend) >= 3
|
||||
BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: pkgconfig(xext)
|
||||
BuildRequires: pkgconfig(xdamage) >= 1.1
|
||||
BuildRequires: pkgconfig(xfixes)
|
||||
BuildRequires: pkgconfig(xcb-glx) >= 1.8.1
|
||||
BuildRequires: pkgconfig(xxf86vm)
|
||||
BuildRequires: pkgconfig(xcb)
|
||||
BuildRequires: pkgconfig(x11-xcb)
|
||||
BuildRequires: pkgconfig(xcb-dri2) >= 1.8
|
||||
BuildRequires: pkgconfig(xcb-dri3)
|
||||
BuildRequires: pkgconfig(xcb-present)
|
||||
BuildRequires: pkgconfig(xcb-sync)
|
||||
BuildRequires: pkgconfig(xshmfence) >= 1.1
|
||||
BuildRequires: pkgconfig(dri2proto) >= 2.8
|
||||
BuildRequires: pkgconfig(glproto) >= 1.4.14
|
||||
BuildRequires: pkgconfig(xcb-xfixes)
|
||||
BuildRequires: pkgconfig(xcb-randr)
|
||||
BuildRequires: pkgconfig(xrandr) >= 1.3
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
%if 0%{?with_lmsensors}
|
||||
BuildRequires: lm_sensors-devel
|
||||
%endif
|
||||
%if 0%{?with_vdpau}
|
||||
BuildRequires: pkgconfig(vdpau) >= 1.1
|
||||
%endif
|
||||
%if 0%{?with_va}
|
||||
BuildRequires: pkgconfig(libva) >= 0.38.0
|
||||
%endif
|
||||
%if 0%{?with_omx}
|
||||
BuildRequires: pkgconfig(libomxil-bellagio)
|
||||
%endif
|
||||
BuildRequires: pkgconfig(libelf)
|
||||
BuildRequires: pkgconfig(libglvnd) >= 1.3.2
|
||||
BuildRequires: llvm-devel >= 7.0.0
|
||||
%if 0%{?with_opencl}
|
||||
BuildRequires: clang-devel
|
||||
BuildRequires: bindgen
|
||||
BuildRequires: rust-packaging
|
||||
BuildRequires: pkgconfig(libclc)
|
||||
BuildRequires: pkgconfig(SPIRV-Tools)
|
||||
BuildRequires: pkgconfig(LLVMSPIRVLib)
|
||||
%endif
|
||||
%if %{with valgrind}
|
||||
BuildRequires: pkgconfig(valgrind)
|
||||
%endif
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-mako
|
||||
%if 0%{?with_intel_clc}
|
||||
BuildRequires: python3-ply
|
||||
%endif
|
||||
BuildRequires: vulkan-headers
|
||||
BuildRequires: glslang
|
||||
%if 0%{?with_vulkan_hw}
|
||||
BuildRequires: pkgconfig(vulkan)
|
||||
%endif
|
||||
|
||||
%description
|
||||
%{summary}.
|
||||
|
||||
%package filesystem
|
||||
Summary: Mesa driver filesystem
|
||||
Provides: mesa-dri-filesystem = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description filesystem
|
||||
%{summary}.
|
||||
|
||||
%package libGL
|
||||
Summary: Mesa libGL runtime libraries
|
||||
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: libglvnd-glx%{?_isa} >= 1:1.3.2
|
||||
Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description libGL
|
||||
%{summary}.
|
||||
|
||||
%package libGL-devel
|
||||
Summary: Mesa libGL development package
|
||||
Requires: %{name}-libGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: libglvnd-devel%{?_isa} >= 1:1.3.2
|
||||
Provides: libGL-devel
|
||||
Provides: libGL-devel%{?_isa}
|
||||
Recommends: gl-manpages
|
||||
|
||||
%description libGL-devel
|
||||
%{summary}.
|
||||
|
||||
%package libEGL
|
||||
Summary: Mesa libEGL runtime libraries
|
||||
Requires: libglvnd-egl%{?_isa} >= 1:1.3.2
|
||||
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description libEGL
|
||||
%{summary}.
|
||||
|
||||
%package libEGL-devel
|
||||
Summary: Mesa libEGL development package
|
||||
Requires: %{name}-libEGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: libglvnd-devel%{?_isa} >= 1:1.3.2
|
||||
Requires: %{name}-khr-devel%{?_isa}
|
||||
Provides: libEGL-devel
|
||||
Provides: libEGL-devel%{?_isa}
|
||||
|
||||
%description libEGL-devel
|
||||
%{summary}.
|
||||
|
||||
%package dri-drivers
|
||||
Summary: Mesa-based DRI drivers
|
||||
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
%if 0%{?with_va}
|
||||
Recommends: %{name}-va-drivers%{?_isa}
|
||||
%endif
|
||||
|
||||
%description dri-drivers
|
||||
%{summary}.
|
||||
|
||||
%if 0%{?with_omx}
|
||||
%package omx-drivers
|
||||
Summary: Mesa-based OMX drivers
|
||||
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description omx-drivers
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%if 0%{?with_va}
|
||||
%package va-drivers
|
||||
Summary: Mesa-based VA-API video acceleration drivers
|
||||
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Obsoletes: %{name}-vaapi-drivers < 22.2.0-5
|
||||
|
||||
%description va-drivers
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%if 0%{?with_vdpau}
|
||||
%package vdpau-drivers
|
||||
Summary: Mesa-based VDPAU drivers
|
||||
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description vdpau-drivers
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%package libOSMesa
|
||||
Summary: Mesa offscreen rendering libraries
|
||||
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: libOSMesa
|
||||
Provides: libOSMesa%{?_isa}
|
||||
|
||||
%description libOSMesa
|
||||
%{summary}.
|
||||
|
||||
%package libOSMesa-devel
|
||||
Summary: Mesa offscreen rendering development package
|
||||
Requires: %{name}-libOSMesa%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description libOSMesa-devel
|
||||
%{summary}.
|
||||
|
||||
%package libgbm
|
||||
Summary: Mesa gbm runtime library
|
||||
Provides: libgbm
|
||||
Provides: libgbm%{?_isa}
|
||||
Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
# If mesa-dri-drivers are installed, they must match in version. This is here to prevent using
|
||||
# older mesa-dri-drivers together with a newer mesa-libgbm and its dependants.
|
||||
# See https://bugzilla.redhat.com/show_bug.cgi?id=2193135 .
|
||||
Requires: (%{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-dri-drivers%{?_isa})
|
||||
|
||||
%description libgbm
|
||||
%{summary}.
|
||||
|
||||
%package libgbm-devel
|
||||
Summary: Mesa libgbm development package
|
||||
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: libgbm-devel
|
||||
Provides: libgbm-devel%{?_isa}
|
||||
|
||||
%description libgbm-devel
|
||||
%{summary}.
|
||||
|
||||
%if 0%{?with_xa}
|
||||
%package libxatracker
|
||||
Summary: Mesa XA state tracker
|
||||
Provides: libxatracker
|
||||
Provides: libxatracker%{?_isa}
|
||||
|
||||
%description libxatracker
|
||||
%{summary}.
|
||||
|
||||
%package libxatracker-devel
|
||||
Summary: Mesa XA state tracker development package
|
||||
Requires: %{name}-libxatracker%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: libxatracker-devel
|
||||
Provides: libxatracker-devel%{?_isa}
|
||||
|
||||
%description libxatracker-devel
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%package libglapi
|
||||
Summary: Mesa shared glapi
|
||||
Provides: libglapi
|
||||
Provides: libglapi%{?_isa}
|
||||
# If mesa-dri-drivers are installed, they must match in version. This is here to prevent using
|
||||
# older mesa-dri-drivers together with a newer mesa-libglapi or its dependants.
|
||||
# See https://bugzilla.redhat.com/show_bug.cgi?id=2193135 .
|
||||
Requires: (%{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-dri-drivers%{?_isa})
|
||||
|
||||
%description libglapi
|
||||
%{summary}.
|
||||
|
||||
%if 0%{?with_opencl}
|
||||
%package libOpenCL
|
||||
Summary: Mesa OpenCL runtime library
|
||||
Requires: ocl-icd%{?_isa}
|
||||
Requires: libclc%{?_isa}
|
||||
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: opencl-filesystem
|
||||
|
||||
%description libOpenCL
|
||||
%{summary}.
|
||||
|
||||
%package libOpenCL-devel
|
||||
Summary: Mesa OpenCL development package
|
||||
Requires: %{name}-libOpenCL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description libOpenCL-devel
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%if 0%{?with_nine}
|
||||
%package libd3d
|
||||
Summary: Mesa Direct3D9 state tracker
|
||||
|
||||
%description libd3d
|
||||
%{summary}.
|
||||
|
||||
%package libd3d-devel
|
||||
Summary: Mesa Direct3D9 state tracker development package
|
||||
Requires: %{name}-libd3d%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description libd3d-devel
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%package vulkan-drivers
|
||||
Summary: Mesa Vulkan drivers
|
||||
Requires: vulkan%{_isa}
|
||||
Obsoletes: mesa-vulkan-devel < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description vulkan-drivers
|
||||
The drivers with support for the Vulkan API.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{ver} -p1
|
||||
cp %{SOURCE1} docs/
|
||||
|
||||
%build
|
||||
# ensure standard Rust compiler flags are set
|
||||
export RUSTFLAGS="%build_rustflags"
|
||||
|
||||
# We've gotten a report that enabling LTO for mesa breaks some games. See
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1862771 for details.
|
||||
# Disable LTO for now
|
||||
%define _lto_cflags %{nil}
|
||||
|
||||
%meson \
|
||||
-Dplatforms=x11,wayland \
|
||||
-Ddri3=enabled \
|
||||
-Dosmesa=true \
|
||||
%if 0%{?with_hardware}
|
||||
-Dgallium-drivers=swrast,virgl,nouveau%{?with_r300:,r300}%{?with_crocus:,crocus}%{?with_i915:,i915}%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi}%{?with_r600:,r600}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_kmsro:,kmsro}%{?with_lima:,lima}%{?with_panfrost:,panfrost}%{?with_vulkan_hw:,zink} \
|
||||
%else
|
||||
-Dgallium-drivers=swrast,virgl \
|
||||
%endif
|
||||
-Dgallium-vdpau=%{?with_vdpau:enabled}%{!?with_vdpau:disabled} \
|
||||
-Dgallium-omx=%{?with_omx:bellagio}%{!?with_omx:disabled} \
|
||||
-Dgallium-va=%{?with_va:enabled}%{!?with_va:disabled} \
|
||||
-Dgallium-xa=%{?with_xa:enabled}%{!?with_xa:disabled} \
|
||||
-Dgallium-nine=%{?with_nine:true}%{!?with_nine:false} \
|
||||
-Dgallium-opencl=%{?with_opencl:icd}%{!?with_opencl:disabled} \
|
||||
%if 0%{?with_opencl}
|
||||
-Dgallium-rusticl=true \
|
||||
%endif
|
||||
-Dvulkan-drivers=%{?vulkan_drivers} \
|
||||
-Dvulkan-layers=device-select \
|
||||
-Dshared-glapi=enabled \
|
||||
-Dgles1=enabled \
|
||||
-Dgles2=enabled \
|
||||
-Dopengl=true \
|
||||
-Dgbm=enabled \
|
||||
-Dglx=dri \
|
||||
-Degl=enabled \
|
||||
-Dglvnd=true \
|
||||
%if 0%{?with_intel_clc}
|
||||
-Dintel-clc=enabled \
|
||||
%endif
|
||||
-Dmicrosoft-clc=disabled \
|
||||
-Dllvm=enabled \
|
||||
-Dshared-llvm=enabled \
|
||||
-Dvalgrind=%{?with_valgrind:enabled}%{!?with_valgrind:disabled} \
|
||||
-Dxlib-lease=enabled \
|
||||
-Dbuild-tests=false \
|
||||
-Dselinux=true \
|
||||
%if !0%{?with_libunwind}
|
||||
-Dlibunwind=disabled \
|
||||
%endif
|
||||
%if !0%{?with_lmsensors}
|
||||
-Dlmsensors=disabled \
|
||||
%endif
|
||||
-Dandroid-libbacktrace=disabled \
|
||||
%ifarch %{ix86}
|
||||
-Dglx-read-only-text=true
|
||||
%endif
|
||||
%{nil}
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
# libvdpau opens the versioned name, don't bother including the unversioned
|
||||
rm -vf %{buildroot}%{_libdir}/vdpau/*.so
|
||||
# likewise glvnd
|
||||
rm -vf %{buildroot}%{_libdir}/libGLX_mesa.so
|
||||
rm -vf %{buildroot}%{_libdir}/libEGL_mesa.so
|
||||
# XXX can we just not build this
|
||||
rm -vf %{buildroot}%{_libdir}/libGLES*
|
||||
|
||||
# glvnd needs a default provider for indirect rendering where it cannot
|
||||
# determine the vendor
|
||||
ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0
|
||||
|
||||
# this keeps breaking, check it early. note that the exit from eu-ftr is odd.
|
||||
pushd %{buildroot}%{_libdir}
|
||||
for i in libOSMesa*.so libGL.so ; do
|
||||
eu-findtextrel $i && exit 1
|
||||
done
|
||||
popd
|
||||
|
||||
%ifarch %{ix86}
|
||||
rm -Rf %{buildroot}%{_datadir}/drirc.d/00-radv-defaults.conf
|
||||
rm -Rf %{buildroot}%{_datadir}/drirc.d/00-mesa-defaults.conf
|
||||
%endif
|
||||
|
||||
%files filesystem
|
||||
%doc docs/Mesa-MLAA-License-Clarification-Email.txt
|
||||
%dir %{_libdir}/dri
|
||||
%if 0%{?with_hardware}
|
||||
%if 0%{?with_vdpau}
|
||||
%dir %{_libdir}/vdpau
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%files libGL
|
||||
%{_libdir}/libGLX_mesa.so.0*
|
||||
%{_libdir}/libGLX_system.so.0*
|
||||
%files libGL-devel
|
||||
%dir %{_includedir}/GL/internal
|
||||
%{_includedir}/GL/internal/dri_interface.h
|
||||
%{_libdir}/pkgconfig/dri.pc
|
||||
%{_libdir}/libglapi.so
|
||||
|
||||
%files libEGL
|
||||
%{_datadir}/glvnd/egl_vendor.d/50_mesa.json
|
||||
%{_libdir}/libEGL_mesa.so.0*
|
||||
%files libEGL-devel
|
||||
%dir %{_includedir}/EGL
|
||||
%{_includedir}/EGL/eglext_angle.h
|
||||
%{_includedir}/EGL/eglmesaext.h
|
||||
|
||||
%files libglapi
|
||||
%{_libdir}/libglapi.so.0
|
||||
%{_libdir}/libglapi.so.0.*
|
||||
|
||||
%files libOSMesa
|
||||
%{_libdir}/libOSMesa.so.8*
|
||||
%files libOSMesa-devel
|
||||
%dir %{_includedir}/GL
|
||||
%{_includedir}/GL/osmesa.h
|
||||
%{_libdir}/libOSMesa.so
|
||||
%{_libdir}/pkgconfig/osmesa.pc
|
||||
|
||||
%files libgbm
|
||||
%{_libdir}/libgbm.so.1
|
||||
%{_libdir}/libgbm.so.1.*
|
||||
%files libgbm-devel
|
||||
%{_libdir}/libgbm.so
|
||||
%{_includedir}/gbm.h
|
||||
%{_libdir}/pkgconfig/gbm.pc
|
||||
|
||||
%if 0%{?with_xa}
|
||||
%files libxatracker
|
||||
%if 0%{?with_hardware}
|
||||
%{_libdir}/libxatracker.so.2
|
||||
%{_libdir}/libxatracker.so.2.*
|
||||
%endif
|
||||
|
||||
%files libxatracker-devel
|
||||
%if 0%{?with_hardware}
|
||||
%{_libdir}/libxatracker.so
|
||||
%{_includedir}/xa_tracker.h
|
||||
%{_includedir}/xa_composite.h
|
||||
%{_includedir}/xa_context.h
|
||||
%{_libdir}/pkgconfig/xatracker.pc
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?with_opencl}
|
||||
%files libOpenCL
|
||||
%{_libdir}/libMesaOpenCL.so.*
|
||||
%{_libdir}/libRusticlOpenCL.so.*
|
||||
%{_sysconfdir}/OpenCL/vendors/mesa.icd
|
||||
%{_sysconfdir}/OpenCL/vendors/rusticl.icd
|
||||
%files libOpenCL-devel
|
||||
%{_libdir}/libMesaOpenCL.so
|
||||
%{_libdir}/libRusticlOpenCL.so
|
||||
%endif
|
||||
|
||||
%if 0%{?with_nine}
|
||||
%files libd3d
|
||||
%dir %{_libdir}/d3d/
|
||||
%{_libdir}/d3d/*.so.*
|
||||
|
||||
%files libd3d-devel
|
||||
%{_libdir}/pkgconfig/d3d.pc
|
||||
%{_includedir}/d3dadapter/
|
||||
%{_libdir}/d3d/*.so
|
||||
%endif
|
||||
|
||||
%files dri-drivers
|
||||
%dir %{_datadir}/drirc.d
|
||||
%ifarch aarch64 x86_64
|
||||
%{_datadir}/drirc.d/00-mesa-defaults.conf
|
||||
%endif
|
||||
%{_libdir}/dri/kms_swrast_dri.so
|
||||
%{_libdir}/dri/swrast_dri.so
|
||||
%{_libdir}/dri/virtio_gpu_dri.so
|
||||
|
||||
%if 0%{?with_hardware}
|
||||
%if 0%{?with_r300}
|
||||
%{_libdir}/dri/r300_dri.so
|
||||
%endif
|
||||
%if 0%{?with_radeonsi}
|
||||
%if 0%{?with_r600}
|
||||
%{_libdir}/dri/r600_dri.so
|
||||
%endif
|
||||
%{_libdir}/dri/radeonsi_dri.so
|
||||
%endif
|
||||
%ifarch %{ix86} x86_64
|
||||
%{_libdir}/dri/crocus_dri.so
|
||||
%{_libdir}/dri/i915_dri.so
|
||||
%{_libdir}/dri/iris_dri.so
|
||||
%endif
|
||||
%ifarch aarch64 x86_64 %{ix86}
|
||||
%{_libdir}/dri/ingenic-drm_dri.so
|
||||
%{_libdir}/dri/imx-drm_dri.so
|
||||
%{_libdir}/dri/imx-lcdif_dri.so
|
||||
%{_libdir}/dri/kirin_dri.so
|
||||
%{_libdir}/dri/komeda_dri.so
|
||||
%{_libdir}/dri/mali-dp_dri.so
|
||||
%{_libdir}/dri/mcde_dri.so
|
||||
%{_libdir}/dri/mxsfb-drm_dri.so
|
||||
%{_libdir}/dri/rcar-du_dri.so
|
||||
%{_libdir}/dri/stm_dri.so
|
||||
%endif
|
||||
%if 0%{?with_vc4}
|
||||
%{_libdir}/dri/vc4_dri.so
|
||||
%endif
|
||||
%if 0%{?with_v3d}
|
||||
%{_libdir}/dri/v3d_dri.so
|
||||
%endif
|
||||
%if 0%{?with_freedreno}
|
||||
%{_libdir}/dri/kgsl_dri.so
|
||||
%{_libdir}/dri/msm_dri.so
|
||||
%endif
|
||||
%if 0%{?with_etnaviv}
|
||||
%{_libdir}/dri/etnaviv_dri.so
|
||||
%endif
|
||||
%if 0%{?with_tegra}
|
||||
%{_libdir}/dri/tegra_dri.so
|
||||
%endif
|
||||
%if 0%{?with_lima}
|
||||
%{_libdir}/dri/lima_dri.so
|
||||
%endif
|
||||
%if 0%{?with_panfrost}
|
||||
%{_libdir}/dri/panfrost_dri.so
|
||||
%endif
|
||||
%{_libdir}/dri/nouveau_dri.so
|
||||
%if 0%{?with_vmware}
|
||||
%{_libdir}/dri/vmwgfx_dri.so
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?with_opencl}
|
||||
%dir %{_libdir}/gallium-pipe
|
||||
%{_libdir}/gallium-pipe/*.so
|
||||
%endif
|
||||
%if 0%{?with_kmsro}
|
||||
%{_libdir}/dri/armada-drm_dri.so
|
||||
%{_libdir}/dri/exynos_dri.so
|
||||
%{_libdir}/dri/hdlcd_dri.so
|
||||
%{_libdir}/dri/hx8357d_dri.so
|
||||
%{_libdir}/dri/ili9225_dri.so
|
||||
%{_libdir}/dri/ili9341_dri.so
|
||||
%{_libdir}/dri/imx-dcss_dri.so
|
||||
%{_libdir}/dri/mediatek_dri.so
|
||||
%{_libdir}/dri/meson_dri.so
|
||||
%{_libdir}/dri/mi0283qt_dri.so
|
||||
%{_libdir}/dri/pl111_dri.so
|
||||
%{_libdir}/dri/repaper_dri.so
|
||||
%{_libdir}/dri/rockchip_dri.so
|
||||
%{_libdir}/dri/st7586_dri.so
|
||||
%{_libdir}/dri/st7735r_dri.so
|
||||
%{_libdir}/dri/sun4i-drm_dri.so
|
||||
%endif
|
||||
%if 0%{?with_vulkan_hw}
|
||||
%{_libdir}/dri/zink_dri.so
|
||||
%endif
|
||||
|
||||
%if 0%{?with_omx}
|
||||
%files omx-drivers
|
||||
%{_libdir}/bellagio/libomx_mesa.so
|
||||
%endif
|
||||
|
||||
%if 0%{?with_va}
|
||||
%files va-drivers
|
||||
%{_libdir}/dri/nouveau_drv_video.so
|
||||
%if 0%{?with_r600}
|
||||
%{_libdir}/dri/r600_drv_video.so
|
||||
%endif
|
||||
%if 0%{?with_radeonsi}
|
||||
%{_libdir}/dri/radeonsi_drv_video.so
|
||||
%endif
|
||||
%{_libdir}/dri/virtio_gpu_drv_video.so
|
||||
%endif
|
||||
|
||||
%if 0%{?with_vdpau}
|
||||
%files vdpau-drivers
|
||||
%{_libdir}/vdpau/libvdpau_nouveau.so.1*
|
||||
%if 0%{?with_r600}
|
||||
%{_libdir}/vdpau/libvdpau_r600.so.1*
|
||||
%endif
|
||||
%if 0%{?with_radeonsi}
|
||||
%{_libdir}/vdpau/libvdpau_radeonsi.so.1*
|
||||
%endif
|
||||
%{_libdir}/vdpau/libvdpau_virtio_gpu.so.1*
|
||||
%endif
|
||||
|
||||
%files vulkan-drivers
|
||||
%{_libdir}/libvulkan_lvp.so
|
||||
%{_datadir}/vulkan/icd.d/lvp_icd.*.json
|
||||
%{_libdir}/libVkLayer_MESA_device_select.so
|
||||
%{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
|
||||
%if 0%{?with_vulkan_hw}
|
||||
%{_libdir}/libvulkan_radeon.so
|
||||
%ifarch aarch64 x86_64
|
||||
%{_datadir}/drirc.d/00-radv-defaults.conf
|
||||
%endif
|
||||
%{_datadir}/vulkan/icd.d/radeon_icd.*.json
|
||||
%{_libdir}/libvulkan_nouveau.so
|
||||
%{_datadir}/vulkan/icd.d/nouveau_icd.*.json
|
||||
%ifarch %{ix86} x86_64
|
||||
%{_libdir}/libvulkan_intel.so
|
||||
%{_datadir}/vulkan/icd.d/intel_icd.*.json
|
||||
%{_libdir}/libvulkan_intel_hasvk.so
|
||||
%{_datadir}/vulkan/icd.d/intel_hasvk_icd.*.json
|
||||
%endif
|
||||
%ifarch aarch64 x86_64 %{ix86}
|
||||
%{_libdir}/libvulkan_broadcom.so
|
||||
%{_datadir}/vulkan/icd.d/broadcom_icd.*.json
|
||||
%{_libdir}/libvulkan_freedreno.so
|
||||
%{_datadir}/vulkan/icd.d/freedreno_icd.*.json
|
||||
%{_libdir}/libvulkan_panfrost.so
|
||||
%{_datadir}/vulkan/icd.d/panfrost_icd.*.json
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
File diff suppressed because it is too large
Load Diff
@ -1,39 +0,0 @@
|
||||
From a077c14f150f1c4f670dce381ac2eb548f1a4ac2 Mon Sep 17 00:00:00 2001
|
||||
From: Alessandro Astone <ales.astone@gmail.com>
|
||||
Date: Wed, 10 Jan 2024 17:24:30 +0100
|
||||
Subject: [PATCH] zink: Fix resizable BAR detection logic
|
||||
|
||||
This was broken in two ways:
|
||||
* When looking for the MAX biggest_ram it was actually comparing
|
||||
a candidate against biggest_vis_ram
|
||||
|
||||
* mem_props.memoryTypes[] should be accessed with the memory type
|
||||
index as found in heap_map
|
||||
|
||||
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10341
|
||||
Cc: 23.3 <mesa-stable>
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26979>
|
||||
---
|
||||
src/gallium/drivers/zink/zink_screen.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c
|
||||
index 5a6d17cb4fa3..6697d7ab938c 100644
|
||||
--- a/src/gallium/drivers/zink/zink_screen.c
|
||||
+++ b/src/gallium/drivers/zink/zink_screen.c
|
||||
@@ -3258,10 +3258,10 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
|
||||
{
|
||||
uint64_t biggest_vis_vram = 0;
|
||||
for (unsigned i = 0; i < screen->heap_count[ZINK_HEAP_DEVICE_LOCAL_VISIBLE]; i++)
|
||||
- biggest_vis_vram = MAX2(biggest_vis_vram, screen->info.mem_props.memoryHeaps[screen->info.mem_props.memoryTypes[i].heapIndex].size);
|
||||
+ biggest_vis_vram = MAX2(biggest_vis_vram, screen->info.mem_props.memoryHeaps[screen->info.mem_props.memoryTypes[screen->heap_map[ZINK_HEAP_DEVICE_LOCAL_VISIBLE][i]].heapIndex].size);
|
||||
uint64_t biggest_vram = 0;
|
||||
for (unsigned i = 0; i < screen->heap_count[ZINK_HEAP_DEVICE_LOCAL]; i++)
|
||||
- biggest_vram = MAX2(biggest_vis_vram, screen->info.mem_props.memoryHeaps[screen->info.mem_props.memoryTypes[i].heapIndex].size);
|
||||
+ biggest_vram = MAX2(biggest_vram, screen->info.mem_props.memoryHeaps[screen->info.mem_props.memoryTypes[screen->heap_map[ZINK_HEAP_DEVICE_LOCAL][i]].heapIndex].size);
|
||||
/* determine if vis vram is roughly equal to total vram */
|
||||
if (biggest_vis_vram > biggest_vram * 0.9)
|
||||
screen->resizable_bar = true;
|
||||
--
|
||||
GitLab
|
||||
|
@ -0,0 +1,47 @@
|
||||
From 1c8d6300c3a64d124534182f92d6f714573e8821 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Wed, 31 Jan 2024 12:21:02 +0100
|
||||
Subject: [PATCH 1/2] Revert "spa: libcamera: bump minimum supported version to
|
||||
0.2.0"
|
||||
|
||||
This reverts commit 01cb3fa862d36adfded8f02540660b43b9c1584c.
|
||||
---
|
||||
spa/meson.build | 3 ++-
|
||||
spa/plugins/libcamera/libcamera-device.cpp | 2 ++
|
||||
2 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/spa/meson.build b/spa/meson.build
|
||||
index db0a84425..0ee750d6e 100644
|
||||
--- a/spa/meson.build
|
||||
+++ b/spa/meson.build
|
||||
@@ -96,8 +96,9 @@ if get_option('spa-plugins').allowed()
|
||||
endif
|
||||
summary({'Vulkan': have_vulkan}, bool_yn: true, section: 'Misc dependencies')
|
||||
|
||||
- libcamera_dep = dependency('libcamera', version: '>= 0.2.0', required: get_option('libcamera'))
|
||||
+ libcamera_dep = dependency('libcamera', required: get_option('libcamera'))
|
||||
summary({'libcamera': libcamera_dep.found()}, bool_yn: true, section: 'Backend')
|
||||
+ cdata.set('HAVE_LIBCAMERA_SYSTEM_DEVICES', libcamera_dep.version().version_compare('>= 0.1.0'))
|
||||
|
||||
compress_offload_option = get_option('compress-offload')
|
||||
summary({'Compress-Offload': compress_offload_option.allowed()}, bool_yn: true, section: 'Backend')
|
||||
diff --git a/spa/plugins/libcamera/libcamera-device.cpp b/spa/plugins/libcamera/libcamera-device.cpp
|
||||
index b25a4eb72..0abf2f619 100644
|
||||
--- a/spa/plugins/libcamera/libcamera-device.cpp
|
||||
+++ b/spa/plugins/libcamera/libcamera-device.cpp
|
||||
@@ -61,10 +61,12 @@ struct impl {
|
||||
static const libcamera::Span<const int64_t> cameraDevice(
|
||||
const Camera *camera)
|
||||
{
|
||||
+#ifdef HAVE_LIBCAMERA_SYSTEM_DEVICES
|
||||
const ControlList &props = camera->properties();
|
||||
|
||||
if (auto devices = props.get(properties::SystemDevices))
|
||||
return devices.value();
|
||||
+#endif
|
||||
|
||||
return {};
|
||||
}
|
||||
--
|
||||
2.43.0
|
||||
|
@ -0,0 +1,71 @@
|
||||
From 20dd33d5b68f6007c41a7ffccf37aeb25aa9a920 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Wed, 31 Jan 2024 12:21:08 +0100
|
||||
Subject: [PATCH 2/2] Revert "spa: libcamera: use
|
||||
`CameraConfiguration::orientation`"
|
||||
|
||||
This reverts commit fd33d2d3bb6333c7d6e74cbaa806bff2d908f589.
|
||||
---
|
||||
spa/plugins/libcamera/libcamera-utils.cpp | 36 ++++++++++++-----------
|
||||
1 file changed, 19 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/spa/plugins/libcamera/libcamera-utils.cpp b/spa/plugins/libcamera/libcamera-utils.cpp
|
||||
index c197248d3..2b1aea5a7 100644
|
||||
--- a/spa/plugins/libcamera/libcamera-utils.cpp
|
||||
+++ b/spa/plugins/libcamera/libcamera-utils.cpp
|
||||
@@ -716,23 +716,25 @@ static int spa_libcamera_use_buffers(struct impl *impl, struct port *port,
|
||||
}
|
||||
|
||||
static const struct {
|
||||
- Orientation libcamera_orientation; /* clockwise rotation then horizontal mirroring */
|
||||
- uint32_t spa_transform_value; /* horizontal mirroring then counter-clockwise rotation */
|
||||
-} orientation_map[] = {
|
||||
- { Orientation::Rotate0, SPA_META_TRANSFORMATION_None },
|
||||
- { Orientation::Rotate0Mirror, SPA_META_TRANSFORMATION_Flipped },
|
||||
- { Orientation::Rotate90, SPA_META_TRANSFORMATION_270 },
|
||||
- { Orientation::Rotate90Mirror, SPA_META_TRANSFORMATION_Flipped90 },
|
||||
- { Orientation::Rotate180, SPA_META_TRANSFORMATION_180 },
|
||||
- { Orientation::Rotate180Mirror, SPA_META_TRANSFORMATION_Flipped180 },
|
||||
- { Orientation::Rotate270, SPA_META_TRANSFORMATION_90 },
|
||||
- { Orientation::Rotate270Mirror, SPA_META_TRANSFORMATION_Flipped270 },
|
||||
+ Transform libcamera_transform;
|
||||
+ uint32_t spa_transform_value;
|
||||
+} transform_map[] = {
|
||||
+ { Transform::Identity, SPA_META_TRANSFORMATION_None },
|
||||
+ { Transform::Rot0, SPA_META_TRANSFORMATION_None },
|
||||
+ { Transform::HFlip, SPA_META_TRANSFORMATION_Flipped },
|
||||
+ { Transform::VFlip, SPA_META_TRANSFORMATION_Flipped180 },
|
||||
+ { Transform::HVFlip, SPA_META_TRANSFORMATION_180 },
|
||||
+ { Transform::Rot180, SPA_META_TRANSFORMATION_180 },
|
||||
+ { Transform::Transpose, SPA_META_TRANSFORMATION_Flipped90 },
|
||||
+ { Transform::Rot90, SPA_META_TRANSFORMATION_90 },
|
||||
+ { Transform::Rot270, SPA_META_TRANSFORMATION_270 },
|
||||
+ { Transform::Rot180Transpose, SPA_META_TRANSFORMATION_Flipped270 },
|
||||
};
|
||||
|
||||
-static uint32_t libcamera_orientation_to_spa_transform_value(Orientation orientation)
|
||||
+static uint32_t libcamera_transform_to_spa_transform_value(Transform transform)
|
||||
{
|
||||
- for (const auto& t : orientation_map) {
|
||||
- if (t.libcamera_orientation == orientation)
|
||||
+ for (const auto& t : transform_map) {
|
||||
+ if (t.libcamera_transform == transform)
|
||||
return t.spa_transform_value;
|
||||
}
|
||||
return SPA_META_TRANSFORMATION_None;
|
||||
@@ -786,9 +788,9 @@ mmap_init(struct impl *impl, struct port *port,
|
||||
buffers[i], SPA_META_VideoTransform, sizeof(*b->videotransform));
|
||||
if (b->videotransform) {
|
||||
b->videotransform->transform =
|
||||
- libcamera_orientation_to_spa_transform_value(impl->config->orientation);
|
||||
- spa_log_debug(impl->log, "Setting videotransform for buffer %u to %u",
|
||||
- i, b->videotransform->transform);
|
||||
+ libcamera_transform_to_spa_transform_value(impl->config->transform);
|
||||
+ spa_log_debug(impl->log, "Setting videotransform for buffer %d to %u (from %s)",
|
||||
+ i, b->videotransform->transform, transformToString(impl->config->transform));
|
||||
|
||||
}
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
@ -1,6 +1,6 @@
|
||||
%global majorversion 1
|
||||
%global minorversion 0
|
||||
%global microversion 1
|
||||
%global microversion 3
|
||||
|
||||
%global apiversion 0.3
|
||||
%global spaversion 0.2
|
||||
@ -77,13 +77,15 @@ Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{ver
|
||||
Source1: pipewire.sysusers
|
||||
|
||||
## upstream patches
|
||||
Patch0001: 0001-Revert-spa-libcamera-bump-minimum-supported-version-.patch
|
||||
Patch0002: 0002-Revert-spa-libcamera-use-CameraConfiguration-orienta.patch
|
||||
|
||||
# Holo: TODO: Bug reference
|
||||
Patch0: bc435841c141ad38768b6cb1a7ad45e8bb13c7d2.patch
|
||||
Patch10: bc435841c141ad38768b6cb1a7ad45e8bb13c7d2.patch
|
||||
# Holo: TODO: Bug reference
|
||||
#Patch1: acf7c0af0bf31b937c41e916a73c67ae0a253632.patch
|
||||
#Patch20: acf7c0af0bf31b937c41e916a73c67ae0a253632.patch
|
||||
# Holo: upstream MR 1792
|
||||
Patch2: 0001-Bluez5-backend-native-HSP-AG-release-SCO-link-on-AT-.patch
|
||||
Patch30: 0001-Bluez5-backend-native-HSP-AG-release-SCO-link-on-AT-.patch
|
||||
|
||||
## upstreamable patches
|
||||
|
||||
|
@ -88,7 +88,6 @@ process-scheduler enable=true {
|
||||
fancontrol.py
|
||||
gamemoderun
|
||||
gamescope
|
||||
handycon
|
||||
hhd
|
||||
input-remapper-service
|
||||
ionice
|
||||
|
@ -1,9 +1,9 @@
|
||||
*Using a handheld other than the Steam Deck?* Be sure to follow our [alternative handheld documentation](https://github.com/ublue-os/bazzite#alternative-handhelds).
|
||||
*Having issues with controls on a handheld other than the Steam Deck?* Be sure to read the [hhd after install guide](https://github.com/hhd-dev/hhd#after-install).
|
||||
*Using a handheld other than the Steam Deck?*~Be sure to follow our [alternative handheld documentation](https://github.com/ublue-os/bazzite#alternative-handhelds).
|
||||
*Having issues with controls on a handheld other than the Steam Deck?*~Be sure to read the [hhd after install guide](https://github.com/hhd-dev/hhd#after-install).
|
||||
*Want to install Decky Loader?* There's a `ujust` command for that! `ujust get-decky`
|
||||
The updater built into Steam game mode has been modified to update Bazzite, Flatpaks, and Distrobox containers. *Just ignore the changelog.*
|
||||
*Install a game with Lutris?* Right click on it and `Create steam shortcut` to easily play it in Steam game mode.
|
||||
*Games missing icons?* The `SteamGridDB` plugin for Decky Loader makes it easy to add missing art - [More info](https://github.com/SteamGridDB/decky-steamgriddb)
|
||||
*Confused about what games are compatible with Linux?* The `ProtonDB Badges` plugin for Decky Loader adds community-powered game compatibility badges to your entire Steam Library - [More info](https://github.com/OMGDuke/protondb-decky)
|
||||
*Games missing icons?* The `SteamGridDB` plugin for Decky Loader makes it easy to add missing art~[More info](https://github.com/SteamGridDB/decky-steamgriddb)
|
||||
*Confused about what games are compatible with Linux?* The `ProtonDB Badges` plugin for Decky Loader adds community-powered game compatibility badges to your entire Steam Library~[More info](https://github.com/OMGDuke/protondb-decky)
|
||||
*Looking for more security?* Tailscale and OpenVPN are built in, and can be controlled from Steam game mode by the `Tailscale Control` and `TunnelDeck` Decky loader plugins. Other VPN solutions can be layered with `rpm-ostree`.
|
||||
*Using a handheld that doesn't have enough buttons?* Steam game mode now supports touch gestures to slide out the menus, thanks to [ChimeraOS](https://chimeraos.org/).
|
@ -0,0 +1,55 @@
|
||||
# Copyright (C) 2020 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
#
|
||||
# Steam Deck Controller - USB
|
||||
#
|
||||
|
||||
# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
|
||||
|
||||
key 304 BUTTON_A
|
||||
key 305 BUTTON_B
|
||||
key 307 BUTTON_X
|
||||
key 308 BUTTON_Y
|
||||
|
||||
key 310 BUTTON_L1
|
||||
key 311 BUTTON_R1
|
||||
|
||||
# Triggers.
|
||||
axis 0x02 LTRIGGER
|
||||
axis 0x05 RTRIGGER
|
||||
|
||||
# Left and right stick.
|
||||
axis 0x00 X
|
||||
axis 0x01 Y
|
||||
|
||||
# Right stick / mousepad
|
||||
axis 0x03 Z
|
||||
axis 0x04 RZ
|
||||
|
||||
key 317 BUTTON_THUMBL
|
||||
key 318 BUTTON_THUMBR
|
||||
|
||||
# Hat.
|
||||
axis 0x10 HAT_X
|
||||
axis 0x11 HAT_Y
|
||||
|
||||
# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
|
||||
# Left arrow
|
||||
key 314 BUTTON_SELECT
|
||||
# Right arrow
|
||||
key 315 BUTTON_START
|
||||
|
||||
# Steam key
|
||||
key 316 BUTTON_MODE
|
@ -1,3 +1,3 @@
|
||||
*Want an animated wallpaper?* The Wallpaper Engine plugin for KDE is pre-installed - [View the usage guide](https://github.com/catsout/wallpaper-engine-kde-plugin#usage)
|
||||
*Want an animated wallpaper?* The Wallpaper Engine plugin for KDE is pre-installed~[View the usage guide](https://github.com/catsout/wallpaper-engine-kde-plugin#usage)
|
||||
*Rather use KDE Konsole?* You can restore the application icon for it with `ujust restore-original-terminal`. Be sure to also change the default terminal in System Settings.
|
||||
ProtonUp-Qt can be used to install and update custom versions of Proton. We recommend Proton-GE for problematic Steam games and Wine-GE for all other use cases outside of Steam.
|
||||
|
@ -1,7 +1,6 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
source /etc/default/waydroid-launcher
|
||||
source /etc/default/steamos-nested-desktop
|
||||
|
||||
# Kill any previous remnants
|
||||
if [ "$(systemctl is-active waydroid-container.service)" == 'active' ]; then
|
||||
@ -17,7 +16,7 @@ fi
|
||||
killall -9 weston
|
||||
pkexec /usr/libexec/waydroid-container-start
|
||||
if [ -z "$(pgrep wlr-randr)" ]; then
|
||||
cage -- bash -c "wlr-randr --output X11-1 --custom-mode ${STEAMOS_NESTED_DESKTOP_WIDTH:-1280}x${STEAMOS_NESTED_DESKTOP_HEIGHT:-800}; sleep 1; waydroid show-full-ui &> /dev/null &"
|
||||
cage -- bash -c "wlr-randr --output X11-1 --custom-mode ${WAYDROID_WIDTH:-1280}x${WAYDROID_HEIGHT:-800}; sleep 1; waydroid show-full-ui &> /dev/null &"
|
||||
fi
|
||||
|
||||
# Fix controllers, we know Waydroid has started because surfaceflinger is running
|
||||
|
@ -8,7 +8,7 @@ case "$(cat /sys/devices/virtual/dmi/id/product_name)" in
|
||||
"Jupiter" | "Galileo" | "AYANEO GEEK" | "G1619-05")
|
||||
STEAMOS_NESTED_DESKTOP_WIDTH=1280
|
||||
STEAMOS_NESTED_DESKTOP_HEIGHT=800 ;;
|
||||
"ROG Ally RC71L_RC71L" | "G1618-04" | "G1617-01" | "Loki Max")
|
||||
"ROG Ally RC71L_RC71L" | "ROG Ally RC71L" | "G1618-04" | "G1617-01" | "Loki Max")
|
||||
STEAMOS_NESTED_DESKTOP_WIDTH=1920
|
||||
STEAMOS_NESTED_DESKTOP_HEIGHT=1080 ;;
|
||||
"AYANEO 2" | "AYANEO 2S" | "AOKZOE A1 AR07" | "G1619-04" | "AIR Plus")
|
||||
|
@ -1,2 +1,29 @@
|
||||
WAYDROID_DENSITY=215
|
||||
# Adjust the below values to set the resolution for devices not explicitly checked for.
|
||||
# This includes all laptops, all desktops, and some handhelds.
|
||||
WAYDROID_UNKNOWN_WIDTH=1920
|
||||
WAYDROID_UNKNOWN_HEIGHT=1080
|
||||
WAYDROID_GRALLOC=minigbm_gbm_mesa
|
||||
|
||||
# Handle nested desktop resolution for known devices.
|
||||
case "$(cat /sys/devices/virtual/dmi/id/product_name)" in
|
||||
"Jupiter" | "Galileo" | "AYANEO GEEK" | "G1619-05")
|
||||
WAYDROID_WIDTH=1280
|
||||
WAYDROID_HEIGHT=800
|
||||
WAYDROID_DENSITY=215 ;;
|
||||
"ROG Ally RC71L_RC71L" | "G1618-04" | "G1617-01" | "Loki Max")
|
||||
WAYDROID_WIDTH=1920
|
||||
WAYDROID_HEIGHT=1080 ;;
|
||||
"AYANEO 2" | "AYANEO 2S" | "AOKZOE A1 AR07" | "G1619-04" | "AIR Plus")
|
||||
WAYDROID_WIDTH=1920
|
||||
WAYDROID_HEIGHT=1200 ;;
|
||||
"83E1")
|
||||
WAYDROID_WIDTH=2560
|
||||
WAYDROID_HEIGHT=1600
|
||||
WAYDROID_DENSITY=340 ;;
|
||||
"Win600")
|
||||
WAYDROID_WIDTH=1280
|
||||
WAYDROID_HEIGHT=720 ;;
|
||||
*)
|
||||
WAYDROID_WIDTH=$WAYDROID_UNKNOWN_WIDTH
|
||||
WAYDROID_HEIGHT=$WAYDROID_UNKNOWN_HEIGHT ;;
|
||||
esac
|
@ -7,7 +7,7 @@ IMAGE_FLAVOR=$(jq -r '."image-flavor"' < $IMAGE_INFO)
|
||||
FEDORA_VERSION=$(jq -r '."fedora-version"' < $IMAGE_INFO)
|
||||
|
||||
# SCRIPT VERSION
|
||||
HWS_VER=28
|
||||
HWS_VER=29
|
||||
HWS_VER_FILE="/etc/bazzite/hws_version"
|
||||
HWS_VER_RAN=$(cat $HWS_VER_FILE)
|
||||
|
||||
@ -182,13 +182,6 @@ if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" || $IMAGE_NAME =~ "framegam
|
||||
systemctl enable --now ds-inhibit.service
|
||||
else
|
||||
echo "Generic device detected. Performing setup..."
|
||||
if /usr/libexec/hardware/hhd-supported-hardware; then
|
||||
echo "HHD supported handheld detected, disabling handycon"
|
||||
systemctl disable --now handycon.service
|
||||
elif /usr/libexec/hardware/handycon-supported-hardware; then
|
||||
echo "HandyGCCS supported handheld detected, enabling handycon"
|
||||
systemctl enable --now handycon.service
|
||||
fi
|
||||
systemctl disable --now jupiter-fan-control.service
|
||||
systemctl disable --now vpower.service
|
||||
systemctl disable --now jupiter-biosupdate.service
|
||||
|
@ -10,7 +10,7 @@ BAZZITE_CONFIG_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/bazzite"
|
||||
mkdir -p "$BAZZITE_CONFIG_DIR"
|
||||
|
||||
# SCRIPT VERSION
|
||||
USER_SETUP_VER=28
|
||||
USER_SETUP_VER=29
|
||||
USER_SETUP_VER_FILE="$BAZZITE_CONFIG_DIR/version"
|
||||
USER_SETUP_FEDORA_VER_FILE="$BAZZITE_CONFIG_DIR/fedora_version"
|
||||
USER_SETUP_IMAGE_VER_FILE=$BAZZITE_CONFIG_DIR/image_name""
|
||||
|
@ -1,8 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
# Returns true for hardware that is supported by Handycon exclusively.
|
||||
SYS_ID="$(cat /sys/devices/virtual/dmi/id/product_name)"
|
||||
if [[ ":AYANEO GEEK:AYANEO 2:AYANEO 2S:AOKZOE A1 AR07:G1619-04:Win600:Loki Max:" =~ ":$SYS_ID:" ]]; then
|
||||
exit 0
|
||||
else
|
||||
exit 1
|
||||
fi
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/bash
|
||||
# Returns true for hardware that is supported by HHD
|
||||
SYS_ID="$(cat /sys/devices/virtual/dmi/id/product_name)"
|
||||
if [[ ":ROG Ally RC71L_RC71L:83E1:G1618-04:G1617-01:G1619-05:AIR Plus:" =~ ":$SYS_ID:" ]]; then
|
||||
if [[ ":ROG Ally RC71L_RC71L:ROG Ally RC71L:83E1:G1618-04:G1617-01:G1619-05:AIR Plus:AYANEO GEEK:AYANEO 2:AYANEO 2S:AOKZOE A1 AR07:G1619-04:Win600:Loki Max:" =~ ":$SYS_ID:" ]]; then
|
||||
exit 0
|
||||
else
|
||||
exit 1
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/bash
|
||||
# Returns true for hardware that needs a rotation fix in KDE
|
||||
SYS_ID="$(cat /sys/devices/virtual/dmi/id/product_name)"
|
||||
if [[ ":ROG Ally RC71L_RC71L:83E1:Loki Max:G1618-04:" =~ ":$SYS_ID:" ]]; then
|
||||
if [[ ":ROG Ally RC71L_RC71L:ROG Ally RC71L:83E1:Loki Max:G1618-04:" =~ ":$SYS_ID:" ]]; then
|
||||
exit 0
|
||||
else
|
||||
exit 1
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/bash
|
||||
# Returns true for hardware that is supported by SimpleDeckyTDP
|
||||
SYS_ID="$(cat /sys/devices/virtual/dmi/id/product_name)"
|
||||
if [[ ":ROG Ally RC71L_RC71L:83E1:G1618-04:G1617-01:G1619-05:AIR Plus:" =~ ":$SYS_ID:" ]]; then
|
||||
if [[ ":ROG Ally RC71L_RC71L:ROG Ally RC71L:83E1:G1618-04:G1617-01:G1619-05:AIR Plus:" =~ ":$SYS_ID:" ]]; then
|
||||
exit 0
|
||||
else
|
||||
exit 1
|
||||
|
@ -23,5 +23,5 @@ if [[ -f "$TIP_FILE" ]]; then
|
||||
|
||||
TIP_ESCAPED=$(escape "$TIP")
|
||||
|
||||
sed -e "s/%IMAGE_NAME%/$IMAGE_NAME_ESCAPED/g" -e "s/%IMAGE_TAG%/$IMAGE_TAG_ESCAPED/g" -e "s/%TIP%/$TIP_ESCAPED/g" /usr/share/ublue-os/motd/bazzite.md | /usr/bin/glow -s auto -
|
||||
sed -e "s/%IMAGE_NAME%/$IMAGE_NAME_ESCAPED/g" -e "s/%IMAGE_TAG%/$IMAGE_TAG_ESCAPED/g" -e "s/%TIP%/$TIP_ESCAPED/g" /usr/share/ublue-os/motd/bazzite.md | tr '~' '\n' | /usr/bin/glow -s auto -
|
||||
fi
|
||||
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
source /etc/default/waydroid-launcher
|
||||
source /etc/default/steamos-nested-desktop
|
||||
|
||||
# Ensure needed props are present
|
||||
if ! grep -q "persist.waydroid.udev=true" "/var/lib/waydroid/waydroid_base.prop"; then
|
||||
@ -11,7 +12,15 @@ if ! grep -q "persist.waydroid.uevent=true" "/var/lib/waydroid/waydroid_base.pro
|
||||
sudo sh -c 'echo -e "persist.waydroid.uevent=true" >> /var/lib/waydroid/waydroid_base.prop'
|
||||
fi
|
||||
|
||||
sudo sed -i "s/ro.sf.lcd_density=.*/ro.sf.lcd_density=${WAYDROID_DENSITY:-215}/g" /var/lib/waydroid/waydroid_base.prop
|
||||
if [[ ! -z "$WAYDROID_DENSITY" ]]; then
|
||||
sudo sed -i "s/ro.sf.lcd_density=.*/ro.sf.lcd_density=${WAYDROID_DENSITY}/g" /var/lib/waydroid/waydroid_base.prop
|
||||
fi
|
||||
sudo sed -i "s/ro.hardware.gralloc=.*/ro.hardware.gralloc=${WAYDROID_GRALLOC:-minigbm_gbm_mesa}/g" /var/lib/waydroid/waydroid_base.prop
|
||||
|
||||
# Add controller fixes automatically
|
||||
if [[ -f "/usr/share/ublue-os/waydroid/Vendor_28de_Product_11ff.kl" ]]; then
|
||||
mkdir -p "/var/lib/waydroid/overlay/system/usr/keylayout"
|
||||
cp "/usr/share/ublue-os/waydroid/Vendor_28de_Product_11ff.kl" "/var/lib/waydroid/overlay/system/usr/keylayout/"
|
||||
fi
|
||||
|
||||
sudo systemctl start waydroid-container.service
|
||||
|
@ -1,3 +1,3 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
sudo sh -c 'for i in $(seq 7 9); do echo add > /sys/class/input/event$i/uevent; done'
|
||||
sudo sh -c 'echo add > /sys/devices/virtual/input/input*/event*/uevent'
|
||||
|
@ -1,7 +1,7 @@
|
||||
It is **always** better to install packages with Distrobox rather than layer them with rpm-ostree. `ujust distrobox` makes it easy! - [More about supported packages](https://universal-blue.discourse.group/docs?topic=35)
|
||||
Packages installed in Distrobox can be exported to appear like any other application - [View documentation](https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-export.md).
|
||||
*Update break something?* You can roll back and pin the previous release or rebase by build date - [View our guide](https://universal-blue.discourse.group/docs?topic=36).
|
||||
*This isn't a distro*, this is a custom image built on Fedora Atomic Desktop technology - [View our mission](https://universal-blue.org/mission/)
|
||||
*Looking to dual-boot with Windows?* [Check out our dual booting guide](https://universal-blue.discourse.group/docs?topic=129).
|
||||
**Support the app store!** [Donate to Flatpak](https://opencollective.com/flatpak)
|
||||
It is **always** better to install packages with Distrobox rather than layer them with rpm-ostree. `ujust distrobox` makes it easy!~[More about supported packages](https://universal-blue.discourse.group/docs?topic=35)
|
||||
Packages installed in Distrobox can be exported to appear like any other application~[View documentation](https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-export.md)
|
||||
*Update break something?* You can roll back and pin the previous release or rebase by build date~[View our guide](https://universal-blue.discourse.group/docs?topic=36)
|
||||
*This isn't a distro*, this is a custom image built on Fedora Atomic Desktop technology~[View our mission](https://ublue.it/mission/)
|
||||
*Looking to dual-boot with Windows?*~[Check out our dual booting guide](https://universal-blue.discourse.group/docs?topic=129)
|
||||
**Support the app store!**~[Donate to Flatpak](https://opencollective.com/flatpak)
|
||||
**H.264 hardware acceleration is supported out of the box.** No tweaks necessary!
|
||||
|
@ -1,12 +1,12 @@
|
||||
*Installing a Windows game that isn't on Steam?* Lutris is pre-installed and recommended for better handling of wine prefixes - [View gaming guide](https://universal-blue.discourse.group/docs?topic=31)
|
||||
BTRFS is used by default for external drives, and we recommend that or EXT4 over NTFS in all circumstances - [More info](https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows)
|
||||
*Installing a Windows game that isn't on Steam?* Lutris is pre-installed and recommended for better handling of wine prefixes~[View gaming guide](https://universal-blue.discourse.group/docs?topic=31)
|
||||
BTRFS is used by default for external drives, and we recommend that or EXT4 over NTFS in all circumstances~[More info](https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows)
|
||||
*No Flatpak or distro packaging available?* The Gear Lever app is included to make managing and integrating AppImages easy!
|
||||
*Want to control your device from your phone?* The KDE Connect app functions with all Bazzite images - [More info](https://kdeconnect.kde.org/)
|
||||
*Trying to use Feral Gamemode?* System76-Scheduler in Bazzite replaces it, offering automatic nice value adjustments for applications based on the currently focused window and preconfigured rules - [More info](https://github.com/pop-os/system76-scheduler#scheduler-config)
|
||||
Discover Overlay is preinstalled, allowing Discord to overlay your games during voice chats - [More info](https://trigg.github.io/Discover/)
|
||||
*Looking to setup Waydroid?* - [View our documentation](https://universal-blue.discourse.group/docs?topic=32)
|
||||
*Want to control your device from your phone?* The KDE Connect app functions with all Bazzite images~[More info](https://kdeconnect.kde.org/)
|
||||
*Trying to use Feral Gamemode?* System76-Scheduler in Bazzite replaces it, offering automatic nice value adjustments for applications based on the currently focused window and preconfigured rules~[More info](https://github.com/pop-os/system76-scheduler#scheduler-config)
|
||||
Discover Overlay is preinstalled, allowing Discord to overlay your games during voice chats~[More info](https://trigg.github.io/Discover/)
|
||||
*Looking to setup Waydroid?*~[View our documentation](https://universal-blue.discourse.group/docs?topic=32)
|
||||
Bazzite uses ZSTD compression in BTRFS by default, and deduplicates files across your entire drive. **More space for your games!**
|
||||
*Have a large library of ROMs to manage?* ROM Properties Page shell extension is installed by default and makes it much easier, with thumbnails and additional info for all of your files.
|
||||
*Need more control over your Flatpaks?* Check out the Warehouse and Flatseal applications to manage them.
|
||||
*Want more tips and tricks?* - [View Documentation](https://universal-blue.discourse.group/docs?topic=287)
|
||||
*Desktop users: Want a to easily customize MangoHud and vkBasalt?* Use the GOverlay application as a graphical user interface to adjust settings.
|
||||
*Want more tips and tricks?*~[View Documentation](https://universal-blue.discourse.group/docs?topic=287)
|
||||
*Desktop users: Want to easily customize MangoHud and vkBasalt?* Use the GOverlay application as a graphical user interface to adjust settings.
|
Loading…
x
Reference in New Issue
Block a user