From 24d7ce4e70692027c0f5492c1bcd04aca90ae4c0 Mon Sep 17 00:00:00 2001 From: Wayne Heaney <42350981+wheaney@users.noreply.github.com> Date: Thu, 12 Feb 2026 10:57:23 -0800 Subject: [PATCH] Destroyed Installing on Steam Deck (markdown) --- Installing-on-Steam-Deck.md | 152 ------------------------------------ 1 file changed, 152 deletions(-) delete mode 100644 Installing-on-Steam-Deck.md diff --git a/Installing-on-Steam-Deck.md b/Installing-on-Steam-Deck.md deleted file mode 100644 index d817bc3..0000000 --- a/Installing-on-Steam-Deck.md +++ /dev/null @@ -1,152 +0,0 @@ -# Installing Breezy Gnome desktop on Steam Deck (contributed by Bill Burdick) -These instructions require making your filesystem read-write. Efforts have been made to use distrobox -but so far have not succeeded. Please contribute if you have success with that! - -# Make sure you're running on at least 3.6, which might require switching to the beta or alpha channel -## NOTE: gnome-shell --nested didn't work for me on 3.5 but it did when I updated to 3.6. -I was getting errors: -``` -Unrecognized option: -byteswappedclients -``` -(with lots of other text). - -Seems related to this bug: https://bugs-devel.debian.org/cgi-bin/bugreport.cgi?bug=1050642 and SteamOS 3.5 has mutter 44.2 -# If your root is not already writeable, make it so -```sh -sudo steamos-readonly disable -``` -# If your pacman environment is not already initialized, make it so -```sh -sudo pacman-key --init -sudo pacman-key --populate archlinux -sudo pacman-key --populate holo -``` -# make sure /usr/share is in your XDG_DATA_DIRS variable -if not, add :/usr/share to it -# load depends for breezy -```sh -sudo pacman -S --needed base-devel git -# existing packages are reloaded here in order to install their header files -sudo pacman -S glibc linux-api-headers systemd-libs openssl libevdev libusb json-c curl hidapi python python-pydbus 'gnome-shell>=45.0' python-yaml wayland -``` - -# Install breezy-desktop-gnome-git -```sh -paru -S breezy-desktop-gnome-git -``` -# Continue with wheaney's setup instructions -[Instructions](../#non-gnome-setup) - -# A note on wide-screen mode with Viture Pro glasses (and possibly others?) -Sometimes the mouse is constrained to a 1920-pixel region in the middle of the screen. If this occurs, you can try the following steps: -1. Quit Breezy, -2. Put glasses into side-by-side mode -- a long press on the darkening button will do this on the Viture Pro, -3. Launch Breezy with double-width, -``` -MUTTER_DEBUG_DUMMY_MODE_SPECS='3840x1080@60' exec dbus-run-session -- gnome-shell --nested -``` -4. Make sure you have "wide screen" checked in Breezy settings. - -# Thanks to TTachyon on Reddit for some very important info -https://www.reddit.com/r/SteamDeck/comments/t92ozw/for_compiling_c_code - -# Docks -My Steam Deck dock does not support displayport alt mode on any of its ports (except the one that goes into the deck of course). There are a few docks out there that do, but not many. -If you need to use a third party dock with your glasses, make sure it has a port with the displayport alt mode symbol - -| like | ![image](https://github.com/user-attachments/assets/e1d0a3ad-8bee-4d5a-9e83-f99fab13a953) | or | ![image](https://github.com/user-attachments/assets/8c17188a-b2c8-4f32-901c-4629709c30ab) | -|-|-|-|-| - -For reference, I'm using the Inateck 10-in-1 USB-C hub [(Amazon link)](https://www.amazon.com/dp/B0CCXZWS9C) - -# More setup stuff -## My current `breezy` script -This starts the breezy desktop in a nested gnome-shell and, after you activate the window (like by -clicking on it) and, provided you have the window rule below, this will full-screen the window, remove the -title bar, and make it ignore KDE desktop keyboard shortcuts so that the desktop can fully function as a gnome -desktop. - -This expects the `classify-gnome-shell` script to be in your path. - -Note the last line of the script is if you need a double size window for wide screen mode. Wheany suggested trying this and it worked for me. - -```sh -#!/bin/sh -clssify-gnome-shell& -MUTTER_DEBUG_DUMMY_MODE_SPECS='1920x1080@60' exec dbus-run-session -- gnome-shell --nested -#MUTTER_DEBUG_DUMMY_MODE_SPECS='3840x1080@60' exec dbus-run-session -- gnome-shell --nested -``` -## My current `classify-gnome-shell` script -This script waits for you to make the nested gnome shell active (like by clicking on it) and then puts a -"gnome-shell" class onto the window (which has no class for some reason). I have a KDE window rule that needs -the window to have the "gnome-shell" class. - -```sh -#!/bin/sh -while true; do - id=$(xdotool getactivewindow) - if xprop -id $id | grep -q "WM_NAME.*gnome-shell"; then - xdotool getactivewindow set_window --class gnome-shell --classname gnome-shell - echo -e "\n\nGNOME-SHELL: $id\n\n" - break - fi - sleep 0.25 -done -``` - -## KDE Window rule -This rule full-screens the window, removes the title bar, and makes it ignore KEY desktop shortcuts (so you can -use the super key in your nested gnome session). - -``` -[gnome-shell nested] -Description=gnome-shell nested -above=true -disableglobalshortcuts=true -disableglobalshortcutsrule=2 -fullscreen=true -fullscreenrule=2 -noborder=true -noborderrule=2 -skiptaskbar=true -title=Steam Keyboard -type=16 -wmclass=gnome-shell gnome-shell -wmclasscomplete=true -wmclassmatch=1 -``` - -To install the rule -1. copy the above text into a file -2. go to KDE settings and click on Window Management - -![image](https://github.com/user-attachments/assets/adca4cc9-80a2-4e0f-be0d-09588306e38a) - -3. click on Window Rules and then click the Import button to import the rules - -![image](https://github.com/user-attachments/assets/445e47d4-2aea-481a-b13d-4f923f71336e) - -## xwayland script -I currently use Emacs remotely for my work (because the emacs lsp glue code doesn't currently support tramp) and -I've found that, even though this is not an ideal setup, running X inside of `gnome-shell -nested` inside of the -X on the desktop actually does work. So, until we can run Wayland on the Steam Deck desktop and that language -server code works within tramp, this is what I'll be using for my work. Aaaand, it's a full-screen window for -now, until I can get rootless working. - -This runs the `awesome` window manager which, just to make things even more indirect, I have installed inside an -Ubuntu distrobox so I can avoid dirtying the Steam Deck's root any more than I need to. So I run xwayland in -distrobox. When you quit `awesome`, it kills xwayland for you. - -So feel free to use this but you have been warned... - -```sh -#!/bin/sh -Xwayland :3 -fullscreen -geometry 1920x1080& -#Xwayland :3 -fullscreen -geometry 3840x1080& -pid=$! -sleep 2 -echo PID=$pid -export DISPLAY=:3 -awesome -kill -2 $pid -``` \ No newline at end of file