Antonio Gomes
2017-10-19 13:07:43 UTC
cc: ozone-dev
bcc: chromium-dev (subject deviates slightly chromium-dev, since
chromium/wayland is still a downstream work, but I kept BCC for the
sake of our future intent to upstream)
Quick check are you launching with --mash or --mus parameter? (from
the error it seems like you are trying the former, whereas the later
should be used.
FTR, here is my launch command line:
$ <out>/chrome --mus --ozone-platform=wayland -user-data-dir=~/tmp <urls>
... and here is my GN flags:
is_debug = false
is_component_build = false
symbol_level = 1
dcheck_always_on = true
use_ozone = true
ozone_platform_wayland = true
ozone_platform_x11 = true
ozone_platform_gbm = false
ozone_platform_headless = true
ozone_auto_platforms = false
use_xkbcommon = true
enable_package_mash_services = true
use_sysroot = true
treat_warnings_as_errors = false
is_clang = true
enable_nacl = false
remove_webcore_debug_symbols = true
use_jumbo_build = true
proprietary_codecs = true
ffmpeg_branding = "Chrome"
Please let me know,
bcc: chromium-dev (subject deviates slightly chromium-dev, since
chromium/wayland is still a downstream work, but I kept BCC for the
sake of our future intent to upstream)
Quick check are you launching with --mash or --mus parameter? (from
the error it seems like you are trying the former, whereas the later
should be used.
FTR, here is my launch command line:
$ <out>/chrome --mus --ozone-platform=wayland -user-data-dir=~/tmp <urls>
... and here is my GN flags:
is_debug = false
is_component_build = false
symbol_level = 1
dcheck_always_on = true
use_ozone = true
ozone_platform_wayland = true
ozone_platform_x11 = true
ozone_platform_gbm = false
ozone_platform_headless = true
ozone_auto_platforms = false
use_xkbcommon = true
enable_package_mash_services = true
use_sysroot = true
treat_warnings_as_errors = false
is_clang = true
enable_nacl = false
remove_webcore_debug_symbols = true
use_jumbo_build = true
proprietary_codecs = true
ffmpeg_branding = "Chrome"
Please let me know,
Hi Antonio,
I did try https://github.com/Igalia/chromium with my platform. It builds
[3886:3893:0103/032058.840266:184830803554:ERROR:service_manager.cc(156)]
Connection InterfaceProviderSpec prevented service: quick_launch from
binding interface: ui::mojom::ExternalWindowTreeFactory exposed
by: ui
I'm not sure it's relevant but it's not running, it seems to stuck
somewhere.
Regards,
Vlad
пятница, 13 октября 2017 г., 15:53:05 UTC+3 пользователь Antonio Gomes
--
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups
"Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/e960db4f-196f-42de-821b-684a7794f880%40chromium.org.
I did try https://github.com/Igalia/chromium with my platform. It builds
[3886:3893:0103/032058.840266:184830803554:ERROR:service_manager.cc(156)]
Connection InterfaceProviderSpec prevented service: quick_launch from
binding interface: ui::mojom::ExternalWindowTreeFactory exposed
by: ui
I'm not sure it's relevant but it's not running, it seems to stuck
somewhere.
Regards,
Vlad
пятница, 13 октября 2017 г., 15:53:05 UTC+3 пользователь Antonio Gomes
Hi Vlad.
TL;DR: The state of Ozone/Linux in ToT is not so useful to your needs
today. There is a buildbot [0], and it builds 'chrome mash:all
services_unitests and ozone_unittests' targets, but only runs a
handful of other unittests at the moment, obviously, making use of
Mus/Ozone codepath.
$ <out>/mash --service=mus_demo --ozone-platform={x11,wayland}
Please have a look at [1]. This is an ongoing effort ran by Igalia
whose goal is to extend both Ozone and Mus to support what we are
calling 'external window mode***', targeting Linux. Note that Chrome
itself isn't changed, since it works as it ought to in both 'internal'
and 'external' window modes.
Project is stable, and our implementation is pretty much functional
today: we have a well defined rebase and contribution policies, where
we rebase against ToT in a weekly basis, run unittests (namely
services_unittests, ozone_unittests, mus_demo) as well perform
continuous integration in our bot [2]. You can see the progresses here
[3][4].
In Q3, we worked a lot in stabilizing our implementation, and for Q4,
the Ozone bits are going to be proposed upstream. MUS changes are also
going to be discussed here in chromium-dev later this quarter.
I welcome you to try and provide feedback of our implementation, as we
work out its upstreaming plan.
*** 'internal window mode' is is the terminology being used when an
application runs within the Ash shell environment, the built-in Window
Manager (WM) that powers ChromeOS builds. Applications in this mode do
not interact with the host WM.
***Analogously, external window mode is the terminology being used to
represent a regular desktop application on Linux, where the host
Window Manager (WM) takes care of windowing actions like maximize,
minimize, restore and fullscreen of the application window. Also, the
application itself reacts to content size changes accordingly.
[0]
https://build.chromium.org/p/chromium.fyi/builders/Ozone%20Linux?numbuilds=200
[1] https://github.com/Igalia/chromium
[2] https://build-chromium.igalia.com/
[3] (chromium/ozone/wayland)
[4] (chromium/ozone/x11)
--Antonio Gomes
--TL;DR: The state of Ozone/Linux in ToT is not so useful to your needs
today. There is a buildbot [0], and it builds 'chrome mash:all
services_unitests and ozone_unittests' targets, but only runs a
handful of other unittests at the moment, obviously, making use of
Mus/Ozone codepath.
$ <out>/mash --service=mus_demo --ozone-platform={x11,wayland}
Please have a look at [1]. This is an ongoing effort ran by Igalia
whose goal is to extend both Ozone and Mus to support what we are
calling 'external window mode***', targeting Linux. Note that Chrome
itself isn't changed, since it works as it ought to in both 'internal'
and 'external' window modes.
Project is stable, and our implementation is pretty much functional
today: we have a well defined rebase and contribution policies, where
we rebase against ToT in a weekly basis, run unittests (namely
services_unittests, ozone_unittests, mus_demo) as well perform
continuous integration in our bot [2]. You can see the progresses here
[3][4].
In Q3, we worked a lot in stabilizing our implementation, and for Q4,
the Ozone bits are going to be proposed upstream. MUS changes are also
going to be discussed here in chromium-dev later this quarter.
I welcome you to try and provide feedback of our implementation, as we
work out its upstreaming plan.
*** 'internal window mode' is is the terminology being used when an
application runs within the Ash shell environment, the built-in Window
Manager (WM) that powers ChromeOS builds. Applications in this mode do
not interact with the host WM.
***Analogously, external window mode is the terminology being used to
represent a regular desktop application on Linux, where the host
Window Manager (WM) takes care of windowing actions like maximize,
minimize, restore and fullscreen of the application window. Also, the
application itself reacts to content size changes accordingly.
[0]
https://build.chromium.org/p/chromium.fyi/builders/Ozone%20Linux?numbuilds=200
[1] https://github.com/Igalia/chromium
[2] https://build-chromium.igalia.com/
[3] (chromium/ozone/wayland)
[4] (chromium/ozone/x11)
Hi All,
I was wondering if anybody could clarify for me current status of chrome
running on Linux with Ozone as UI interface. I had my own platform
(embedded) for which I have implemented Ozone porting. I had used it a
long
time ago with Chromium 43 and it worked fine. Now I want to switch to
version 62. I can see new concept appearing like Mus and Mash. I also
can
see, that for instance build with X11 as Ozone implementation should
work,
but I struggle to understand how. I basically generate build with
following
gn args out/Release_GN_x64 --args="use_ozone=true
enable_package_mash_services=true ozone_platform_myplatform=true" + more
parameters to set custom toolchain
and ozone_platform_myplatform is properly defined in gn and gni files
and
ninja -C out/Release_GN_x64 chrome mus_demo mash:all chrome_sandbox
services/ui/demo
It builds fine, but when I run it on target device, it crashes in
BrowserFrame::InitBrowserFrame when doing
NativeBrowserFrameFactory::CreateNativeBrowserFrame because factory for
ozone (native_browser_frame_factory_ozone.cc) says that
it can only create frame if aura::Env::GetInstance()->mode() ==
aura::Env::Mode::MUS and log is "For Ozone builds, only --mash launch is
supported for now.". Now, I tried running it with "--mash" option as
suggested before and it does not help, because as far as I understand,
the
only way for environment to be MUS is set in chrome_main.cc, but it is
guarded by #ifdef OS_CHROMEOS. Does it mean it never works for Linux?
I'm
puzzled with this one.
I can manually remove some checks for environment to be MUS to make it
go
further but it didn't help much. With "--mus" as a running parameter, ui
service is not running, so nothing is showing, but it seems to run (e.g.
dev
tools works). When removing some checks, "--mash" also works partially
but
it seems to hang somewhere. So, in general I think it's not the way to
patch
the code like this. What worries me is that at
https://chromium.googlesource.com/chromium/src/+/lkcr/docs/ozone_overview.md
instruction says it should work (for X11) but considering that check
with
#if defined(OS_CHROMEOS), I have no idea how, it can never pass that not
implemented part in native_browser_frame_factory_ozone.cc.
Much appreciate any input on this problem
Vlad
--
--
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google
Groups
"Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send
an
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/643651ba-fb20-4595-b2cc-b3e224c2d10a%40chromium.org.
--I was wondering if anybody could clarify for me current status of chrome
running on Linux with Ozone as UI interface. I had my own platform
(embedded) for which I have implemented Ozone porting. I had used it a
long
time ago with Chromium 43 and it worked fine. Now I want to switch to
version 62. I can see new concept appearing like Mus and Mash. I also
can
see, that for instance build with X11 as Ozone implementation should
work,
but I struggle to understand how. I basically generate build with
following
gn args out/Release_GN_x64 --args="use_ozone=true
enable_package_mash_services=true ozone_platform_myplatform=true" + more
parameters to set custom toolchain
and ozone_platform_myplatform is properly defined in gn and gni files
and
ninja -C out/Release_GN_x64 chrome mus_demo mash:all chrome_sandbox
services/ui/demo
It builds fine, but when I run it on target device, it crashes in
BrowserFrame::InitBrowserFrame when doing
NativeBrowserFrameFactory::CreateNativeBrowserFrame because factory for
ozone (native_browser_frame_factory_ozone.cc) says that
it can only create frame if aura::Env::GetInstance()->mode() ==
aura::Env::Mode::MUS and log is "For Ozone builds, only --mash launch is
supported for now.". Now, I tried running it with "--mash" option as
suggested before and it does not help, because as far as I understand,
the
only way for environment to be MUS is set in chrome_main.cc, but it is
guarded by #ifdef OS_CHROMEOS. Does it mean it never works for Linux?
I'm
puzzled with this one.
I can manually remove some checks for environment to be MUS to make it
go
further but it didn't help much. With "--mus" as a running parameter, ui
service is not running, so nothing is showing, but it seems to run (e.g.
dev
tools works). When removing some checks, "--mash" also works partially
but
it seems to hang somewhere. So, in general I think it's not the way to
patch
the code like this. What worries me is that at
https://chromium.googlesource.com/chromium/src/+/lkcr/docs/ozone_overview.md
instruction says it should work (for X11) but considering that check
with
#if defined(OS_CHROMEOS), I have no idea how, it can never pass that not
implemented part in native_browser_frame_factory_ozone.cc.
Much appreciate any input on this problem
Vlad
--
--
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google
Groups
"Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send
an
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/643651ba-fb20-4595-b2cc-b3e224c2d10a%40chromium.org.
--Antonio Gomes
--
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups
"Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/e960db4f-196f-42de-821b-684a7794f880%40chromium.org.
--
--Antonio Gomes
--
You received this message because you are subscribed to the Google Groups "Ozone-Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ozone-dev+***@chromium.org.
--Antonio Gomes
--
You received this message because you are subscribed to the Google Groups "Ozone-Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ozone-dev+***@chromium.org.