From 46a3e7508e2ebb59836cfaad328754c6751b788a Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Sat, 27 Jan 2024 17:24:14 -0800 Subject: [PATCH 001/207] feat: Add MOTD thanks to @bsherman and @castrojo --- .../shared/usr/etc/profile.d/user-motd.sh | 8 + .../desktop/shared/usr/libexec/ublue-motd | 9 + .../usr/share/ublue-os/motd/design/bazzite.md | 14 ++ .../usr/share/ublue-os/motd/design/dark.json | 195 ++++++++++++++++++ .../share/ublue-os/motd/tips/10-desktop-tips | 1 + 5 files changed, 227 insertions(+) create mode 100755 system_files/desktop/shared/usr/etc/profile.d/user-motd.sh create mode 100755 system_files/desktop/shared/usr/libexec/ublue-motd create mode 100644 system_files/desktop/shared/usr/share/ublue-os/motd/design/bazzite.md create mode 100644 system_files/desktop/shared/usr/share/ublue-os/motd/design/dark.json create mode 100644 system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips diff --git a/system_files/desktop/shared/usr/etc/profile.d/user-motd.sh b/system_files/desktop/shared/usr/etc/profile.d/user-motd.sh new file mode 100755 index 00000000..7aa5c456 --- /dev/null +++ b/system_files/desktop/shared/usr/etc/profile.d/user-motd.sh @@ -0,0 +1,8 @@ +if test -d "$HOME"; then + if test ! -e "$HOME"/.config/no-show-user-motd; then + if test -x "/usr/libexec/ublue-motd"; then + /usr/libexec/ublue-motd + fi + fi + fi +fi \ No newline at end of file diff --git a/system_files/desktop/shared/usr/libexec/ublue-motd b/system_files/desktop/shared/usr/libexec/ublue-motd new file mode 100755 index 00000000..606e2453 --- /dev/null +++ b/system_files/desktop/shared/usr/libexec/ublue-motd @@ -0,0 +1,9 @@ +#!/usr/bin/bash +TIP_FILE=$(ls "/usr/share/ublue-os/motd/tips/"* | shuf -n 1) +if [[ -f "$TIP_FILE" ]]; then + IMAGE_INFO="/usr/share/ublue-os/image-info.json" + IMAGE_NAME=$(jq -r '."image-name"' < $IMAGE_INFO) + IMAGE_TAG=$(jq -r '."image-tag"' < $IMAGE_INFO) + TIP=$(shuf -n 1 "$TIP_FILE") + /usr/bin/glow -s /usr/share/ublue-os/motd/design/dark.json /usr/share/ublue-os/motd/design/bazzite.md | sed -e "s/%IMAGE_NAME%/$IMAGE_NAME/g" -e "s/%IMAGE_TAG%/$IMAGE_TAG/g" -e "s/%TIP%/$TIP/g" +fi \ No newline at end of file diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/design/bazzite.md b/system_files/desktop/shared/usr/share/ublue-os/motd/design/bazzite.md new file mode 100644 index 00000000..531a11cf --- /dev/null +++ b/system_files/desktop/shared/usr/share/ublue-os/motd/design/bazzite.md @@ -0,0 +1,14 @@ +# Welcome to Bazzite +*Your image: `%IMAGE_NAME%:%IMAGE_TAG%`* + +| Command | Description | +| ------- | ----------- | +| `ujust toggle-user-motd` | Toggle this banner on/off | +| `ujust update` | Run a full system update | +| `ujust` | List all available commands | +| `neofetch` | View system information | + +*Tip: %TIP%* + +- [Documentation](http://docs.bazzite.gg/) +- [Discord](https://discord.bazzite.gg/) diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/design/dark.json b/system_files/desktop/shared/usr/share/ublue-os/motd/design/dark.json new file mode 100644 index 00000000..0ba3bd5a --- /dev/null +++ b/system_files/desktop/shared/usr/share/ublue-os/motd/design/dark.json @@ -0,0 +1,195 @@ +{ + "document": { + "block_prefix": "\n", + "block_suffix": "\n", + "color": "252", + "margin": 2 + }, + "block_quote": { + "indent": 1, + "indent_token": "│ " + }, + "paragraph": {}, + "list": { + "level_indent": 2 + }, + "heading": { + "block_suffix": "\n", + "color": "39", + "bold": true + }, + "h1": { + "prefix": " ", + "suffix": " ", + "color": "228", + "background_color": "63", + "bold": true + }, + "h2": { + "prefix": "## " + }, + "h3": { + "prefix": "### " + }, + "h4": { + "prefix": "#### " + }, + "h5": { + "prefix": "##### " + }, + "h6": { + "prefix": "###### ", + "color": "35", + "bold": false + }, + "text": {}, + "strikethrough": { + "crossed_out": true + }, + "emph": { + "italic": true + }, + "strong": { + "bold": true + }, + "hr": { + "color": "240", + "format": "\n--------\n" + }, + "item": { + "block_prefix": "• " + }, + "enumeration": { + "block_prefix": ". " + }, + "task": { + "ticked": "[✓] ", + "unticked": "[ ] " + }, + "link": { + "color": "30", + "underline": true + }, + "link_text": { + "color": "35", + "bold": true + }, + "image": { + "color": "212", + "underline": true + }, + "image_text": { + "color": "243", + "format": "Image: {{.text}} →" + }, + "code": { + "prefix": " ", + "suffix": " ", + "color": "203", + "background_color": "236" + }, + "code_block": { + "color": "244", + "margin": 2, + "chroma": { + "text": { + "color": "#C4C4C4" + }, + "error": { + "color": "#F1F1F1", + "background_color": "#F05B5B" + }, + "comment": { + "color": "#676767" + }, + "comment_preproc": { + "color": "#FF875F" + }, + "keyword": { + "color": "#00AAFF" + }, + "keyword_reserved": { + "color": "#FF5FD2" + }, + "keyword_namespace": { + "color": "#FF5F87" + }, + "keyword_type": { + "color": "#6E6ED8" + }, + "operator": { + "color": "#EF8080" + }, + "punctuation": { + "color": "#E8E8A8" + }, + "name": { + "color": "#C4C4C4" + }, + "name_builtin": { + "color": "#FF8EC7" + }, + "name_tag": { + "color": "#B083EA" + }, + "name_attribute": { + "color": "#7A7AE6" + }, + "name_class": { + "color": "#F1F1F1", + "underline": true, + "bold": true + }, + "name_constant": {}, + "name_decorator": { + "color": "#FFFF87" + }, + "name_exception": {}, + "name_function": { + "color": "#00D787" + }, + "name_other": {}, + "literal": {}, + "literal_number": { + "color": "#6EEFC0" + }, + "literal_date": {}, + "literal_string": { + "color": "#C69669" + }, + "literal_string_escape": { + "color": "#AFFFD7" + }, + "generic_deleted": { + "color": "#FD5B5B" + }, + "generic_emph": { + "italic": true + }, + "generic_inserted": { + "color": "#00D787" + }, + "generic_strong": { + "bold": true + }, + "generic_subheading": { + "color": "#777777" + }, + "background": { + "background_color": "#373737" + } + } + }, + "table": { + "center_separator": "┼", + "column_separator": "│", + "row_separator": "─" + }, + "definition_list": {}, + "definition_term": {}, + "definition_description": { + "block_prefix": "\n🠶 " + }, + "html_block": {}, + "html_span": {} +} diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips new file mode 100644 index 00000000..35165e58 --- /dev/null +++ b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips @@ -0,0 +1 @@ +Distrobox is a pretty cool guy. Eh runs any distro and doesn't afraid of anything. From fceb14e857db25bc75806caf37877b9a4367f8bd Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Sun, 28 Jan 2024 21:20:02 -0800 Subject: [PATCH 002/207] fix: Escape special characters in motd script --- system_files/desktop/shared/usr/libexec/ublue-motd | 9 ++++++++- .../desktop/shared/usr/share/ublue-os/motd/bazzite.md | 2 +- .../usr/share/ublue-os/motd/tips/10-desktop-tips.md | 6 +++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/system_files/desktop/shared/usr/libexec/ublue-motd b/system_files/desktop/shared/usr/libexec/ublue-motd index a8963e10..b2994c60 100755 --- a/system_files/desktop/shared/usr/libexec/ublue-motd +++ b/system_files/desktop/shared/usr/libexec/ublue-motd @@ -1,9 +1,16 @@ #!/usr/bin/bash +escape() { + sed 's/[&/\]/\\&/g' <<< "$1" +} + TIP_FILE=$(ls "/usr/share/ublue-os/motd/tips/"*".md" | shuf -n 1) if [[ -f "$TIP_FILE" ]]; then IMAGE_INFO="/usr/share/ublue-os/image-info.json" IMAGE_NAME=$(jq -r '."image-name"' < $IMAGE_INFO) + IMAGE_NAME_ESCAPED=$(escape "$IMAGE_NAME") IMAGE_TAG=$(jq -r '."image-tag"' < $IMAGE_INFO) + IMAGE_TAG_ESCAPED=$(escape "$IMAGE_TAG") TIP=$(shuf -n 1 "$TIP_FILE") - sed -e "s/%IMAGE_NAME%/$IMAGE_NAME/g" -e "s/%IMAGE_TAG%/$IMAGE_TAG/g" -e "s/%TIP%/$TIP/g" /usr/share/ublue-os/motd/bazzite.md | /usr/bin/glow -s auto - + TIP_ESCAPED=$(escape "$TIP") + sed -e "s/%IMAGE_NAME%/$(escape $IMAGE_NAME_ESCAPED)/g" -e "s/%IMAGE_TAG%/$IMAGE_TAG_ESCAPED/g" -e "s/%TIP%/$TIP_ESCAPED/g" /usr/share/ublue-os/motd/bazzite.md | /usr/bin/glow -s auto - fi \ No newline at end of file diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/bazzite.md b/system_files/desktop/shared/usr/share/ublue-os/motd/bazzite.md index 8ee98b63..459ca434 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/motd/bazzite.md +++ b/system_files/desktop/shared/usr/share/ublue-os/motd/bazzite.md @@ -7,7 +7,7 @@ | `ujust toggle-user-motd` | Toggle this banner on/off | | `neofetch` | View system information | -󰋼 *%TIP%* +󰋼 %TIP% - [ Report an issue](https://github.com/ublue-os/bazzite/issues) - [󰙯 Discord](https://discord.bazzite.gg/) - [󰈙 Documentation](http://docs.bazzite.gg/) \ No newline at end of file diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md index 571b6b3f..5cf34577 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md +++ b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md @@ -1,5 +1,5 @@ It is **always** better to install packages with Distrobox than to layer them with rpm-ostree. `ujust distrobox` makes it easy! -Packages installed in Distrobox can be exported to appear like any other application ([View documentation](https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-export.md)). -Update break something? You can roll back and pin the previous release or rebase by build date ([View our guide](https://universal-blue.discourse.group/docs?topic=513)). +Packages installed in Distrobox can be exported to appear like any other application - [View documentation](https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-export.md). +Update break something? You can roll back and pin the previous release or rebase by build date - [View our guide](https://universal-blue.discourse.group/docs?topic=513). Installing a non-Steam Windows game? Lutris is pre-installed for better handling of wine prefixes. -BTRFS is used by default for external drives, and we recommend that or EXT4 over NTFS ([More info here](https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows)). \ No newline at end of file +BTRFS is used by default for external drives, and we recommend that or EXT4 over NTFS - [More info here](https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows). \ No newline at end of file From a05ca3f9799ce41cc6b369a620c401eeb59703f6 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Sun, 28 Jan 2024 21:28:41 -0800 Subject: [PATCH 003/207] chore: Remove now unneeded files --- .../usr/share/ublue-os/motd/design/bazzite.md | 14 -- .../usr/share/ublue-os/motd/design/dark.json | 195 ------------------ .../share/ublue-os/motd/tips/10-desktop-tips | 1 - 3 files changed, 210 deletions(-) delete mode 100644 system_files/desktop/shared/usr/share/ublue-os/motd/design/bazzite.md delete mode 100644 system_files/desktop/shared/usr/share/ublue-os/motd/design/dark.json delete mode 100644 system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/design/bazzite.md b/system_files/desktop/shared/usr/share/ublue-os/motd/design/bazzite.md deleted file mode 100644 index 531a11cf..00000000 --- a/system_files/desktop/shared/usr/share/ublue-os/motd/design/bazzite.md +++ /dev/null @@ -1,14 +0,0 @@ -# Welcome to Bazzite -*Your image: `%IMAGE_NAME%:%IMAGE_TAG%`* - -| Command | Description | -| ------- | ----------- | -| `ujust toggle-user-motd` | Toggle this banner on/off | -| `ujust update` | Run a full system update | -| `ujust` | List all available commands | -| `neofetch` | View system information | - -*Tip: %TIP%* - -- [Documentation](http://docs.bazzite.gg/) -- [Discord](https://discord.bazzite.gg/) diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/design/dark.json b/system_files/desktop/shared/usr/share/ublue-os/motd/design/dark.json deleted file mode 100644 index 0ba3bd5a..00000000 --- a/system_files/desktop/shared/usr/share/ublue-os/motd/design/dark.json +++ /dev/null @@ -1,195 +0,0 @@ -{ - "document": { - "block_prefix": "\n", - "block_suffix": "\n", - "color": "252", - "margin": 2 - }, - "block_quote": { - "indent": 1, - "indent_token": "│ " - }, - "paragraph": {}, - "list": { - "level_indent": 2 - }, - "heading": { - "block_suffix": "\n", - "color": "39", - "bold": true - }, - "h1": { - "prefix": " ", - "suffix": " ", - "color": "228", - "background_color": "63", - "bold": true - }, - "h2": { - "prefix": "## " - }, - "h3": { - "prefix": "### " - }, - "h4": { - "prefix": "#### " - }, - "h5": { - "prefix": "##### " - }, - "h6": { - "prefix": "###### ", - "color": "35", - "bold": false - }, - "text": {}, - "strikethrough": { - "crossed_out": true - }, - "emph": { - "italic": true - }, - "strong": { - "bold": true - }, - "hr": { - "color": "240", - "format": "\n--------\n" - }, - "item": { - "block_prefix": "• " - }, - "enumeration": { - "block_prefix": ". " - }, - "task": { - "ticked": "[✓] ", - "unticked": "[ ] " - }, - "link": { - "color": "30", - "underline": true - }, - "link_text": { - "color": "35", - "bold": true - }, - "image": { - "color": "212", - "underline": true - }, - "image_text": { - "color": "243", - "format": "Image: {{.text}} →" - }, - "code": { - "prefix": " ", - "suffix": " ", - "color": "203", - "background_color": "236" - }, - "code_block": { - "color": "244", - "margin": 2, - "chroma": { - "text": { - "color": "#C4C4C4" - }, - "error": { - "color": "#F1F1F1", - "background_color": "#F05B5B" - }, - "comment": { - "color": "#676767" - }, - "comment_preproc": { - "color": "#FF875F" - }, - "keyword": { - "color": "#00AAFF" - }, - "keyword_reserved": { - "color": "#FF5FD2" - }, - "keyword_namespace": { - "color": "#FF5F87" - }, - "keyword_type": { - "color": "#6E6ED8" - }, - "operator": { - "color": "#EF8080" - }, - "punctuation": { - "color": "#E8E8A8" - }, - "name": { - "color": "#C4C4C4" - }, - "name_builtin": { - "color": "#FF8EC7" - }, - "name_tag": { - "color": "#B083EA" - }, - "name_attribute": { - "color": "#7A7AE6" - }, - "name_class": { - "color": "#F1F1F1", - "underline": true, - "bold": true - }, - "name_constant": {}, - "name_decorator": { - "color": "#FFFF87" - }, - "name_exception": {}, - "name_function": { - "color": "#00D787" - }, - "name_other": {}, - "literal": {}, - "literal_number": { - "color": "#6EEFC0" - }, - "literal_date": {}, - "literal_string": { - "color": "#C69669" - }, - "literal_string_escape": { - "color": "#AFFFD7" - }, - "generic_deleted": { - "color": "#FD5B5B" - }, - "generic_emph": { - "italic": true - }, - "generic_inserted": { - "color": "#00D787" - }, - "generic_strong": { - "bold": true - }, - "generic_subheading": { - "color": "#777777" - }, - "background": { - "background_color": "#373737" - } - } - }, - "table": { - "center_separator": "┼", - "column_separator": "│", - "row_separator": "─" - }, - "definition_list": {}, - "definition_term": {}, - "definition_description": { - "block_prefix": "\n🠶 " - }, - "html_block": {}, - "html_span": {} -} diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips deleted file mode 100644 index 35165e58..00000000 --- a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips +++ /dev/null @@ -1 +0,0 @@ -Distrobox is a pretty cool guy. Eh runs any distro and doesn't afraid of anything. From d29a568a9f86d55dcfbfb6b712b58381690a1aa9 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Sat, 27 Jan 2024 17:24:14 -0800 Subject: [PATCH 004/207] feat: Add MOTD thanks to @bsherman and @castrojo --- Containerfile | 1 + system_files/shared/tmp/motd/bazzite.md | 13 ++ system_files/shared/tmp/motd/dark.json | 195 ++++++++++++++++++++++++ 3 files changed, 209 insertions(+) create mode 100644 system_files/shared/tmp/motd/bazzite.md create mode 100644 system_files/shared/tmp/motd/dark.json diff --git a/Containerfile b/Containerfile index 9a313de4..0206340f 100644 --- a/Containerfile +++ b/Containerfile @@ -447,6 +447,7 @@ RUN rpm-ostree install \ # Cleanup & Finalize COPY system_files/shared / RUN /tmp/image-info.sh && \ + glow -s /tmp/motd/dark.json /tmp/motd/bazzite.md > /usr/share/ublue-os/user-motd && \ rm -f /etc/profile.d/toolbox.sh && \ sed -i 's@/usr/bin/steam@/usr/bin/bazzite-steam@g' /usr/share/applications/steam.desktop && \ sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/shredder.desktop && \ diff --git a/system_files/shared/tmp/motd/bazzite.md b/system_files/shared/tmp/motd/bazzite.md new file mode 100644 index 00000000..dd3c5470 --- /dev/null +++ b/system_files/shared/tmp/motd/bazzite.md @@ -0,0 +1,13 @@ +# Welcome to Bazzite + +| Command | Description | +| ------- | ----------- | +| `ujust toggle-user-motd` | Toggle this banner on/off | +| `ujust update` | Run a full system update | +| `ujust` | List all available commands | +| `neofetch` | View system information + +*tip: the Bazzite team will use this banner to share important information and occasional tips.* + +- [Documentation](http://docs.bazzite.gg/) +- [Discord](https://discord.bazzite.gg/) diff --git a/system_files/shared/tmp/motd/dark.json b/system_files/shared/tmp/motd/dark.json new file mode 100644 index 00000000..0ba3bd5a --- /dev/null +++ b/system_files/shared/tmp/motd/dark.json @@ -0,0 +1,195 @@ +{ + "document": { + "block_prefix": "\n", + "block_suffix": "\n", + "color": "252", + "margin": 2 + }, + "block_quote": { + "indent": 1, + "indent_token": "│ " + }, + "paragraph": {}, + "list": { + "level_indent": 2 + }, + "heading": { + "block_suffix": "\n", + "color": "39", + "bold": true + }, + "h1": { + "prefix": " ", + "suffix": " ", + "color": "228", + "background_color": "63", + "bold": true + }, + "h2": { + "prefix": "## " + }, + "h3": { + "prefix": "### " + }, + "h4": { + "prefix": "#### " + }, + "h5": { + "prefix": "##### " + }, + "h6": { + "prefix": "###### ", + "color": "35", + "bold": false + }, + "text": {}, + "strikethrough": { + "crossed_out": true + }, + "emph": { + "italic": true + }, + "strong": { + "bold": true + }, + "hr": { + "color": "240", + "format": "\n--------\n" + }, + "item": { + "block_prefix": "• " + }, + "enumeration": { + "block_prefix": ". " + }, + "task": { + "ticked": "[✓] ", + "unticked": "[ ] " + }, + "link": { + "color": "30", + "underline": true + }, + "link_text": { + "color": "35", + "bold": true + }, + "image": { + "color": "212", + "underline": true + }, + "image_text": { + "color": "243", + "format": "Image: {{.text}} →" + }, + "code": { + "prefix": " ", + "suffix": " ", + "color": "203", + "background_color": "236" + }, + "code_block": { + "color": "244", + "margin": 2, + "chroma": { + "text": { + "color": "#C4C4C4" + }, + "error": { + "color": "#F1F1F1", + "background_color": "#F05B5B" + }, + "comment": { + "color": "#676767" + }, + "comment_preproc": { + "color": "#FF875F" + }, + "keyword": { + "color": "#00AAFF" + }, + "keyword_reserved": { + "color": "#FF5FD2" + }, + "keyword_namespace": { + "color": "#FF5F87" + }, + "keyword_type": { + "color": "#6E6ED8" + }, + "operator": { + "color": "#EF8080" + }, + "punctuation": { + "color": "#E8E8A8" + }, + "name": { + "color": "#C4C4C4" + }, + "name_builtin": { + "color": "#FF8EC7" + }, + "name_tag": { + "color": "#B083EA" + }, + "name_attribute": { + "color": "#7A7AE6" + }, + "name_class": { + "color": "#F1F1F1", + "underline": true, + "bold": true + }, + "name_constant": {}, + "name_decorator": { + "color": "#FFFF87" + }, + "name_exception": {}, + "name_function": { + "color": "#00D787" + }, + "name_other": {}, + "literal": {}, + "literal_number": { + "color": "#6EEFC0" + }, + "literal_date": {}, + "literal_string": { + "color": "#C69669" + }, + "literal_string_escape": { + "color": "#AFFFD7" + }, + "generic_deleted": { + "color": "#FD5B5B" + }, + "generic_emph": { + "italic": true + }, + "generic_inserted": { + "color": "#00D787" + }, + "generic_strong": { + "bold": true + }, + "generic_subheading": { + "color": "#777777" + }, + "background": { + "background_color": "#373737" + } + } + }, + "table": { + "center_separator": "┼", + "column_separator": "│", + "row_separator": "─" + }, + "definition_list": {}, + "definition_term": {}, + "definition_description": { + "block_prefix": "\n🠶 " + }, + "html_block": {}, + "html_span": {} +} From bdab4c3519959374d940c7afc57adaab2e524ddb Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Sun, 28 Jan 2024 21:20:02 -0800 Subject: [PATCH 005/207] fix: Escape special characters in motd script --- system_files/desktop/shared/usr/libexec/ublue-motd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system_files/desktop/shared/usr/libexec/ublue-motd b/system_files/desktop/shared/usr/libexec/ublue-motd index 222969bc..e5bc9924 100755 --- a/system_files/desktop/shared/usr/libexec/ublue-motd +++ b/system_files/desktop/shared/usr/libexec/ublue-motd @@ -12,5 +12,5 @@ if [[ -f "$TIP_FILE" ]]; then IMAGE_TAG_ESCAPED=$(escape "$IMAGE_TAG") TIP=$(shuf -n 1 "$TIP_FILE") TIP_ESCAPED=$(escape "$TIP") - sed -e "s/%IMAGE_NAME%/$(escape $IMAGE_NAME_ESCAPED)/g" -e "s/%IMAGE_TAG%/$IMAGE_TAG_ESCAPED/g" -e "s/%TIP%/$TIP_ESCAPED/g" /usr/share/ublue-os/motd/bazzite.md | /usr/bin/glow -s auto - + sed -e "s/%IMAGE_NAME%/$IMAGE_NAME_ESCAPED/g" -e "s/%IMAGE_TAG%/$IMAGE_TAG_ESCAPED/g" -e "s/%TIP%/$TIP_ESCAPED/g" /usr/share/ublue-os/motd/bazzite.md | /usr/bin/glow -s auto - fi From 7cd57e2b9d031477e5e136cac9ee4e5e311f2a42 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 29 Jan 2024 00:57:48 -0800 Subject: [PATCH 006/207] chore: Add a ton of new tips, split bazzite tips from generic ones that could be upstreamed --- .../shared/usr/share/ublue-os/motd/tips/20-deck-tips.md | 2 -- .../shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md | 3 +++ .../desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md | 3 +++ .../shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md | 5 ----- .../shared/usr/share/ublue-os/motd/tips/10-ublue.md | 3 +++ .../shared/usr/share/ublue-os/motd/tips/20-bazzite.md | 7 +++++++ .../silverblue/usr/share/ublue-os/motd/tips/30-gnome.md | 3 +++ .../shared/usr/share/ublue-os/motd/tips/100-nvidia.md | 1 + .../shared/usr/share/ublue-os/motd/tips/30-nvidia-tips.md | 1 - 9 files changed, 20 insertions(+), 8 deletions(-) delete mode 100644 system_files/deck/shared/usr/share/ublue-os/motd/tips/20-deck-tips.md create mode 100644 system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md create mode 100644 system_files/desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md delete mode 100644 system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md create mode 100644 system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-ublue.md create mode 100644 system_files/desktop/shared/usr/share/ublue-os/motd/tips/20-bazzite.md create mode 100644 system_files/desktop/silverblue/usr/share/ublue-os/motd/tips/30-gnome.md create mode 100644 system_files/nvidia/shared/usr/share/ublue-os/motd/tips/100-nvidia.md delete mode 100644 system_files/nvidia/shared/usr/share/ublue-os/motd/tips/30-nvidia-tips.md diff --git a/system_files/deck/shared/usr/share/ublue-os/motd/tips/20-deck-tips.md b/system_files/deck/shared/usr/share/ublue-os/motd/tips/20-deck-tips.md deleted file mode 100644 index fcfca107..00000000 --- a/system_files/deck/shared/usr/share/ublue-os/motd/tips/20-deck-tips.md +++ /dev/null @@ -1,2 +0,0 @@ -Using a handheld other than the Steam Deck? Check out our alternative handheld documentation [here](https://github.com/ublue-os/bazzite#alternative-handhelds). -Want to install Decky Loader? There's a `ujust` command for that! `ujust get-decky` \ No newline at end of file diff --git a/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md b/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md new file mode 100644 index 00000000..2004cc4b --- /dev/null +++ b/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md @@ -0,0 +1,3 @@ +*Using a handheld other than the Steam Deck?* Be sure to follow our [alternative handheld documentation](https://github.com/ublue-os/bazzite#alternative-handhelds). +*Want to install Decky Loader?* There's a `ujust` command for that! `ujust get-decky` +The updater built into Steam's Game mode has been modified to update Bazzite, Flatpaks, and Distrobox containers. \ No newline at end of file diff --git a/system_files/desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md b/system_files/desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md new file mode 100644 index 00000000..2b8fbc50 --- /dev/null +++ b/system_files/desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md @@ -0,0 +1,3 @@ +*Want an animated wallpaper?* The Wallpaper Engine plugin for KDE is pre-installed - [View the usage guide](https://github.com/catsout/wallpaper-engine-kde-plugin#usage) +*Rather use KDE Konsole?* You can restore the application icon for it with `ujust restore-original-terminal`. Be sure to also change the default terminal in System Settings. +ProtonUp-Qt can be used to install and update custom versions of Proton. We recommend Proton-GE for Steam games and Wine-GE for all other use cases. \ No newline at end of file diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md deleted file mode 100644 index 5cf34577..00000000 --- a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md +++ /dev/null @@ -1,5 +0,0 @@ -It is **always** better to install packages with Distrobox than to layer them with rpm-ostree. `ujust distrobox` makes it easy! -Packages installed in Distrobox can be exported to appear like any other application - [View documentation](https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-export.md). -Update break something? You can roll back and pin the previous release or rebase by build date - [View our guide](https://universal-blue.discourse.group/docs?topic=513). -Installing a non-Steam Windows game? Lutris is pre-installed for better handling of wine prefixes. -BTRFS is used by default for external drives, and we recommend that or EXT4 over NTFS - [More info here](https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows). \ No newline at end of file diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-ublue.md b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-ublue.md new file mode 100644 index 00000000..9a2ba657 --- /dev/null +++ b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-ublue.md @@ -0,0 +1,3 @@ +It is **always** better to install packages with Distrobox than to layer them with rpm-ostree. `ujust distrobox` makes it easy! +Packages installed in Distrobox can be exported to appear like any other application - [View documentation](https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-export.md). +*Update break something?* You can roll back and pin the previous release or rebase by build date - [View our guide](https://universal-blue.discourse.group/docs?topic=513). \ No newline at end of file diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/20-bazzite.md b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/20-bazzite.md new file mode 100644 index 00000000..04ddd0bd --- /dev/null +++ b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/20-bazzite.md @@ -0,0 +1,7 @@ +*Installing a Windows game that isn't on Steam?* Lutris is pre-installed and recommended for better handling of wine prefixes. +BTRFS is used by default for external drives, and we recommend that or EXT4 over NTFS - [More info](https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows). +*No Flatpak or distro packaging available?* The Gear Lever app is included to make managing and integrating AppImages easy! +Want to control your device from your phone? The KDE Connect app functions with all Bazzite images - [More info](https://kdeconnect.kde.org/) +*Trying to use Feral Gamemode?* System76-Scheduler in Bazzite replaces it, offering automatic nice value adjustments for applications based on the currently focused one and built-in rules. +Discover Overlay is preinstalled, allowing Discord to overlay your games during voice chats - [More info](https://trigg.github.io/Discover/) +*Looking to setup Waydroid?* - [View our documentation](https://universal-blue.discourse.group/docs?topic=32) \ No newline at end of file diff --git a/system_files/desktop/silverblue/usr/share/ublue-os/motd/tips/30-gnome.md b/system_files/desktop/silverblue/usr/share/ublue-os/motd/tips/30-gnome.md new file mode 100644 index 00000000..a00f980f --- /dev/null +++ b/system_files/desktop/silverblue/usr/share/ublue-os/motd/tips/30-gnome.md @@ -0,0 +1,3 @@ +*Looking for some nostalgia?* Enable `Compiz windows effect` from the Extension Manager. +*Missing the top left hot corner?* Apply pressure to the bottom edge of your screen with your mouse. You can also re-enable the hot corner from settings if desired. +ProtonPlus can be used to install and update custom versions of Proton. We recommend Proton-GE for Steam games and Wine-GE for all other use cases. \ No newline at end of file diff --git a/system_files/nvidia/shared/usr/share/ublue-os/motd/tips/100-nvidia.md b/system_files/nvidia/shared/usr/share/ublue-os/motd/tips/100-nvidia.md new file mode 100644 index 00000000..db08a90e --- /dev/null +++ b/system_files/nvidia/shared/usr/share/ublue-os/motd/tips/100-nvidia.md @@ -0,0 +1 @@ +*Using an Nvidia GPU and experiencing flickering?* Switch to X11 from your login screen *(Can't wait for NVK)*. \ No newline at end of file diff --git a/system_files/nvidia/shared/usr/share/ublue-os/motd/tips/30-nvidia-tips.md b/system_files/nvidia/shared/usr/share/ublue-os/motd/tips/30-nvidia-tips.md deleted file mode 100644 index 80a1d2da..00000000 --- a/system_files/nvidia/shared/usr/share/ublue-os/motd/tips/30-nvidia-tips.md +++ /dev/null @@ -1 +0,0 @@ -Using a Nvidia GPU and getting flickering issues? Switch to X11 from your login screen *(Can't wait for NVK)*. \ No newline at end of file From 74e896834447fbbd1c997a01b9919e500dd239dd Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 29 Jan 2024 00:57:48 -0800 Subject: [PATCH 007/207] chore: Add a ton of new tips, split bazzite tips from generic ones that could be upstreamed --- .../shared/usr/share/ublue-os/motd/tips/20-deck-tips.md | 2 -- .../shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md | 3 +++ .../desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md | 3 +++ .../shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md | 5 ----- .../shared/usr/share/ublue-os/motd/tips/10-ublue.md | 3 +++ .../shared/usr/share/ublue-os/motd/tips/20-bazzite.md | 7 +++++++ .../silverblue/usr/share/ublue-os/motd/tips/30-gnome.md | 3 +++ .../shared/usr/share/ublue-os/motd/tips/100-nvidia.md | 1 + .../shared/usr/share/ublue-os/motd/tips/30-nvidia-tips.md | 1 - 9 files changed, 20 insertions(+), 8 deletions(-) delete mode 100644 system_files/deck/shared/usr/share/ublue-os/motd/tips/20-deck-tips.md create mode 100644 system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md create mode 100644 system_files/desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md delete mode 100644 system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md create mode 100644 system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-ublue.md create mode 100644 system_files/desktop/shared/usr/share/ublue-os/motd/tips/20-bazzite.md create mode 100644 system_files/desktop/silverblue/usr/share/ublue-os/motd/tips/30-gnome.md create mode 100644 system_files/nvidia/shared/usr/share/ublue-os/motd/tips/100-nvidia.md delete mode 100644 system_files/nvidia/shared/usr/share/ublue-os/motd/tips/30-nvidia-tips.md diff --git a/system_files/deck/shared/usr/share/ublue-os/motd/tips/20-deck-tips.md b/system_files/deck/shared/usr/share/ublue-os/motd/tips/20-deck-tips.md deleted file mode 100644 index fcfca107..00000000 --- a/system_files/deck/shared/usr/share/ublue-os/motd/tips/20-deck-tips.md +++ /dev/null @@ -1,2 +0,0 @@ -Using a handheld other than the Steam Deck? Check out our alternative handheld documentation [here](https://github.com/ublue-os/bazzite#alternative-handhelds). -Want to install Decky Loader? There's a `ujust` command for that! `ujust get-decky` \ No newline at end of file diff --git a/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md b/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md new file mode 100644 index 00000000..2004cc4b --- /dev/null +++ b/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md @@ -0,0 +1,3 @@ +*Using a handheld other than the Steam Deck?* Be sure to follow our [alternative handheld documentation](https://github.com/ublue-os/bazzite#alternative-handhelds). +*Want to install Decky Loader?* There's a `ujust` command for that! `ujust get-decky` +The updater built into Steam's Game mode has been modified to update Bazzite, Flatpaks, and Distrobox containers. \ No newline at end of file diff --git a/system_files/desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md b/system_files/desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md new file mode 100644 index 00000000..2b8fbc50 --- /dev/null +++ b/system_files/desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md @@ -0,0 +1,3 @@ +*Want an animated wallpaper?* The Wallpaper Engine plugin for KDE is pre-installed - [View the usage guide](https://github.com/catsout/wallpaper-engine-kde-plugin#usage) +*Rather use KDE Konsole?* You can restore the application icon for it with `ujust restore-original-terminal`. Be sure to also change the default terminal in System Settings. +ProtonUp-Qt can be used to install and update custom versions of Proton. We recommend Proton-GE for Steam games and Wine-GE for all other use cases. \ No newline at end of file diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md deleted file mode 100644 index 5cf34577..00000000 --- a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-desktop-tips.md +++ /dev/null @@ -1,5 +0,0 @@ -It is **always** better to install packages with Distrobox than to layer them with rpm-ostree. `ujust distrobox` makes it easy! -Packages installed in Distrobox can be exported to appear like any other application - [View documentation](https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-export.md). -Update break something? You can roll back and pin the previous release or rebase by build date - [View our guide](https://universal-blue.discourse.group/docs?topic=513). -Installing a non-Steam Windows game? Lutris is pre-installed for better handling of wine prefixes. -BTRFS is used by default for external drives, and we recommend that or EXT4 over NTFS - [More info here](https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows). \ No newline at end of file diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-ublue.md b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-ublue.md new file mode 100644 index 00000000..9a2ba657 --- /dev/null +++ b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-ublue.md @@ -0,0 +1,3 @@ +It is **always** better to install packages with Distrobox than to layer them with rpm-ostree. `ujust distrobox` makes it easy! +Packages installed in Distrobox can be exported to appear like any other application - [View documentation](https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-export.md). +*Update break something?* You can roll back and pin the previous release or rebase by build date - [View our guide](https://universal-blue.discourse.group/docs?topic=513). \ No newline at end of file diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/20-bazzite.md b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/20-bazzite.md new file mode 100644 index 00000000..04ddd0bd --- /dev/null +++ b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/20-bazzite.md @@ -0,0 +1,7 @@ +*Installing a Windows game that isn't on Steam?* Lutris is pre-installed and recommended for better handling of wine prefixes. +BTRFS is used by default for external drives, and we recommend that or EXT4 over NTFS - [More info](https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows). +*No Flatpak or distro packaging available?* The Gear Lever app is included to make managing and integrating AppImages easy! +Want to control your device from your phone? The KDE Connect app functions with all Bazzite images - [More info](https://kdeconnect.kde.org/) +*Trying to use Feral Gamemode?* System76-Scheduler in Bazzite replaces it, offering automatic nice value adjustments for applications based on the currently focused one and built-in rules. +Discover Overlay is preinstalled, allowing Discord to overlay your games during voice chats - [More info](https://trigg.github.io/Discover/) +*Looking to setup Waydroid?* - [View our documentation](https://universal-blue.discourse.group/docs?topic=32) \ No newline at end of file diff --git a/system_files/desktop/silverblue/usr/share/ublue-os/motd/tips/30-gnome.md b/system_files/desktop/silverblue/usr/share/ublue-os/motd/tips/30-gnome.md new file mode 100644 index 00000000..a00f980f --- /dev/null +++ b/system_files/desktop/silverblue/usr/share/ublue-os/motd/tips/30-gnome.md @@ -0,0 +1,3 @@ +*Looking for some nostalgia?* Enable `Compiz windows effect` from the Extension Manager. +*Missing the top left hot corner?* Apply pressure to the bottom edge of your screen with your mouse. You can also re-enable the hot corner from settings if desired. +ProtonPlus can be used to install and update custom versions of Proton. We recommend Proton-GE for Steam games and Wine-GE for all other use cases. \ No newline at end of file diff --git a/system_files/nvidia/shared/usr/share/ublue-os/motd/tips/100-nvidia.md b/system_files/nvidia/shared/usr/share/ublue-os/motd/tips/100-nvidia.md new file mode 100644 index 00000000..db08a90e --- /dev/null +++ b/system_files/nvidia/shared/usr/share/ublue-os/motd/tips/100-nvidia.md @@ -0,0 +1 @@ +*Using an Nvidia GPU and experiencing flickering?* Switch to X11 from your login screen *(Can't wait for NVK)*. \ No newline at end of file diff --git a/system_files/nvidia/shared/usr/share/ublue-os/motd/tips/30-nvidia-tips.md b/system_files/nvidia/shared/usr/share/ublue-os/motd/tips/30-nvidia-tips.md deleted file mode 100644 index 80a1d2da..00000000 --- a/system_files/nvidia/shared/usr/share/ublue-os/motd/tips/30-nvidia-tips.md +++ /dev/null @@ -1 +0,0 @@ -Using a Nvidia GPU and getting flickering issues? Switch to X11 from your login screen *(Can't wait for NVK)*. \ No newline at end of file From c584eb7bf6887e09cf1b6a5ce91308b70631992f Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 29 Jan 2024 01:01:15 -0800 Subject: [PATCH 008/207] chore: Minor adjustments to WineGE/ProtonGE section --- .../desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md | 2 +- .../desktop/silverblue/usr/share/ublue-os/motd/tips/30-gnome.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/system_files/desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md b/system_files/desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md index 2b8fbc50..3bdadad0 100644 --- a/system_files/desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md +++ b/system_files/desktop/kinoite/usr/share/ublue-os/motd/tips/30-kde.md @@ -1,3 +1,3 @@ *Want an animated wallpaper?* The Wallpaper Engine plugin for KDE is pre-installed - [View the usage guide](https://github.com/catsout/wallpaper-engine-kde-plugin#usage) *Rather use KDE Konsole?* You can restore the application icon for it with `ujust restore-original-terminal`. Be sure to also change the default terminal in System Settings. -ProtonUp-Qt can be used to install and update custom versions of Proton. We recommend Proton-GE for Steam games and Wine-GE for all other use cases. \ No newline at end of file +ProtonUp-Qt can be used to install and update custom versions of Proton. We recommend Proton-GE for problematic Steam games and Wine-GE for all other use cases outside of Steam. \ No newline at end of file diff --git a/system_files/desktop/silverblue/usr/share/ublue-os/motd/tips/30-gnome.md b/system_files/desktop/silverblue/usr/share/ublue-os/motd/tips/30-gnome.md index a00f980f..192aedc2 100644 --- a/system_files/desktop/silverblue/usr/share/ublue-os/motd/tips/30-gnome.md +++ b/system_files/desktop/silverblue/usr/share/ublue-os/motd/tips/30-gnome.md @@ -1,3 +1,3 @@ *Looking for some nostalgia?* Enable `Compiz windows effect` from the Extension Manager. *Missing the top left hot corner?* Apply pressure to the bottom edge of your screen with your mouse. You can also re-enable the hot corner from settings if desired. -ProtonPlus can be used to install and update custom versions of Proton. We recommend Proton-GE for Steam games and Wine-GE for all other use cases. \ No newline at end of file +ProtonPlus can be used to install and update custom versions of Proton. We recommend Proton-GE for problematic Steam games and Wine-GE for all other use cases outside of Steam. \ No newline at end of file From 416602c9bef254a05cb4ae7f823ec1303c80723b Mon Sep 17 00:00:00 2001 From: Matthieu Bouron Date: Mon, 29 Jan 2024 12:13:53 +0100 Subject: [PATCH 009/207] fix(steamos-update): Properly read the return code of the upgrade command Fixes the following error: /tmp/upgrade-check: integer expression expected --- system_files/deck/shared/usr/bin/steamos-update | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system_files/deck/shared/usr/bin/steamos-update b/system_files/deck/shared/usr/bin/steamos-update index e822618d..5f9d1916 100755 --- a/system_files/deck/shared/usr/bin/steamos-update +++ b/system_files/deck/shared/usr/bin/steamos-update @@ -66,7 +66,7 @@ if command -v ublue-update > /dev/null; then } upgrade | fake_progress # Check if upgrade failed - UPGRADE_CHECK=/tmp/upgrade-check + UPGRADE_CHECK=$(cat /tmp/upgrade-check) rm /tmp/upgrade-check if [ ${UPGRADE_CHECK} -eq 0 ]; then touch /tmp/upgrade-installed From 0729f34993860f0d23f6b8716d98ae309f22d8ee Mon Sep 17 00:00:00 2001 From: Matthieu Bouron Date: Mon, 29 Jan 2024 12:20:29 +0100 Subject: [PATCH 010/207] fix(steamos-update): Use double quotes to prevent potential globbing and word splitting --- system_files/deck/shared/usr/bin/steamos-update | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system_files/deck/shared/usr/bin/steamos-update b/system_files/deck/shared/usr/bin/steamos-update index 5f9d1916..b98d24c7 100755 --- a/system_files/deck/shared/usr/bin/steamos-update +++ b/system_files/deck/shared/usr/bin/steamos-update @@ -68,7 +68,7 @@ if command -v ublue-update > /dev/null; then # Check if upgrade failed UPGRADE_CHECK=$(cat /tmp/upgrade-check) rm /tmp/upgrade-check - if [ ${UPGRADE_CHECK} -eq 0 ]; then + if [ "${UPGRADE_CHECK}" -eq 0 ]; then touch /tmp/upgrade-installed else exit 0 # Upgrade failed From fa3b1b390691498a73130a80c84d5bbf647794a6 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 29 Jan 2024 08:01:32 -0800 Subject: [PATCH 011/207] chore(tips): Minor adjustment --- .../deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md b/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md index 2004cc4b..49ee236d 100644 --- a/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md +++ b/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md @@ -1,3 +1,3 @@ *Using a handheld other than the Steam Deck?* Be sure to follow our [alternative handheld documentation](https://github.com/ublue-os/bazzite#alternative-handhelds). *Want to install Decky Loader?* There's a `ujust` command for that! `ujust get-decky` -The updater built into Steam's Game mode has been modified to update Bazzite, Flatpaks, and Distrobox containers. \ No newline at end of file +The updater built into game mode has been modified to update Bazzite, Flatpaks, and Distrobox containers. \ No newline at end of file From 668d402068bb3f7fdde11038bd5892103e5af297 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 29 Jan 2024 08:02:50 -0800 Subject: [PATCH 012/207] chore(tips): Minor adjustment --- .../desktop/shared/usr/share/ublue-os/motd/tips/10-ublue.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-ublue.md b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-ublue.md index fbc4527d..ba75088c 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-ublue.md +++ b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/10-ublue.md @@ -1,4 +1,4 @@ It is **always** better to install packages with Distrobox than to layer them with rpm-ostree. `ujust distrobox` makes it easy! Packages installed in Distrobox can be exported to appear like any other application - [View documentation](https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-export.md). *Update break something?* You can roll back and pin the previous release or rebase by build date - [View our guide](https://universal-blue.discourse.group/docs?topic=513). -**This isn't a distro**, this is a custom image built on Fedora Technology - [View our mission](https://universal-blue.org/mission/) +*This isn't a distro*, this is a custom image built on Fedora technology - [View our mission](https://universal-blue.org/mission/) From 3b4336c67527128da91abc4aa4f7fb225c9b8500 Mon Sep 17 00:00:00 2001 From: Sean Radigan Date: Mon, 29 Jan 2024 12:15:23 -0500 Subject: [PATCH 013/207] fix(rtl8814au/rtl88xxau): package rtl8814au instead of rtl88xxau driver (#721) Co-authored-by: Sean Radigan --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 0206340f..ef81223f 100644 --- a/Containerfile +++ b/Containerfile @@ -93,7 +93,7 @@ RUN sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_ublue-os-akmods.repo /tmp/akmods-rpms/kmods/*ayn-platform*.rpm \ /tmp/akmods-rpms/kmods/*bmi260*.rpm \ /tmp/akmods-rpms/kmods/*bmi323*.rpm \ - /tmp/akmods-rpms/kmods/*rtl88xxau*.rpm \ + /tmp/akmods-rpms/kmods/*rtl8814au*.rpm \ /tmp/akmods-rpms/kmods/*ryzen-smu*.rpm && \ sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo From 312cc718d01331d7369855efc7be55e0cc15c83a Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 29 Jan 2024 09:18:34 -0800 Subject: [PATCH 014/207] feat: Override default fish greeting to allow the motd to work --- .../usr/share/fish/functions/fish_greeting.fish | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 system_files/desktop/shared/usr/share/fish/functions/fish_greeting.fish diff --git a/system_files/desktop/shared/usr/share/fish/functions/fish_greeting.fish b/system_files/desktop/shared/usr/share/fish/functions/fish_greeting.fish new file mode 100644 index 00000000..35b39dd6 --- /dev/null +++ b/system_files/desktop/shared/usr/share/fish/functions/fish_greeting.fish @@ -0,0 +1,13 @@ +function fish_greeting + if test -d "$HOME" + if test ! -e "$HOME"/.config/no-show-user-motd + if test -x "/usr/libexec/ublue-motd" + /usr/libexec/ublue-motd + end + end + end + + if set -q fish_private_mode + echo "fish is running in private mode, history will not be persisted." + end +end From 4c754f570f24f520363dd52fb3421362b0fc2b28 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 29 Jan 2024 10:12:18 -0800 Subject: [PATCH 015/207] feat: Automatically change iomem for handhelds that need ryzenadj --- .../desktop/shared/usr/bin/bazzite-hardware-setup | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/system_files/desktop/shared/usr/bin/bazzite-hardware-setup b/system_files/desktop/shared/usr/bin/bazzite-hardware-setup index 5eb4b1ce..ad465adb 100755 --- a/system_files/desktop/shared/usr/bin/bazzite-hardware-setup +++ b/system_files/desktop/shared/usr/bin/bazzite-hardware-setup @@ -7,7 +7,7 @@ IMAGE_FLAVOR=$(jq -r '."image-flavor"' < $IMAGE_INFO) FEDORA_VERSION=$(jq -r '."fedora-version"' < $IMAGE_INFO) # SCRIPT VERSION -HWS_VER=26 +HWS_VER=27 HWS_VER_FILE="/etc/bazzite/hws_version" HWS_VER_RAN=$(cat $HWS_VER_FILE) @@ -139,6 +139,13 @@ if [[ ":83E1:" =~ ":$SYS_ID:" ]]; then fi fi +if [[ ":ROG Ally RC71L_RC71L:83E1:G1618-04:G1617-01:G1619-05:AIR Plus:" =~ ":$SYS_ID:" ]]; then + if [[ ! $KARGS =~ "iomem" ]]; then + echo "Adding needed kargs for ryzenadj" + NEEDED_KARGS+=("--append-if-missing=iomem=relaxed") + fi +fi + if [[ $KARGS =~ "nomodeset" ]]; then echo "Removing nomodeset" NEEDED_KARGS+=("--delete-if-present=nomodeset") From 93b9dbe611382f9c57ee7752c1ffa9b7bd521ddb Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 29 Jan 2024 21:36:18 -0800 Subject: [PATCH 016/207] fix: Correct possible issue when rebasing from another Fedora issue with flathub/flatpak repositories. chore: Use flathub file in image by directly pointing to /usr/etc instead of /etc/. --- system_files/desktop/shared/usr/bin/bazzite-flatpak-manager | 3 ++- system_files/desktop/shared/usr/bin/bazzite-user-setup | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/system_files/desktop/shared/usr/bin/bazzite-flatpak-manager b/system_files/desktop/shared/usr/bin/bazzite-flatpak-manager index fc9bfb77..e199bdb9 100755 --- a/system_files/desktop/shared/usr/bin/bazzite-flatpak-manager +++ b/system_files/desktop/shared/usr/bin/bazzite-flatpak-manager @@ -1,7 +1,7 @@ #!/usr/bin/bash # SCRIPT VERSION -VER=18 +VER=19 VER_FILE="/etc/bazzite/flatpak_manager_version" VER_RAN=$(cat $VER_FILE) IMAGE_INFO="/usr/share/ublue-os/image-info.json" @@ -30,6 +30,7 @@ if grep -qz 'fedora' <<< $(flatpak remotes); then fi # Ensure Flathub is enabled +flatpak remote-add --if-not-exists --system flathub /usr/etc/flatpak/remotes.d/flathub.flatpakrepo flatpak remote-modify --system --enable flathub # Installed flatpaks diff --git a/system_files/desktop/shared/usr/bin/bazzite-user-setup b/system_files/desktop/shared/usr/bin/bazzite-user-setup index 511a3c23..02ad2e01 100755 --- a/system_files/desktop/shared/usr/bin/bazzite-user-setup +++ b/system_files/desktop/shared/usr/bin/bazzite-user-setup @@ -39,7 +39,7 @@ fi if grep -qz 'fedora' <<< $(flatpak remotes); then flatpak remote-delete --user fedora --force fi -flatpak remote-add --if-not-exists --user flathub /etc/flatpak/remotes.d/flathub.flatpakrepo +flatpak remote-add --if-not-exists --user flathub /usr/etc/flatpak/remotes.d/flathub.flatpakrepo flatpak remote-modify --user --enable flathub # Handle privileged tasks From 3fddf8afb70ba1eb3c0699b4538ccdef5affebec Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Tue, 30 Jan 2024 20:24:54 -0800 Subject: [PATCH 017/207] chore: Update Chimera patch for gamescope --- spec_files/gamescope/chimeraos.patch | 165 +++++++++------------------ 1 file changed, 52 insertions(+), 113 deletions(-) diff --git a/spec_files/gamescope/chimeraos.patch b/spec_files/gamescope/chimeraos.patch index d3167d62..a2018692 100644 --- a/spec_files/gamescope/chimeraos.patch +++ b/spec_files/gamescope/chimeraos.patch @@ -1,4 +1,4 @@ -From 4df5f53e64568e6e89bb98bd30ee9c61056ff1d5 Mon Sep 17 00:00:00 2001 +From 4cafbd696c342c1f45eea6242dcaadd26e8e4a3d Mon Sep 17 00:00:00 2001 From: Matthew Anderson Date: Fri, 6 Oct 2023 17:22:41 -0500 Subject: [PATCH 1/9] Add initial rotation atom controls @@ -179,7 +179,7 @@ index 5764c4b..6231007 100644 2.42.0 -From b5e4f4a86489d5c532befa98f9b07ac3fa24e8f8 Mon Sep 17 00:00:00 2001 +From 4d8f1c32f1be873bf009b3d14b1ff3756495da63 Mon Sep 17 00:00:00 2001 From: Matthew Anderson Date: Sat, 7 Oct 2023 10:38:09 -0500 Subject: [PATCH 2/9] Flag drm_out_of_date to ensure rotation logic gets reset @@ -204,7 +204,7 @@ index 277a54c..236bba4 100644 2.42.0 -From c96169787802b2c6219538d7fd2d41c5cba4bd5e Mon Sep 17 00:00:00 2001 +From b145e5cde74d026ffceddee7f4096a23e60e6112 Mon Sep 17 00:00:00 2001 From: Matthew Anderson Date: Tue, 25 Apr 2023 06:45:01 -0500 Subject: [PATCH 3/9] Add --force-panel-type and --force-external-orientation @@ -419,7 +419,7 @@ index 76721d6..f6ba34f 100644 2.42.0 -From 03fcf2bbc63d933f06279e5cb6cba32969ba93a9 Mon Sep 17 00:00:00 2001 +From 4d1f8e34b70fee42e4e30feac16eda7aa2aa63e7 Mon Sep 17 00:00:00 2001 From: Matthew Anderson Date: Tue, 25 Jul 2023 18:05:05 -0500 Subject: [PATCH 4/9] Set default to native resolution of display if Steam @@ -456,7 +456,7 @@ index 236bba4..60f9828 100644 2.42.0 -From fb4e8f3671784e99b61a39a110c64433212ebf0c Mon Sep 17 00:00:00 2001 +From 8959ef22543eb94d329ef9c117ec662061a3db6c Mon Sep 17 00:00:00 2001 From: Matthew Anderson Date: Wed, 26 Jul 2023 20:46:29 -0500 Subject: [PATCH 5/9] Fix internal display touchscreen orientation when it's @@ -551,7 +551,7 @@ index 3fbc4ff..dc37f97 100644 2.42.0 -From 3f29efe4a5ccbd0bb621cc59df94e70e4666d935 Mon Sep 17 00:00:00 2001 +From 17a8118d9ede790f27fa085a1d287f31e81abb64 Mon Sep 17 00:00:00 2001 From: Matthew Anderson Date: Fri, 6 Oct 2023 23:58:17 -0500 Subject: [PATCH 6/9] Add initial display selection atom @@ -723,7 +723,7 @@ index 6231007..9dbc544 100644 2.42.0 -From de09101c507e4882b28d03056a047cbd92c68231 Mon Sep 17 00:00:00 2001 +From 8b94b4297324bddf48f3578592cdb6f9fe20e5a4 Mon Sep 17 00:00:00 2001 From: Matthew Anderson Date: Mon, 9 Oct 2023 11:21:11 -0500 Subject: [PATCH 7/9] Use sysfs connector_ids for target device selection. @@ -866,121 +866,60 @@ index aeef706..9a3f495 100644 2.42.0 -From 35345954588044a3cd48eb35ce2664e9576c68e6 Mon Sep 17 00:00:00 2001 -From: Lionel Landwerlin -Date: Thu, 14 Dec 2023 16:13:22 +0200 -Subject: [PATCH 8/9] renderervulkan: only consider modifiers support all the - image properties +From 40cb952642118fb983ec4e3deedd7410dbf69a07 Mon Sep 17 00:00:00 2001 +From: Matthew Anderson +Date: Tue, 16 Jan 2024 13:57:50 -0600 +Subject: [PATCH 8/9] Add edge gesture support to open Home and QAM -If you have a modifier with image compression that is only support for -some image formats like : - - B8G8R8A8_UNORM : compression supported - - B8G8R8A8_SRB : compression not supported - -Then the render will not use compression but the modifier indicates it -is present, so the compositor will try to make use of the side -compressed data and this will lead to corruptions. - -This fixes issues on Intel HW of Gfx9 generations. --- - src/rendervulkan.cpp | 65 ++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 65 insertions(+) + src/wlserver.cpp | 28 +++++++++++++++++++++++++++- + 1 file changed, 27 insertions(+), 1 deletion(-) -diff --git a/src/rendervulkan.cpp b/src/rendervulkan.cpp -index 8940b77..936c1d6 100644 ---- a/src/rendervulkan.cpp -+++ b/src/rendervulkan.cpp -@@ -2449,6 +2449,49 @@ int CVulkanTexture::memoryFence() - return fence; - } +diff --git a/src/wlserver.cpp b/src/wlserver.cpp +index dc37f97..e7fb7c9 100644 +--- a/src/wlserver.cpp ++++ b/src/wlserver.cpp +@@ -2048,8 +2048,34 @@ void wlserver_touchmotion( double x, double y, int touch_id, uint32_t time ) -+static bool is_image_format_modifier_supported(VkFormat format, uint32_t drmFormat, uint64_t modifier) -+{ -+ VkPhysicalDeviceImageFormatInfo2 imageFormatInfo = { -+ .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, -+ .format = format, -+ .type = VK_IMAGE_TYPE_2D, -+ .tiling = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, -+ .usage = VK_IMAGE_USAGE_SAMPLED_BIT, -+ }; -+ -+ std::array formats = { -+ DRMFormatToVulkan(drmFormat, false), -+ DRMFormatToVulkan(drmFormat, true), -+ }; -+ -+ VkImageFormatListCreateInfo formatList = { -+ .sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, -+ .viewFormatCount = (uint32_t)formats.size(), -+ .pViewFormats = formats.data(), -+ }; -+ -+ if ( formats[0] != formats[1] ) -+ { -+ formatList.pNext = std::exchange(imageFormatInfo.pNext, -+ &formatList); -+ imageFormatInfo.flags |= VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT; -+ } -+ -+ VkPhysicalDeviceImageDrmFormatModifierInfoEXT modifierInfo = { -+ .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT, -+ .pNext = nullptr, -+ .drmFormatModifier = modifier, -+ }; -+ -+ modifierInfo.pNext = std::exchange(imageFormatInfo.pNext, &modifierInfo); -+ -+ VkImageFormatProperties2 imageFormatProps = { -+ .sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, -+ }; -+ -+ VkResult res = g_device.vk.GetPhysicalDeviceImageFormatProperties2( g_device.physDev(), &imageFormatInfo, &imageFormatProps ); -+ return res == VK_SUCCESS; -+} - - bool vulkan_init_format(VkFormat format, uint32_t drmFormat) - { -@@ -2461,6 +2504,25 @@ bool vulkan_init_format(VkFormat format, uint32_t drmFormat) - .usage = VK_IMAGE_USAGE_SAMPLED_BIT, - }; - -+ std::array formats = { -+ DRMFormatToVulkan(drmFormat, false), -+ DRMFormatToVulkan(drmFormat, true), -+ }; -+ -+ VkImageFormatListCreateInfo formatList = { -+ .sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, -+ .viewFormatCount = (uint32_t)formats.size(), -+ .pViewFormats = formats.data(), -+ }; -+ -+ if ( formats[0] != formats[1] ) -+ { -+ formatList.pNext = std::exchange(imageFormatInfo.pNext, -+ &formatList); -+ imageFormatInfo.flags |= VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT; -+ } -+ -+ - VkImageFormatProperties2 imageFormatProps = { - .sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, - }; -@@ -2518,6 +2580,9 @@ bool vulkan_init_format(VkFormat format, uint32_t drmFormat) - - uint64_t modifier = modifierProps[j].drmFormatModifier; - -+ if ( !is_image_format_modifier_supported( format, drmFormat, modifier ) ) -+ continue; -+ - if ( ( modifierProps[j].drmFormatModifierTilingFeatures & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT ) == 0 ) + if ( get_effective_touch_mode() == WLSERVER_TOUCH_CLICK_PASSTHROUGH ) { - continue; ++ bool start_gesture = false; + wlr_seat_touch_notify_motion( wlserver.wlr.seat, time, touch_id, wlserver.mouse_surface_cursorx, wlserver.mouse_surface_cursory ); +- } ++ ++ // Round the x-coordinate to the nearest whole number ++ uint32_t roundedCursorX = static_cast(std::round(wlserver.mouse_surface_cursorx)); ++ // Grab 2% of the display to be used for the edge range ++ double edge_range = g_nOutputWidth * 0.02; ++ ++ // if the touch cursor x position is less or equal to the range then start the gesture for left to right ++ if (roundedCursorX <= edge_range) { ++ start_gesture = true; ++ } ++ // if the touch cursor x position is the output width minus the edge range value then we are doing right to left ++ if (roundedCursorX >= g_nOutputWidth - edge_range) { ++ start_gesture = true; ++ } ++ // when the gesture is started and we are moving to the end of the edge range open home ++ if (start_gesture && roundedCursorX >= 1 && roundedCursorX <= edge_range) { ++ wl_log.infof("Detected Home gesture"); ++ wlserver_open_steam_menu(0); ++ start_gesture = false; ++ } ++ // when the gesture is started and we are moving from the output width minus the edge range to the output width open QAM ++ if (start_gesture && roundedCursorX >= g_nOutputWidth - edge_range && roundedCursorX <= g_nOutputWidth ) { ++ wl_log.infof("Detected QAM gesture"); ++ wlserver_open_steam_menu(1); ++ start_gesture = false; ++ } } + else if ( get_effective_touch_mode() == WLSERVER_TOUCH_CLICK_DISABLED ) + { + return; -- 2.42.0 -From 051fcd47c74de31954e11f6cb11fd300fed6fa7b Mon Sep 17 00:00:00 2001 +From f975e7a804100bb031fab0526d6714530381ec45 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Wed, 3 Jan 2024 17:03:04 +0100 Subject: [PATCH 9/9] remove hacky texture From f756ef6eb456bc4dc90bb7ef1c98f3761fc73dc5 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Tue, 30 Jan 2024 21:18:51 -0800 Subject: [PATCH 018/207] chore: Correct extra line in testing branch --- .../deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md b/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md index 8546ffb9..3ef6b674 100644 --- a/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md +++ b/system_files/deck/shared/usr/share/ublue-os/motd/tips/25-bazzite-deck.md @@ -6,4 +6,4 @@ The updater built into 󰓓 Steam game mode has been modified to update Bazzite, *Games missing icons?* The `SteamGridDB` plugin for Decky Loader makes it easy to add missing art - [More info](https://github.com/SteamGridDB/decky-steamgriddb) *Confused about what games are compatible with Linux?* The `ProtonDB Badges` plugin for Decky Loader adds community-powered game compatibility badges to your entire 󰓓 Steam Library - [More info](https://github.com/OMGDuke/protondb-decky) *Looking for more security?* Tailscale and OpenVPN are built in, and can be controlled from 󰓓 Steam game mode by the `Tailscale Control` and `TunnelDeck` Decky loader plugins. Other VPN solutions can be layered with `rpm-ostree`. -*Using a handheld that doesn't have enough buttons?* 󰓓 Steam game mode now supports touch gestures to slide out the menus, thanks to [ChimeraOS](https://chimeraos.org/). +*Using a handheld that doesn't have enough buttons?* 󰓓 Steam game mode now supports touch gestures to slide out the menus, thanks to [ChimeraOS](https://chimeraos.org/). \ No newline at end of file From a293e6676477b4ea2f436cf3548ef8946f215391 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Tue, 30 Jan 2024 23:33:32 -0800 Subject: [PATCH 019/207] chore: Correct VGUI2 color --- .../skel/.local/share/org.gnome.Prompt/palettes/vgui2.palette | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system_files/desktop/shared/usr/etc/skel/.local/share/org.gnome.Prompt/palettes/vgui2.palette b/system_files/desktop/shared/usr/etc/skel/.local/share/org.gnome.Prompt/palettes/vgui2.palette index c98a9a43..36faf804 100644 --- a/system_files/desktop/shared/usr/etc/skel/.local/share/org.gnome.Prompt/palettes/vgui2.palette +++ b/system_files/desktop/shared/usr/etc/skel/.local/share/org.gnome.Prompt/palettes/vgui2.palette @@ -1,6 +1,6 @@ [Palette] Name=VGUI2 -Background=#24272F +Background=#4D5845 Foreground=#FFFFFF Cursor=#FFFFFF Color0=#232627 From 908511a6e2d9bb9af4caf2966454bb069a6ca88e Mon Sep 17 00:00:00 2001 From: Pat Connors <121328689+nicknamenamenick@users.noreply.github.com> Date: Wed, 31 Jan 2024 11:10:22 -0500 Subject: [PATCH 020/207] chore: Additional MOTD tips (#725) I hope the syntax is fine :pray: --- .../shared/usr/share/ublue-os/motd/tips/20-bazzite.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/20-bazzite.md b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/20-bazzite.md index 4fbbc1d3..8c5bbfc4 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/motd/tips/20-bazzite.md +++ b/system_files/desktop/shared/usr/share/ublue-os/motd/tips/20-bazzite.md @@ -6,4 +6,7 @@ BTRFS is used by default for external drives, and we recommend that or EXT4 over Discover Overlay is preinstalled, allowing Discord to overlay your games during voice chats - [More info](https://trigg.github.io/Discover/) *Looking to setup Waydroid?* - [View our documentation](https://universal-blue.discourse.group/docs?topic=32) Bazzite uses ZSTD compression in BTRFS by default, and deduplicates files across your entire drive. **More space for your games!** -*Have a large library of ROMs to manage?* ROM Properties Page shell extension is installed by default and makes it much easier, with thumbnails and additional info for all of your files. \ No newline at end of file +*Have a large library of ROMs to manage?* ROM Properties Page shell extension is installed by default and makes it much easier, with thumbnails and additional info for all of your files. +*Need more control over your Flatpaks?* Check out the Warehouse and Flatseal applications to manage them. +*Want more tips and tricks?* - [View the Miscellaneous Documentation](https://universal-blue.discourse.group/docs?topic=287) +*Desktop users: Want a to easily customize MangoHud and vkBasalt?* Use the GOverlay application as a graphical user interface to adjust settings. From fd1416e470005752133a38358ba33e2b305cae06 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Wed, 31 Jan 2024 09:17:22 -0800 Subject: [PATCH 021/207] feat: Use automatic desktop sizing from nested desktop for Waydroid --- system_files/desktop/shared/usr/bin/waydroid-launcher | 3 ++- .../shared/usr/etc/default/steamos-nested-desktop | 0 2 files changed, 2 insertions(+), 1 deletion(-) rename system_files/{deck => desktop}/shared/usr/etc/default/steamos-nested-desktop (100%) diff --git a/system_files/desktop/shared/usr/bin/waydroid-launcher b/system_files/desktop/shared/usr/bin/waydroid-launcher index 0b30cdab..6ceed39c 100755 --- a/system_files/desktop/shared/usr/bin/waydroid-launcher +++ b/system_files/desktop/shared/usr/bin/waydroid-launcher @@ -1,6 +1,7 @@ #!/usr/bin/bash source /etc/default/waydroid-launcher +source /etc/default/steamos-nested-desktop # Kill any previous remnants if [ "$(systemctl is-active waydroid-container.service)" == 'active' ]; then @@ -16,7 +17,7 @@ fi killall -9 weston pkexec /usr/libexec/waydroid-container-start if [ -z "$(pgrep weston)" ]; then - /usr/bin/weston --socket=weston-waydroid --width=${WAYDROID_WIDTH:-1280} --height=${WAYDROID_HEIGHT:-800} &> /dev/null & + /usr/bin/weston --socket=weston-waydroid --width=${STEAMOS_NESTED_DESKTOP_WIDTH:-1280} --height=${STEAMOS_NESTED_DESKTOP_HEIGHT:-800} &> /dev/null & fi # Launch Waydroid diff --git a/system_files/deck/shared/usr/etc/default/steamos-nested-desktop b/system_files/desktop/shared/usr/etc/default/steamos-nested-desktop similarity index 100% rename from system_files/deck/shared/usr/etc/default/steamos-nested-desktop rename to system_files/desktop/shared/usr/etc/default/steamos-nested-desktop From a4bb0e2eeff3c62630e24fa28cababe5c4e0e524 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Thu, 1 Feb 2024 17:31:59 -0800 Subject: [PATCH 022/207] feat: Support multitouch in Waydroid (Thanks Aru!) --- Containerfile | 4 ++-- system_files/desktop/shared/usr/bin/waydroid-launcher | 11 ++--------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/Containerfile b/Containerfile index 2f1fd913..a1c689c4 100644 --- a/Containerfile +++ b/Containerfile @@ -439,7 +439,8 @@ RUN rpm-ostree install \ rocm-opencl \ rocm-clinfo \ waydroid \ - weston && \ + cage \ + wlr-randr && \ sed -i~ -E 's/=.\$\(command -v (nft|ip6?tables-legacy).*/=/g' /usr/lib/waydroid/data/scripts/waydroid-net.sh # Cleanup & Finalize @@ -520,7 +521,6 @@ RUN /tmp/image-info.sh && \ ; fi && \ systemctl disable waydroid-container.service && \ sed -i 's@Exec=waydroid first-launch@Exec=/usr/bin/waydroid-launcher first-launch\nX-Steam-Library-Capsule=/usr/share/applications/Waydroid/capsule.png\nX-Steam-Library-Hero=/usr/share/applications/Waydroid/hero.png\nX-Steam-Library-Logo=/usr/share/applications/Waydroid/logo.png\nX-Steam-Library-StoreCapsule=/usr/share/applications/Waydroid/store-logo.png\nX-Steam-Controller-Template=Desktop@g' /usr/share/applications/Waydroid.desktop && \ - rm /usr/share/wayland-sessions/weston.desktop && \ wget https://raw.githubusercontent.com/KyleGospo/waydroid-scripts/main/waydroid-choose-gpu.sh -O /usr/bin/waydroid-choose-gpu && \ chmod +x /usr/bin/waydroid-choose-gpu && \ mkdir -p /usr/etc/default && \ diff --git a/system_files/desktop/shared/usr/bin/waydroid-launcher b/system_files/desktop/shared/usr/bin/waydroid-launcher index 6ceed39c..169c569f 100755 --- a/system_files/desktop/shared/usr/bin/waydroid-launcher +++ b/system_files/desktop/shared/usr/bin/waydroid-launcher @@ -16,17 +16,10 @@ fi # Launch Weston killall -9 weston pkexec /usr/libexec/waydroid-container-start -if [ -z "$(pgrep weston)" ]; then - /usr/bin/weston --socket=weston-waydroid --width=${STEAMOS_NESTED_DESKTOP_WIDTH:-1280} --height=${STEAMOS_NESTED_DESKTOP_HEIGHT:-800} &> /dev/null & +if [ -z "$(pgrep wlr-randr)" ]; then + cage -- bash -c "wlr-randr --output X11-1 --custom-mode ${STEAMOS_NESTED_DESKTOP_WIDTH:-1280}x${STEAMOS_NESTED_DESKTOP_HEIGHT:-800}; sleep 1; waydroid show-full-ui &> /dev/null &" fi -# Launch Waydroid -sleep 2 && -export XDG_SESSION_TYPE='wayland' -export WAYLAND_DISPLAY='weston-waydroid' -LAUNCH_PARAM=$@ -/usr/bin/waydroid ${LAUNCH_PARAM:-first-launch} & - # Fix controllers, we know Waydroid has started because surfaceflinger is running while [ "" == "$(pgrep surfaceflinger)" ]; do sleep 1 From 2fd0ee7cb5b5e0a0261bd5bfe69391e05c6fb3ee Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Thu, 1 Feb 2024 17:33:40 -0800 Subject: [PATCH 023/207] Revert "chore: Drop Tuned GUI" This reverts commit 179ec649ef6805460eead09d99fea48d5be82a29. --- Containerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Containerfile b/Containerfile index f63b1567..50202bc8 100644 --- a/Containerfile +++ b/Containerfile @@ -248,6 +248,7 @@ RUN rpm-ostree install \ tuned-ppd \ tuned-utils \ tuned-utils-systemtap \ + tuned-gtk \ tuned-profiles-atomic \ tuned-profiles-cpu-partitioning \ powertop \ @@ -299,6 +300,7 @@ RUN rpm-ostree install \ sed -i 's/max_cpu_load_percent.*/max_cpu_load_percent = 100.0/' /usr/etc/ublue-update/ublue-update.toml && \ sed -i 's/max_mem_percent.*/max_mem_percent = 90.0/' /usr/etc/ublue-update/ublue-update.toml && \ sed -i 's/dbus_notify.*/dbus_notify = false/' /usr/etc/ublue-update/ublue-update.toml && \ + sed -i 's@Name=tuned-gui@Name=TuneD Manager@g' /usr/share/applications/tuned-gui.desktop && \ ln -s /usr/share/fonts/google-noto-sans-cjk-fonts /usr/share/fonts/noto-cjk && \ wget https://raw.githubusercontent.com/KyleGospo/steam-proton-mf-wmv/master/installcab.py -O /usr/bin/installcab && \ wget https://github.com/KyleGospo/steam-proton-mf-wmv/blob/master/install-mf-wmv.sh -O /usr/bin/install-mf-wmv && \ From d0d102bb4ca1ec50b72b3df05c839f0efa251008 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Thu, 1 Feb 2024 17:36:01 -0800 Subject: [PATCH 024/207] chore: Remove --wayland from gnome nested --- .../steamdeck-gnome-presets/usr/bin/steamos-nested-desktop | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spec_files/steamdeck-gnome-presets/usr/bin/steamos-nested-desktop b/spec_files/steamdeck-gnome-presets/usr/bin/steamos-nested-desktop index 023e5d09..716c09bb 100755 --- a/spec_files/steamdeck-gnome-presets/usr/bin/steamos-nested-desktop +++ b/spec_files/steamdeck-gnome-presets/usr/bin/steamos-nested-desktop @@ -7,5 +7,4 @@ unset LD_PRELOAD Xephyr -ac -screen ${STEAMOS_NESTED_DESKTOP_WIDTH:-1280}x${STEAMOS_NESTED_DESKTOP_HEIGHT:-800} -reset :5 & env DISPLAY=:5 \ MUTTER_DEBUG_DUMMY_MODE_SPECS=${STEAMOS_NESTED_DESKTOP_WIDTH:-1280}x${STEAMOS_NESTED_DESKTOP_HEIGHT:-800} \ - dbus-run-session -- gnome-shell --nested \ - --wayland + dbus-run-session -- gnome-shell --nested From 2e9f8b4344381403f52231c97ba8a16ac084a0b1 Mon Sep 17 00:00:00 2001 From: RJ Trujillo Date: Sat, 3 Feb 2024 22:30:35 -0700 Subject: [PATCH 025/207] chore(ci): Bump kernel signer to v0.1.3 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3198a26e..6fa86df7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -232,7 +232,7 @@ jobs: --target=${{ matrix.base_name }} - name: Sign kernel - uses: EyeCantCU/kernel-signer@v0.1.2 + uses: EyeCantCU/kernel-signer@v0.1.3 with: image: ${{ steps.build_image.outputs.image }} privkey: ${{ secrets.AKMOD_PRIVKEY_20230518 }} From 3cb1522979230671e05c61c674d262456f3de7ed Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 12 Feb 2024 12:47:11 -0800 Subject: [PATCH 026/207] chore: Update libadwaita for prompt --- Containerfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 8bb6f1dd..415b49bd 100644 --- a/Containerfile +++ b/Containerfile @@ -392,6 +392,10 @@ RUN if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \ rpm-ostree override remove \ plasma-welcome \ qt5-qdbusviewer && \ + rpm-ostree override replace \ + --experimental \ + --from repo=copr:copr.fedorainfracloud.org:kylegospo:prompt \ + libadwaita && \ rpm-ostree install \ steamdeck-kde-presets-desktop \ wallpaper-engine-kde-plugin \ @@ -427,7 +431,8 @@ RUN if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \ --experimental \ --from repo=copr:copr.fedorainfracloud.org:kylegospo:prompt \ vte291 \ - vte-profile && \ + vte-profile \ + libadwaita && \ rpm-ostree install \ prompt \ nautilus-open-any-terminal \ From 75770b6f25a83a52ed6caab4912de1397a55dd72 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 12 Feb 2024 14:04:00 -0800 Subject: [PATCH 027/207] chore: Remove unneeded override --- Containerfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Containerfile b/Containerfile index 415b49bd..ae2938c4 100644 --- a/Containerfile +++ b/Containerfile @@ -392,10 +392,6 @@ RUN if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \ rpm-ostree override remove \ plasma-welcome \ qt5-qdbusviewer && \ - rpm-ostree override replace \ - --experimental \ - --from repo=copr:copr.fedorainfracloud.org:kylegospo:prompt \ - libadwaita && \ rpm-ostree install \ steamdeck-kde-presets-desktop \ wallpaper-engine-kde-plugin \ From 542b71629243fedbf9a63be4960055b8f465b8ab Mon Sep 17 00:00:00 2001 From: HikariKnight <2557889+HikariKnight@users.noreply.github.com> Date: Tue, 13 Feb 2024 00:32:29 +0100 Subject: [PATCH 028/207] fix(just): correctly generate tmpfile config with sudo heredoc --- .../shared/usr/share/ublue-os/just/85-bazzite-image.just | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/system_files/desktop/shared/usr/share/ublue-os/just/85-bazzite-image.just b/system_files/desktop/shared/usr/share/ublue-os/just/85-bazzite-image.just index 94037738..314be70c 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/just/85-bazzite-image.just +++ b/system_files/desktop/shared/usr/share/ublue-os/just/85-bazzite-image.just @@ -53,8 +53,9 @@ enable-vfio: # Add SELinux file context for default looking-glass shm file so that libvirt can create it when needed selinux-looking-glass: - sudo tee << 'LOOKING_GLASS_TMP' > /etc/tmpfiles.d/10-looking-glass.conf + #!/usr/bin/bash + sudo bash -c "tee << LOOKING_GLASS_TMP > /etc/tmpfiles.d/10-looking-glass.conf # Type Path Mode UID GID Age Argument f /dev/shm/looking-glass 0660 1000 qemu - - LOOKING_GLASS_TMP + LOOKING_GLASS_TMP" sudo semanage fcontext -a -t svirt_tmpfs_t /dev/shm/looking-glass From d82d9c6351e155e0f1cf2c1e267fdadfba57d11e Mon Sep 17 00:00:00 2001 From: HikariKnight <2557889+HikariKnight@users.noreply.github.com> Date: Tue, 13 Feb 2024 11:43:38 +0100 Subject: [PATCH 029/207] fix(just): correct vfio-pci.ids to vfio_pci.ids in echo --- .../shared/usr/share/ublue-os/just/85-bazzite-image.just | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system_files/desktop/shared/usr/share/ublue-os/just/85-bazzite-image.just b/system_files/desktop/shared/usr/share/ublue-os/just/85-bazzite-image.just index 314be70c..ff54b41d 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/just/85-bazzite-image.just +++ b/system_files/desktop/shared/usr/share/ublue-os/just/85-bazzite-image.just @@ -44,7 +44,7 @@ enable-vfio: echo "VFIO will be enabled on next boot, make sure you enable IOMMU, VT-d or AMD-v in your BIOS!" echo "Please understand that since this is such a niche use case, support will be very limited!" echo "To add your unused/second GPU device ids to the vfio driver by running" - echo 'rpm-ostree kargs --append-if-missing="vfio-pci.ids=xxxx:yyyy,xxxx:yyzz"' + echo 'rpm-ostree kargs --append-if-missing="vfio_pci.ids=xxxx:yyyy,xxxx:yyzz"' echo "NOTE: Your second GPU will not be usable by the host after you do this!" fi else From 4763200859f14aa3120c22c279e98b903080ebf3 Mon Sep 17 00:00:00 2001 From: HikariKnight <2557889+HikariKnight@users.noreply.github.com> Date: Tue, 13 Feb 2024 22:54:56 +0100 Subject: [PATCH 030/207] chore(just): cleanup heredoc for just syntax highlighting in vscode --- .../shared/usr/share/ublue-os/just/80-bazzite.just | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just b/system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just index b9734017..975de115 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just +++ b/system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just @@ -314,7 +314,7 @@ install-opentabletdriver: setup-virtual-channels: #!/bin/bash mkdir -p ~/.config/pipewire/pipewire.conf.d - cat << 'EOL' > ~/.config/pipewire/pipewire.conf.d/virtual-channels.conf + bash -c 'cat << EOL > ~/.config/pipewire/pipewire.conf.d/virtual-channels.conf context.modules = [ { name = libpipewire-module-loopback args = { @@ -377,7 +377,7 @@ setup-virtual-channels: } } ] - EOL + EOL' echo "Next time you log in, you will have audio channels for Game, Voice, Browser, Music that you can route game audio to" echo "using programs like qpwgraph, helvum or carla." echo "You can also add these channels to OBS audio mixer for separate audio control for yourself and your viewers." @@ -395,7 +395,7 @@ setup-virtual-surround-71: mkdir -p ~/.config/pipewire/hrir_hesuvi echo "Downloading HeSuVi convolver profile Control Room 1 from https://github.com/ShanonPearce/ASH-Listening-Set" wget -O ~/.config/pipewire/hrir_hesuvi/Control_Room_1.wav https://github.com/ShanonPearce/ASH-Listening-Set/raw/main/HeSuVi/hrir/_Control_Room_1.wav - cat << HESUVI > ~/.config/pipewire/pipewire.conf.d/virtual-surround-71.conf + bash -c 'cat << HESUVI > ~/.config/pipewire/pipewire.conf.d/virtual-surround-71.conf context.modules = [ { name = libpipewire-module-filter-chain flags = [ nofail ] @@ -494,7 +494,7 @@ setup-virtual-surround-71: } } ] - HESUVI + HESUVI' echo "Virtual Surround 7.1 has now been set up with a basic convolver file, either restart pipewire or reboot for it to take effect." echo "Then select the Virtual Surround 7.1 audio output as your default audio output." echo "If you want something like DTS, Atmos or OpenAL, you will have to acquire those convolver wav files yourself and edit ~/.config/pipewire/pipewire.conf.d/virtual-surround.conf to point to the one you want to use." From c893ac7a02c83bd970f957ce4eeee44109a012d0 Mon Sep 17 00:00:00 2001 From: HikariKnight <2557889+HikariKnight@users.noreply.github.com> Date: Wed, 14 Feb 2024 01:09:20 +0100 Subject: [PATCH 031/207] feat(just): turn sunshine recipes into 1 recipe --- .../usr/share/ublue-os/just/80-bazzite.just | 63 +++++++++++++------ 1 file changed, 43 insertions(+), 20 deletions(-) diff --git a/system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just b/system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just index 975de115..4caf345d 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just +++ b/system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just @@ -48,26 +48,49 @@ configure-waydroid: deactivate sudo rm -rf /tmp/waydroid_script -# Install Sunshine -install-sunshine: - #!/usr/bin/bash - systemctl enable sunshine-workaround.service - ublue-update --wait - rpm-ostree install -y https://github.com/LizardByte/Sunshine/releases/download/nightly-dev/sunshine-fedora-$(rpm -E %fedora)-amd64.rpm - echo "Sunshine is installed!" - -# Remove Sunshine -remove-sunshine: - #!/usr/bin/bash - systemctl disable sunshine-workaround.service - ublue-update --wait - rpm-ostree remove -y sunshine - echo "Sunshine has been uninstalled." - -# Autostart Sunshine -autostart-sunshine: - #!/usr/bin/bash - systemctl enable --user --now sunshine.service +# Setup and configure Sunshine Game Streaming host +setup-sunshine ACTION="": + #!/bin/bash + source /usr/lib/ujust/ujust.sh + SUNSHINE_STATE="$(rpm -qa sunshine)" + SERVICE_STATE="$(systemctl is-enabled --user sunshine.service)" + OPTION={{ ACTION }} + if [ "$SUNSHINE_STATE" == "" ]; then + SUNSHINE_STATE="${red}${b}Not Installed${n}" + else + SUNSHINE_STATE="${green}${b}Installed${n}" + fi + if [ "$SERVICE_STATE" == "enabled" ]; then + SERVICE_STATE="${green}${b}Enabled${n}" + else + SERVICE_STATE="${red}${b}Disabled${n}" + fi + if [ "$OPTION" == "help" ]; then + echo "Usage: ujust setup-sunshine