Closed garrett closed 4 years ago
Some apps do work, e.g. emacs (I am running a gtk fork of emacs tho). But in general graphical apps do not work.
Ah, I can open GTK apps here too. Perhaps they're going directly to Wayland and apps depending on X (perhaps even with XWayland) aren't working?
I've logged out and logged back in using GNOME in X mode (non-Wayland) and all apps from within toolbox launch.
Obviously, this doesn't fix the problem. :wink:
~It also itn't really a workaround for now, as Firefox (from flathub) does not launch in X for some odd reason. (Most likely another bug, unless there's simply some issue with Wayland and X somewhere.)~ Edit: I disabled the X11 fallpack property with Flatseal months ago, when I was making sure Firefox was running in Wayland mode to answer someone's post on the Silverblue forum. So it was self-inflicted. Oops.
I've rebooted Silverblue to:
Version: 33.20200913.n.0 (2020-09-13T07:59:41Z)
BaseCommit: 7de80b1a27968e257a31180f4ae046f5e7acc3c6fd978b90122a5551320b5db9
...and I'm in Wayland and can run graphical apps again from toolbox.
$ rpm -q podman
podman-2.1.0-0.179.dev.git43f2771.fc33.x86_64
$ podman version
Version: 2.1.0-dev
API Version: 1
Go Version: go1.15
Built: Tue Aug 25 14:48:48 2020
OS/Arch: linux/amd64
$ toolbox --version
toolbox version 0.0.95
$ rpm -q toolbox
toolbox-0.0.95-1.fc33.x86_64
It looks like toolbox and podman are both at the same versions, so this might actually be an X and Wayland issue?
In a VM with no overrides, I ran an update from
Version: 33.20200914.n.0 (2020-09-14T08:05:11Z)
Commit: a2ead73898ba4861d018599c001b141511c14c1efc4203b5433b754873171050
(known good; tested running gitk in a toolbox container and it works) to
Version: 33.20200920.n.0 (2020-09-20T08:02:39Z)
Commit: 633fca7e849b77903f4f8e14d39ff421edfede3bafc903af06a9be948a85d603
(known bad, latest; tested running gitk in a toolbox container and it fails)
The changes when upgrading are:
1 metadata, 0 content objects fetched; 592 B transferred in 2 seconds; 0 bytes content written
AvailableUpdate:
Version: 33.20200920.n.0 (2020-09-20T08:02:39Z)
Commit: 633fca7e849b77903f4f8e14d39ff421edfede3bafc903af06a9be948a85d603
GPGSignature: 1 signature
Signature made Sun 20 Sep 2020 10:02:51 AM CEST using RSA key ID 6C13026D12C944D0
Good signature from "Fedora <fedora-32-primary@fedoraproject.org>"
Upgraded: adwaita-cursor-theme 3.37.2-2.fc33 -> 3.38.0-1.fc33
adwaita-icon-theme 3.37.2-2.fc33 -> 3.38.0-1.fc33
at-spi2-atk 2.37.90-1.fc33 -> 2.38.0-1.fc33
at-spi2-core 2.37.90-1.fc33 -> 2.38.0-1.fc33
cheese-libs 2:3.34.0-4.fc33 -> 2:3.38.0-1.fc33
dconf 0.36.0-2.fc33 -> 0.38.0-1.fc33
evolution-data-server 3.37.90-1.fc33 -> 3.38.0-1.fc33
evolution-data-server-langpacks 3.37.90-1.fc33 -> 3.38.0-1.fc33
fedora-gpg-keys 33-0.11 -> 33-0.13
fedora-repos 33-0.11 -> 33-0.13
fedora-repos-modular 33-0.11 -> 33-0.13
fedora-repos-ostree 33-0.11 -> 33-0.13
gdm 1:3.37.90-1.fc33 -> 1:3.38.0-1.fc33
gjs 1.65.91-3.fc33 -> 1.66.0-1.fc33
glib-networking 2.65.90-1.fc33 -> 2.66.0-1.fc33
glib2 2.65.2-3.fc33 -> 2.66.0-1.fc33
gnome-backgrounds 3.37.2-2.fc33 -> 3.38.0-1.fc33
gnome-classic-session 3.37.91-1.fc33 -> 3.38.0-1.fc33
gnome-control-center 3.37.90-1.fc33 -> 3.38.0-1.fc33
gnome-control-center-filesystem 3.37.90-1.fc33 -> 3.38.0-1.fc33
gnome-desktop3 3.37.90.1-1.fc33 -> 3.38.0-1.fc33
gnome-disk-utility 3.37.2-3.fc33 -> 3.38.0-1.fc33
gnome-session 3.37.0-1.fc33 -> 3.38.0-1.fc33
gnome-session-wayland-session 3.37.0-1.fc33 -> 3.38.0-1.fc33
gnome-session-xsession 3.37.0-1.fc33 -> 3.38.0-1.fc33
gnome-settings-daemon 3.37.92-1.fc33 -> 3.38.0-1.fc33
gnome-shell 3.37.91-4.fc33 -> 3.38.0-1.fc33
gnome-shell-extension-apps-menu 3.37.91-1.fc33 -> 3.38.0-1.fc33
gnome-shell-extension-common 3.37.91-1.fc33 -> 3.38.0-1.fc33
gnome-shell-extension-horizontal-workspaces 3.37.91-1.fc33 -> 3.38.0-1.fc33
gnome-shell-extension-launch-new-instance 3.37.91-1.fc33 -> 3.38.0-1.fc33
gnome-shell-extension-places-menu 3.37.91-1.fc33 -> 3.38.0-1.fc33
gnome-shell-extension-window-list 3.37.91-1.fc33 -> 3.38.0-1.fc33
gnome-software 3.36.1-4.fc33 -> 3.38.0-2.fc33
gnome-software-rpm-ostree 3.36.1-4.fc33 -> 3.38.0-2.fc33
gnome-system-monitor 3.37.91-1.fc33 -> 3.38.0-1.fc33
gnome-tour 3.37.91-2.fc33 -> 3.38.0-1.fc33
gnome-user-docs 3.36.2-2.fc33 -> 3.38.0-1.fc33
gobject-introspection 1.64.1-4.fc33 -> 1.66.0-1.fc33
gsettings-desktop-schemas 3.37.2-2.fc33 -> 3.38.0-1.fc33
gspell 1.8.3-3.fc33 -> 1.8.4-1.fc33
gtk-update-icon-cache 3.24.22-2.fc33 -> 3.24.23-1.fc33
gtk3 3.24.22-2.fc33 -> 3.24.23-1.fc33
gvfs 1.45.90-1.fc33 -> 1.46.0-1.fc33
gvfs-afc 1.45.90-1.fc33 -> 1.46.0-1.fc33
gvfs-afp 1.45.90-1.fc33 -> 1.46.0-1.fc33
gvfs-archive 1.45.90-1.fc33 -> 1.46.0-1.fc33
gvfs-client 1.45.90-1.fc33 -> 1.46.0-1.fc33
gvfs-fuse 1.45.90-1.fc33 -> 1.46.0-1.fc33
gvfs-goa 1.45.90-1.fc33 -> 1.46.0-1.fc33
gvfs-gphoto2 1.45.90-1.fc33 -> 1.46.0-1.fc33
gvfs-mtp 1.45.90-1.fc33 -> 1.46.0-1.fc33
gvfs-smb 1.45.90-1.fc33 -> 1.46.0-1.fc33
json-glib 1.5.2-1.fc33 -> 1.6.0-1.fc33
libgdata 0.17.12-3.fc33 -> 0.17.13-1.fc33
libhandy1 0.90.0-1.fc33 -> 1.0.0-2.fc33
librsvg2 2.48.8-2.fc33 -> 2.50.0-1.fc33
libsoup 2.71.0-2.fc33 -> 2.72.0-1.fc33
libtracker-control 2.3.5-1.fc33 -> 2.3.6-1.fc33
libtracker-miner 2.3.5-1.fc33 -> 2.3.6-1.fc33
libtracker-sparql 2.3.5-1.fc33 -> 2.3.6-1.fc33
mutter 3.37.91-1.fc33 -> 3.38.0-1.fc33
nautilus 3.37.91-1.fc33 -> 3.38.0-1.fc33
nautilus-extensions 3.37.91-1.fc33 -> 3.38.0-1.fc33
orca 3.37.90-1.fc33 -> 3.38.0-1.fc33
python3-gobject 3.36.1-2.fc33 -> 3.38.0-1.fc33
python3-gobject-base 3.36.1-2.fc33 -> 3.38.0-1.fc33
python3-pyatspi 2.37.90-1.fc33 -> 2.38.0-1.fc33
python3-speechd 0.10.1-1.fc33 -> 0.10.1-2.fc33
rygel 0.39.2-1.fc33 -> 0.40.0-1.fc33
selinux-policy 3.14.6-25.fc33 -> 3.14.6-26.fc33
selinux-policy-targeted 3.14.6-25.fc33 -> 3.14.6-26.fc33
speech-dispatcher 0.10.1-1.fc33 -> 0.10.1-2.fc33
speech-dispatcher-espeak-ng 0.10.1-1.fc33 -> 0.10.1-2.fc33
systemd 246.4-1.fc33 -> 246.4-2.fc33
systemd-libs 246.4-1.fc33 -> 246.4-2.fc33
systemd-pam 246.4-1.fc33 -> 246.4-2.fc33
systemd-rpm-macros 246.4-1.fc33 -> 246.4-2.fc33
systemd-udev 246.4-1.fc33 -> 246.4-2.fc33
tracker 2.3.5-1.fc33 -> 2.3.6-1.fc33
tracker-miners 2.3.4-2.fc33 -> 2.3.5-1.fc33
yelp 2:3.37.90-2.fc33 -> 2:3.38.0-1.fc33
yelp-libs 2:3.37.90-2.fc33 -> 2:3.38.0-1.fc33
yelp-xsl 3.37.90-2.fc33 -> 3.38.0-1.fc33
Downgraded: perl-B 1.80-461.module_f33+9996+d5a76496 -> 1.80-461.module_f33+9980+83f6a35a
perl-Class-Struct 0.66-461.module_f33+9996+d5a76496 -> 0.66-461.module_f33+9980+83f6a35a
perl-Encode 4:3.07-457.module_f33+9996+d5a76496 -> 4:3.07-457.module_f33+9980+83f6a35a
perl-Errno 1.30-461.module_f33+9996+d5a76496 -> 1.30-461.module_f33+9980+83f6a35a
perl-Fcntl 1.13-461.module_f33+9996+d5a76496 -> 1.13-461.module_f33+9980+83f6a35a
perl-File-Basename 2.85-461.module_f33+9996+d5a76496 -> 2.85-461.module_f33+9980+83f6a35a
perl-File-Path 2.17-2.module_f33+9996+d5a76496 -> 2.17-2.module_f33+9980+83f6a35a
perl-File-stat 1.09-461.module_f33+9996+d5a76496 -> 1.09-461.module_f33+9980+83f6a35a
perl-FileHandle 2.03-461.module_f33+9996+d5a76496 -> 2.03-461.module_f33+9980+83f6a35a
perl-Getopt-Long 1:2.52-1.module_f33+9996+d5a76496 -> 1:2.52-1.module_f33+9980+83f6a35a
perl-Getopt-Std 1.12-461.module_f33+9996+d5a76496 -> 1.12-461.module_f33+9980+83f6a35a
perl-IO 1.43-461.module_f33+9996+d5a76496 -> 1.43-461.module_f33+9980+83f6a35a
perl-IPC-Open3 1.21-461.module_f33+9996+d5a76496 -> 1.21-461.module_f33+9980+83f6a35a
perl-NDBM_File 1.15-461.module_f33+9996+d5a76496 -> 1.15-461.module_f33+9980+83f6a35a
perl-POSIX 1.94-461.module_f33+9996+d5a76496 -> 1.94-461.module_f33+9980+83f6a35a
perl-Pod-Usage 4:1.70-3.module_f33+9996+d5a76496 -> 4:1.70-3.module_f33+9980+83f6a35a
perl-SelectSaver 1.02-461.module_f33+9996+d5a76496 -> 1.02-461.module_f33+9980+83f6a35a
perl-Socket 4:2.030-2.module_f33+9996+d5a76496 -> 4:2.030-2.module_f33+9980+83f6a35a
perl-Symbol 1.08-461.module_f33+9996+d5a76496 -> 1.08-461.module_f33+9980+83f6a35a
perl-Time-Local 2:1.300-4.module_f33+9996+d5a76496 -> 2:1.300-4.module_f33+9980+83f6a35a
perl-if 0.60.800-461.module_f33+9996+d5a76496 -> 0.60.800-461.module_f33+9980+83f6a35a
perl-interpreter 4:5.32.0-461.module_f33+9996+d5a76496 -> 4:5.32.0-461.module_f33+9980+83f6a35a
perl-libs 4:5.32.0-461.module_f33+9996+d5a76496 -> 4:5.32.0-461.module_f33+9980+83f6a35a
perl-macros 4:5.32.0-461.module_f33+9996+d5a76496 -> 4:5.32.0-461.module_f33+9980+83f6a35a
perl-mro 1.23-461.module_f33+9996+d5a76496 -> 1.23-461.module_f33+9980+83f6a35a
perl-overload 1.31-461.module_f33+9996+d5a76496 -> 1.31-461.module_f33+9980+83f6a35a
perl-overloading 0.02-461.module_f33+9996+d5a76496 -> 0.02-461.module_f33+9980+83f6a35a
perl-subs 1.03-461.module_f33+9996+d5a76496 -> 1.03-461.module_f33+9980+83f6a35a
perl-vars 1.05-461.module_f33+9996+d5a76496 -> 1.05-461.module_f33+9980+83f6a35a
Removed: fedora-repos-rawhide-33-0.11.noarch
fedora-repos-rawhide-modular-33-0.11.noarch
Added: libtracker-sparql3-3.0.0-1.fc33.x86_64
tracker3-3.0.0-1.fc33.x86_64
tracker3-miners-3.0.0-2.fc33.x86_64
Neither podman nor toolbox show up on that list, so it cannot be toolbox or podman directly. It has to be some package on that list that's causing some issues.
Well other things than packages might have changed, /etc
for example might have .
@A6GibKm: Good point. Is there a way to diff /etc/ between versions of Silverblue? (I know how to diff between local changes to /etc/, but not SB's.)
ostree admin config-diff
allows you to compare /etc
, but as far as I know it only does local changes, it does not compare different versions.
@A6GibKm: Yep. That's what I was talking about. This is within a VM with an unchanged /etc, so diffing between system and Silverblue's /etc is not useful. (Diffing between /etc might be. Although many of the /etc changes come from packages anyway.)
Meanwhile, I redirected env to a file for the system and toolbox in the working and broken states. There's no difference whatsoever in the toolbox container. And there's minimal difference (related to session) on the system.
Here's a unified diff of the system's env:
--- env-sys-working.txt 2020-09-21 12:56:12.920885043 +0200
+++ env-sys-broken.txt 2020-09-21 12:22:02.406835930 +0200
@@ -1,5 +1,5 @@
SHELL=/bin/bash
-SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/1464,unix/unix:/tmp/.ICE-unix/1464
+SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/1478,unix/unix:/tmp/.ICE-unix/1478
COLORTERM=truecolor
HISTCONTROL=ignoredups
XDG_MENU_PREFIX=gnome-
@@ -13,7 +13,7 @@
LOGNAME=garrett
XDG_SESSION_DESKTOP=gnome
XDG_SESSION_TYPE=wayland
-XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.RN94Q0
+XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.4M3FR0
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
GDM_LANG=en_US.UTF-8
HOME=/var/home/garrett
@@ -23,21 +23,21 @@
XDG_CURRENT_DESKTOP=GNOME
VTE_VERSION=6003
WAYLAND_DISPLAY=wayland-0
-GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/72bbb014_1201_4bb5_8d9f_92b981a8fb9c
-INVOCATION_ID=81fe0a9268ce4c879b1c15b9831f9eb1
-MANAGERPID=1367
+GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/70d7dee0_be52_4b18_b618_93ce33bb45b9
+INVOCATION_ID=2faea5011a614329921ff66d8420329d
+MANAGERPID=1374
GJS_DEBUG_OUTPUT=stderr
GNOME_SETUP_DISPLAY=:1
XDG_SESSION_CLASS=user
TERM=xterm-256color
LESSOPEN=||/usr/bin/lesspipe.sh %s
USER=garrett
-GNOME_TERMINAL_SERVICE=:1.97
+GNOME_TERMINAL_SERVICE=:1.91
DISPLAY=:0
SHLVL=1
QT_IM_MODULE=ibus
XDG_RUNTIME_DIR=/run/user/1000
-JOURNAL_STREAM=8:37189
+JOURNAL_STREAM=8:39001
XDG_DATA_DIRS=/var/home/garrett/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
PATH=/var/home/garrett/.local/bin:/var/home/garrett/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
GDMSESSION=gnome
The only difference I see (aside from the session variances) is GNOME_TERMINAL_SERVICE going from 1.91 to 1.97... but really I doubt it's that.
Out of the list above, the following packages are the ones I'd guess are most likely:
gdm 1:3.37.90-1.fc33 -> 1:3.38.0-1.fc33
gnome-session 3.37.0-1.fc33 -> 3.38.0-1.fc33
gnome-session-wayland-session 3.37.0-1.fc33 -> 3.38.0-1.fc33
gnome-session-xsession 3.37.0-1.fc33 -> 3.38.0-1.fc33
gnome-settings-daemon 3.37.92-1.fc33 -> 3.38.0-1.fc33
gnome-shell 3.37.91-4.fc33 -> 3.38.0-1.fc33
mutter 3.37.91-1.fc33 -> 3.38.0-1.fc33
selinux-policy 3.14.6-25.fc33 -> 3.14.6-26.fc33
selinux-policy-targeted 3.14.6-25.fc33 -> 3.14.6-26.fc33
systemd 246.4-1.fc33 -> 246.4-2.fc33
systemd-libs 246.4-1.fc33 -> 246.4-2.fc33
And of these, I'd guess mutter, gnome-shell, or gnome-session* are probably the most likely of the bunch to look into first, as this issue deals with X & Wayland issues.
(I wonder if @kalev might be able to isolate the issue further?)
Sounds like XWayland not working. I'll ask the gnome-shell people to see if they know what's up.
I am running Version: 33.20200921.n.0 (2020-09-21T08:05:26Z) Silverblue. I have a Toolbox container made when F33 was rawhide. I installed qutebrowser in it (edit: which pulled in a bunch of deps) and had to also install qt5-qtwayland.x86_64 plugin to get it to run, but it runs. I am logged into my Gnome session as default Wayland. Edit: gvim does not work in toolbox though
Snippet from #silverblue on Freenode:
<mclasen> rishi`: hey, around ?
<mclasen> with gnome 3.38, x apps stopped working in toolboxes
<mclasen> since we make xwayland not use the abstract socket anymore
<mclasen> so not it uses the X socket in its traditional location, /tmp/
<mclasen> which ... is empty in my toolboxes
Since v0.0.94 Toolbox mounts a tmpfs to /tmp
but as mclasen says, it is empty and does not hold the sockets.
I'll try to play a bit with socket but I guess this is more of a question for @debarshiray.
That's cause it's now running under Wayland. Xwayland apps are the problem. Try gvim. Or xeyes.
On Tue., Sep. 22, 2020, 13:45 Stephen Snow, notifications@github.com wrote:
I am running Version: 33.20200921.n.0 (2020-09-21T08:05:26Z) Silverblue. I have a Toolbox container made when F33 was rawhide. I installed qutebrowser in it and had to also install qt5-qtwayland.x86_64 plugin to get it to run, but it runs. I am logged into my Gnome session as default Wayland.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/containers/toolbox/issues/562#issuecomment-696732066, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA2BH3EMRY7BXDHQPJ3ZGZ3SHCTA7ANCNFSM4RUIRONQ .
You will note my edit above about gvim not working though. I understand XWayland is likely the issue here.
I have a very rough solution for this issue in https://github.com/containers/toolbox/pull/564. Comments are very welcome. In general, I'd like to avoid cherry-picking of files as much as possible and I'm wondering whether this wish can be fulfilled here or not.
xeyes does not work either, I get just "cannot open display: :0"
I have a very rough solution for this issue in #564. Comments are very welcome. In general, I'd like to avoid cherry-picking of files as much as possible and I'm wondering whether this wish can be fulfilled here or not.
I can confirm that running:
$ sudo ln -s /run/host/tmp/.X11-unix /tmp/
does indeed make the apps run.
This should be fixed by https://github.com/containers/toolbox/pull/570
I am running Version: 33.20200921.n.0 (2020-09-21T08:05:26Z) Silverblue. I have a Toolbox container made when F33 was rawhide. I installed qutebrowser in it (edit: which pulled in a bunch of deps) and had to also install qt5-qtwayland.x86_64 plugin to get it to run, but it runs. I am logged into my Gnome session as default Wayland. Edit: gvim does not work in toolbox though
Re qt5-qtwayland missing dep: https://src.fedoraproject.org/rpms/qutebrowser/pull-request/10
Describe the bug
In Fedora 33, graphical applications no longer work from within toolbox containers when in Wayland. This breaks workflows for everyone using Silverblue and is relying on toolbox where graphical applications are needed. (Mainly: development work which may require graphical tools like gitk, VS Code, and so on.)
Steps how to reproduce the behaviour
Expected behaviour Graphical apps should show up.
Actual behaviour
When running gitk from within toolbox, the following happens:
Output of
toolbox --version
(v0.0.90+)toolbox version 0.0.95
Toolbox package info (
rpm -q toolbox
)toolbox-0.0.95-1.fc33.x86_64
Output of
podman version
Podman package info (
rpm -q podman
)podman-2.1.0-0.179.dev.git43f2771.fc33.x86_64
Info about your OS Fedora Silverblue 33 beta
Additional context
This worked fine in the 2020-09-14 build of Silverblue 33 beta. It broke somewhere between then and the latest build of 2020-09-20. I believe it is podman related, especially due to it being a dev build.
Did a development version of podman slip into F33/SB, breaking toolbox, again?
..Or is it intended to use podman 2.1.x in Fedora 33 (and therefore toolbox would have to workaround or add support for the new version)?
Discussed in https://discussion.fedoraproject.org/t/issues-with-some-graphical-apps-in-f33-containers-toolbox/23456.