cucumber-sp / yandex-music-linux

Linux client of Yandex Music
Other
222 stars 5 forks source link

X11 - Wayland #78

Closed DunkanAidaho closed 2 months ago

DunkanAidaho commented 2 months ago

Привет. Странное поведение при запуске

20:30:26.632 (Application) › Version: 5.1.2 20:30:26.634 (Application) › Build: 5.1.2 (58acd0b70c3cf5a8734a1f243729f11dd525b4d8) 20:30:26.635 (SingleInstance) › Single instance [3408382:0502/203026.821849:ERROR:wayland_connection.cc(200)] Failed to connect to Wayland display: Нет такого файла или каталога (2) [3408382:0502/203026.821887:ERROR:ozone_platform_wayland.cc(265)] Failed to initialize Wayland platform [3408382:0502/203026.821890:ERROR:env.cc(258)] The platform failed to initialize. Exiting. [1] 3408382 segmentation fault (core dumped) yandex-music

wayland установлен но при запуске используется X11. конфиг файл удалял, не помогает

cucumber-sp commented 2 months ago

Если сессия Wayland то он пытается включить флаги для Wayland. Тут или запускать через Wayland или стереть данный пункт из /usr/bin/yandex-music

DunkanAidaho commented 2 months ago

В том то и дело что сессия X11 `liet$ cat /usr/bin/yandex-music

!/bin/bash

set -e

CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" CONFIG_FILE="${YANDEX_MUSIC_CONFIG:-$CONFIG_HOME/yandex-music.conf}"

echo "Using config file: ${CONFIG_FILE}"

if [ ! -f "$CONFIG_FILE" ]; then echo "Config file not found, copying default" mkdir -p "$(dirname "$CONFIG_FILE")" cp /usr/lib/yandex-music/default.conf "$CONFIG_FILE" fi

source "$CONFIG_FILE"

WAYLAND_FLAGS=""

if [ "$XDG_SESSION_TYPE" == "wayland" ]; then

WAYLAND_FLAGS="--enable-features=UseOzonePlatform --ozone-platform=wayland"

fi

ELECTRON_BIN=${ELECTRON_CUSTOM_BIN:-/usr/bin/electron29}

export TRAY_ENABLED=${TRAY_ENABLED:-0}

exec "${ELECTRON_BIN}" "/usr/lib/yandex-music/yandex-music.asar" $ELECTRON_ARGS `

liet$ /usr/bin/yandex-music Using config file: /home/liet/.config/yandex-music.conf 23:35:32.170 (Application) › Version: 5.1.2 23:35:32.172 (Application) › Build: 5.1.2 (58acd0b70c3cf5a8734a1f243729f11dd525b4d8) 23:35:32.174 (SingleInstance) › Single instance [22951:0502/233532.412032:ERROR:wayland_connection.cc(196)] Failed to connect to Wayland display: Нет такого файла или каталога (2) [22951:0502/233532.412074:ERROR:ozone_platform_wayland.cc(264)] Failed to initialize Wayland platform [22951:0502/233532.412078:ERROR:env.cc(257)] The platform failed to initialize. Exiting. [1] 22951 segmentation fault (core dumped) /usr/bin/yandex-music

cucumber-sp commented 2 months ago

Выглядит как какое-то специфичное оборудование/драйвера. Какая система, комплектующие и драйвера? Попробую поискать решение. Дополнительно можно в электроне открыть issue, вдруг там помогут

DunkanAidaho commented 2 months ago

вроде обычное оборудование Ryzen 7 amd карта. замечу что от судо - все почти стартует, но я так полагаю не видит сокет

`liet$ /usr/bin/yandex-music
Using config file: /home/liet/.config/yandex-music.conf 23:35:32.170 (Application) › Version: 5.1.2 23:35:32.172 (Application) › Build: 5.1.2 (58acd0b70c3cf5a8734a1f243729f11dd525b4d8) 23:35:32.174 (SingleInstance) › Single instance [22951:0502/233532.412032:ERROR:wayland_connection.cc(196)] Failed to connect to Wayland display: Нет такого файла или каталога (2) [22951:0502/233532.412074:ERROR:ozone_platform_wayland.cc(264)] Failed to initialize Wayland platform [22951:0502/233532.412078:ERROR:env.cc(257)] The platform failed to initialize. Exiting. [1] 22951 segmentation fault (core dumped) /usr/bin/yandex-music

`

для инфо юзерской сессии

liet$ printenv | grep SESSION DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DESKTOP_SESSION=plasmax11 KDE_FULL_SESSION=true KDE_SESSION_UID=1000 KDE_SESSION_VERSION=6 KONSOLE_DBUS_SESSION=/Sessions/1 SESSION_MANAGER=local/LieT-PC:@/tmp/.ICE-unix/3381,unix/LieT-PC:/tmp/.ICE-unix/3381 SHELL_SESSION_ID=3bb90b9eaeb343b89db8985ae647f816 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=KDE XDG_SESSION_ID=c2 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1 XDG_SESSION_TYPE=x11 XDG_SESSION_TYP=x11

cucumber-sp commented 2 months ago

Все что нашел это можно попробовать "--in-process-gpu". Если не поможет то заведите issue. Вообще у самого электрона много проблем стало на линуксе в последнее время, можно так же попробовать более старую версию электрона.

DunkanAidaho commented 2 months ago

поставил предкомпиленный electron и все заработало sudo pacman -S electron29-bin. при желании можно добавить в README

P.S.: не знаю на сколько это связано, но если electron запускает wine для отрисовки, профиль wine я перенес и сделать профиль по умолчанию

In English The problem is solved by installing the binary package electron29-bin for users of arch distributions (with the removal of the previously compiled) sudo pacman -S electron29-bin

P.S.: If electron, in turn, launches wine for rendering, then you can check that wine is installed correctly by moving the default profile and launching it with the clear default profile. (before installing electron29-bin I did this too)

cucumber-sp commented 2 months ago

Электрон не должен использовать wine, это просто chromium. Странно конечно, но отлично что решилось

DunkanAidaho commented 2 months ago

подумал раз в процессе установки скачивается exe, то без wine не обойтись)