forked from ublue-os/bazzite
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #9 from ublue-os/main
[pull] main from ublue-os:main
- Loading branch information
Showing
20 changed files
with
154 additions
and
121 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ ARG BASE_IMAGE_FLAVOR="${BASE_IMAGE_FLAVOR:-main}" | |
ARG IMAGE_FLAVOR="${IMAGE_FLAVOR:-main}" | ||
ARG NVIDIA_FLAVOR=${NVIDIA_FLAVOR:-nvidia}"" | ||
ARG KERNEL_FLAVOR="${KERNEL_FLAVOR:-fsync-ba}" | ||
ARG KERNEL_VERSION="${KERNEL_VERSION:-6.9.12-207.fsync.fc40.x86_64}" | ||
ARG KERNEL_VERSION="${KERNEL_VERSION:-6.9.12-8.fsync.fc40.x86_64}" | ||
ARG IMAGE_BRANCH="${IMAGE_BRANCH:-main}" | ||
ARG SOURCE_IMAGE="${SOURCE_IMAGE:-$BASE_IMAGE_NAME-$BASE_IMAGE_FLAVOR}" | ||
ARG BASE_IMAGE="ghcr.io/ublue-os/${SOURCE_IMAGE}" | ||
|
@@ -24,7 +24,7 @@ ARG IMAGE_VENDOR="${IMAGE_VENDOR:-ublue-os}" | |
ARG IMAGE_FLAVOR="${IMAGE_FLAVOR:-main}" | ||
ARG NVIDIA_FLAVOR=${NVIDIA_FLAVOR:-nvidia}"" | ||
ARG KERNEL_FLAVOR="${KERNEL_FLAVOR:-fsync-ba}" | ||
ARG KERNEL_VERSION="${KERNEL_VERSION:-6.9.12-207.fsync.fc40.x86_64}" | ||
ARG KERNEL_VERSION="${KERNEL_VERSION:-6.9.12-208.fsync.fc40.x86_64}" | ||
ARG IMAGE_BRANCH="${IMAGE_BRANCH:-main}" | ||
ARG BASE_IMAGE_NAME="${BASE_IMAGE_NAME:-kinoite}" | ||
ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-40}" | ||
|
@@ -215,7 +215,12 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ | |
curl -Lo /etc/yum.repos.d/_copr_rodoma92-kde-cdemu-manager.repo https://copr.fedorainfracloud.org/coprs/rodoma92/kde-cdemu-manager/repo/fedora-"${FEDORA_MAJOR_VERSION}"/rodoma92-kde-cdemu-manager-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ | ||
curl -Lo /etc/yum.repos.d/_copr_rodoma92-rmlint.repo https://copr.fedorainfracloud.org/coprs/rodoma92/rmlint/repo/fedora-"${FEDORA_MAJOR_VERSION}"/rodoma92-rmlint-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ | ||
curl -Lo /etc/yum.repos.d/tailscale.repo https://pkgs.tailscale.com/stable/fedora/tailscale.repo && \ | ||
rpm-ostree install \ | ||
https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ | ||
https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \ | ||
sed -i 's@gpgcheck=1@gpgcheck=0@g' /etc/yum.repos.d/tailscale.repo && \ | ||
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \ | ||
curl -Lo /etc/yum.repos.d/negativo17-fedora-steam.repo https://negativo17.org/repos/fedora-steam.repo && \ | ||
/usr/libexec/containerbuild/cleanup.sh && \ | ||
ostree container commit | ||
|
||
|
@@ -300,12 +305,11 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ | |
/usr/libexec/containerbuild/cleanup.sh && \ | ||
ostree container commit | ||
|
||
# Add ublue packages, add needed negativo17 repo and then immediately disable due to incompatibility with RPMFusion | ||
# Add ublue packages | ||
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ | ||
--mount=type=bind,from=akmods,src=/rpms,dst=/tmp/akmods-rpms \ | ||
--mount=type=bind,from=akmods-extra,src=/rpms,dst=/tmp/akmods-extra-rpms \ | ||
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_ublue-os-akmods.repo && \ | ||
curl -Lo /etc/yum.repos.d/negativo17-fedora-multimedia.repo https://negativo17.org/repos/fedora-multimedia.repo && \ | ||
rpm-ostree install \ | ||
/tmp/akmods-rpms/kmods/*kvmfr*.rpm \ | ||
/tmp/akmods-rpms/kmods/*xone*.rpm \ | ||
|
@@ -321,26 +325,23 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ | |
/tmp/akmods-extra-rpms/kmods/*bmi260*.rpm \ | ||
/tmp/akmods-extra-rpms/kmods/*ryzen-smu*.rpm \ | ||
/tmp/akmods-extra-rpms/kmods/*evdi*.rpm && \ | ||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \ | ||
rpm-ostree override replace \ | ||
--experimental \ | ||
--from repo=copr:copr.fedorainfracloud.org:ublue-os:staging \ | ||
fwupd \ | ||
fwupd-plugin-flashrom \ | ||
fwupd-plugin-modem-manager \ | ||
fwupd-plugin-uefi-capsule-data && \ | ||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-*.repo && \ | ||
/usr/libexec/containerbuild/cleanup.sh && \ | ||
ostree container commit | ||
|
||
# Install Valve's patched Mesa, Pipewire, Bluez, and Xwayland | ||
# Install patched switcheroo control with proper discrete GPU support | ||
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ | ||
rpm-ostree override remove \ | ||
mesa-va-drivers-freeworld && \ | ||
rpm-ostree override replace \ | ||
--experimental \ | ||
--from repo=copr:copr.fedorainfracloud.org:kylegospo:bazzite-multilib \ | ||
mesa-filesystem \ | ||
mesa-libxatracker \ | ||
mesa-libglapi \ | ||
mesa-dri-drivers \ | ||
|
@@ -362,12 +363,12 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ | |
bluez-cups \ | ||
bluez-libs \ | ||
xorg-x11-server-Xwayland && \ | ||
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/rpmfusion-*.repo && \ | ||
rpm-ostree install \ | ||
mesa-va-drivers-freeworld \ | ||
mesa-vdpau-drivers-freeworld.x86_64 \ | ||
libaacs \ | ||
libbdplus \ | ||
libbluray && \ | ||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-*.repo && \ | ||
rpm-ostree override replace \ | ||
--experimental \ | ||
--from repo=copr:copr.fedorainfracloud.org:sentry:switcheroo-control_discrete \ | ||
|
@@ -502,23 +503,7 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ | |
pipewire-alsa.i686 \ | ||
gobject-introspection \ | ||
clinfo \ | ||
https://kojipkgs.fedoraproject.org//packages/SDL2/2.30.3/1.fc40/i686/SDL2-2.30.3-1.fc40.i686.rpm && \ | ||
sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/fedora-updates.repo && \ | ||
rpm-ostree install \ | ||
mesa-vulkan-drivers.i686 \ | ||
mesa-va-drivers-freeworld.i686 \ | ||
mesa-vdpau-drivers-freeworld.i686 && \ | ||
sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/rpmfusion-nonfree-steam.repo && \ | ||
sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree.repo && \ | ||
sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo && \ | ||
sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo && \ | ||
rpm-ostree install \ | ||
steam && \ | ||
sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree-steam.repo && \ | ||
sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/rpmfusion-nonfree.repo && \ | ||
sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo && \ | ||
sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo && \ | ||
sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/fedora-updates.repo && \ | ||
rpm-ostree install \ | ||
lutris \ | ||
umu-launcher \ | ||
|
@@ -529,18 +514,16 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ | |
libFAudio.x86_64 \ | ||
libFAudio.i686 \ | ||
winetricks \ | ||
protontricks \ | ||
latencyflex-vulkan-layer \ | ||
mesa-vulkan-drivers.i686 \ | ||
mesa-va-drivers.i686 \ | ||
vkBasalt.x86_64 \ | ||
vkBasalt.i686 \ | ||
mangohud.x86_64 \ | ||
mangohud.i686 \ | ||
obs-vkcapture.x86_64 \ | ||
libobs_vkcapture.x86_64 \ | ||
libobs_glcapture.x86_64 \ | ||
obs-vkcapture.i686 \ | ||
libobs_vkcapture.i686 \ | ||
libobs_glcapture.i686 \ | ||
mangohud.x86_64 \ | ||
mangohud.i686 && \ | ||
libobs_glcapture.x86_64 && \ | ||
ln -s wine32 /usr/bin/wine && \ | ||
ln -s wine32-preloader /usr/bin/wine-preloader && \ | ||
ln -s wineserver64 /usr/bin/wineserver && \ | ||
|
@@ -740,9 +723,8 @@ RUN rm -f /etc/profile.d/toolbox.sh && \ | |
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_hikariknight-looking-glass-kvmfr.repo && \ | ||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/tailscale.repo && \ | ||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/charm.repo && \ | ||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-nonfree.repo && \ | ||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo && \ | ||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo && \ | ||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \ | ||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-steam.repo && \ | ||
mkdir -p /etc/flatpak/remotes.d && \ | ||
curl -Lo /etc/flatpak/remotes.d/flathub.flatpakrepo https://dl.flathub.org/repo/flathub.flatpakrepo && \ | ||
systemctl enable tuned.service && \ | ||
|
@@ -751,15 +733,15 @@ RUN rm -f /etc/profile.d/toolbox.sh && \ | |
systemctl disable brew-upgrade.timer && \ | ||
systemctl disable brew-update.timer && \ | ||
systemctl enable [email protected] && \ | ||
systemctl enable displaylink.service && \ | ||
systemctl disable displaylink.service && \ | ||
systemctl enable input-remapper.service && \ | ||
systemctl unmask bazzite-flatpak-manager.service && \ | ||
systemctl enable bazzite-flatpak-manager.service && \ | ||
systemctl disable rpm-ostreed-automatic.timer && \ | ||
systemctl enable ublue-update.timer && \ | ||
systemctl enable incus-workaround.service && \ | ||
systemctl enable bazzite-hardware-setup.service && \ | ||
systemctl enable tailscaled.service && \ | ||
systemctl disable tailscaled.service && \ | ||
systemctl enable dev-hugepages1G.mount && \ | ||
systemctl --global enable bazzite-user-setup.service && \ | ||
systemctl --global enable podman.socket && \ | ||
|
@@ -938,7 +920,7 @@ ARG IMAGE_VENDOR="${IMAGE_VENDOR:-ublue-os}" | |
ARG IMAGE_FLAVOR="${IMAGE_FLAVOR:-nvidia}" | ||
ARG NVIDIA_FLAVOR=${NVIDIA_FLAVOR:-nvidia}"" | ||
ARG KERNEL_FLAVOR="${KERNEL_FLAVOR:-fsync-ba}" | ||
ARG KERNEL_VERSION="${KERNEL_VERSION:-6.9.12-207.fsync.fc40.x86_64}" | ||
ARG KERNEL_VERSION="${KERNEL_VERSION:-6.9.12-208.fsync.fc40.x86_64}" | ||
ARG IMAGE_BRANCH="${IMAGE_BRANCH:-main}" | ||
ARG BASE_IMAGE_NAME="${BASE_IMAGE_NAME:-kinoite}" | ||
ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-40}" | ||
|
@@ -965,6 +947,10 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ | |
# Install NVIDIA driver | ||
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ | ||
--mount=type=bind,from=nvidia-akmods,src=/rpms,dst=/tmp/akmods-rpms \ | ||
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \ | ||
rpm-ostree install \ | ||
mesa-vdpau-drivers.x86_64 \ | ||
mesa-vdpau-drivers.i686 && \ | ||
curl -Lo /tmp/nvidia-install.sh https://raw.githubusercontent.com/ublue-os/hwe/main/nvidia-install.sh && \ | ||
chmod +x /tmp/nvidia-install.sh && \ | ||
IMAGE_NAME="${BASE_IMAGE_NAME}" /tmp/nvidia-install.sh && \ | ||
|
@@ -975,6 +961,7 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ | |
|
||
# Cleanup & Finalize | ||
RUN echo "import \"/usr/share/ublue-os/just/95-bazzite-nvidia.just\"" >> /usr/share/ublue-os/justfile && \ | ||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \ | ||
mkdir -p /var/tmp && chmod 1777 /var/tmp && \ | ||
/usr/libexec/containerbuild/image-info && \ | ||
/usr/libexec/containerbuild/build-initramfs && \ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
40 changes: 0 additions & 40 deletions
40
spec_files/gamescope/v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
diff --git a/src/wlserver.cpp b/src/wlserver.cpp | ||
index 3535c9b..d29a3d5 100644 | ||
--- a/src/wlserver.cpp | ||
+++ b/src/wlserver.cpp | ||
@@ -290,6 +290,9 @@ static void wlserver_handle_modifiers(struct wl_listener *listener, void *data) | ||
bump_input_counter(); | ||
} | ||
|
||
+// false if GS_ENABLE_CTRL_12 exists and is 0, true otherwise | ||
+bool env_gs_enable_ctrl_12 = getenv("GS_ENABLE_CTRL_12") ? (getenv("GS_ENABLE_CTRL_12")[0] != '0') : true; | ||
+ | ||
static void wlserver_handle_key(struct wl_listener *listener, void *data) | ||
{ | ||
struct wlserver_keyboard *keyboard = wl_container_of( listener, keyboard, key ); | ||
@@ -310,7 +313,14 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data) | ||
keysym == XKB_KEY_XF86AudioLowerVolume || | ||
keysym == XKB_KEY_XF86AudioRaiseVolume || | ||
keysym == XKB_KEY_XF86PowerOff; | ||
- if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && forbidden_key ) | ||
+ | ||
+ // Check for steam overlay key (ctrl/super + 1/2) | ||
+ bool is_steamshortcut = | ||
+ ((env_gs_enable_ctrl_12 && (keyboard->wlr->modifiers.depressed & WLR_MODIFIER_CTRL)) || | ||
+ (keyboard->wlr->modifiers.depressed & WLR_MODIFIER_LOGO)) && | ||
+ (keysym == XKB_KEY_1 || keysym == XKB_KEY_2); | ||
+ | ||
+ if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && (forbidden_key || is_steamshortcut) ) | ||
{ | ||
// Always send volume+/- to root server only, to avoid it reaching the game. | ||
struct wlr_surface *old_kb_surf = wlserver.kb_focus_surface; | ||
@@ -319,6 +329,13 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data) | ||
{ | ||
wlserver_keyboardfocus( new_kb_surf, false ); | ||
wlr_seat_set_keyboard( wlserver.wlr.seat, keyboard->wlr ); | ||
+ if (is_steamshortcut) | ||
+ { | ||
+ // send ctrl down modifier to trigger the overlay | ||
+ wlr_keyboard_modifiers ctrl_down_modifier; | ||
+ ctrl_down_modifier.depressed = WLR_MODIFIER_CTRL; | ||
+ wlr_seat_keyboard_notify_modifiers(wlserver.wlr.seat, &ctrl_down_modifier); | ||
+ } | ||
wlr_seat_keyboard_notify_key( wlserver.wlr.seat, event->time_msec, event->keycode, event->state ); | ||
wlserver_keyboardfocus( old_kb_surf, false ); | ||
return; |
Oops, something went wrong.