Summary: | www-client/chromium[ozone,wayland] crashes with invalid ozone platform: tty | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Alex Buell <alex.buell> |
Component: | Current packages | Assignee: | Chromium Project <chromium> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | amd64 |
Priority: | Normal | Keywords: | PullRequest |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://github.com/gentoo/gentoo/pull/16827 https://github.com/gentoo/gentoo/pull/16867 https://github.com/gentoo/gentoo/pull/16899 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Alex Buell
2020-07-20 08:38:14 UTC
I can work around it by using: chromium --ozone-platform=x11 It evidently defaults to something that makes it crash in Gnome. My USE flags: titanium ~ # emerge -pv chromium These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] www-client/chromium-84.0.4147.89::gentoo USE="closure-compile cups hangouts ozone (pic) proprietary-codecs pulseaudio suid system-ffmpeg system-icu tcmalloc wayland (-component-build) -custom-cflags (-headless) -kerberos (-selinux) (-system-libvpx) -widevine" L10N="en-GB -am -ar -bg -bn -ca -cs -da -de -el -es -es-419 -et -fa -fi -fil -fr -gu -he -hi -hr -hu -id -it -ja -kn -ko -lt -lv -ml -mr -ms -nb -nl -pl -pt-BR -pt-PT -ro -ru -sk -sl -sr -sv -sw -ta -te -th -tr -uk -vi -zh-CN -zh-TW" 0 KiB Total: 1 package (1 reinstall), Size of downloads: 0 KiB It appears that USE flag Wayland forces on the USE flag ozone, which I suspect is the cause of the issue. Overriding this with --ozone-platform=x11 works for me. (In reply to Alex Buell from comment #3) > It appears that USE flag Wayland forces on the USE flag ozone, which I > suspect is the cause of the issue. > > Overriding this with --ozone-platform=x11 works for me. Your desktop is configured to use Wayland? What is the value of XDG_SESSION_TYPE and WAYLAND_DISPLAY environment variables? alex@titanium ~ $ echo $XDG_SESSION_TYPE tty alex@titanium ~ $ echo $WAYLAND_DISPLAY alex@titanium ~ $ more .xinitrc export XDG_MENU_PREFIX=gnome- exec gnome-session I think that's probably the issue. I start my session from the console prompt, I don't have it starting up X11/Wayland on boot. what should I be using in .xinitrc? Thanks, Alex (In reply to Alex Buell from comment #5) > alex@titanium ~ $ echo $XDG_SESSION_TYPE > tty > alex@titanium ~ $ echo $WAYLAND_DISPLAY > > alex@titanium ~ $ more .xinitrc > export XDG_MENU_PREFIX=gnome- > exec gnome-session > > I think that's probably the issue. I start my session from the console > prompt, I don't have it starting up X11/Wayland on boot. > > what should I be using in .xinitrc? > > Thanks, > Alex Ok, that case is not handled at the moment. Can you try to run 'XDG_SESSION_TYPE=wayland chromium' in a terminal and see if it starts up correctly? OK it looks like Wayland isn't being started when I run startx, so I guess I need to sort that, but right now I don't know what the correct invocation to use. Once I start weston, using XDG_SESSION_TYPE=wayland chromium works just fine. I think it needs to know which ozone backend to use. Chromium now works once I figured out Wayland needed to be started. X is not configured to start on boot as I prefer to start it from the VT. The following works for me: XDG_SESSION_TYPE=wayland dbus-run-session gnome-session Also, in chromium-launcher-r4.sh, instead of passing ${XDG_SESSION_TYPE} in arguments directly, it might be better to verify ${XDG_SESSION_TYPE} value:
> else
> platform=
> if [[ ${XDG_SESSION_TYPE} == x11 ]]; then
> platform=x11
> elif [[ ${XDG_SESSION_TYPE} == wayland ]]; then
> platform=wayland
> else
> echo "$0: Invalid XDG_SESSION_TYPE: \"${XDG_SESSION_TYPE}\"" >&2
> exit 1
> fi
> CHROMIUM_FLAGS="--ozone-platform=${platform} ${CHROMIUM_FLAGS}"
> fi
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #9) Or instead of "Invalid", maybe better "Unsupported". (In reply to Arfrever Frehtes Taifersar Arahesis from comment #9) > Also, in chromium-launcher-r4.sh, instead of passing ${XDG_SESSION_TYPE} in > arguments directly, it might be better to verify ${XDG_SESSION_TYPE} value: > > > else > > platform= > > if [[ ${XDG_SESSION_TYPE} == x11 ]]; then > > platform=x11 > > elif [[ ${XDG_SESSION_TYPE} == wayland ]]; then > > platform=wayland > > else > > echo "$0: Invalid XDG_SESSION_TYPE: \"${XDG_SESSION_TYPE}\"" >&2 > > exit 1 > > fi > > CHROMIUM_FLAGS="--ozone-platform=${platform} ${CHROMIUM_FLAGS}" > > fi That was I was thinking of too. Error message is probably missed by most users, because they don't start chromium via command-line. Another option is to only use DISPLAY and WAYLAND_DISPLAY env variables to select ozone backend. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b229dd19792f4d0e63f94ab248c16a6a2b927bd commit 1b229dd19792f4d0e63f94ab248c16a6a2b927bd Author: Stephan Hartmann <stha09@googlemail.com> AuthorDate: 2020-07-24 17:42:24 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2020-07-26 16:42:38 +0000 www-client/chromium: beta channel bump to 85.0.4183.39 Bug: https://bugs.gentoo.org/733296 Package-Manager: Portage-2.3.99, Repoman-2.3.23 Signed-off-by: Stephan Hartmann <stha09@googlemail.com> Signed-off-by: Mike Gilbert <floppym@gentoo.org> www-client/chromium/Manifest | 2 +- ...4183.26.ebuild => chromium-85.0.4183.39.ebuild} | 5 +- www-client/chromium/files/chromium-launcher-r5.sh | 56 ++++++++++++++++++++++ 3 files changed, 61 insertions(+), 2 deletions(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=697bf97c6340368e959d5ac2d2c7ce58c7c49ef5 commit 697bf97c6340368e959d5ac2d2c7ce58c7c49ef5 Author: Stephan Hartmann <stha09@googlemail.com> AuthorDate: 2020-07-28 07:52:25 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2020-07-28 17:09:32 +0000 www-client/chromium: stable channel bump to 84.0.4147.105 Bug: https://bugs.gentoo.org/734150 Bug: https://bugs.gentoo.org/733296 Package-Manager: Portage-2.3.99, Repoman-2.3.23 Signed-off-by: Stephan Hartmann <stha09@googlemail.com> Signed-off-by: Mike Gilbert <floppym@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/16867 www-client/chromium/Manifest | 1 + www-client/chromium/chromium-84.0.4147.105.ebuild | 864 ++++++++++++++++++++++ 2 files changed, 865 insertions(+) The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8aae47a9d865a4aa6445511b196a77a621016256 commit 8aae47a9d865a4aa6445511b196a77a621016256 Author: Stephan Hartmann <stha09@googlemail.com> AuthorDate: 2020-07-29 17:29:31 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2020-07-29 18:01:52 +0000 www-client/chromium: security cleanup Closes: https://bugs.gentoo.org/734150 Closes: https://bugs.gentoo.org/733296 Package-Manager: Portage-2.3.99, Repoman-2.3.23 Signed-off-by: Stephan Hartmann <stha09@googlemail.com> Signed-off-by: Mike Gilbert <floppym@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/16899 www-client/chromium/Manifest | 1 - www-client/chromium/chromium-84.0.4147.89.ebuild | 864 ---------------------- www-client/chromium/files/chromium-launcher-r4.sh | 52 -- 3 files changed, 917 deletions(-) Many thanks for your hard work, I can confirm the fix works perfectly and I can again launch the browser without needing anything else. |