Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(deck): Enable Wayland by default! #129

Merged
merged 7 commits into from
Aug 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ RUN rm /usr/share/applications/winetricks.desktop && \
ln -s /usr/bin/steamos-logger /usr/bin/steamos-warning && \
mkdir -p "/etc/xdg/autostart" && \
cp "/usr/share/applications/steam.desktop" "/etc/xdg/autostart" && \
sed -i 's@/usr/bin/steam-runtime %U@/usr/bin/steam-runtime -silent %U@g' /etc/xdg/autostart/steam.desktop && \
sed -i 's@/usr/bin/steam-runtime %U@/usr/bin/bazzite-steam-runtime -silent %U@g' /etc/xdg/autostart/steam.desktop && \
cp "/usr/share/ublue-os/firstboot/yafti.yml" "/etc/yafti.yml" && \
sed -i 's/#HandlePowerKey=poweroff/HandlePowerKey=suspend/g' /etc/systemd/logind.conf && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_ublue-os-akmods.repo && \
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ or for devices with Nvidia GPUs:
Variant designed for usage as an alternative to SteamOS on the Steam Deck, available as `bazzite-deck`:

- Directly boots to Gamemode matching SteamOS's behavior.
- Uses Wayland on the desktop with [full support for Steam input](https://github.com/Supreeeme/extest).
- Features ported versions of most SteamOS packages, including drivers, firmware updaters, and fan controllers [from the evlaV repository](https://gitlab.com/evlaV).
- Patched Mesa for proper framerate control from Gamescope.
- Comes with patches from [SteamOS BTRFS](https://gitlab.com/popsulfr/steamos-btrfs) for full BTRFS support for the SD card by default.
Expand All @@ -81,7 +82,6 @@ Variant designed for usage as an alternative to SteamOS on the Steam Deck, avail
- Service for low-risk undervolting of the Steam Deck via [RyzenAdj](https://github.com/FlyGoat/RyzenAdj), see `ryzenadj.service` and `/etc/default/ryzenadj`.
- Service for limiting the max charge level of the battery, see `batterylimit.service` and `/etc/default/batterylimit`. <sup><sub>(Works even when the device is off)</sub></sup>
- Built in support for display overclocking. For example, add `GAMESCOPE_OVERRIDE_REFRESH_RATE=40,70` to `/etc/environment`.
- Use Wayland on the Desktop by adding `DESKTOP_WAYLAND=1` to `/etc/environment`.

**For new installs ISOs can be downloaded from our releases page [here](https://github.com/ublue-os/bazzite/releases).**

Expand All @@ -94,7 +94,7 @@ To rebase an existing ostree system to this image:
Builds with the GNOME desktop environment are available in both desktop and deck flavors. These builds come with the following additional features:

- [Variable refresh rate support enabled under Wayland](https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1154).
- Custom menu in the top bar for returning to game mode, launching Steam, and opening a number of useful utilities. (Only on Steam Deck builds)
- Custom menu in the top bar for returning to game mode, launching Steam, and opening a number of useful utilities. <sub><sup>(Only on Steam Deck builds)</sup></sub>
- [GSConnect](https://extensions.gnome.org/extension/1319/gsconnect/) preinstalled and ready to use.
- Features optional Valve-inspired themes matching Vapor and VGUI2 from SteamOS.
- [Optional important user experience fix](https://www.youtube.com/watch?v=nbCg9_YgKgM).
Expand Down
2 changes: 1 addition & 1 deletion system_files/deck/shared/etc/default/desktop-wayland
Original file line number Diff line number Diff line change
@@ -1 +1 @@
DESKTOP_WAYLAND=false
DESKTOP_WAYLAND=true
7 changes: 7 additions & 0 deletions system_files/deck/shared/usr/bin/bazzite-steam-runtime
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/usr/bin/env bash

if [[ "$XDG_SESSION_TYPE" = "wayland" ]]; then
LD_PRELOAD=/usr/lib/extest/libextest.so /usr/bin/steam-runtime "$*"
else
/usr/bin/steam-runtime "$*"
fi
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ screens:
description: Adjust ZRAM and configure deckswap
default: false
packages:
- Deck Swap: just --unstable swap-on
- Deck Swap: just --unstable deckswap-on
- Disable ZRAM: just --unstable zram-off
Nix Package Manager:
description: Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible
Expand Down
9 changes: 5 additions & 4 deletions system_files/desktop/shared/usr/bin/bazzite-user-setup
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,12 @@ if [[ $BASE_IMAGE_NAME =~ "kinoite" ]]; then
echo 'Running setup for Kinoite on Steam Deck'

echo 'Creating Desktop shortcuts'
cp /usr/share/applications/steam.desktop ~/Desktop
cp /usr/share/applications/steam.desktop ~/Desktop/steam.desktop
sed -i 's@Steam (Runtime)@Steam@g' ~/Desktop/steam.desktop
cp /etc/skel.d/Desktop/Return.desktop ~/Desktop
cp /usr/share/applications/lutris.desktop ~/Desktop
cp /usr/share/applications/yafti.desktop ~/Desktop
sed -i 's@/usr/bin/steam-runtime %U@/usr/bin/bazzite-steam-runtime %U@g' ~/Desktop/steam.desktop
cp /etc/skel.d/Desktop/Return.desktop ~/Desktop/Return.desktop
cp /usr/share/applications/lutris.desktop ~/Desktop/lutris.desktop
cp /usr/share/applications/yafti.desktop ~/Desktop/yafti.desktop
fi
else
echo 'Running setup for Silverblue'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ install-bazzite-arch:
distrobox-enter -n bazzite-arch -- ' distrobox-export --bin /usr/bin/steamcmd --export-path ~/.steam'
mv ~/.steam/steamcmd ~/.steam/steamcmd.sh
if [[ ${BASE_IMAGE_NAME} == 'kinoite' ]]; then
cp ~/.local/share/applications/bazzite-arch-steam.desktop ~/Desktop
cp ~/.local/share/applications/bazzite-arch-steam.desktop ~/Desktop/bazzite-arch-steam.desktop
sed -i 's@Steam (Runtime) (on bazzite-arch)@Steam@g' ~/Desktop/bazzite-arch-steam.desktop
cp ~/.local/share/applications/bazzite-arch-net.lutris.Lutris.desktop ~/Desktop
cp ~/.local/share/applications/bazzite-arch-net.lutris.Lutris.desktop ~/Desktop/bazzite-arch-net.lutris.Lutris.desktop
sed -i 's@Lutris (on bazzite-arch)@Lutris@g' ~/Desktop/bazzite-arch-net.lutris.Lutris.desktop
fi
sleep 10
Expand Down