mirror of
https://github.com/ublue-os/bazzite.git
synced 2025-03-16 16:20:48 +00:00
Merge branch 'testing'
This commit is contained in:
commit
93d1975c0d
@ -1,49 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Modified from:
|
||||
# https://gitlab.com/evlaV/steamdeck-kde-presets/-/blob/master/usr/bin/jupiter-plasma-bootstrap?ref_type=heads
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
SYS_ID="$(/usr/libexec/hwsupport/sysid)"
|
||||
|
||||
if [[ "${XDG_SESSION_TYPE}" = "wayland" ]]; then
|
||||
if /usr/libexec/hwsupport/needs-left-rotation || /usr/libexec/hwsupport/needs-right-rotation; then
|
||||
# Try to wait for kscreen to be ready. This was mostly a hack to try to make the below bug not happen, but I'm afraid
|
||||
# to remove it because this weird bug has caused hours of grief.
|
||||
i=0
|
||||
while (( ++i < 5 )) && ! kscreen-console outputs; do
|
||||
sleep 5
|
||||
done
|
||||
|
||||
# Then try to fix the config
|
||||
#
|
||||
# There is some fun/insane bug where if kscreen hasn't evaluated connected displays yet, doing that at the same time as
|
||||
# asking it to set the rotation causes it to racily either ignore you, or somehow do two modesets in such a way as to
|
||||
# break the amdgpu driver and disable the screen for this X11 session. Really. Wayland seems fine.
|
||||
#
|
||||
# But if you ask for a nonsense rotation, it will guarantee it has evaluated the new display and added it to the config
|
||||
# (before failing because foo isn't a rotation). Ha-ha, software!
|
||||
kscreen-doctor output.eDP-1.rotation.foo || true
|
||||
kscreen-doctor output.eDP.rotation.foo || true
|
||||
# In wayland mode the display is named after some EDID identifier and not the output, but "1" works there, and hopefully
|
||||
# is the internal screen oh boy.
|
||||
|
||||
# Try to wait for kscreen to be ready
|
||||
i=0
|
||||
while (( ++i < 5 )) && ! kscreen-console json; do
|
||||
sleep 5
|
||||
done
|
||||
|
||||
# Then try to fix the config
|
||||
if /usr/libexec/hwsupport/needs-right-rotation; then
|
||||
kscreen-doctor output.eDP.rotation.right \
|
||||
|| kscreen-doctor output.eDP-1.rotation.right \
|
||||
|| true
|
||||
elif /usr/libexec/hwsupport/needs-left-rotation; then
|
||||
kscreen-doctor output.eDP.rotation.left \
|
||||
|| kscreen-doctor output.eDP-1.rotation.left \
|
||||
|| true
|
||||
fi
|
||||
fi
|
||||
fi
|
@ -1,5 +1,5 @@
|
||||
[Desktop Entry]
|
||||
Exec=/usr/bin/bazzite-plasma-bootstrap
|
||||
Exec=/usr/bin/bazzite-desktop-bootstrap
|
||||
GenericName[en_US]=Desktop Bootstrap
|
||||
GenericName=Desktop Bootstrap
|
||||
Icon=system-run
|
79
system_files/deck/shared/usr/bin/bazzite-desktop-bootstrap
Executable file
79
system_files/deck/shared/usr/bin/bazzite-desktop-bootstrap
Executable file
@ -0,0 +1,79 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Modified from:
|
||||
# https://gitlab.com/evlaV/steamdeck-kde-presets/-/blob/master/usr/bin/jupiter-plasma-bootstrap?ref_type=heads
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
SYS_ID="$(/usr/libexec/hwsupport/sysid)"
|
||||
IMAGE_INFO="/usr/share/ublue-os/image-info.json"
|
||||
BASE_IMAGE_NAME=$(jq -r '."base-image-name"' < $IMAGE_INFO)
|
||||
|
||||
if [[ "${XDG_SESSION_TYPE}" = "wayland" ]]; then
|
||||
if [[ $BASE_IMAGE_NAME =~ "kinoite" ]]; then
|
||||
if /usr/libexec/hwsupport/needs-left-rotation || /usr/libexec/hwsupport/needs-right-rotation; then
|
||||
# Try to wait for kscreen to be ready. This was mostly a hack to try to make the below bug not happen, but I'm afraid
|
||||
# to remove it because this weird bug has caused hours of grief.
|
||||
i=0
|
||||
while (( ++i < 5 )) && ! kscreen-console outputs; do
|
||||
sleep 5
|
||||
done
|
||||
|
||||
# Then try to fix the config
|
||||
#
|
||||
# There is some fun/insane bug where if kscreen hasn't evaluated connected displays yet, doing that at the same time as
|
||||
# asking it to set the rotation causes it to racily either ignore you, or somehow do two modesets in such a way as to
|
||||
# break the amdgpu driver and disable the screen for this X11 session. Really. Wayland seems fine.
|
||||
#
|
||||
# But if you ask for a nonsense rotation, it will guarantee it has evaluated the new display and added it to the config
|
||||
# (before failing because foo isn't a rotation). Ha-ha, software!
|
||||
kscreen-doctor output.eDP-1.rotation.foo || true
|
||||
kscreen-doctor output.eDP.rotation.foo || true
|
||||
# In wayland mode the display is named after some EDID identifier and not the output, but "1" works there, and hopefully
|
||||
# is the internal screen oh boy.
|
||||
|
||||
# Try to wait for kscreen to be ready
|
||||
i=0
|
||||
while (( ++i < 5 )) && ! kscreen-console json; do
|
||||
sleep 5
|
||||
done
|
||||
|
||||
# Then try to fix the rotation
|
||||
if /usr/libexec/hwsupport/needs-right-rotation; then
|
||||
kscreen-doctor output.eDP.rotation.right \
|
||||
|| kscreen-doctor output.eDP-1.rotation.right \
|
||||
|| true
|
||||
elif /usr/libexec/hwsupport/needs-left-rotation; then
|
||||
kscreen-doctor output.eDP.rotation.left \
|
||||
|| kscreen-doctor output.eDP-1.rotation.left \
|
||||
|| true
|
||||
fi
|
||||
|
||||
# Then try to fix the scaling
|
||||
if /usr/libexec/hwsupport/needs-100-scale; then
|
||||
kscreen-doctor output.eDP.scale.1 \
|
||||
|| kscreen-doctor output.eDP-1.scale.1 \
|
||||
|| true
|
||||
elif /usr/libexec/hwsupport/needs-150-scale; then
|
||||
kscreen-doctor output.eDP.scale.1.5 \
|
||||
|| kscreen-doctor output.eDP-1.scale.1.5 \
|
||||
|| true
|
||||
elif /usr/libexec/hwsupport/needs-200-scale; then
|
||||
kscreen-doctor output.eDP.scale.2 \
|
||||
|| kscreen-doctor output.eDP-1.scale.2 \
|
||||
|| true
|
||||
fi
|
||||
fi
|
||||
elif [[ $BASE_IMAGE_NAME =~ "silverblue" ]]; then
|
||||
# Set scale on GNOME desktops, rotation tends to work without issue.
|
||||
if /usr/libexec/hwsupport/needs-100-scale; then
|
||||
gnome-randr modify eDP --scale 1 \
|
||||
|| gnome-randr modify eDP-1 --scale 1 \
|
||||
|| true
|
||||
elif /usr/libexec/hwsupport/needs-200-scale; then
|
||||
gnome-randr modify eDP --scale 2 \
|
||||
|| gnome-randr modify eDP-1 --scale 2 \
|
||||
|| true
|
||||
fi
|
||||
fi
|
||||
fi
|
1
system_files/deck/shared/usr/bin/bazzite-session-select
Symbolic link
1
system_files/deck/shared/usr/bin/bazzite-session-select
Symbolic link
@ -0,0 +1 @@
|
||||
/usr/bin/steamos-session-select
|
@ -44,12 +44,6 @@ if [[ -z $SENTINEL_CREATED ]]; then
|
||||
cat "$SENTINEL_FILE"
|
||||
)
|
||||
|
||||
if [[ ${BASE_IMAGE_NAME} == 'silverblue' ]]; then
|
||||
# clear steam game desktop shortcut clutter
|
||||
DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}
|
||||
grep --files-with-matches "Exec=steam steam://rungameid/" ${DATA_HOME}/applications/* | tr '\n' '\0' | xargs -0 -I {} rm {} || true
|
||||
fi
|
||||
|
||||
# If we were executed as a session user and then re-execute as root below, we don't want to set root's sentinel too
|
||||
export SENTINEL_CREATED=1
|
||||
fi
|
||||
|
@ -17,7 +17,7 @@ if [[ -f ${AUTOLOGIN_CONF} ]]; then
|
||||
fi
|
||||
|
||||
# Configure autologin if Steam has been updated
|
||||
if [[ ! -f ${DESKTOP_AUTOLOGIN} && -f $HOME/.local/share/Steam/ubuntu12_32/steamui.so ]]; then
|
||||
if [[ ! -f ${DESKTOP_AUTOLOGIN} ]]; then
|
||||
sed -i 's/.*Session=.*/Session=gamescope-session.desktop/g' ${SDDM_CONF}
|
||||
elif [[ ${BASE_IMAGE_NAME} =~ "kinoite" ]]; then
|
||||
sed -i 's/.*Session=.*/Session=plasma.desktop/g' ${SDDM_CONF}
|
||||
|
@ -1,2 +0,0 @@
|
||||
[Service]
|
||||
TimeoutStopSec=3
|
7
system_files/desktop/shared/usr/libexec/hwsupport/needs-100-scale
Executable file
7
system_files/desktop/shared/usr/libexec/hwsupport/needs-100-scale
Executable file
@ -0,0 +1,7 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
if /usr/libexec/hwsupport/valve-hardware || [[ ":ROG Ally RC71L:ROG Ally X RC72LA:G1618-04:G1617-01:G1619-05:AIR Plus:AIR 1S:AIR 1S Limited:AIR:AYANEO GEEK:AYANEO 2:AYANEO 2S:AOKZOE A1 AR07:AOKZOE A1 Pro:G1619-04:Win600:Loki Max:Loki Zero:Loki MiniPro:V3:ONEXPLAYER F1:ONEXPLAYER F1L:ONEXPLAYER F1 EVA-01:" =~ ":$SYS_ID:" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exit 1
|
8
system_files/desktop/shared/usr/libexec/hwsupport/needs-150-scale
Executable file
8
system_files/desktop/shared/usr/libexec/hwsupport/needs-150-scale
Executable file
@ -0,0 +1,8 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# KDE Specific fractional scaling
|
||||
if [[ ":83E1:" =~ ":$SYS_ID:" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exit 1
|
7
system_files/desktop/shared/usr/libexec/hwsupport/needs-200-scale
Executable file
7
system_files/desktop/shared/usr/libexec/hwsupport/needs-200-scale
Executable file
@ -0,0 +1,7 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
if [[ ":83E1:" =~ ":$SYS_ID:" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exit 1
|
@ -9,7 +9,7 @@
|
||||
class="cf-icon-svg"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="download.svg"
|
||||
sodipodi:docname="download3.svg"
|
||||
xml:space="preserve"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
@ -26,9 +26,9 @@
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="0.734375"
|
||||
inkscape:cx="121.87234"
|
||||
inkscape:cy="452.76596"
|
||||
inkscape:window-width="1999"
|
||||
inkscape:cx="147.06383"
|
||||
inkscape:cy="392.85106"
|
||||
inkscape:window-width="1457"
|
||||
inkscape:window-height="1212"
|
||||
inkscape:window-x="26"
|
||||
inkscape:window-y="23"
|
||||
@ -79,59 +79,59 @@
|
||||
gradientUnits="userSpaceOnUse" /><filter
|
||||
style="color-interpolation-filters:sRGB;"
|
||||
inkscape:label="Drop Shadow"
|
||||
id="filter4"
|
||||
id="filter12"
|
||||
x="0"
|
||||
y="0"
|
||||
width="1"
|
||||
height="1.0252619"><feFlood
|
||||
height="1.0378929"><feFlood
|
||||
result="flood"
|
||||
in="SourceGraphic"
|
||||
flood-opacity="0.286275"
|
||||
flood-color="rgb(255,255,255)"
|
||||
id="feFlood3" /><feGaussianBlur
|
||||
id="feFlood11" /><feGaussianBlur
|
||||
result="blur"
|
||||
in="SourceGraphic"
|
||||
stdDeviation="0.000000"
|
||||
id="feGaussianBlur3" /><feOffset
|
||||
id="feGaussianBlur11" /><feOffset
|
||||
result="offset"
|
||||
in="blur"
|
||||
dx="0.000000"
|
||||
dy="0.200000"
|
||||
id="feOffset3" /><feComposite
|
||||
dy="0.300000"
|
||||
id="feOffset11" /><feComposite
|
||||
result="comp1"
|
||||
operator="out"
|
||||
in="flood"
|
||||
in2="offset"
|
||||
id="feComposite3" /><feComposite
|
||||
id="feComposite11" /><feComposite
|
||||
result="fbSourceGraphic"
|
||||
operator="atop"
|
||||
in="comp1"
|
||||
in2="SourceGraphic"
|
||||
id="feComposite4" /><feColorMatrix
|
||||
id="feComposite12" /><feColorMatrix
|
||||
result="fbSourceGraphicAlpha"
|
||||
in="fbSourceGraphic"
|
||||
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
|
||||
id="feColorMatrix4" /><feFlood
|
||||
id="feFlood4"
|
||||
id="feColorMatrix12" /><feFlood
|
||||
id="feFlood12"
|
||||
result="flood"
|
||||
in="fbSourceGraphic"
|
||||
flood-opacity="0.286275"
|
||||
flood-color="rgb(0,0,0)" /><feGaussianBlur
|
||||
id="feGaussianBlur4"
|
||||
id="feGaussianBlur12"
|
||||
result="blur"
|
||||
in="fbSourceGraphic"
|
||||
stdDeviation="0.000000" /><feOffset
|
||||
id="feOffset4"
|
||||
id="feOffset12"
|
||||
result="offset"
|
||||
in="blur"
|
||||
dx="0.000000"
|
||||
dy="0.200000" /><feComposite
|
||||
id="feComposite5"
|
||||
dy="0.300000" /><feComposite
|
||||
id="feComposite13"
|
||||
result="comp1"
|
||||
operator="in"
|
||||
in="flood"
|
||||
in2="offset" /><feComposite
|
||||
id="feComposite6"
|
||||
id="feComposite14"
|
||||
result="comp2"
|
||||
operator="over"
|
||||
in="fbSourceGraphic"
|
||||
@ -144,5 +144,5 @@
|
||||
cx="8.5513659"
|
||||
mask="none" /><path
|
||||
id="path4"
|
||||
style="display:inline;fill:url(#linearGradient2);filter:url(#filter4)"
|
||||
style="display:inline;fill:url(#linearGradient2);filter:url(#filter12)"
|
||||
d="M 8.5 2.3660215 C 5.2977954 2.3656198 2.4106263 4.2942758 1.1849863 7.2525586 C -0.040651012 10.210835 0.63660944 13.616141 2.9007578 15.880573 C 5.1649061 18.145007 8.5700933 18.822706 11.528523 17.59744 C 14.48696 16.372174 16.416006 13.485229 16.416007 10.283024 C 16.416561 5.910758 12.872268 2.3660177 8.5 2.3660215 z M 8.5 4.5703271 C 8.857503 4.5703271 9.1463154 4.8591395 9.1463154 5.2166426 L 9.1463154 10.118719 L 10.626859 8.6361826 C 10.879334 8.3837084 11.289349 8.3837084 11.541821 8.6361826 C 11.794296 8.8886566 11.794296 9.2986708 11.541821 9.5511445 L 8.95646 12.136456 C 8.703986 12.38893 8.293972 12.38893 8.041498 12.136456 L 5.4561865 9.5511445 C 5.2037126 9.2986708 5.2037126 8.8886566 5.4561865 8.6361826 C 5.7086605 8.3837084 6.1186745 8.3837084 6.3711484 8.6361826 L 7.8536846 10.118719 L 7.8536846 5.2166426 C 7.8536846 4.8591395 8.142497 4.5703271 8.5 4.5703271 z M 4.6220078 11.679996 L 6.6720684 11.679996 L 7.5850381 12.594958 C 8.089986 13.099906 8.9080219 13.099906 9.4129697 12.594958 L 10.327932 11.679996 L 12.377992 11.679996 C 13.090979 11.679996 13.670673 12.25969 13.670673 12.972677 L 13.670673 13.618992 C 13.670673 14.331979 13.090979 14.911673 12.377992 14.911673 L 4.6220078 14.911673 C 3.9090215 14.911673 3.3293271 14.331979 3.3293271 13.618992 L 3.3293271 12.972677 C 3.3293271 12.25969 3.9090215 11.679996 4.6220078 11.679996 z M 12.054859 12.81111 A 0.48475075 0.48475075 0 1 0 12.054859 13.780608 A 0.48475075 0.48475075 0 1 0 12.054859 12.81111 z " /></svg>
|
||||
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
Loading…
x
Reference in New Issue
Block a user