salieri

joined 2 years ago
[–] salieri@lemmy.world 0 points 6 months ago

I was being dumb. Just an FYI if someone stumbles upon this. CachyOS does not include libdecor with its gaming packages selection. Just install it with paru libdecor and select cachyos-extra-znver4/libdecor.

 

I have installed CachyOS in my main gaming machine and i want it to work like the steam deck: Boot into big picture mode and then you can exit to desktop mode. I went with the desktop image instead of the handheld one because i wanted to use GNOME. I've looked at the cachyos-handheld package but it seems its only for KDE systems.
I tried to make my own scripts to start the compositor using a one-shot system which i believe is what bazzite does, unfortunately i cant get the steam part to work, as the gnome part does work. If someone can take a look at it and give me a hand i would be extremely grateful.

Here is the script you run to switch the next boot:

#!/usr/bin/env bash
set -euo pipefail

usage() {
  cat <<'EOF'
Usage: os-session-select <gamescope|gnome-wayland|gnome-xorg|plasma-wayland|plasma-xorg>

Writes ~/.config/steamos-session-select and logs you out so the one-shot wrapper
can launch the requested session exactly once on next login.
EOF
}

target="${1:-}"
case "$target" in
  gamescope|gnome) ;;
  -h|--help|"") usage; exit 1 ;;
  *) echo "Unknown target: $target"; usage; exit 1 ;;
esac

cfg="$HOME/.config"
sentinel="$cfg/steamos-session-select"
mkdir -p "$cfg"
printf '%s\n' "$target" > "$sentinel"

if command -v steam >/dev/null 2>&1; then
  steam -shutdown || true
fi

# End the current session (GDM should be set to autologin)
if [[ -n "${XDG_SESSION_ID:-}" ]]; then
  loginctl terminate-session "$XDG_SESSION_ID" || true
else
  systemctl --user exit || true
fi

It creates a file in the home directory to indicate to the boot script what to launch, then it kills the current session to restart the gdm manager.

And here is the script of the actual launcher:

#!/usr/bin/env bash
set -euo pipefail

sentinel="${HOME}/.config/steamos-session-select"

xexec() {
  local cmd="$1"; shift
  if command -v "$cmd" >/dev/null 2>&1; then
    exec "$cmd" "$@"
  else
    echo "Error: required command '$cmd' not found." >&2
    exit 1
  fi
}

choice=""
if [[ -f "$sentinel" ]]; then
  choice="$(tr -d '\n\r' < "$sentinel")"
  rm -f "$sentinel" || true
fi

choice="${choice:-"gamescope"}"

case "$choice" in
  gamescope)
    if command -v gamescope-session-plus >/dev/null 2>&1; then
      unset WAYLAND_DISPLAY
      unset WAYLAND_SOCKET
      unset DISPLAY
      export XDG_SESSION_TYPE=tty
      export WLR_BACKENDS=drm
      export ENABLE_GAMESCOPE_WSI=0
      exec gamescope-session-plus steam
    else
      echo "gamescope-session(-steam) not found in PATH." >&2
      exit 1
    fi
    ;;

  gnome)
    exec gnome-session
    ;;

  *)
    echo "Unknown session choice '$choice' – falling back to GNOME Wayland." >&2
    exec gnome-session
    ;;
esac

When i look at the journalctl output for the error i see what causes the issue is:

xdg_backend: Failed to initialize input thread
Failed to load plugin 'libdecor-gtk.so': failed to init
SDL_Vulkan_CreateSurface failed: VK_KHR_wayland_surface extension is not enabled in the Vulkan instance

And then a core dump. Again, any help would be much appreciated, thanks!!

[–] salieri@lemmy.world 0 points 1 year ago (2 children)

It should be non-Spain but ok i guess, lets keep letting the rich countries in EU destroy our chance at a home….. (which i assume by fare are the most prevalent)

[–] salieri@lemmy.world 0 points 2 years ago (1 children)

Bingo, yes this is the same issue for what they say. I am connected through DisplayPort though on all my screens. Shame that it is not being worked on but from my testing I assume that when steam moves proton to support wayland natively it will be fixed. Thanks for the info, very interesting!!

[–] salieri@lemmy.world 0 points 2 years ago

Thanks for the input! I tried it but no luck, the black blocks are still there and it still renders on 16:9. Thanks though!!

[–] salieri@lemmy.world 0 points 2 years ago* (last edited 2 years ago) (2 children)

I think you are correct assuming it's an issue with proton not supporting wayland as if i try to use lutris proton still doesn't work but wine does and so does with gamescope.

I'm trying to use gamescope now as you and the other comment have mentioned but I'm having the issue with this command, if you could help me:

gamescope -w 3440 -h 1440 -W 3440 -H 1440 %command%

It creates a window of the appropriate size but the game is still in 16:9 (Without the black blocks issue, which is already a win, but i'd prefer it to be ultrawide too).

Thanks for the help!!

EDIT: Just tried it with Lutris but it seems to also not work even with their setup on proton. So it might be a them thing. For now I'll just use lutris to play on wine directly.

 

Hi all!

I've recently come across an issue with launching games from steam. For now I've seen it happen on two games (or rather demos): Crow Country and Sophonce. They launch fine but have some flickering black blocks on the screen that make them unplayable. Here are some images:

https://pasteboard.co/qXH4H5gm7sIS.jpg

https://pasteboard.co/7k9XM394Zlsi.jpg

https://pasteboard.co/6vPC8GYxhHu8.jpg

This only happens when they go full-screen and on wayland, on X11 works fine. I've tried many versions of proton including eggroll variants.

The games work fine when launched with wine without steam in the middle if i do wine <game.exe> . If i do it this way the games detect that I'm running on an ultra-wide screen and play as such but through steam they stay on 16:9 instead.

My system:

Os: Nobara 40
Kernel: 6.8.12-200.fsync.fc40.x86_64
DE: Gnome 46.2
CPU: AMD Ryzen 7 7800X3D (16) @ 5,05 GHz
GPU 1: AMD Radeon RX 7900 XTX
RAM: 32GB

Any help is appreciated,

Thanks!

 

With all this migration i’ve been inspired to start self hosting some services.

I am looking for a mini pc to ideally run linux and host a media server with radarr and sonarr, pihole and some other stuff as i start getting more into self hosting.

Any recommendations / experiences that you can give? Or some general guidelines on what i should look for or things to avoid.

Thank you!!