From 0848d6c89defb95966deeecd1c61352deccbeaec Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Sat, 25 Apr 2026 14:28:02 -0400 Subject: New CPU + Cleanup --- hosts/iroha/gentoo/make.conf | 8 +- .../package.accept_keywords/OpenTabletDriver | 1 + hosts/iroha/gentoo/package.accept_keywords/clinfo | 1 + hosts/iroha/gentoo/package.accept_keywords/firefox | 4 + hosts/iroha/gentoo/package.accept_keywords/foot | 1 + .../iroha/gentoo/package.accept_keywords/gamescope | 1 + .../gentoo/package.accept_keywords/gentoo-sources | 1 + hosts/iroha/gentoo/package.accept_keywords/gimp | 1 + hosts/iroha/gentoo/package.accept_keywords/go | 1 + hosts/iroha/gentoo/package.accept_keywords/kitty | 3 + hosts/iroha/gentoo/package.accept_keywords/krita | 1 + hosts/iroha/gentoo/package.accept_keywords/lact | 1 + .../gentoo/package.accept_keywords/libdisplay-info | 1 + .../libva-intel-media-driver | 1 + .../gentoo/package.accept_keywords/linux-firmware | 1 + hosts/iroha/gentoo/package.accept_keywords/lutris | 3 - hosts/iroha/gentoo/package.accept_keywords/makemkv | 1 + hosts/iroha/gentoo/package.accept_keywords/mesa | 3 +- .../iroha/gentoo/package.accept_keywords/moonlight | 1 + .../gentoo/package.accept_keywords/nvidia-drivers | 1 + .../iroha/gentoo/package.accept_keywords/osu-lazer | 1 - .../iroha/gentoo/package.accept_keywords/pipewire | 2 + hosts/iroha/gentoo/package.accept_keywords/rpcs3 | 1 - hosts/iroha/gentoo/package.accept_keywords/ryujinx | 1 - hosts/iroha/gentoo/package.accept_keywords/scx | 2 + .../gentoo/package.accept_keywords/sdl-jstest | 2 + .../package.accept_keywords/sdl2-gamepad-mapper | 1 + hosts/iroha/gentoo/package.accept_keywords/shotcut | 1 - .../gentoo/package.accept_keywords/showmethekey | 1 + .../iroha/gentoo/package.accept_keywords/sunshine | 1 + hosts/iroha/gentoo/package.accept_keywords/sway | 3 +- hosts/iroha/gentoo/package.accept_keywords/vim | 5 +- hosts/iroha/gentoo/package.accept_keywords/vkroots | 1 - hosts/iroha/gentoo/package.accept_keywords/wine | 1 + .../gentoo/package.accept_keywords/winetricks | 1 + hosts/iroha/gentoo/package.accept_keywords/wlrobs | 2 +- hosts/iroha/gentoo/package.accept_keywords/wlroots | 1 + hosts/iroha/gentoo/package.accept_keywords/wolfssl | 1 - hosts/iroha/gentoo/package.env/libsdl2 | 1 + hosts/iroha/gentoo/package.env/mesa | 2 + hosts/iroha/gentoo/package.env/rpcs3 | 1 + hosts/iroha/gentoo/package.env/sunshine | 1 + hosts/iroha/gentoo/package.license/chromium | 1 + .../package.license/libva-intel-media-driver | 1 + hosts/iroha/gentoo/package.license/makemkv | 1 + hosts/iroha/gentoo/package.license/nvidia-drivers | 1 + hosts/iroha/gentoo/package.mask/chromium | 1 - hosts/iroha/gentoo/package.mask/ffmpeg | 1 + hosts/iroha/gentoo/package.mask/nvidia-drivers | 1 + hosts/iroha/gentoo/package.unmask/mesa | 1 - hosts/iroha/gentoo/package.use/00cpu-flags | 2 +- hosts/iroha/gentoo/package.use/00video-cards | 2 +- hosts/iroha/gentoo/package.use/Alien-Build | 1 - hosts/iroha/gentoo/package.use/HTTP-CookieJar | 1 - hosts/iroha/gentoo/package.use/Net-HTTP | 1 - hosts/iroha/gentoo/package.use/Net-SSLeay | 1 - hosts/iroha/gentoo/package.use/Path-Tiny | 1 - hosts/iroha/gentoo/package.use/Try-Tiny | 1 - hosts/iroha/gentoo/package.use/XML-LibXML | 1 - hosts/iroha/gentoo/package.use/ardour | 1 - hosts/iroha/gentoo/package.use/binutils | 1 + hosts/iroha/gentoo/package.use/blender | 3 - hosts/iroha/gentoo/package.use/chromium | 6 - .../gentoo/package.use/compiler-rt-sanitizers | 2 +- hosts/iroha/gentoo/package.use/discord | 1 + hosts/iroha/gentoo/package.use/elfutils | 2 +- hosts/iroha/gentoo/package.use/ffmpeg | 2 +- hosts/iroha/gentoo/package.use/flac | 1 - hosts/iroha/gentoo/package.use/gdb | 1 + hosts/iroha/gentoo/package.use/gdk-pixbuf | 1 + hosts/iroha/gentoo/package.use/gftp | 1 + hosts/iroha/gentoo/package.use/gimp | 7 +- hosts/iroha/gentoo/package.use/gnome-keyring | 1 + hosts/iroha/gentoo/package.use/gst-plugins-bad | 1 + hosts/iroha/gentoo/package.use/gst-plugins-base | 2 +- hosts/iroha/gentoo/package.use/gst-plugins-meta | 1 + hosts/iroha/gentoo/package.use/harfbuzz | 2 +- hosts/iroha/gentoo/package.use/kbd | 1 + hosts/iroha/gentoo/package.use/kde | 2 + hosts/iroha/gentoo/package.use/krita | 1 + hosts/iroha/gentoo/package.use/lact | 3 + hosts/iroha/gentoo/package.use/librsvg | 1 - hosts/iroha/gentoo/package.use/libxml2 | 2 +- hosts/iroha/gentoo/package.use/looking-glass | 1 + hosts/iroha/gentoo/package.use/moonlight | 3 + hosts/iroha/gentoo/package.use/ncurses | 2 +- hosts/iroha/gentoo/package.use/ngtcp2 | 1 + hosts/iroha/gentoo/package.use/nodejs | 2 +- hosts/iroha/gentoo/package.use/noto | 2 +- hosts/iroha/gentoo/package.use/nvidia-drivers | 6 +- hosts/iroha/gentoo/package.use/obs-studio | 2 +- hosts/iroha/gentoo/package.use/opencv | 1 + hosts/iroha/gentoo/package.use/perl | 10 + hosts/iroha/gentoo/package.use/pipewire | 2 +- hosts/iroha/gentoo/package.use/protobuf | 1 + hosts/iroha/gentoo/package.use/protontricks | 1 + hosts/iroha/gentoo/package.use/qemu | 6 +- hosts/iroha/gentoo/package.use/qt | 4 +- hosts/iroha/gentoo/package.use/rpcs3 | 1 + hosts/iroha/gentoo/package.use/rtmidi | 1 + hosts/iroha/gentoo/package.use/rust | 1 + hosts/iroha/gentoo/package.use/sdl2-gamepad-mapper | 1 + hosts/iroha/gentoo/package.use/steam | 7 +- hosts/iroha/gentoo/package.use/sunshine | 2 + hosts/iroha/gentoo/package.use/talloc | 1 + hosts/iroha/gentoo/package.use/vim | 3 +- hosts/iroha/gentoo/package.use/vulkan-tools | 1 + hosts/iroha/gentoo/package.use/wine | 3 +- hosts/iroha/gentoo/package.use/winetricks | 1 + hosts/iroha/gentoo/package.use/wlroots | 2 +- .../gentoo/package.use/xdg-desktop-portal-gtk | 1 + hosts/iroha/gentoo/package.use/xemu | 1 + hosts/iroha/gentoo/package.use/yt-dlp | 1 + .../app-emulation/winetricks/dotnet8_0-update.diff | 56 ++ .../app-misc/neofetch/neofetch_foot_font.diff | 14 + .../app-misc/neofetch/neofetch_sway_version.diff | 20 + .../patches/games-util/mangohud/jc42_ram_temp.diff | 14 + .../gentoo/patches/gui-wm/gamescope/1826.diff | 84 --- .../patches/gui-wm/gamescope/740_rebase.diff | 693 --------------------- .../media-gfx/gimp/accumulate_scroll_zoom.diff | 154 +++++ .../gentoo/profile/package.use.force/force.conf | 1 + 121 files changed, 402 insertions(+), 839 deletions(-) create mode 100644 hosts/iroha/gentoo/package.accept_keywords/OpenTabletDriver create mode 100644 hosts/iroha/gentoo/package.accept_keywords/clinfo create mode 100644 hosts/iroha/gentoo/package.accept_keywords/firefox create mode 100644 hosts/iroha/gentoo/package.accept_keywords/foot create mode 100644 hosts/iroha/gentoo/package.accept_keywords/gentoo-sources create mode 100644 hosts/iroha/gentoo/package.accept_keywords/gimp create mode 100644 hosts/iroha/gentoo/package.accept_keywords/go create mode 100644 hosts/iroha/gentoo/package.accept_keywords/kitty create mode 100644 hosts/iroha/gentoo/package.accept_keywords/krita create mode 100644 hosts/iroha/gentoo/package.accept_keywords/lact create mode 100644 hosts/iroha/gentoo/package.accept_keywords/libdisplay-info create mode 100644 hosts/iroha/gentoo/package.accept_keywords/libva-intel-media-driver create mode 100644 hosts/iroha/gentoo/package.accept_keywords/linux-firmware delete mode 100644 hosts/iroha/gentoo/package.accept_keywords/lutris create mode 100644 hosts/iroha/gentoo/package.accept_keywords/makemkv create mode 100644 hosts/iroha/gentoo/package.accept_keywords/moonlight create mode 100644 hosts/iroha/gentoo/package.accept_keywords/nvidia-drivers delete mode 100644 hosts/iroha/gentoo/package.accept_keywords/osu-lazer create mode 100644 hosts/iroha/gentoo/package.accept_keywords/pipewire delete mode 100644 hosts/iroha/gentoo/package.accept_keywords/rpcs3 delete mode 100644 hosts/iroha/gentoo/package.accept_keywords/ryujinx create mode 100644 hosts/iroha/gentoo/package.accept_keywords/scx create mode 100644 hosts/iroha/gentoo/package.accept_keywords/sdl-jstest create mode 100644 hosts/iroha/gentoo/package.accept_keywords/sdl2-gamepad-mapper delete mode 100644 hosts/iroha/gentoo/package.accept_keywords/shotcut create mode 100644 hosts/iroha/gentoo/package.accept_keywords/showmethekey create mode 100644 hosts/iroha/gentoo/package.accept_keywords/sunshine delete mode 100644 hosts/iroha/gentoo/package.accept_keywords/vkroots create mode 100644 hosts/iroha/gentoo/package.accept_keywords/wine create mode 100644 hosts/iroha/gentoo/package.accept_keywords/winetricks create mode 100644 hosts/iroha/gentoo/package.accept_keywords/wlroots delete mode 100644 hosts/iroha/gentoo/package.accept_keywords/wolfssl create mode 100644 hosts/iroha/gentoo/package.env/libsdl2 create mode 100644 hosts/iroha/gentoo/package.env/mesa create mode 100644 hosts/iroha/gentoo/package.env/rpcs3 create mode 100644 hosts/iroha/gentoo/package.env/sunshine create mode 100644 hosts/iroha/gentoo/package.license/chromium create mode 100644 hosts/iroha/gentoo/package.license/libva-intel-media-driver create mode 100644 hosts/iroha/gentoo/package.license/makemkv create mode 100644 hosts/iroha/gentoo/package.license/nvidia-drivers delete mode 100644 hosts/iroha/gentoo/package.mask/chromium create mode 100644 hosts/iroha/gentoo/package.mask/ffmpeg create mode 100644 hosts/iroha/gentoo/package.mask/nvidia-drivers delete mode 100644 hosts/iroha/gentoo/package.unmask/mesa delete mode 100644 hosts/iroha/gentoo/package.use/Alien-Build delete mode 100644 hosts/iroha/gentoo/package.use/HTTP-CookieJar delete mode 100644 hosts/iroha/gentoo/package.use/Net-HTTP delete mode 100644 hosts/iroha/gentoo/package.use/Net-SSLeay delete mode 100644 hosts/iroha/gentoo/package.use/Path-Tiny delete mode 100644 hosts/iroha/gentoo/package.use/Try-Tiny delete mode 100644 hosts/iroha/gentoo/package.use/XML-LibXML delete mode 100644 hosts/iroha/gentoo/package.use/ardour create mode 100644 hosts/iroha/gentoo/package.use/binutils delete mode 100644 hosts/iroha/gentoo/package.use/blender delete mode 100644 hosts/iroha/gentoo/package.use/chromium create mode 100644 hosts/iroha/gentoo/package.use/discord delete mode 100644 hosts/iroha/gentoo/package.use/flac create mode 100644 hosts/iroha/gentoo/package.use/gdb create mode 100644 hosts/iroha/gentoo/package.use/gdk-pixbuf create mode 100644 hosts/iroha/gentoo/package.use/gftp create mode 100644 hosts/iroha/gentoo/package.use/gnome-keyring create mode 100644 hosts/iroha/gentoo/package.use/gst-plugins-bad create mode 100644 hosts/iroha/gentoo/package.use/gst-plugins-meta create mode 100644 hosts/iroha/gentoo/package.use/kbd create mode 100644 hosts/iroha/gentoo/package.use/krita create mode 100644 hosts/iroha/gentoo/package.use/lact delete mode 100644 hosts/iroha/gentoo/package.use/librsvg create mode 100644 hosts/iroha/gentoo/package.use/looking-glass create mode 100644 hosts/iroha/gentoo/package.use/moonlight create mode 100644 hosts/iroha/gentoo/package.use/ngtcp2 create mode 100644 hosts/iroha/gentoo/package.use/opencv create mode 100644 hosts/iroha/gentoo/package.use/protobuf create mode 100644 hosts/iroha/gentoo/package.use/protontricks create mode 100644 hosts/iroha/gentoo/package.use/rpcs3 create mode 100644 hosts/iroha/gentoo/package.use/rtmidi create mode 100644 hosts/iroha/gentoo/package.use/rust create mode 100644 hosts/iroha/gentoo/package.use/sdl2-gamepad-mapper create mode 100644 hosts/iroha/gentoo/package.use/sunshine create mode 100644 hosts/iroha/gentoo/package.use/talloc create mode 100644 hosts/iroha/gentoo/package.use/vulkan-tools create mode 100644 hosts/iroha/gentoo/package.use/winetricks create mode 100644 hosts/iroha/gentoo/package.use/xdg-desktop-portal-gtk create mode 100644 hosts/iroha/gentoo/package.use/xemu create mode 100644 hosts/iroha/gentoo/package.use/yt-dlp create mode 100644 hosts/iroha/gentoo/patches/app-emulation/winetricks/dotnet8_0-update.diff create mode 100644 hosts/iroha/gentoo/patches/app-misc/neofetch/neofetch_foot_font.diff create mode 100644 hosts/iroha/gentoo/patches/app-misc/neofetch/neofetch_sway_version.diff create mode 100644 hosts/iroha/gentoo/patches/games-util/mangohud/jc42_ram_temp.diff delete mode 100644 hosts/iroha/gentoo/patches/gui-wm/gamescope/1826.diff delete mode 100644 hosts/iroha/gentoo/patches/gui-wm/gamescope/740_rebase.diff create mode 100644 hosts/iroha/gentoo/patches/media-gfx/gimp/accumulate_scroll_zoom.diff (limited to 'hosts/iroha/gentoo') diff --git a/hosts/iroha/gentoo/make.conf b/hosts/iroha/gentoo/make.conf index 0fa679c..69995a2 100644 --- a/hosts/iroha/gentoo/make.conf +++ b/hosts/iroha/gentoo/make.conf @@ -1,5 +1,5 @@ WARNING_FLAGS="-Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" -COMMON_FLAGS="-O2 -pipe -march=znver2 -mtune=znver2 -fno-semantic-interposition -fomit-frame-pointer -fno-stack-protector -flto ${WARNING_FLAGS}" +COMMON_FLAGS="-O2 -pipe -march=znver3 -mtune=znver3 -fno-semantic-interposition -fomit-frame-pointer -fno-stack-protector -flto ${WARNING_FLAGS}" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" @@ -13,10 +13,10 @@ CGO_CXXFLAGS="${COMMON_FLAGS}" CGO_FFLAGS="${COMMON_FLAGS}" CGO_LDFLAGS="${LDFLAGS}" -RUSTFLAGS="${RUSTFLAGS} -C target-cpu=znver2" +RUSTFLAGS="${RUSTFLAGS} -C target-cpu=znver3" -MAKEOPTS="-j20 -l24" -EMERGE_DEFAULT_OPTS="--jobs 3" +MAKEOPTS="-j28 -l30" +EMERGE_DEFAULT_OPTS="--jobs 2" RUBY_TARGETS="ruby33" diff --git a/hosts/iroha/gentoo/package.accept_keywords/OpenTabletDriver b/hosts/iroha/gentoo/package.accept_keywords/OpenTabletDriver new file mode 100644 index 0000000..40c4399 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/OpenTabletDriver @@ -0,0 +1 @@ +x11-drivers/OpenTabletDriver ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/clinfo b/hosts/iroha/gentoo/package.accept_keywords/clinfo new file mode 100644 index 0000000..e5a3361 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/clinfo @@ -0,0 +1 @@ +dev-util/clinfo ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/firefox b/hosts/iroha/gentoo/package.accept_keywords/firefox new file mode 100644 index 0000000..2325f6e --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/firefox @@ -0,0 +1,4 @@ +www-client/firefox ~amd64 +www-client/firefox-l10n ~amd64 +dev-libs/nss ~amd64 +dev-libs/nspr ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/foot b/hosts/iroha/gentoo/package.accept_keywords/foot new file mode 100644 index 0000000..6318e2d --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/foot @@ -0,0 +1 @@ +gui-apps/foot ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/gamescope b/hosts/iroha/gentoo/package.accept_keywords/gamescope index f47c27a..c96e904 100644 --- a/hosts/iroha/gentoo/package.accept_keywords/gamescope +++ b/hosts/iroha/gentoo/package.accept_keywords/gamescope @@ -1 +1,2 @@ gui-wm/gamescope ~amd64 +media-libs/vkroots ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/gentoo-sources b/hosts/iroha/gentoo/package.accept_keywords/gentoo-sources new file mode 100644 index 0000000..9932ebe --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/gentoo-sources @@ -0,0 +1 @@ +sys-kernel/gentoo-sources ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/gimp b/hosts/iroha/gentoo/package.accept_keywords/gimp new file mode 100644 index 0000000..b6ce579 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/gimp @@ -0,0 +1 @@ +media-gfx/gimp ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/go b/hosts/iroha/gentoo/package.accept_keywords/go new file mode 100644 index 0000000..3060f0b --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/go @@ -0,0 +1 @@ +dev-lang/go ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/kitty b/hosts/iroha/gentoo/package.accept_keywords/kitty new file mode 100644 index 0000000..4db695a --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/kitty @@ -0,0 +1,3 @@ +x11-terms/kitty ~amd64 +x11-terms/kitty-shell-integration ~amd64 +x11-terms/kitty-terminfo ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/krita b/hosts/iroha/gentoo/package.accept_keywords/krita new file mode 100644 index 0000000..72b4bb4 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/krita @@ -0,0 +1 @@ +media-gfx/krita ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/lact b/hosts/iroha/gentoo/package.accept_keywords/lact new file mode 100644 index 0000000..433f03f --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/lact @@ -0,0 +1 @@ +sys-apps/lact ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/libdisplay-info b/hosts/iroha/gentoo/package.accept_keywords/libdisplay-info new file mode 100644 index 0000000..ebdea52 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/libdisplay-info @@ -0,0 +1 @@ +media-libs/libdisplay-info ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/libva-intel-media-driver b/hosts/iroha/gentoo/package.accept_keywords/libva-intel-media-driver new file mode 100644 index 0000000..9207c04 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/libva-intel-media-driver @@ -0,0 +1 @@ +media-libs/libva-intel-media-driver ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/linux-firmware b/hosts/iroha/gentoo/package.accept_keywords/linux-firmware new file mode 100644 index 0000000..afa65b3 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/linux-firmware @@ -0,0 +1 @@ +sys-kernel/linux-firmware ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/lutris b/hosts/iroha/gentoo/package.accept_keywords/lutris deleted file mode 100644 index e1a74f0..0000000 --- a/hosts/iroha/gentoo/package.accept_keywords/lutris +++ /dev/null @@ -1,3 +0,0 @@ -games-util/lutris ~amd64 -dev-python/pypresence ~amd64 -dev-python/moddb ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/makemkv b/hosts/iroha/gentoo/package.accept_keywords/makemkv new file mode 100644 index 0000000..08c2506 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/makemkv @@ -0,0 +1 @@ +media-video/makemkv ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/mesa b/hosts/iroha/gentoo/package.accept_keywords/mesa index 400baaf..2391f03 100644 --- a/hosts/iroha/gentoo/package.accept_keywords/mesa +++ b/hosts/iroha/gentoo/package.accept_keywords/mesa @@ -1 +1,2 @@ -media-libs/mesa ~amd64 +media-libs/mesa ** +dev-util/mesa_clc ** diff --git a/hosts/iroha/gentoo/package.accept_keywords/moonlight b/hosts/iroha/gentoo/package.accept_keywords/moonlight new file mode 100644 index 0000000..eb79435 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/moonlight @@ -0,0 +1 @@ +net-misc/moonlight ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/nvidia-drivers b/hosts/iroha/gentoo/package.accept_keywords/nvidia-drivers new file mode 100644 index 0000000..42addc2 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/nvidia-drivers @@ -0,0 +1 @@ +x11-drivers/nvidia-drivers ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/osu-lazer b/hosts/iroha/gentoo/package.accept_keywords/osu-lazer deleted file mode 100644 index ba18a23..0000000 --- a/hosts/iroha/gentoo/package.accept_keywords/osu-lazer +++ /dev/null @@ -1 +0,0 @@ -games-arcade/osu-lazer ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/pipewire b/hosts/iroha/gentoo/package.accept_keywords/pipewire new file mode 100644 index 0000000..21fe09b --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/pipewire @@ -0,0 +1,2 @@ +media-video/pipewire ~amd64 +media-video/wireplumber ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/rpcs3 b/hosts/iroha/gentoo/package.accept_keywords/rpcs3 deleted file mode 100644 index c35c56c..0000000 --- a/hosts/iroha/gentoo/package.accept_keywords/rpcs3 +++ /dev/null @@ -1 +0,0 @@ -games-emulation/rpcs3 ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/ryujinx b/hosts/iroha/gentoo/package.accept_keywords/ryujinx deleted file mode 100644 index 4121201..0000000 --- a/hosts/iroha/gentoo/package.accept_keywords/ryujinx +++ /dev/null @@ -1 +0,0 @@ -games-emulation/ryujinx ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/scx b/hosts/iroha/gentoo/package.accept_keywords/scx new file mode 100644 index 0000000..2ad83d4 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/scx @@ -0,0 +1,2 @@ +sys-kernel/scx ~amd64 +sys-kernel/scx-loader ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/sdl-jstest b/hosts/iroha/gentoo/package.accept_keywords/sdl-jstest new file mode 100644 index 0000000..429b34c --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/sdl-jstest @@ -0,0 +1,2 @@ +dev-util/sdl-jstest ~amd64 +dev-build/tinycmmc ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/sdl2-gamepad-mapper b/hosts/iroha/gentoo/package.accept_keywords/sdl2-gamepad-mapper new file mode 100644 index 0000000..b589178 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/sdl2-gamepad-mapper @@ -0,0 +1 @@ +games-util/sdl2-gamepad-mapper ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/shotcut b/hosts/iroha/gentoo/package.accept_keywords/shotcut deleted file mode 100644 index e383b00..0000000 --- a/hosts/iroha/gentoo/package.accept_keywords/shotcut +++ /dev/null @@ -1 +0,0 @@ -media-video/shotcut ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/showmethekey b/hosts/iroha/gentoo/package.accept_keywords/showmethekey new file mode 100644 index 0000000..3152543 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/showmethekey @@ -0,0 +1 @@ +gui-apps/showmethekey ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/sunshine b/hosts/iroha/gentoo/package.accept_keywords/sunshine new file mode 100644 index 0000000..908e3d4 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/sunshine @@ -0,0 +1 @@ +net-misc/sunshine ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/sway b/hosts/iroha/gentoo/package.accept_keywords/sway index 75868de..db1d2f6 100644 --- a/hosts/iroha/gentoo/package.accept_keywords/sway +++ b/hosts/iroha/gentoo/package.accept_keywords/sway @@ -1 +1,2 @@ -gui-wm/sway ~amd64 +gui-wm/sway ** +app-text/scdoc ** diff --git a/hosts/iroha/gentoo/package.accept_keywords/vim b/hosts/iroha/gentoo/package.accept_keywords/vim index ee0bab1..e20e551 100644 --- a/hosts/iroha/gentoo/package.accept_keywords/vim +++ b/hosts/iroha/gentoo/package.accept_keywords/vim @@ -1,2 +1,3 @@ -app-editors/vim ** ~amd64 -app-editors/vim-core ** ~amd64 +app-editors/vim ~amd64 +app-editors/vim-core ~amd64 +dev-util/xxd ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/vkroots b/hosts/iroha/gentoo/package.accept_keywords/vkroots deleted file mode 100644 index f7194bc..0000000 --- a/hosts/iroha/gentoo/package.accept_keywords/vkroots +++ /dev/null @@ -1 +0,0 @@ -media-libs/vkroots ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/wine b/hosts/iroha/gentoo/package.accept_keywords/wine new file mode 100644 index 0000000..6e8ac75 --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/wine @@ -0,0 +1 @@ +app-emulation/wine-staging ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/winetricks b/hosts/iroha/gentoo/package.accept_keywords/winetricks new file mode 100644 index 0000000..5eb04cd --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/winetricks @@ -0,0 +1 @@ +app-emulation/winetricks ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/wlrobs b/hosts/iroha/gentoo/package.accept_keywords/wlrobs index 872bbc3..ca31a51 100644 --- a/hosts/iroha/gentoo/package.accept_keywords/wlrobs +++ b/hosts/iroha/gentoo/package.accept_keywords/wlrobs @@ -1 +1 @@ -media-video/wlrobs ** ~amd64 +media-video/wlrobs ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/wlroots b/hosts/iroha/gentoo/package.accept_keywords/wlroots new file mode 100644 index 0000000..5d7457d --- /dev/null +++ b/hosts/iroha/gentoo/package.accept_keywords/wlroots @@ -0,0 +1 @@ +gui-libs/wlroots ~amd64 diff --git a/hosts/iroha/gentoo/package.accept_keywords/wolfssl b/hosts/iroha/gentoo/package.accept_keywords/wolfssl deleted file mode 100644 index d3ea8d3..0000000 --- a/hosts/iroha/gentoo/package.accept_keywords/wolfssl +++ /dev/null @@ -1 +0,0 @@ -dev-libs/wolfssl ~amd64 diff --git a/hosts/iroha/gentoo/package.env/libsdl2 b/hosts/iroha/gentoo/package.env/libsdl2 new file mode 100644 index 0000000..331064f --- /dev/null +++ b/hosts/iroha/gentoo/package.env/libsdl2 @@ -0,0 +1 @@ +media-libs/libsdl2 nolto.conf diff --git a/hosts/iroha/gentoo/package.env/mesa b/hosts/iroha/gentoo/package.env/mesa new file mode 100644 index 0000000..14e44de --- /dev/null +++ b/hosts/iroha/gentoo/package.env/mesa @@ -0,0 +1,2 @@ +media-libs/mesa nolto.conf +dev-util/mesa_clc nolto.conf diff --git a/hosts/iroha/gentoo/package.env/rpcs3 b/hosts/iroha/gentoo/package.env/rpcs3 new file mode 100644 index 0000000..e75cdc7 --- /dev/null +++ b/hosts/iroha/gentoo/package.env/rpcs3 @@ -0,0 +1 @@ +games-emulation/rpcs3 nolto.conf diff --git a/hosts/iroha/gentoo/package.env/sunshine b/hosts/iroha/gentoo/package.env/sunshine new file mode 100644 index 0000000..03eeb71 --- /dev/null +++ b/hosts/iroha/gentoo/package.env/sunshine @@ -0,0 +1 @@ +net-misc/sunshine nolto.conf diff --git a/hosts/iroha/gentoo/package.license/chromium b/hosts/iroha/gentoo/package.license/chromium new file mode 100644 index 0000000..16c0c01 --- /dev/null +++ b/hosts/iroha/gentoo/package.license/chromium @@ -0,0 +1 @@ +www-client/chromium unRAR diff --git a/hosts/iroha/gentoo/package.license/libva-intel-media-driver b/hosts/iroha/gentoo/package.license/libva-intel-media-driver new file mode 100644 index 0000000..46b3a91 --- /dev/null +++ b/hosts/iroha/gentoo/package.license/libva-intel-media-driver @@ -0,0 +1 @@ +media-libs/libva-intel-media-driver no-source-code diff --git a/hosts/iroha/gentoo/package.license/makemkv b/hosts/iroha/gentoo/package.license/makemkv new file mode 100644 index 0000000..b2d7f79 --- /dev/null +++ b/hosts/iroha/gentoo/package.license/makemkv @@ -0,0 +1 @@ +media-video/makemkv MakeMKV-EULA diff --git a/hosts/iroha/gentoo/package.license/nvidia-drivers b/hosts/iroha/gentoo/package.license/nvidia-drivers new file mode 100644 index 0000000..b76d8a2 --- /dev/null +++ b/hosts/iroha/gentoo/package.license/nvidia-drivers @@ -0,0 +1 @@ +x11-drivers/nvidia-drivers NVIDIA-2025 diff --git a/hosts/iroha/gentoo/package.mask/chromium b/hosts/iroha/gentoo/package.mask/chromium deleted file mode 100644 index e282af3..0000000 --- a/hosts/iroha/gentoo/package.mask/chromium +++ /dev/null @@ -1 +0,0 @@ ->www-client/chromium-140.0.7339.207 diff --git a/hosts/iroha/gentoo/package.mask/ffmpeg b/hosts/iroha/gentoo/package.mask/ffmpeg new file mode 100644 index 0000000..0da2507 --- /dev/null +++ b/hosts/iroha/gentoo/package.mask/ffmpeg @@ -0,0 +1 @@ +>=media-video/ffmpeg-8.0.0 diff --git a/hosts/iroha/gentoo/package.mask/nvidia-drivers b/hosts/iroha/gentoo/package.mask/nvidia-drivers new file mode 100644 index 0000000..673c6ac --- /dev/null +++ b/hosts/iroha/gentoo/package.mask/nvidia-drivers @@ -0,0 +1 @@ +>=x11-drivers/nvidia-drivers-590 diff --git a/hosts/iroha/gentoo/package.unmask/mesa b/hosts/iroha/gentoo/package.unmask/mesa deleted file mode 100644 index 3a9fb3f..0000000 --- a/hosts/iroha/gentoo/package.unmask/mesa +++ /dev/null @@ -1 +0,0 @@ -=media-libs/mesa-25.2.5 diff --git a/hosts/iroha/gentoo/package.use/00cpu-flags b/hosts/iroha/gentoo/package.use/00cpu-flags index ea302d2..709cc7f 100644 --- a/hosts/iroha/gentoo/package.use/00cpu-flags +++ b/hosts/iroha/gentoo/package.use/00cpu-flags @@ -1 +1 @@ -*/* CPU_FLAGS_X86: aes avx avx2 bmi1 bmi2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 +*/* CPU_FLAGS_X86: aes avx avx2 bmi1 bmi2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 vpclmulqdq diff --git a/hosts/iroha/gentoo/package.use/00video-cards b/hosts/iroha/gentoo/package.use/00video-cards index 320548a..7bcbcfd 100644 --- a/hosts/iroha/gentoo/package.use/00video-cards +++ b/hosts/iroha/gentoo/package.use/00video-cards @@ -1 +1 @@ -*/* VIDEO_CARDS: -* amdgpu radeonsi radeon +*/* VIDEO_CARDS: -* amdgpu radeonsi radeon i915 intel diff --git a/hosts/iroha/gentoo/package.use/Alien-Build b/hosts/iroha/gentoo/package.use/Alien-Build deleted file mode 100644 index 5f4675c..0000000 --- a/hosts/iroha/gentoo/package.use/Alien-Build +++ /dev/null @@ -1 +0,0 @@ -dev-perl/Alien-Build minimal diff --git a/hosts/iroha/gentoo/package.use/HTTP-CookieJar b/hosts/iroha/gentoo/package.use/HTTP-CookieJar deleted file mode 100644 index 534881d..0000000 --- a/hosts/iroha/gentoo/package.use/HTTP-CookieJar +++ /dev/null @@ -1 +0,0 @@ -dev-perl/HTTP-CookieJar minimal diff --git a/hosts/iroha/gentoo/package.use/Net-HTTP b/hosts/iroha/gentoo/package.use/Net-HTTP deleted file mode 100644 index d2a50dc..0000000 --- a/hosts/iroha/gentoo/package.use/Net-HTTP +++ /dev/null @@ -1 +0,0 @@ -dev-perl/Net-HTTP minimal diff --git a/hosts/iroha/gentoo/package.use/Net-SSLeay b/hosts/iroha/gentoo/package.use/Net-SSLeay deleted file mode 100644 index 4f5f12b..0000000 --- a/hosts/iroha/gentoo/package.use/Net-SSLeay +++ /dev/null @@ -1 +0,0 @@ -dev-perl/Net-SSLeay minimal diff --git a/hosts/iroha/gentoo/package.use/Path-Tiny b/hosts/iroha/gentoo/package.use/Path-Tiny deleted file mode 100644 index 3901a7b..0000000 --- a/hosts/iroha/gentoo/package.use/Path-Tiny +++ /dev/null @@ -1 +0,0 @@ -dev-perl/Path-Tiny minimal diff --git a/hosts/iroha/gentoo/package.use/Try-Tiny b/hosts/iroha/gentoo/package.use/Try-Tiny deleted file mode 100644 index 95e2e1a..0000000 --- a/hosts/iroha/gentoo/package.use/Try-Tiny +++ /dev/null @@ -1 +0,0 @@ -dev-perl/Try-Tiny minimal diff --git a/hosts/iroha/gentoo/package.use/XML-LibXML b/hosts/iroha/gentoo/package.use/XML-LibXML deleted file mode 100644 index cf021e1..0000000 --- a/hosts/iroha/gentoo/package.use/XML-LibXML +++ /dev/null @@ -1 +0,0 @@ -dev-perl/XML-LibXML minimal diff --git a/hosts/iroha/gentoo/package.use/ardour b/hosts/iroha/gentoo/package.use/ardour deleted file mode 100644 index 8a493a4..0000000 --- a/hosts/iroha/gentoo/package.use/ardour +++ /dev/null @@ -1 +0,0 @@ -media-sound/ardour jack diff --git a/hosts/iroha/gentoo/package.use/binutils b/hosts/iroha/gentoo/package.use/binutils new file mode 100644 index 0000000..cfb09df --- /dev/null +++ b/hosts/iroha/gentoo/package.use/binutils @@ -0,0 +1 @@ +sys-devel/binutils -debuginfod diff --git a/hosts/iroha/gentoo/package.use/blender b/hosts/iroha/gentoo/package.use/blender deleted file mode 100644 index f42e33c..0000000 --- a/hosts/iroha/gentoo/package.use/blender +++ /dev/null @@ -1,3 +0,0 @@ -media-gfx/blender wayland -bullet -color-management -cycles -cycles-bin-kernels -embree -ffmpeg -fftw -fluid -gmp -nanovdb -oidn -openpgl -opensubdiv -openvdb -pdf -potrace -pugixml -sndfile -tiff -truetype -webp -media-libs/freetype brotli -app-arch/brotli abi_x86_32 diff --git a/hosts/iroha/gentoo/package.use/chromium b/hosts/iroha/gentoo/package.use/chromium deleted file mode 100644 index c950c10..0000000 --- a/hosts/iroha/gentoo/package.use/chromium +++ /dev/null @@ -1,6 +0,0 @@ -www-client/chromium pulseaudio -hangouts -official -proprietary-codecs -rar -widevine -system-png -dev-libs/libxml2 icu -media-libs/harfbuzz icu -media-libs/libva wayland -net-libs/nodejs inspector -dev-libs/icu abi_x86_32 diff --git a/hosts/iroha/gentoo/package.use/compiler-rt-sanitizers b/hosts/iroha/gentoo/package.use/compiler-rt-sanitizers index 7a0b680..ecbee96 100644 --- a/hosts/iroha/gentoo/package.use/compiler-rt-sanitizers +++ b/hosts/iroha/gentoo/package.use/compiler-rt-sanitizers @@ -1 +1 @@ -llvm-runtimes/compiler-rt-sanitizers -asan -cfi -dfsan -gwp-asan -hwasan -libfuzzer -lsan -memprof -msan -nsan -orc -safestack -rtsan -scudo -tsan -ubsan -xray +llvm-runtimes/compiler-rt-sanitizers cfi -asan -dfsan -gwp-asan -hwasan -libfuzzer -lsan -memprof -msan -nsan -orc -safestack -rtsan -scudo -tsan -ubsan -xray diff --git a/hosts/iroha/gentoo/package.use/discord b/hosts/iroha/gentoo/package.use/discord new file mode 100644 index 0000000..ecd4f5b --- /dev/null +++ b/hosts/iroha/gentoo/package.use/discord @@ -0,0 +1 @@ +net-im/discord wayland diff --git a/hosts/iroha/gentoo/package.use/elfutils b/hosts/iroha/gentoo/package.use/elfutils index 1c494f6..8ddc184 100644 --- a/hosts/iroha/gentoo/package.use/elfutils +++ b/hosts/iroha/gentoo/package.use/elfutils @@ -1 +1 @@ -dev-libs/elfutils zstd +dev-libs/elfutils zstd -debuginfod diff --git a/hosts/iroha/gentoo/package.use/ffmpeg b/hosts/iroha/gentoo/package.use/ffmpeg index 7719922..cacc7f7 100644 --- a/hosts/iroha/gentoo/package.use/ffmpeg +++ b/hosts/iroha/gentoo/package.use/ffmpeg @@ -1 +1 @@ -media-video/ffmpeg openh264 vaapi vulkan x265 -fontconfig -gnutls -libass -truetype -xml +media-video/ffmpeg openh264 vaapi vorbis vpx vulkan webp x265 -fontconfig -gnutls -libass -truetype -xml diff --git a/hosts/iroha/gentoo/package.use/flac b/hosts/iroha/gentoo/package.use/flac deleted file mode 100644 index a2cd03c..0000000 --- a/hosts/iroha/gentoo/package.use/flac +++ /dev/null @@ -1 +0,0 @@ -#media-libs/flac -cxx diff --git a/hosts/iroha/gentoo/package.use/gdb b/hosts/iroha/gentoo/package.use/gdb new file mode 100644 index 0000000..18c9346 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/gdb @@ -0,0 +1 @@ +dev-debug/gdb -debuginfod -python diff --git a/hosts/iroha/gentoo/package.use/gdk-pixbuf b/hosts/iroha/gentoo/package.use/gdk-pixbuf new file mode 100644 index 0000000..b78adc1 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/gdk-pixbuf @@ -0,0 +1 @@ +x11-libs/gdk-pixbuf gif jpeg diff --git a/hosts/iroha/gentoo/package.use/gftp b/hosts/iroha/gentoo/package.use/gftp new file mode 100644 index 0000000..290f9b3 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/gftp @@ -0,0 +1 @@ +net-ftp/gftp gtk diff --git a/hosts/iroha/gentoo/package.use/gimp b/hosts/iroha/gentoo/package.use/gimp index 014a44a..1d0de52 100644 --- a/hosts/iroha/gentoo/package.use/gimp +++ b/hosts/iroha/gentoo/package.use/gimp @@ -1,6 +1,7 @@ -media-gfx/gimp webp +media-gfx/gimp wayland webp x11-libs/cairo X dev-cpp/cairomm X app-text/poppler cairo -media-libs/gegl cairo -media-libs/gexiv2 -vala +media-libs/babl lcms introspection +media-libs/gegl cairo lcms introspection +media-libs/gexiv2 introspection diff --git a/hosts/iroha/gentoo/package.use/gnome-keyring b/hosts/iroha/gentoo/package.use/gnome-keyring new file mode 100644 index 0000000..d55050f --- /dev/null +++ b/hosts/iroha/gentoo/package.use/gnome-keyring @@ -0,0 +1 @@ +gnome-base/gnome-keyring -ssh-agent diff --git a/hosts/iroha/gentoo/package.use/gst-plugins-bad b/hosts/iroha/gentoo/package.use/gst-plugins-bad new file mode 100644 index 0000000..4869122 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/gst-plugins-bad @@ -0,0 +1 @@ +media-libs/gst-plugins-bad wayland diff --git a/hosts/iroha/gentoo/package.use/gst-plugins-base b/hosts/iroha/gentoo/package.use/gst-plugins-base index b67c340..eec2226 100644 --- a/hosts/iroha/gentoo/package.use/gst-plugins-base +++ b/hosts/iroha/gentoo/package.use/gst-plugins-base @@ -1 +1 @@ -media-libs/gst-plugins-base -egl -gles2 -pango +media-libs/gst-plugins-base wayland opengl egl -gles2 -pango diff --git a/hosts/iroha/gentoo/package.use/gst-plugins-meta b/hosts/iroha/gentoo/package.use/gst-plugins-meta new file mode 100644 index 0000000..81bf899 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/gst-plugins-meta @@ -0,0 +1 @@ +media-plugins/gst-plugins-meta ogg opus vpx diff --git a/hosts/iroha/gentoo/package.use/harfbuzz b/hosts/iroha/gentoo/package.use/harfbuzz index 64f70fa..7d5d646 100644 --- a/hosts/iroha/gentoo/package.use/harfbuzz +++ b/hosts/iroha/gentoo/package.use/harfbuzz @@ -1 +1 @@ -media-libs/harfbuzz -cairo -graphite +media-libs/harfbuzz icu -cairo -graphite diff --git a/hosts/iroha/gentoo/package.use/kbd b/hosts/iroha/gentoo/package.use/kbd new file mode 100644 index 0000000..781738c --- /dev/null +++ b/hosts/iroha/gentoo/package.use/kbd @@ -0,0 +1 @@ +sys-apps/kbd zstd -bzip2 -zlib diff --git a/hosts/iroha/gentoo/package.use/kde b/hosts/iroha/gentoo/package.use/kde index 6727d0d..6be7195 100644 --- a/hosts/iroha/gentoo/package.use/kde +++ b/hosts/iroha/gentoo/package.use/kde @@ -1,3 +1,5 @@ kde-frameworks/kconfig dbus qml kde-frameworks/kio -kwallet kde-frameworks/kwindowsystem X wayland +kde-frameworks/sonnet qml +kde-frameworks/prison qml diff --git a/hosts/iroha/gentoo/package.use/krita b/hosts/iroha/gentoo/package.use/krita new file mode 100644 index 0000000..6b02c03 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/krita @@ -0,0 +1 @@ +media-gfx/krita wayland color-management gif webp diff --git a/hosts/iroha/gentoo/package.use/lact b/hosts/iroha/gentoo/package.use/lact new file mode 100644 index 0000000..6839b6f --- /dev/null +++ b/hosts/iroha/gentoo/package.use/lact @@ -0,0 +1,3 @@ +sys-apps/lact gui +gui-libs/gtk:4 introspection +media-libs/graphene introspection diff --git a/hosts/iroha/gentoo/package.use/librsvg b/hosts/iroha/gentoo/package.use/librsvg deleted file mode 100644 index 415215d..0000000 --- a/hosts/iroha/gentoo/package.use/librsvg +++ /dev/null @@ -1 +0,0 @@ -gnome-base/librsvg -vala diff --git a/hosts/iroha/gentoo/package.use/libxml2 b/hosts/iroha/gentoo/package.use/libxml2 index 55f17fd..f7d2cd0 100644 --- a/hosts/iroha/gentoo/package.use/libxml2 +++ b/hosts/iroha/gentoo/package.use/libxml2 @@ -1 +1 @@ -dev-libs/libxml2 -ftp +dev-libs/libxml2 icu python -ftp diff --git a/hosts/iroha/gentoo/package.use/looking-glass b/hosts/iroha/gentoo/package.use/looking-glass new file mode 100644 index 0000000..77de3f2 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/looking-glass @@ -0,0 +1 @@ +app-emulation/looking-glass wayland pipewire diff --git a/hosts/iroha/gentoo/package.use/moonlight b/hosts/iroha/gentoo/package.use/moonlight new file mode 100644 index 0000000..9a48a7f --- /dev/null +++ b/hosts/iroha/gentoo/package.use/moonlight @@ -0,0 +1,3 @@ +net-misc/moonlight wayland vulkan -drm -libdrm +dev-qt/qtdeclarative svg +media-libs/libsdl2 gles2 kms wayland diff --git a/hosts/iroha/gentoo/package.use/ncurses b/hosts/iroha/gentoo/package.use/ncurses index 838288c..18670d4 100644 --- a/hosts/iroha/gentoo/package.use/ncurses +++ b/hosts/iroha/gentoo/package.use/ncurses @@ -1 +1 @@ -sys-libs/ncurses minimal -cxx +sys-libs/ncurses -minimal -cxx diff --git a/hosts/iroha/gentoo/package.use/ngtcp2 b/hosts/iroha/gentoo/package.use/ngtcp2 new file mode 100644 index 0000000..b965780 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/ngtcp2 @@ -0,0 +1 @@ +net-libs/ngtcp2 gnutls diff --git a/hosts/iroha/gentoo/package.use/nodejs b/hosts/iroha/gentoo/package.use/nodejs index a2876f4..77b1b25 100644 --- a/hosts/iroha/gentoo/package.use/nodejs +++ b/hosts/iroha/gentoo/package.use/nodejs @@ -1 +1 @@ -net-libs/nodejs -snapshot +net-libs/nodejs npm -snapshot diff --git a/hosts/iroha/gentoo/package.use/noto b/hosts/iroha/gentoo/package.use/noto index 8564b5e..962462b 100644 --- a/hosts/iroha/gentoo/package.use/noto +++ b/hosts/iroha/gentoo/package.use/noto @@ -1 +1 @@ -media-fonts/noto -extra +media-fonts/noto extra diff --git a/hosts/iroha/gentoo/package.use/nvidia-drivers b/hosts/iroha/gentoo/package.use/nvidia-drivers index 254f65f..9a227c1 100644 --- a/hosts/iroha/gentoo/package.use/nvidia-drivers +++ b/hosts/iroha/gentoo/package.use/nvidia-drivers @@ -1 +1,5 @@ -x11-drivers/nvidia-drivers tools powerd -X -wayland -multilib -gtk3 -compat -abi_x86_32 +x11-drivers/nvidia-drivers tools powerd X wayland abi_x86_32 -kernel-open -multilib -gtk3 -compat +gui-libs/egl-gbm abi_x86_32 +gui-libs/egl-wayland abi_x86_32 +gui-libs/egl-wayland2 abi_x86_32 +gui-libs/egl-x11 abi_x86_32 diff --git a/hosts/iroha/gentoo/package.use/obs-studio b/hosts/iroha/gentoo/package.use/obs-studio index b1f6ce1..81d8a4e 100644 --- a/hosts/iroha/gentoo/package.use/obs-studio +++ b/hosts/iroha/gentoo/package.use/obs-studio @@ -1,4 +1,4 @@ -media-video/obs-studio pipewire truetype wayland v4l +media-video/obs-studio wayland pipewire pulseaudio truetype v4l media-video/ffmpeg opus x264 # usage of QX11Application not covered by gentoo deps. dev-qt/qtbase X diff --git a/hosts/iroha/gentoo/package.use/opencv b/hosts/iroha/gentoo/package.use/opencv new file mode 100644 index 0000000..b929913 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/opencv @@ -0,0 +1 @@ +media-libs/opencv -eigen -ffmpeg -openmp diff --git a/hosts/iroha/gentoo/package.use/perl b/hosts/iroha/gentoo/package.use/perl index 4cf9387..cb35e11 100644 --- a/hosts/iroha/gentoo/package.use/perl +++ b/hosts/iroha/gentoo/package.use/perl @@ -1 +1,11 @@ dev-lang/perl minimal +dev-perl/Alien-Build minimal +dev-perl/File-ShareDir minimal +dev-perl/HTTP-CookieJar minimal +dev-perl/JSON -xs +dev-perl/Net-HTTP minimal +dev-perl/Net-SSLeay minimal +dev-perl/Path-Tiny minimal +dev-perl/Try-Tiny minimal +dev-perl/XML-LibXML minimal +dev-perl/YAML-Tiny minimal diff --git a/hosts/iroha/gentoo/package.use/pipewire b/hosts/iroha/gentoo/package.use/pipewire index d96c9bd..c89f500 100644 --- a/hosts/iroha/gentoo/package.use/pipewire +++ b/hosts/iroha/gentoo/package.use/pipewire @@ -1,3 +1,3 @@ # gstreamer for virt-viewer. -media-video/pipewire dbus extra fftw gstreamer pipewire-alsa sound-server jack-client -ssl +media-video/pipewire X dbus extra ffmpeg fftw gsettings gstreamer pipewire-alsa sound-server jack-client v4l -ssl media-sound/jack2 dbus -tools diff --git a/hosts/iroha/gentoo/package.use/protobuf b/hosts/iroha/gentoo/package.use/protobuf new file mode 100644 index 0000000..595259d --- /dev/null +++ b/hosts/iroha/gentoo/package.use/protobuf @@ -0,0 +1 @@ +dev-libs/protobuf -libprotoc diff --git a/hosts/iroha/gentoo/package.use/protontricks b/hosts/iroha/gentoo/package.use/protontricks new file mode 100644 index 0000000..28e919e --- /dev/null +++ b/hosts/iroha/gentoo/package.use/protontricks @@ -0,0 +1 @@ +app-emulation/winetricks gui diff --git a/hosts/iroha/gentoo/package.use/qemu b/hosts/iroha/gentoo/package.use/qemu index d608fa7..f8d47b6 100644 --- a/hosts/iroha/gentoo/package.use/qemu +++ b/hosts/iroha/gentoo/package.use/qemu @@ -1 +1,5 @@ -app-emulation/qemu io-uring opengl pulseaudio spice usb usbredir virgl -doc -gnutls -jpeg -ncurses -oss -png -vnc -xattr QEMU_SOFTMMU_TARGETS: aarch64 x86_64 m68k i386 +app-emulation/qemu io-uring opengl pulseaudio spice static-user usb usbredir virgl -doc -gnutls -jpeg -ncurses -oss -png -vnc -xattr QEMU_SOFTMMU_TARGETS: aarch64 x86_64 m68k i386 QEMU_USER_TARGETS: aarch64 arm +dev-libs/glib static-libs +dev-libs/libpcre2 static-libs +virtual/zlib static-libs +sys-libs/zlib static-libs diff --git a/hosts/iroha/gentoo/package.use/qt b/hosts/iroha/gentoo/package.use/qt index 26292f1..72005fb 100644 --- a/hosts/iroha/gentoo/package.use/qt +++ b/hosts/iroha/gentoo/package.use/qt @@ -5,4 +5,6 @@ dev-qt/qtwidgets -dbus -png dev-qt/qt5compat icu dev-qt/qtdeclarative opengl vulkan -sql dev-qt/qtwayland vulkan -dev-qt/qtmultimedia X opengl vulkan wayland +dev-qt/qtmultimedia X opengl vulkan wayland qml +dev-qt/qtquick3d opengl vulkan +dev-python/pyqt6 qml network -printsupport diff --git a/hosts/iroha/gentoo/package.use/rpcs3 b/hosts/iroha/gentoo/package.use/rpcs3 new file mode 100644 index 0000000..cbf62b9 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/rpcs3 @@ -0,0 +1 @@ +games-emulation/rpcs3 wayland joystick system-ffmpeg vulkan diff --git a/hosts/iroha/gentoo/package.use/rtmidi b/hosts/iroha/gentoo/package.use/rtmidi new file mode 100644 index 0000000..cd77e57 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/rtmidi @@ -0,0 +1 @@ +media-libs/rtmidi -alsa diff --git a/hosts/iroha/gentoo/package.use/rust b/hosts/iroha/gentoo/package.use/rust new file mode 100644 index 0000000..33ae790 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/rust @@ -0,0 +1 @@ +dev-lang/rust rustfmt diff --git a/hosts/iroha/gentoo/package.use/sdl2-gamepad-mapper b/hosts/iroha/gentoo/package.use/sdl2-gamepad-mapper new file mode 100644 index 0000000..34f5475 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/sdl2-gamepad-mapper @@ -0,0 +1 @@ +dev-qt/qttools linguist diff --git a/hosts/iroha/gentoo/package.use/steam b/hosts/iroha/gentoo/package.use/steam index 6870d10..3aa6bc8 100644 --- a/hosts/iroha/gentoo/package.use/steam +++ b/hosts/iroha/gentoo/package.use/steam @@ -1,5 +1,6 @@ -games-util/steam-launcher -wayland +games-util/steam-launcher wayland media-libs/vulkan-loader X +x11-base/xwayland libei games-util/gamemode abi_x86_32 games-util/mangohud abi_x86_32 # for gamemode and mangohud, sort'd @@ -30,6 +31,7 @@ app-arch/zstd abi_x86_32 dev-libs/elfutils abi_x86_32 dev-libs/expat abi_x86_32 dev-libs/glib abi_x86_32 +dev-libs/icu abi_x86_32 dev-libs/libffi abi_x86_32 dev-libs/libpcre2 abi_x86_32 dev-libs/wayland abi_x86_32 @@ -39,6 +41,7 @@ media-libs/flac abi_x86_32 media-libs/fontconfig abi_x86_32 media-libs/freetype abi_x86_32 media-libs/harfbuzz abi_x86_32 +media-libs/libdisplay-info abi_x86_32 media-libs/libglvnd abi_x86_32 media-libs/libogg abi_x86_32 media-libs/libpng abi_x86_32 @@ -59,6 +62,7 @@ sys-libs/ncurses abi_x86_32 sys-libs/pam abi_x86_32 sys-libs/readline abi_x86_32 sys-libs/zlib abi_x86_32 +virtual/zlib abi_x86_32 virtual/libelf abi_x86_32 virtual/libiconv abi_x86_32 virtual/libintl abi_x86_32 @@ -73,6 +77,7 @@ x11-libs/libXrandr abi_x86_32 x11-libs/libXrender abi_x86_32 x11-libs/libXxf86vm abi_x86_32 x11-libs/libdrm abi_x86_32 +x11-libs/libpciaccess abi_x86_32 x11-libs/libxcb abi_x86_32 x11-libs/libxshmfence abi_x86_32 x11-libs/xcb-util-keysyms abi_x86_32 diff --git a/hosts/iroha/gentoo/package.use/sunshine b/hosts/iroha/gentoo/package.use/sunshine new file mode 100644 index 0000000..e077f45 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/sunshine @@ -0,0 +1,2 @@ +net-misc/sunshine X wayland vaapi x264 x265 svt-av1 +media-libs/libva wayland diff --git a/hosts/iroha/gentoo/package.use/talloc b/hosts/iroha/gentoo/package.use/talloc new file mode 100644 index 0000000..04e8a13 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/talloc @@ -0,0 +1 @@ +sys-libs/talloc -python diff --git a/hosts/iroha/gentoo/package.use/vim b/hosts/iroha/gentoo/package.use/vim index d361594..2d29cd8 100644 --- a/hosts/iroha/gentoo/package.use/vim +++ b/hosts/iroha/gentoo/package.use/vim @@ -1 +1,2 @@ -app-editors/vim -minimal +app-editors/vim wayland -minimal +app-editors/vim-core -minimal diff --git a/hosts/iroha/gentoo/package.use/vulkan-tools b/hosts/iroha/gentoo/package.use/vulkan-tools new file mode 100644 index 0000000..c6e55f8 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/vulkan-tools @@ -0,0 +1 @@ +dev-util/vulkan-tools wayland cube diff --git a/hosts/iroha/gentoo/package.use/wine b/hosts/iroha/gentoo/package.use/wine index 1ec80be..c6ec61e 100644 --- a/hosts/iroha/gentoo/package.use/wine +++ b/hosts/iroha/gentoo/package.use/wine @@ -1 +1,2 @@ -app-emulation/wine-vanilla pulseaudio udev wayland wow64 -gecko -gstreamer -mingw -xcomposite -abi_x86_32 +app-emulation/wine-vanilla X wayland gecko pulseaudio udev wow64 -gstreamer -mingw -xcomposite -abi_x86_32 +app-emulation/wine-staging X wayland gecko pulseaudio udev wow64 -gstreamer -mingw -xcomposite -abi_x86_32 diff --git a/hosts/iroha/gentoo/package.use/winetricks b/hosts/iroha/gentoo/package.use/winetricks new file mode 100644 index 0000000..e69a507 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/winetricks @@ -0,0 +1 @@ +app-emulation/winetricks rar diff --git a/hosts/iroha/gentoo/package.use/wlroots b/hosts/iroha/gentoo/package.use/wlroots index e1a6a62..8848d15 100644 --- a/hosts/iroha/gentoo/package.use/wlroots +++ b/hosts/iroha/gentoo/package.use/wlroots @@ -1 +1 @@ -gui-libs/wlroots X vulkan lcms liftoff +gui-libs/wlroots X vulkan lcms liftoff xcb-errors diff --git a/hosts/iroha/gentoo/package.use/xdg-desktop-portal-gtk b/hosts/iroha/gentoo/package.use/xdg-desktop-portal-gtk new file mode 100644 index 0000000..dcdd2b6 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/xdg-desktop-portal-gtk @@ -0,0 +1 @@ +sys-apps/xdg-desktop-portal-gtk wayland diff --git a/hosts/iroha/gentoo/package.use/xemu b/hosts/iroha/gentoo/package.use/xemu new file mode 100644 index 0000000..46e3d36 --- /dev/null +++ b/hosts/iroha/gentoo/package.use/xemu @@ -0,0 +1 @@ +games-emulation/xemu io-uring pulseaudio membarrier diff --git a/hosts/iroha/gentoo/package.use/yt-dlp b/hosts/iroha/gentoo/package.use/yt-dlp new file mode 100644 index 0000000..181e01e --- /dev/null +++ b/hosts/iroha/gentoo/package.use/yt-dlp @@ -0,0 +1 @@ +net-misc/yt-dlp -deno diff --git a/hosts/iroha/gentoo/patches/app-emulation/winetricks/dotnet8_0-update.diff b/hosts/iroha/gentoo/patches/app-emulation/winetricks/dotnet8_0-update.diff new file mode 100644 index 0000000..b2186ec --- /dev/null +++ b/hosts/iroha/gentoo/patches/app-emulation/winetricks/dotnet8_0-update.diff @@ -0,0 +1,56 @@ +diff --git a/src/winetricks b/src/winetricks +index 3e74f0b..044f0c2 100755 +--- a/src/winetricks ++++ b/src/winetricks +@@ -9804,21 +9804,21 @@ w_metadata dotnet8 dlls \ + publisher="Microsoft" \ + year="2024" \ + media="download" \ +- file1="dotnet-runtime-8.0.12-win-x86.exe" \ ++ file1="dotnet-runtime-8.0.25-win-x86.exe" \ + installed_file1="${W_PROGRAMS_WIN}/dotnet/dotnet.exe" + + load_dotnet8() + { + # Official version, see https://dotnet.microsoft.com/en-us/download/dotnet/8.0 +- w_download https://download.visualstudio.microsoft.com/download/pr/3210417e-ab32-4d14-a152-1ad9a2fcfdd2/da097cee5aa85bd79b6d593e3866fb7f/dotnet-runtime-8.0.12-win-x86.exe eb0d8f39fa2dbb4ff3ff72ad325b6030773df875ab509824ea18c87a368985fa ++ w_download https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.25/dotnet-runtime-8.0.25-win-x86.exe 34499f91e956eb1cee82fa28633bd69f17062ede8088d14fa163ac9e70df6404 + + w_try_cd "${W_CACHE}"/"${W_PACKAGE}" + w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/quiet} + + if [ "${W_ARCH}" = "win64" ]; then + # Also install the 64-bit version +- w_download https://download.visualstudio.microsoft.com/download/pr/136f4593-e3cd-4d52-bc25-579cdf46e80c/8b98c1347293b48c56c3a68d72f586a1/dotnet-runtime-8.0.12-win-x64.exe a7c394e6ee4e8104d7a01f78103700052cc504370941b7f620e3aa5afbbc61df +- w_try "${WINE}" "dotnet-runtime-8.0.12-win-x64.exe" ${W_OPT_UNATTENDED:+/quiet} ++ w_download https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.25/dotnet-runtime-8.0.25-win-x64.exe 8e05c7f0cc3cdc3495265c6d5079c786f039b5688341e385a27a0100945e70d2 ++ w_try "${WINE}" "dotnet-runtime-8.0.25-win-x64.exe" ${W_OPT_UNATTENDED:+/quiet} + fi + } + +@@ -9829,21 +9829,21 @@ w_metadata dotnetdesktop8 dlls \ + publisher="Microsoft" \ + year="2024" \ + media="download" \ +- file1="windowsdesktop-runtime-8.0.12-win-x86.exe" \ ++ file1="windowsdesktop-runtime-8.0.25-win-x86.exe" \ + installed_file1="${W_PROGRAMS_WIN}/dotnet/dotnet.exe" + + load_dotnetdesktop8() + { + # Official version, see https://dotnet.microsoft.com/en-us/download/dotnet/8.0 +- w_download https://download.visualstudio.microsoft.com/download/pr/acf6e5d3-1e2f-4072-833c-fa84a10841c5/acd48342207247f404a5aaa58d1a1ea1/windowsdesktop-runtime-8.0.12-win-x86.exe 340e30c8611af3800b74f0560f0b6f3feab82ee5cfa3fc0d115b84b08bd5456d ++ w_download https://builds.dotnet.microsoft.com/dotnet/WindowsDesktop/8.0.25/windowsdesktop-runtime-8.0.25-win-x86.exe f486ecd1e9a57c438b5c7524e870c11a5affd7d224c3ed1b15179be250ea0022 + + w_try_cd "${W_CACHE}"/"${W_PACKAGE}" + w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/quiet} + + if [ "${W_ARCH}" = "win64" ]; then + # Also install the 64-bit version +- w_download https://download.visualstudio.microsoft.com/download/pr/f1e7ffc8-c278-4339-b460-517420724524/f36bb75b2e86a52338c4d3a90f8dac9b/windowsdesktop-runtime-8.0.12-win-x64.exe cb51b559f343cb56e23cad2e5af8c4d1701e221a0a2a4116193a2a9375568814 +- w_try "${WINE}" "windowsdesktop-runtime-8.0.12-win-x64.exe" ${W_OPT_UNATTENDED:+/quiet} ++ w_download https://builds.dotnet.microsoft.com/dotnet/WindowsDesktop/8.0.25/windowsdesktop-runtime-8.0.25-win-x64.exe 2b118648b91d43a773fce18a7e934e80f9aff590ee6500c221693074310a6cfe ++ w_try "${WINE}" "windowsdesktop-runtime-8.0.25-win-x64.exe" ${W_OPT_UNATTENDED:+/quiet} + fi + } + diff --git a/hosts/iroha/gentoo/patches/app-misc/neofetch/neofetch_foot_font.diff b/hosts/iroha/gentoo/patches/app-misc/neofetch/neofetch_foot_font.diff new file mode 100644 index 0000000..9ad4bf3 --- /dev/null +++ b/hosts/iroha/gentoo/patches/app-misc/neofetch/neofetch_foot_font.diff @@ -0,0 +1,14 @@ +--- a/neofetch 2026-04-19 16:47:39.498756455 -0400 ++++ b/neofetch 2026-04-21 10:36:27.841486287 -0400 +@@ -3306,6 +3306,11 @@ + term_font="$(kitty +runpy ''"$term_font"'')" + ;; + ++ "foot"*) ++ term_font="$(awk -F ':' '/^font=/ {print substr($1, 6, length($1)) " " substr($2, 6, length($2))}' \ ++ $HOME/.config/foot/foot.ini)" ++ ;; ++ + "konsole" | "yakuake") + # Get Process ID of current konsole window / tab + child="$(get_ppid "$$")" diff --git a/hosts/iroha/gentoo/patches/app-misc/neofetch/neofetch_sway_version.diff b/hosts/iroha/gentoo/patches/app-misc/neofetch/neofetch_sway_version.diff new file mode 100644 index 0000000..9d414b5 --- /dev/null +++ b/hosts/iroha/gentoo/patches/app-misc/neofetch/neofetch_sway_version.diff @@ -0,0 +1,20 @@ +--- a/neofetch 2026-04-21 10:38:18.495596158 -0400 ++++ b/neofetch 2026-04-25 10:42:58.968282990 -0400 +@@ -1751,6 +1751,7 @@ + *mate*) de=MATE ;; + *GNOME*) de=GNOME ;; + *MUFFIN*) de=Cinnamon ;; ++ *sway*) unset de ;; + esac + + ((${KDE_SESSION_VERSION:-0} >= 4)) && de=${de/KDE/Plasma} +@@ -1822,6 +1823,9 @@ + -e westeros \ + -e westford \ + -e weston) ++ case $wm in ++ *sway*) wm="Sway $(sway --version | awk -F ' ' '{ print $3 }')" ;; ++ esac + + elif [[ $DISPLAY && $os != "Mac OS X" && $os != "macOS" && $os != FreeMiNT ]]; then + type -p xprop &>/dev/null && { diff --git a/hosts/iroha/gentoo/patches/games-util/mangohud/jc42_ram_temp.diff b/hosts/iroha/gentoo/patches/games-util/mangohud/jc42_ram_temp.diff new file mode 100644 index 0000000..4301053 --- /dev/null +++ b/hosts/iroha/gentoo/patches/games-util/mangohud/jc42_ram_temp.diff @@ -0,0 +1,14 @@ +diff --git a/src/memory.cpp b/src/memory.cpp +index fc117f5..2c01c51 100644 +--- a/src/memory.cpp ++++ b/src/memory.cpp +@@ -43,7 +43,8 @@ void update_mem_temp() { + std::string path = "/sys/class/hwmon/"; + auto dirs = ls(path.c_str(), "hwmon", LS_DIRS); + for (auto &dir : dirs) { +- if (read_line(path + dir + "/name") == "spd5118") ++ const auto name = read_line(path + dir + "/name"); ++ if (name == "spd5118" || name == "jc42") + mem_temp_files.emplace_back(path + dir + "/temp1_input"); + } + if (mem_temp_files.empty()) diff --git a/hosts/iroha/gentoo/patches/gui-wm/gamescope/1826.diff b/hosts/iroha/gentoo/patches/gui-wm/gamescope/1826.diff deleted file mode 100644 index 69c85e8..0000000 --- a/hosts/iroha/gentoo/patches/gui-wm/gamescope/1826.diff +++ /dev/null @@ -1,84 +0,0 @@ -diff --git a/src/Backends/WaylandBackend.cpp b/src/Backends/WaylandBackend.cpp -index 7e68a44fb..65e35f525 100644 ---- a/src/Backends/WaylandBackend.cpp -+++ b/src/Backends/WaylandBackend.cpp -@@ -2002,24 +2002,32 @@ namespace gamescope - // Prefer opaque for composition on the Wayland backend. - - uint32_t u8BitFormat = DRM_FORMAT_INVALID; -- if ( SupportsFormat( DRM_FORMAT_XRGB8888 ) ) -- u8BitFormat = DRM_FORMAT_XRGB8888; -- else if ( SupportsFormat( DRM_FORMAT_XBGR8888 ) ) -- u8BitFormat = DRM_FORMAT_XBGR8888; -- else if ( SupportsFormat( DRM_FORMAT_ARGB8888 ) ) -- u8BitFormat = DRM_FORMAT_ARGB8888; -- else if ( SupportsFormat( DRM_FORMAT_ABGR8888 ) ) -- u8BitFormat = DRM_FORMAT_ABGR8888; -+ for (int i = 0; i < 2 && u8BitFormat == DRM_FORMAT_INVALID; i++) -+ { -+ bool invalidOnly = i == 0; -+ if ( SupportsFormat( DRM_FORMAT_XRGB8888, invalidOnly ) ) -+ u8BitFormat = DRM_FORMAT_XRGB8888; -+ else if ( SupportsFormat( DRM_FORMAT_XBGR8888, invalidOnly ) ) -+ u8BitFormat = DRM_FORMAT_XBGR8888; -+ else if ( SupportsFormat( DRM_FORMAT_ARGB8888, invalidOnly ) ) -+ u8BitFormat = DRM_FORMAT_ARGB8888; -+ else if ( SupportsFormat( DRM_FORMAT_ABGR8888, invalidOnly ) ) -+ u8BitFormat = DRM_FORMAT_ABGR8888; -+ } - - uint32_t u10BitFormat = DRM_FORMAT_INVALID; -- if ( SupportsFormat( DRM_FORMAT_XBGR2101010 ) ) -- u10BitFormat = DRM_FORMAT_XBGR2101010; -- else if ( SupportsFormat( DRM_FORMAT_XRGB2101010 ) ) -- u10BitFormat = DRM_FORMAT_XRGB2101010; -- else if ( SupportsFormat( DRM_FORMAT_ABGR2101010 ) ) -- u10BitFormat = DRM_FORMAT_ABGR2101010; -- else if ( SupportsFormat( DRM_FORMAT_ARGB2101010 ) ) -- u10BitFormat = DRM_FORMAT_ARGB2101010; -+ for (int i = 0; i < 2 && u10BitFormat == DRM_FORMAT_INVALID; i++) -+ { -+ bool invalidOnly = i == 0; -+ if ( SupportsFormat( DRM_FORMAT_XBGR2101010, invalidOnly ) ) -+ u10BitFormat = DRM_FORMAT_XBGR2101010; -+ else if ( SupportsFormat( DRM_FORMAT_XRGB2101010, invalidOnly ) ) -+ u10BitFormat = DRM_FORMAT_XRGB2101010; -+ else if ( SupportsFormat( DRM_FORMAT_ABGR2101010, invalidOnly ) ) -+ u10BitFormat = DRM_FORMAT_ABGR2101010; -+ else if ( SupportsFormat( DRM_FORMAT_ARGB2101010, invalidOnly ) ) -+ u10BitFormat = DRM_FORMAT_ARGB2101010; -+ } - - assert( u8BitFormat != DRM_FORMAT_INVALID ); - -diff --git a/src/backend.h b/src/backend.h -index 29219dbc8..2767546cd 100644 ---- a/src/backend.h -+++ b/src/backend.h -@@ -309,9 +309,11 @@ namespace gamescope - - virtual bool UsesModifiers() const = 0; - virtual std::span GetSupportedModifiers( uint32_t uDrmFormat ) const = 0; -- inline bool SupportsFormat( uint32_t uDrmFormat ) const -+ inline bool SupportsFormat( uint32_t uDrmFormat, bool invalidOnly ) const - { -- return Algorithm::Contains( this->GetSupportedModifiers( uDrmFormat ), DRM_FORMAT_MOD_INVALID ); -+ if ( invalidOnly ) -+ return Algorithm::Contains( this->GetSupportedModifiers( uDrmFormat ), DRM_FORMAT_MOD_INVALID ); -+ return !this->GetSupportedModifiers( uDrmFormat ).empty(); - } - - virtual IBackendConnector *GetCurrentConnector() = 0; -diff --git a/src/rendervulkan.cpp b/src/rendervulkan.cpp -index b8412b8fd..f41ef4c9b 100644 ---- a/src/rendervulkan.cpp -+++ b/src/rendervulkan.cpp -@@ -2814,7 +2814,7 @@ bool vulkan_init_format(VkFormat format, uint32_t drmFormat) - } - else - { -- if ( GetBackend()->UsesModifiers() && !GetBackend()->SupportsFormat( drmFormat ) ) -+ if ( GetBackend()->UsesModifiers() && !GetBackend()->SupportsFormat( drmFormat, true ) ) - return false; - - wlr_drm_format_set_add( &sampledDRMFormats, drmFormat, DRM_FORMAT_MOD_INVALID ); diff --git a/hosts/iroha/gentoo/patches/gui-wm/gamescope/740_rebase.diff b/hosts/iroha/gentoo/patches/gui-wm/gamescope/740_rebase.diff deleted file mode 100644 index 79a87eb..0000000 --- a/hosts/iroha/gentoo/patches/gui-wm/gamescope/740_rebase.diff +++ /dev/null @@ -1,693 +0,0 @@ -diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp -index 1ec2699..26c0afc 100644 ---- a/src/Backends/DRMBackend.cpp -+++ b/src/Backends/DRMBackend.cpp -@@ -3424,6 +3424,7 @@ namespace gamescope - bNeedsFullComposite |= bWasFirstFrame; - bNeedsFullComposite |= pFrameInfo->useFSRLayer0; - bNeedsFullComposite |= pFrameInfo->useNISLayer0; -+ bNeedsFullComposite |= pFrameInfo->useBICUBICLayer0; - bNeedsFullComposite |= pFrameInfo->blurLayer0; - bNeedsFullComposite |= bNeedsCompositeFromFilter; - bNeedsFullComposite |= !k_bUseCursorPlane && bDrewCursor; -diff --git a/src/Backends/OpenVRBackend.cpp b/src/Backends/OpenVRBackend.cpp -index 1f0e822..6756835 100644 ---- a/src/Backends/OpenVRBackend.cpp -+++ b/src/Backends/OpenVRBackend.cpp -@@ -1431,6 +1431,7 @@ namespace gamescope - bNeedsFullComposite |= cv_composite_force; - bNeedsFullComposite |= pFrameInfo->useFSRLayer0; - bNeedsFullComposite |= pFrameInfo->useNISLayer0; -+ bNeedsFullComposite |= pFrameInfo->useBICUBICLayer0; - bNeedsFullComposite |= pFrameInfo->blurLayer0; - bNeedsFullComposite |= bNeedsCompositeFromFilter; - bNeedsFullComposite |= g_bColorSliderInUse; -diff --git a/src/Backends/SDLBackend.cpp b/src/Backends/SDLBackend.cpp -index 2bb8fb0..87b1bed 100644 ---- a/src/Backends/SDLBackend.cpp -+++ b/src/Backends/SDLBackend.cpp -@@ -736,7 +736,7 @@ namespace gamescope - if ( event.key.keysym.mod & KMOD_LGUI ) - { - uint32_t key = SDLScancodeToLinuxKey( event.key.keysym.scancode ); -- const uint32_t shortcutKeys[] = {KEY_F, KEY_N, KEY_B, KEY_U, KEY_Y, KEY_I, KEY_O, KEY_S, KEY_G}; -+ const uint32_t shortcutKeys[] = {KEY_F, KEY_N, KEY_B, KEY_K, KEY_U, KEY_Y, KEY_I, KEY_O, KEY_S, KEY_G}; - const bool isShortcutKey = std::find(std::begin(shortcutKeys), std::end(shortcutKeys), key) != std::end(shortcutKeys); - if ( isShortcutKey ) - { -@@ -764,6 +764,10 @@ namespace gamescope - case KEY_B: - g_wantedUpscaleFilter = GamescopeUpscaleFilter::LINEAR; - break; -+ case KEY_K: -+ g_wantedDownscaleFilter = (g_wantedDownscaleFilter == GamescopeDownscaleFilter::BICUBIC) ? -+ GamescopeDownscaleFilter::LINEAR : GamescopeDownscaleFilter::BICUBIC; -+ break; - case KEY_U: - g_wantedUpscaleFilter = (g_wantedUpscaleFilter == GamescopeUpscaleFilter::FSR) ? - GamescopeUpscaleFilter::LINEAR : GamescopeUpscaleFilter::FSR; -diff --git a/src/Backends/WaylandBackend.cpp b/src/Backends/WaylandBackend.cpp -index 664ed0e..d942cd6 100644 ---- a/src/Backends/WaylandBackend.cpp -+++ b/src/Backends/WaylandBackend.cpp -@@ -1022,6 +1022,7 @@ namespace gamescope - bNeedsFullComposite |= cv_composite_force; - bNeedsFullComposite |= pFrameInfo->useFSRLayer0; - bNeedsFullComposite |= pFrameInfo->useNISLayer0; -+ bNeedsFullComposite |= pFrameInfo->useBICUBICLayer0; - bNeedsFullComposite |= pFrameInfo->blurLayer0; - bNeedsFullComposite |= bNeedsCompositeFromFilter; - bNeedsFullComposite |= g_bColorSliderInUse; -@@ -2877,6 +2878,16 @@ namespace gamescope - return; - } - -+ case KEY_K: -+ { -+ if ( !bPressed ) -+ { -+ g_wantedDownscaleFilter = (g_wantedDownscaleFilter == GamescopeDownscaleFilter::BICUBIC) ? -+ GamescopeDownscaleFilter::LINEAR : GamescopeDownscaleFilter::BICUBIC; -+ } -+ return; -+ } -+ - case KEY_Y: - { - if ( !bPressed ) -diff --git a/src/main.cpp b/src/main.cpp -index cdb35c3..78e072b 100644 ---- a/src/main.cpp -+++ b/src/main.cpp -@@ -7,6 +7,7 @@ - #include - #include - #include -+#include - #include - #if defined(__linux__) - #include -@@ -297,11 +298,14 @@ bool g_bGrabbed = false; - float g_mouseSensitivity = 1.0; - - GamescopeUpscaleFilter g_upscaleFilter = GamescopeUpscaleFilter::LINEAR; -+GamescopeDownscaleFilter g_downscaleFilter = GamescopeDownscaleFilter::LINEAR; - GamescopeUpscaleScaler g_upscaleScaler = GamescopeUpscaleScaler::AUTO; - - GamescopeUpscaleFilter g_wantedUpscaleFilter = GamescopeUpscaleFilter::LINEAR; -+GamescopeDownscaleFilter g_wantedDownscaleFilter = GamescopeDownscaleFilter::LINEAR; - GamescopeUpscaleScaler g_wantedUpscaleScaler = GamescopeUpscaleScaler::AUTO; - int g_upscaleFilterSharpness = 2; -+GamescopeBicubicParams g_bicubicParams; - - gamescope::GamescopeModeGeneration g_eGamescopeModeGeneration = gamescope::GAMESCOPE_MODE_GENERATE_CVT; - -@@ -406,6 +410,54 @@ static enum GamescopeUpscaleFilter parse_upscaler_filter(const char *str) - } - } - -+static enum GamescopeDownscaleFilter parse_downscaler_filter(const char *str) -+{ -+ std::string_view arg{str}; -+ -+ // If the string is just 'bicubic' use default values -+ if ( arg == "bicubic" ) { -+ return GamescopeDownscaleFilter::BICUBIC; -+ } -+ -+ // Arguments start after ':' -+ if ( auto search = arg.find(':'); search == std::string::npos ) { -+ fprintf( stderr, "gamescope: invalid argument for --filter=bicubic:float,float\n" ); -+ exit(1); -+ } else { -+ arg = std::string_view(arg.data() + search + 1); -+ } -+ -+ // Push arguments to stream -+ std::stringstream ss; -+ ss << arg; -+ -+ // Validate arguments from stream -+ double b, c; -+ char comma; -+ if ((ss >> b >> comma >> c) && (comma == ',')) { -+ // clamp values -+ b = std::clamp(b, 0.0, 1.0); -+ c = std::clamp(c, 0.0, 1.0); -+ // Ovewrite default global parameters -+ g_bicubicParams.b = b; -+ g_bicubicParams.c = c; -+ // Set downscaler filters -+ return GamescopeDownscaleFilter::BICUBIC; -+ } -+ -+ fprintf( stderr, "gamescope: invalid value for --filter\n" ); -+ exit(1); -+} -+ -+static void parse_filter(const char *str) -+{ -+ if (std::string_view{str}.starts_with("bicubic")) { -+ g_wantedDownscaleFilter = parse_downscaler_filter(str); -+ } else { -+ g_wantedUpscaleFilter = parse_upscaler_filter(str); -+ } -+} -+ - static enum gamescope::GamescopeBackend parse_backend_name(const char *str) - { - if (strcmp(str, "auto") == 0) { -@@ -736,7 +788,7 @@ int main(int argc, char **argv) - g_wantedUpscaleScaler = parse_upscaler_scaler(optarg); - break; - case 'F': -- g_wantedUpscaleFilter = parse_upscaler_filter(optarg); -+ parse_filter(optarg); - break; - case 'b': - g_bBorderlessOutputWindow = true; -diff --git a/src/main.hpp b/src/main.hpp -index 2e6fb83..f8cc030 100644 ---- a/src/main.hpp -+++ b/src/main.hpp -@@ -40,6 +40,18 @@ enum class GamescopeUpscaleFilter : uint32_t - FROM_VIEW = 0xF, // internal - }; - -+enum class GamescopeDownscaleFilter : uint32_t -+{ -+ LINEAR = 0, -+ BICUBIC, -+}; -+ -+struct GamescopeBicubicParams -+{ -+ float b = 0.3f; -+ float c = 0.3f; -+}; -+ - static constexpr bool DoesHardwareSupportUpscaleFilter( GamescopeUpscaleFilter eFilter ) - { - // Could do nearest someday... AMDGPU DC supports custom tap placement to an extent. -@@ -57,10 +69,13 @@ enum class GamescopeUpscaleScaler : uint32_t - }; - - extern GamescopeUpscaleFilter g_upscaleFilter; -+extern GamescopeDownscaleFilter g_downscaleFilter; - extern GamescopeUpscaleScaler g_upscaleScaler; - extern GamescopeUpscaleFilter g_wantedUpscaleFilter; -+extern GamescopeDownscaleFilter g_wantedDownscaleFilter; - extern GamescopeUpscaleScaler g_wantedUpscaleScaler; - extern int g_upscaleFilterSharpness; -+extern GamescopeBicubicParams g_bicubicParams; - - extern bool g_bBorderlessOutputWindow; - -diff --git a/src/meson.build b/src/meson.build -index a3dfdab..5d3019f 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -66,6 +66,7 @@ shader_src = [ - 'shaders/cs_composite_rcas.comp', - 'shaders/cs_easu.comp', - 'shaders/cs_easu_fp16.comp', -+ 'shaders/cs_bicubic.comp', - 'shaders/cs_gaussian_blur_horizontal.comp', - 'shaders/cs_nis.comp', - 'shaders/cs_nis_fp16.comp', -diff --git a/src/rendervulkan.cpp b/src/rendervulkan.cpp -index f79d26e..cc7edbb 100644 ---- a/src/rendervulkan.cpp -+++ b/src/rendervulkan.cpp -@@ -44,6 +44,7 @@ - #include "cs_composite_rcas.h" - #include "cs_easu.h" - #include "cs_easu_fp16.h" -+#include "cs_bicubic.h" - #include "cs_gaussian_blur_horizontal.h" - #include "cs_nis.h" - #include "cs_nis_fp16.h" -@@ -52,6 +53,7 @@ - #define A_CPU - #include "shaders/ffx_a.h" - #include "shaders/ffx_fsr1.h" -+#include "shaders/bicubic.h" - - #include "reshade_effect_manager.hpp" - -@@ -912,6 +914,7 @@ bool CVulkanDevice::createShaders() - SHADER(BLUR_COND, cs_composite_blur_cond); - SHADER(BLUR_FIRST_PASS, cs_gaussian_blur_horizontal); - SHADER(RCAS, cs_composite_rcas); -+ SHADER(BICUBIC, cs_bicubic); - if (m_bSupportsFp16) - { - SHADER(EASU, cs_easu_fp16); -@@ -1151,6 +1154,7 @@ void CVulkanDevice::compileAllPipelines() - SHADER(BLUR_FIRST_PASS, 1, 2, 1); - SHADER(RCAS, k_nMaxLayers, k_nMaxYcbcrMask_ToPreCompile, 1); - SHADER(EASU, 1, 1, 1); -+ SHADER(BICUBIC, 1, 1, 1); - SHADER(NIS, 1, 1, 1); - SHADER(RGB_TO_NV12, 1, 1, 1); - #undef SHADER -@@ -3732,6 +3736,17 @@ struct EasuPushData_t - } - }; - -+struct BicubicPushData_t -+{ -+ uvec4_t Const0; -+ uvec4_t Const1; -+ -+ BicubicPushData_t(float B, float C, uint32_t inputX, uint32_t inputY, uint32_t tempX, uint32_t tempY, uint32_t winX, uint32_t winY) -+ { -+ BicubicCon(&Const0.x, &Const1.x, B*10, C*10, inputX, inputY, tempX, tempY, winX, winY); -+ } -+}; -+ - struct RcasPushData_t - { - uvec2_t u_layer0Offset; -@@ -3950,7 +3965,51 @@ std::optional vulkan_composite( struct FrameInfo_t *frameInfo, gamesco - for (uint32_t i = 0; i < EOTF_Count; i++) - cmdBuffer->bindColorMgmtLuts(i, frameInfo->shaperLut[i], frameInfo->lut3D[i]); - -- if ( frameInfo->useFSRLayer0 ) -+ if ( frameInfo->useBICUBICLayer0 ) -+ { -+ uint32_t inputX = frameInfo->layers[0].tex->width(); -+ uint32_t inputY = frameInfo->layers[0].tex->height(); -+ -+ uint32_t tempX = frameInfo->layers[0].integerWidth(); -+ uint32_t tempY = frameInfo->layers[0].integerHeight(); -+ -+ update_tmp_images(tempX, tempY); -+ -+ cmdBuffer->bindPipeline( g_device.pipeline(SHADER_TYPE_BICUBIC, frameInfo->layerCount, frameInfo->ycbcrMask())); -+ cmdBuffer->bindTarget(g_output.tmpOutput); -+ cmdBuffer->bindTexture(0, frameInfo->layers[0].tex); -+ cmdBuffer->setTextureSrgb(0, true); -+ cmdBuffer->setSamplerUnnormalized(0, false); -+ cmdBuffer->setSamplerNearest(0, false); -+ cmdBuffer->uploadConstants(g_bicubicParams.b -+ , g_bicubicParams.c -+ , inputX -+ , inputY -+ , tempX -+ , tempY -+ , currentOutputWidth -+ , currentOutputHeight -+ ); -+ -+ int pixelsPerGroup = 16; -+ -+ cmdBuffer->dispatch(div_roundup(tempX, pixelsPerGroup), div_roundup(tempY, pixelsPerGroup)); -+ -+ struct FrameInfo_t bicFrameInfo = *frameInfo; -+ bicFrameInfo.layers[0].tex = g_output.tmpOutput; -+ bicFrameInfo.layers[0].scale.x = 1.0f; -+ bicFrameInfo.layers[0].scale.y = 1.0f; -+ -+ cmdBuffer->bindPipeline( g_device.pipeline(SHADER_TYPE_BLIT, bicFrameInfo.layerCount, bicFrameInfo.ycbcrMask())); -+ bind_all_layers(cmdBuffer.get(), &bicFrameInfo); -+ cmdBuffer->bindTarget(compositeImage); -+ cmdBuffer->uploadConstants(&bicFrameInfo); -+ -+ pixelsPerGroup = 8; -+ -+ cmdBuffer->dispatch(div_roundup(currentOutputWidth, pixelsPerGroup), div_roundup(currentOutputHeight, pixelsPerGroup)); -+ } -+ else if ( frameInfo->useFSRLayer0 ) - { - uint32_t inputX = frameInfo->layers[0].tex->width(); - uint32_t inputY = frameInfo->layers[0].tex->height(); -diff --git a/src/rendervulkan.hpp b/src/rendervulkan.hpp -index 63cc602..4092e82 100644 ---- a/src/rendervulkan.hpp -+++ b/src/rendervulkan.hpp -@@ -281,6 +281,7 @@ struct FrameInfo_t - { - bool useFSRLayer0; - bool useNISLayer0; -+ bool useBICUBICLayer0; - bool bFadingOut; - BlurMode blurLayer0; - int blurRadius; -@@ -556,6 +557,7 @@ enum ShaderType { - SHADER_TYPE_EASU, - SHADER_TYPE_RCAS, - SHADER_TYPE_NIS, -+ SHADER_TYPE_BICUBIC, - SHADER_TYPE_RGB_TO_NV12, - - SHADER_TYPE_COUNT -diff --git a/src/shaders/bicubic.h b/src/shaders/bicubic.h -new file mode 100644 -index 0000000..8117e87 ---- /dev/null -+++ b/src/shaders/bicubic.h -@@ -0,0 +1,44 @@ -+//_____________________________________________________________/\_______________________________________________________________ -+//============================================================================================================================== -+// -+// -+// BICUBIC IMAGE SCALING -+// -+// -+//------------------------------------------------------------------------------------------------------------------------------ -+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -+//_____________________________________________________________/\_______________________________________________________________ -+//============================================================================================================================== -+// CONSTANT SETUP -+//============================================================================================================================== -+// Call to setup required constant values (works on CPU or GPU). -+A_STATIC void BicubicCon( -+outAU4 con0, -+outAU4 con1, -+// Configurable parameters -+AU1 B, -+AU1 C, -+// This the rendered image resolution -+AF1 inputRenderedSizeX, -+AF1 inputRenderedSizeY, -+// This is the resolution of the resource containing the input image (useful for dynamic resolution) -+AF1 inputCurrentSizeX, -+AF1 inputCurrentSizeY, -+// This is the window width / height -+AF1 outputTargetSizeX, -+AF1 outputTargetSizeY) -+{ -+ // Input/Output size information -+ con0[0]=AU1_AF1(inputRenderedSizeX); -+ con0[1]=AU1_AF1(inputRenderedSizeY); -+ con0[2]=AU1_AF1(inputCurrentSizeX); -+ con0[3]=AU1_AF1(inputCurrentSizeY); -+ -+ // Viewport pixel position to normalized image space. -+ con1[0]=AU1_AF1(outputTargetSizeX); -+ con1[1]=AU1_AF1(outputTargetSizeY); -+ con1[2]=B; -+ con1[3]=C; -+} -diff --git a/src/shaders/cs_bicubic.comp b/src/shaders/cs_bicubic.comp -new file mode 100644 -index 0000000..2b6dfb8 ---- /dev/null -+++ b/src/shaders/cs_bicubic.comp -@@ -0,0 +1,177 @@ -+// References -+// https://www.codeproject.com/Articles/236394/Bi-Cubic-and-Bi-Linear-Interpolation-with-GLSL -+// https://stackoverflow.com/questions/13501081/efficient-bicubic-filtering-code-in-glsl -+// https://web.archive.org/web/20180927181721/http://www.java-gaming.org/index.php?topic=35123.0 -+// https://gist.github.com/TheRealMJP/c83b8c0f46b63f3a88a5986f4fa982b1 -+ -+#version 460 -+ -+#extension GL_GOOGLE_include_directive : require -+#extension GL_EXT_shader_explicit_arithmetic_types_float16 : require -+#extension GL_EXT_scalar_block_layout : require -+ -+#include "descriptor_set.h" -+ -+layout( -+ local_size_x = 64, -+ local_size_y = 1, -+ local_size_z = 1) in; -+ -+// Push constant is a mechanism in modern OpenGL that allows passing small amounts of frequently -+// updated data to the shader without needing to bind a buffer -+layout(binding = 0, scalar) -+uniform layers_t { -+ uvec4 c0, c1; -+}; -+ -+#define A_GPU 1 -+#define A_GLSL 1 -+#define A_HALF 1 -+#include "ffx_a.h" -+#include "bicubic.h" -+ -+// The Mitchell–Netravali filters or BC-splines -+// https://en.wikipedia.org/wiki/Mitchell%E2%80%93Netravali_filters -+// Conditionals are slow in GPU code, so to represent 0 <= f < 1 and 1 <= f < 2 -+// the P(d) form shown in the wikipedia page is used -+vec4 mitchellNetravaliWeights(float f, float B, float C) -+{ -+ float w0 = ((12.0 - 9.0 * B - 6.0 * C) * pow(f, 3.0)) + -+ ((-18.0 + 12.0 * B + 6.0 * C) * pow(f, 2.0)) + -+ (6.0 - 2.0 * B); -+ -+ float w1 = ((-B - 6.0 * C) * pow(f - 1.0, 3.0)) + -+ ((6.0 * B + 30.0 * C) * pow(f - 1.0, 2.0)) + -+ ((-12.0 * B - 48.0 * C) * (f - 1.0)) + -+ (8.0 * B + 24.0 * C); -+ -+ float w2 = ((12.0 - 9.0 * B - 6.0 * C) * pow(1.0 - f, 3.0)) + -+ ((-18.0 + 12.0 * B + 6.0 * C) * pow(1.0 - f, 2.0)) + -+ (6.0 - 2.0 * B); -+ -+ float w3 = ((-B - 6.0 * C) * pow(2.0 - f, 3.0)) + -+ ((6.0 * B + 30.0 * C) * pow(2.0 - f, 2.0)) + -+ ((-12.0 * B - 48.0 * C) * (2.0 - f)) + -+ (8.0 * B + 24.0 * C); -+ -+ return vec4(w0, w1, w2, w3); -+} -+ -+// https://stackoverflow.com/questions/13501081/efficient-bicubic-filtering-code-in-glsl -+// https://web.archive.org/web/20180927181721/http://www.java-gaming.org/index.php?topic=35123.0 -+// This is an efficient method to implement bicubic filtering, it takes -+// advantage of the fact that the bilinear approach gives the weighted average -+// of a 2x2 area. -+vec4 textureBicubic(sampler2D splr, vec2 texCoords) -+{ -+ vec2 texSize = textureSize(splr, 0); -+ vec2 invTexSize = 1.0 / texSize; -+ -+ // Converts normalized coordinates into pixel-space coordinate -+ // Example: If texCoords is (0.5, 0.5), and the texture size is (1920, 1080), the result will be -+ // (960, 540)—the center of the texture in pixel space. -+ // Subtracting 0.5 ensures that you're sampling from the center of the texel rather than its corner -+ // Example: Assume we have a 3x3 texture and texCoords = (0.5, 0.5): -+ // [0,0][1,0][2,0] -+ // [0,1][1,1][2,1] -+ // [0,2][1,2][2,2] -+ // texCoords * texSize - 0.5 maps to (1.5, 1.5), which is between (1,1) and (2,2), then -+ // subtracts 0.5 to move it to (1.0, 1.0)—the center of the texel -+ texCoords = texCoords * texSize - 0.5; -+ -+ // Get B and C that were pushed from the user input (or default values) -+ float B = c1[2] / 10.0f; -+ float C = c1[3] / 10.0f; -+ -+ // Get the fractional part of the coordinates -+ // They are used in Mitchell Netravali's strategy to calculate the interpolation weights, -+ // i.e., how much influence the neighboring vertices have on the final pixel value -+ vec2 fxy = fract(texCoords); -+ texCoords -= fxy; -+ -+ // Calculate bicubic weights -+ // These weights represent how much influence each neighboring texel in the 4x4 grid will have -+ // on the final interpolated pixel value -+ vec4 xweights = mitchellNetravaliWeights(fxy.x, B, C); -+ vec4 yweights = mitchellNetravaliWeights(fxy.y, B, C); -+ -+ // Modify the current texture coordinates to have an offset in texels for each coordinate -+ // E.g. texCoords + vec(-1.0, 0.0) is a texel to the left -+ // texCoords + vec(1.0, 0.0) is a texel to the right -+ // texCoords + vec(0.0, 1.0) is a texel downwards -+ // texCoords + vec(0.0, -1.0) is a texel upwards -+ vec4 offsetTexels = texCoords.xxyy; -+ offsetTexels += vec2 (-1.0, +1.0).xyxy; -+ // Normalize weights to range between (0,1) -+ // vec4 sumWeights = vec4(xweights.xz + xweights.yw, yweights.xz + yweights.yw); -+ // vec4 normalizedWeights = vec4 (xweights.yw, yweights.yw) / sumWeights; -+ vec4 sumWeights = vec4(xweights.x + xweights.y, xweights.z + xweights.w, yweights.x + yweights.y, yweights.z + yweights.w); -+ vec4 normalizedWeights = vec4 (xweights.y, xweights.w, yweights.y, yweights.w) / sumWeights; -+ // Use the weights to influence the sampling position inside each texel -+ // Each texel has a size from (0,1) -+ vec4 offsetSampler = offsetTexels + normalizedWeights; -+ // Go back to normalized space -+ offsetSampler *= invTexSize.xxyy; -+ // Perform the sampling -+ vec4 sample0 = texture(splr, offsetSampler.xz); -+ vec4 sample1 = texture(splr, offsetSampler.yz); -+ vec4 sample2 = texture(splr, offsetSampler.xw); -+ vec4 sample3 = texture(splr, offsetSampler.yw); -+ -+ // Now we perform linear interpolation in the selected points -+ // The mix(a, b, t) function in GLSL performs linear interpolation between a and b based on the -+ // parameter t, t is between 0 and 1 -+ // https://registry.khronos.org/OpenGL-Refpages/gl4/html/mix.xhtml -+ -+ // Here we want to normalize sx and sy to between 0 and 1 (t value) -+ float sx = sumWeights.x / (sumWeights.x + sumWeights.y); -+ float sy = sumWeights.z / (sumWeights.z + sumWeights.w); -+ -+ return mix( -+ mix(sample3, sample2, sx), mix(sample1, sample0, sx) -+ , sy); -+} -+ -+void bicPass(uvec2 pos) -+{ -+ // Retrieve pushed values -+ AF2 inputRenderedSize = AF2_AU2(c0.xy); -+ AF2 inputCurrentSize = AF2_AU2(c0.zw); -+ AF2 outputTargetSize = AF2_AU2(c1.xy); -+ -+ // ARcpF1(x) == 1.0 / x -+ // scaleFactor is the division between the rendered image and the size it should have at the end -+ // E.g.: Rendered 1920x1080, window size is 960x540, then scaleFactor is 2x2 -+ AF2 scaleFactor = inputRenderedSize * vec2(ARcpF1(inputCurrentSize.x), ARcpF1(inputCurrentSize.y)); -+ -+ // The parameter pos of this function is used to iterate over the output image (e.g. 960x540) -+ // The position of the processed pixel should be taken from the rendered image (e.g. 1920x1080) -+ // 10x10 in the output, corresponds to 20x20 in the original image -+ AF2 positionPixel=AF2(pos)*scaleFactor; -+ -+ // Normalize the image space to be between [0,1] -+ positionPixel=positionPixel*vec2(ARcpF1(inputRenderedSize.x),ARcpF1(inputRenderedSize.y)); -+ -+ // Apply the bicubic algorithm in the normalized pixel position -+ vec4 bicPass = textureBicubic(s_samplers[0], positionPixel); -+ -+ imageStore(dst, ivec2(pos), bicPass); -+} -+ -+ -+void main() -+{ -+ // AMD recommends to use this swizzle and to process 4 pixel per invocation -+ // for better cache utilisation -+ uvec2 pos = ARmp8x8(gl_LocalInvocationID.x) + uvec2(gl_WorkGroupID.x << 4u, gl_WorkGroupID.y << 4u); -+ -+ bicPass(pos); -+ pos.x += 8u; -+ bicPass(pos); -+ pos.y += 8u; -+ bicPass(pos); -+ pos.x -= 8u; -+ bicPass(pos); -+} -+ -+/* vim: set expandtab ft=cpp fdm=marker ts=4 sw=4 tw=100 et :*/ -diff --git a/src/shaders/descriptor_set.h b/src/shaders/descriptor_set.h -index f2b8527..64cc1c9 100644 ---- a/src/shaders/descriptor_set.h -+++ b/src/shaders/descriptor_set.h -@@ -21,6 +21,7 @@ const int filter_nearest = 1; - const int filter_fsr = 2; - const int filter_nis = 3; - const int filter_pixel = 4; -+const int filter_bicubic = 5; - const int filter_from_view = 255; - - const int EOTF_Gamma22 = 0; -diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp -index c1d49fd..44cb223 100644 ---- a/src/steamcompmgr.cpp -+++ b/src/steamcompmgr.cpp -@@ -1015,6 +1015,7 @@ gamescope::ConCommand cc_debug_set_fps_limit( "debug_set_fps_limit", "Set refres - static int g_nRuntimeInfoFd = -1; - - bool g_bFSRActive = false; -+bool g_bBicubicActive = false; - - BlurMode g_BlurMode = BLUR_MODE_OFF; - BlurMode g_BlurModeOld = BLUR_MODE_OFF; -@@ -2555,6 +2556,8 @@ paint_all( global_focus_t *pFocus, bool async ) - paint_window(w, w, &frameInfo, pFocus->cursor, PaintWindowFlag::BasePlane | PaintWindowFlag::DrawBorders, 1.0f, override); - - bool needsScaling = frameInfo.layers[0].scale.x < 0.999f && frameInfo.layers[0].scale.y < 0.999f; -+ bool needsDownScaling = true; -+ frameInfo.useBICUBICLayer0 = g_downscaleFilter == GamescopeDownscaleFilter::BICUBIC && needsDownScaling; - frameInfo.useFSRLayer0 = g_upscaleFilter == GamescopeUpscaleFilter::FSR && needsScaling; - frameInfo.useNISLayer0 = g_upscaleFilter == GamescopeUpscaleFilter::NIS && needsScaling; - } -@@ -2696,6 +2699,7 @@ paint_all( global_focus_t *pFocus, bool async ) - } - - frameInfo.useFSRLayer0 = false; -+ frameInfo.useBICUBICLayer0 = false; - frameInfo.useNISLayer0 = false; - } - -@@ -5761,6 +5765,9 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev) - g_wantedUpscaleScaler = GamescopeUpscaleScaler::AUTO; - g_wantedUpscaleFilter = GamescopeUpscaleFilter::NIS; - break; -+ case 5: -+ g_wantedDownscaleFilter = GamescopeDownscaleFilter::BICUBIC; -+ break; - } - hasRepaint = true; - } -@@ -7391,6 +7398,7 @@ void init_xwayland_ctx(uint32_t serverId, gamescope_xwayland_server_t *xwayland_ - ctx->atoms.gamescopeLowLatency = XInternAtom( ctx->dpy, "GAMESCOPE_LOW_LATENCY", false ); - - ctx->atoms.gamescopeFSRFeedback = XInternAtom( ctx->dpy, "GAMESCOPE_FSR_FEEDBACK", false ); -+ ctx->atoms.gamescopeBicubicFeedback = XInternAtom( ctx->dpy, "GAMESCOPE_BICUBIC_FEEDBACK", false ); - - ctx->atoms.gamescopeBlurMode = XInternAtom( ctx->dpy, "GAMESCOPE_BLUR_MODE", false ); - ctx->atoms.gamescopeBlurRadius = XInternAtom( ctx->dpy, "GAMESCOPE_BLUR_RADIUS", false ); -@@ -7645,6 +7653,7 @@ extern int g_nPreferredOutputWidth; - extern int g_nPreferredOutputHeight; - - static bool g_bWasFSRActive = false; -+static bool g_bWasBicubicActive = false; - - bool g_bAppWantsHDRCached = false; - -@@ -8091,6 +8100,16 @@ steamcompmgr_main(int argc, char **argv) - flush_root = true; - } - -+ if ( g_bBicubicActive != g_bWasBicubicActive ) -+ { -+ uint32_t active = g_bBicubicActive ? 1 : 0; -+ XChangeProperty( root_ctx->dpy, root_ctx->root, root_ctx->atoms.gamescopeBicubicFeedback, XA_CARDINAL, 32, PropModeReplace, -+ (unsigned char *)&active, 1 ); -+ -+ g_bWasBicubicActive = g_bBicubicActive; -+ flush_root = true; -+ } -+ - static gamescope::VirtualConnectorStrategy s_eLastVirtualConnectorStrategy = gamescope::cv_backend_virtual_connector_strategy; - gamescope::VirtualConnectorStrategy eVirtualConnectorStrategy = gamescope::cv_backend_virtual_connector_strategy; - -@@ -8439,6 +8458,7 @@ steamcompmgr_main(int argc, char **argv) - g_bSteamIsActiveWindow = false; - g_upscaleScaler = g_wantedUpscaleScaler; - g_upscaleFilter = g_wantedUpscaleFilter; -+ g_downscaleFilter = g_wantedDownscaleFilter; - } - - // If we're in the middle of a fade, then keep us -diff --git a/src/steamcompmgr.hpp b/src/steamcompmgr.hpp -index 98e9272..ea7de13 100644 ---- a/src/steamcompmgr.hpp -+++ b/src/steamcompmgr.hpp -@@ -129,6 +129,7 @@ extern float focusedWindowOffsetX; - extern float focusedWindowOffsetY; - - extern bool g_bFSRActive; -+extern bool g_bBicubicActive; - - extern uint32_t inputCounter; - extern uint64_t g_lastWinSeq; -diff --git a/src/xwayland_ctx.hpp b/src/xwayland_ctx.hpp -index df2af70..e212a11 100644 ---- a/src/xwayland_ctx.hpp -+++ b/src/xwayland_ctx.hpp -@@ -164,6 +164,7 @@ struct xwayland_ctx_t final : public gamescope::IWaitable - Atom gamescopeLowLatency; - - Atom gamescopeFSRFeedback; -+ Atom gamescopeBicubicFeedback; - - Atom gamescopeBlurMode; - Atom gamescopeBlurRadius; diff --git a/hosts/iroha/gentoo/patches/media-gfx/gimp/accumulate_scroll_zoom.diff b/hosts/iroha/gentoo/patches/media-gfx/gimp/accumulate_scroll_zoom.diff new file mode 100644 index 0000000..6667cb9 --- /dev/null +++ b/hosts/iroha/gentoo/patches/media-gfx/gimp/accumulate_scroll_zoom.diff @@ -0,0 +1,154 @@ +diff --git a/app/display/gimpdisplayshell-scale.c b/app/display/gimpdisplayshell-scale.c +index 6327b7f1ec..a22aa0f4ca 100644 +--- a/app/display/gimpdisplayshell-scale.c ++++ b/app/display/gimpdisplayshell-scale.c +@@ -48,6 +48,8 @@ + #define SCALE_EPSILON 0.0001 + #define ALMOST_CENTERED_THRESHOLD 2 + ++#define SCALE_UPDATE_INTERVAL (1000 / 90) ++ + #define SCALE_EQUALS(a,b) (fabs ((a) - (b)) < SCALE_EPSILON) + + +@@ -494,43 +496,20 @@ gimp_display_shell_scale_update (GimpDisplayShell *shell) + } + } + +-/** +- * gimp_display_shell_scale: +- * @shell: the #GimpDisplayShell +- * @zoom_type: whether to zoom in, out or to a specific scale +- * @scale: ignored unless @zoom_type == %GIMP_ZOOM_TO +- * +- * This function figures out the context of the zoom and behaves +- * appropriately thereafter. +- * +- **/ +-void +-gimp_display_shell_scale (GimpDisplayShell *shell, +- GimpZoomType zoom_type, +- gdouble new_scale, +- GimpZoomFocus zoom_focus) ++static gboolean ++gimp_display_shell_delayed_scale (GimpDisplayShell *shell) + { + GimpDisplayConfig *config; + gdouble current_scale; +- gdouble delta = 0.0; ++ gdouble new_scale; + gboolean resize_window; ++ GimpZoomFocus zoom_focus = shell->scale_pending_zoom_focus; + +- g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell)); +- g_return_if_fail (shell->canvas != NULL); ++ shell->scale_delay_timer = 0; + + current_scale = gimp_zoom_model_get_factor (shell->zoom); +- +- if (zoom_type == GIMP_ZOOM_SMOOTH) +- delta = -new_scale; +- +- if (zoom_type == GIMP_ZOOM_PINCH) +- delta = new_scale; +- +- if (zoom_type != GIMP_ZOOM_TO) +- new_scale = gimp_zoom_model_zoom_step (zoom_type, current_scale, delta); +- +- if (SCALE_EQUALS (new_scale, current_scale)) +- return; ++ new_scale = shell->scale_pending; ++ shell->scale_pending = 0.0; + + config = shell->display->config; + +@@ -609,6 +588,61 @@ gimp_display_shell_scale (GimpDisplayShell *shell, + image_center_almost_centered_vert)); + } + } ++ ++ return G_SOURCE_REMOVE; ++} ++ ++/** ++ * gimp_display_shell_scale: ++ * @shell: the #GimpDisplayShell ++ * @zoom_type: whether to zoom in, out or to a specific scale ++ * @scale: ignored unless @zoom_type == %GIMP_ZOOM_TO ++ * ++ * This function figures out the context of the zoom and behaves ++ * appropriately thereafter. ++ * ++ **/ ++void ++gimp_display_shell_scale (GimpDisplayShell *shell, ++ GimpZoomType zoom_type, ++ gdouble new_scale, ++ GimpZoomFocus zoom_focus) ++{ ++ gdouble current_scale; ++ gdouble delta = 0.0; ++ ++ g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell)); ++ g_return_if_fail (shell->canvas != NULL); ++ ++ if (shell->scale_delay_timer) ++ { ++ current_scale = shell->scale_pending; ++ } ++ else ++ { ++ current_scale = gimp_zoom_model_get_factor (shell->zoom); ++ } ++ ++ if (zoom_type == GIMP_ZOOM_SMOOTH) ++ delta = -new_scale; ++ ++ if (zoom_type == GIMP_ZOOM_PINCH) ++ delta = new_scale; ++ ++ if (zoom_type != GIMP_ZOOM_TO) ++ new_scale = gimp_zoom_model_zoom_step (zoom_type, current_scale, delta); ++ ++ if (SCALE_EQUALS (new_scale, current_scale)) ++ return; ++ ++ shell->scale_pending = new_scale; ++ shell->scale_pending_zoom_focus = zoom_focus; ++ ++ if (!shell->scale_delay_timer) ++ { ++ shell->scale_delay_timer = ++ g_timeout_add(SCALE_UPDATE_INTERVAL, (GSourceFunc) gimp_display_shell_delayed_scale, shell); ++ } + } + + /** +diff --git a/app/display/gimpdisplayshell.c b/app/display/gimpdisplayshell.c +index 358ef3dbfe..7e8ca0ffdf 100644 +--- a/app/display/gimpdisplayshell.c ++++ b/app/display/gimpdisplayshell.c +@@ -388,6 +388,8 @@ gimp_display_shell_init (GimpDisplayShell *shell) + shell->near_layer_vertical2 = NULL; + shell->drawn = FALSE; + ++ shell->scale_delay_timer = 0; ++ + env = g_getenv ("GIMP_DISPLAY_RENDER_BUF_SIZE"); + + if (env) +diff --git a/app/display/gimpdisplayshell.h b/app/display/gimpdisplayshell.h +index c5b345e485..aa1b26dfef 100644 +--- a/app/display/gimpdisplayshell.h ++++ b/app/display/gimpdisplayshell.h +@@ -226,6 +226,10 @@ struct _GimpDisplayShell + gpointer scroll_info; + GimpLayer *picked_layer; + ++ gint scale_delay_timer; ++ gdouble scale_pending; ++ GimpZoomFocus scale_pending_zoom_focus; ++ + GeglBuffer *mask; + gint mask_offset_x; + gint mask_offset_y; diff --git a/hosts/iroha/gentoo/profile/package.use.force/force.conf b/hosts/iroha/gentoo/profile/package.use.force/force.conf index d146a47..e97a235 100644 --- a/hosts/iroha/gentoo/profile/package.use.force/force.conf +++ b/hosts/iroha/gentoo/profile/package.use.force/force.conf @@ -1,3 +1,4 @@ sys-devel/gcc -pie -default-stack-clash-protection -default-znow llvm-core/clang -pie sys-devel/binutils -cet +media-libs/mesa abi_x86_32 -- cgit v1.2.3-101-g0448