Closed xiaohuirong closed 1 year ago
Hi, I am not sure which commit g004fcea8 is, are you using latest wayfire-git or the 0.7.5 release? There have been fixes on the master branch related to gtk-shell, so you might want to check that out if you haven't done it yet.
I'm using a version of Wayfire compiled from the latest commit 004fcea. g004fcea8 is 004fcea8 with a 'g' prefix added. The PKGBUILD file is from aur/wayfire-git.
# Maintainer: Solomon Choina <shlomochoina@gmail.com>
# Co-Maintainer: Frank Tao <frank.tao@uwaterloo.ca>
pkgname=wayfire-git
pkgver=0.7.5.r702.g004fcea8
pkgrel=1
pkgdesc="3D wayland compositor"
arch=('x86_64')
url="https://github.com/WayfireWM/wayfire"
license=('MIT')
depends=('cairo' 'pango' 'doctest' 'freetype2' 'glm' 'nlohmann-json'
'libdrm' 'libevdev' 'libglvnd' 'libinput' 'libjpeg'
'libpng' 'libxkbcommon' 'libxml2' 'pixman' 'polkit'
'pkgconf' 'seatd' 'xcb-util-errors' 'xcb-util-renderutil'
'xcb-util-wm' 'xorg-xwayland' 'wayland' 'wayland-protocols')
makedepends=('git' 'glslang' 'meson' 'ninja' 'cmake' 'vulkan-headers')
optdepends=('xorg-xeyes')
provides=("${pkgname%-git}" 'wlroots' 'wf-config' 'wlroots-git' 'wf-config-git' 'libwlroots.so')
conflicts=("$pkgname" 'wlroots-git' 'wlroots' 'wf-config-git' 'wf-config')
replaces=()
options=()
source=('git+https://github.com/WayfireWM/wayfire')
sha256sums=('SKIP')
pkgver() {
cd "$srcdir/wayfire"
tag=$(git tag -l | awk '/^[0-9.]+$/ {print $0} /^v{1}[0-9.]+$/ {print substr($0,2)}'|sort -n|tail -n1)
printf "$tag.r%s.g%s" "$(git rev-list --count v${tag}..HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
cd "$srcdir/wayfire/"
arch-meson \
--buildtype=release \
-Dxwayland=auto \
-Duse_system_wlroots=disabled \
-Duse_system_wfconfig=disabled \
-Db_lto=true \
-Db_pie=true \
build
ninja -C build
sed "/WF_SRC_DIR/d" -i build/config.h
}
package() {
cd "$srcdir/wayfire"
DESTDIR="$pkgdir/" ninja -C build install
install -Dm644 wayfire.desktop $pkgdir/usr/share/wayland-sessions/wayfire.desktop
cp wayfire.ini $pkgdir/usr/share
}
Actually, do you have the gtk-shell plugin enabled?
After reading the gtk commit, I believe this is actually a bug in gtk4. If the compositor does not support xdg-activation (Wayfire currently does not) and does not support gtk-shell (if the gtk-shell plugin is disabled), gtk will try to access the version of display->gtk_shell
, which will be NULL.
It likely works on hyprland and gnome since they support xdg-activation / gtk-shell.
If this crash happens with the gtk-shell plugin disabled, then you should open a bug report against gtk.
I discovered that I hadn't enabled the gtk-shell plugin before. After enabling it, the crash issue no longer occurs. Thank you. I have already reported the corresponding issue to gtk. https://gitlab.gnome.org/GNOME/gtk/-/issues/6048
Describe the bug After upgrading GTK to 4.12.0, using GTK applications to open files in nautilus causes nautilus to crash. I have tried both GNOME and Hyprland, and this issue did not occur in either of them. In the previous GTK 4.10.5, Wayfire functioned properly. This issue seems to be caused by this commit https://gitlab.gnome.org/GNOME/gtk/-/commit/68b8c5cd999ede0a562debc0378e90e05ae02155 in GTK.
To Reproduce Steps to reproduce the behavior:
Expected behavior no crash.
Screenshots or stacktrace The crash log obtained using
coredumpctl gdb nautilus
is as follows:Wayfire version wayfire-git-0.7.5.r702.g004fcea8 on ArchLinux