-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chromium-ozone-wayland: Update to stable 71.0.3578.98 #209
chromium-ozone-wayland: Update to stable 71.0.3578.98 #209
Conversation
Lots of great news there :) I'll try to test-build this patch with more configurations and review the PR until the end of the week. |
have you tested it on aarch64 ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the new direction mentioned in the pull request message, and I hope this means we'll hear from you guys more frequently.
In addition to the inline comments, I've got a few other questions and comments:
- Are all the patches there necessary? I see some patches just renaming files or flags rather than implementing new functionality or fixing bugs.
- The build on qemuarm64 + thud fails to link:
| FAILED: v8_context_snapshot_generator
| python "../../build/toolchain/gcc_link_wrapper.py" --output="./v8_context_snapshot_generator" -- aarch64-poky-linux-g++ -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/data/src/yocto/poky/build-thud-qemuarm64-wl/tmp/work/aarch64-poky-linux/chromium-ozone-wayland/71.0.3578.98-r0/recipe-sysroot -Wl,--fatal-warnings -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--as-needed -Wl,-O2 -Wl,--gc-sections -rdynamic -Wl,-rpath-link=. -Wl,--disable-new-dtags -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now -o "./v8_context_snapshot_generator" -Wl,--start-group @"./v8_context_snapshot_generator.rsp" -Wl,--end-group -latomic -ldl -lpthread -lrt -lsmime3 -lnss3 -lsoftokn3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -ljpeg -lxml2 -lxslt -lm -lresolv -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lfreetype -lwebpdemux -lwebpmux -lwebp -lexpat -luuid -lxkbcommon -lasound -lz -lwayland-egl -lwayland-client -lgbm -lpci -ldbus-1
| /data/src/yocto/poky/build-thud-qemuarm64-wl/tmp/work/aarch64-poky-linux/chromium-ozone-wayland/71.0.3578.98-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.2.0/ld: obj/third_party/libdrm/libdrm/xf86drm.o: in function `drmGetMinorNameForFD':
| /usr/src/debug/chromium-ozone-wayland/71.0.3578.98-r0/chromium-71.0.3578.98/out/Release/../../third_party/libdrm/src/xf86drm.c:2841: undefined reference to `major'
| /data/src/yocto/poky/build-thud-qemuarm64-wl/tmp/work/aarch64-poky-linux/chromium-ozone-wayland/71.0.3578.98-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.2.0/ld: /usr/src/debug/chromium-ozone-wayland/71.0.3578.98-r0/chromium-71.0.3578.98/out/Release/../../third_party/libdrm/src/xf86drm.c:2842: undefined reference to `minor'
| /data/src/yocto/poky/build-thud-qemuarm64-wl/tmp/work/aarch64-poky-linux/chromium-ozone-wayland/71.0.3578.98-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.2.0/ld: obj/third_party/libdrm/libdrm/xf86drm.o: in function `drmOpenMinor':
| /usr/src/debug/chromium-ozone-wayland/71.0.3578.98-r0/chromium-71.0.3578.98/out/Release/../../third_party/libdrm/src/xf86drm.c:463: undefined reference to `makedev'
| /data/src/yocto/poky/build-thud-qemuarm64-wl/tmp/work/aarch64-poky-linux/chromium-ozone-wayland/71.0.3578.98-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.2.0/ld: obj/third_party/libdrm/libdrm/xf86drm.o: in function `drmGetNodeTypeFromFd':
| /usr/src/debug/chromium-ozone-wayland/71.0.3578.98-r0/chromium-71.0.3578.98/out/Release/../../third_party/libdrm/src/xf86drm.c:2775: undefined reference to `major'
| /data/src/yocto/poky/build-thud-qemuarm64-wl/tmp/work/aarch64-poky-linux/chromium-ozone-wayland/71.0.3578.98-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.2.0/ld: /usr/src/debug/chromium-ozone-wayland/71.0.3578.98-r0/chromium-71.0.3578.98/out/Release/../../third_party/libdrm/src/xf86drm.c:2776: undefined reference to `minor'
| /data/src/yocto/poky/build-thud-qemuarm64-wl/tmp/work/aarch64-poky-linux/chromium-ozone-wayland/71.0.3578.98-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.2.0/ld: obj/third_party/libdrm/libdrm/xf86drm.o: in function `drmGetDevice2':
| /usr/src/debug/chromium-ozone-wayland/71.0.3578.98-r0/chromium-71.0.3578.98/out/Release/../../third_party/libdrm/src/xf86drm.c:3827: undefined reference to `major'
| /data/src/yocto/poky/build-thud-qemuarm64-wl/tmp/work/aarch64-poky-linux/chromium-ozone-wayland/71.0.3578.98-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.2.0/ld: /usr/src/debug/chromium-ozone-wayland/71.0.3578.98-r0/chromium-71.0.3578.98/out/Release/../../third_party/libdrm/src/xf86drm.c:3828: undefined reference to `minor'
| /data/src/yocto/poky/build-thud-qemuarm64-wl/tmp/work/aarch64-poky-linux/chromium-ozone-wayland/71.0.3578.98-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.2.0/ld: /usr/src/debug/chromium-ozone-wayland/71.0.3578.98-r0/chromium-71.0.3578.98/out/Release/../../third_party/libdrm/src/xf86drm.c:3855: undefined reference to `major'
| /data/src/yocto/poky/build-thud-qemuarm64-wl/tmp/work/aarch64-poky-linux/chromium-ozone-wayland/71.0.3578.98-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.2.0/ld: /usr/src/debug/chromium-ozone-wayland/71.0.3578.98-r0/chromium-71.0.3578.98/out/Release/../../third_party/libdrm/src/xf86drm.c:3856: undefined reference to `minor'
| /data/src/yocto/poky/build-thud-qemuarm64-wl/tmp/work/aarch64-poky-linux/chromium-ozone-wayland/71.0.3578.98-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.2.0/ld: obj/third_party/libdrm/libdrm/xf86drm.o: in function `drmGetDevices2':
| /usr/src/debug/chromium-ozone-wayland/71.0.3578.98-r0/chromium-71.0.3578.98/out/Release/../../third_party/libdrm/src/xf86drm.c:4005: undefined reference to `major'
| /data/src/yocto/poky/build-thud-qemuarm64-wl/tmp/work/aarch64-poky-linux/chromium-ozone-wayland/71.0.3578.98-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.2.0/ld: /usr/src/debug/chromium-ozone-wayland/71.0.3578.98-r0/chromium-71.0.3578.98/out/Release/../../third_party/libdrm/src/xf86drm.c:4006: undefined reference to `minor'
| collect2: error: ld returned 1 exit status
recipes-browser/chromium/chromium-ozone-wayland_71.0.3578.98.bb
Outdated
Show resolved
Hide resolved
recipes-browser/chromium/chromium-ozone-wayland/0016-Add-support-for-V4L2VDA-on-Linux.patch
Show resolved
Hide resolved
recipes-browser/chromium/chromium-ozone-wayland/0017-Add-mmap-via-libv4l-to-generic_v4l2.patch
Show resolved
Hide resolved
recipes-browser/chromium/chromium-ozone-wayland/0017-Add-mmap-via-libv4l-to-generic_v4l2.patch
Outdated
Show resolved
Hide resolved
I would like to keep all of them for consistency.
Looks like we need to switch to system libdrm as well. I'll do so. |
we constantly check with aarch64, but our env requires additional patches not relevant to this pr. |
This update is based on the stable M71 version with backported Ozone/Wayland patches from the ToT. The Chromium with Ozone/Wayland recipe shares the chromium-upstream-tarball now, and will be updated as soon as new version is shipped. The Chromium with Ozone/Wayland has the following features possible to be used now - 1) Ime, when --enable-ime-service and --enable-wayland-ime are passed as command line arguments. 2) GPU native memory buffers + zero-copy - the browser must be run in a multi process mode (without --in-process-gpu flag, for example), and use available drm render nodes to create gbm buffers to draw to. Flags needed - --enable-native-gpu-memory-buffers. 3) Partial swap - check the about://gpu page, and if disable_post_sub_buffers_for_onscreen_surfaces applied, pass the --disable_post_sub_buffers_for_onscreen_surfaces=0 as command line argument to enable partial swap. 4) Touch screen - for a better support pass --touch-events=enabled 5) The browser supports all (or almost all, testings are needed) user driven interactions including resize/drag and etc. 6) Clipboard support is still under development and going to be shipped soon. 7) Drag and drap has partial support only dragging is supported. 8) Tab drag is under development and will be shipped soon. 9) Proper multi-screen support is under development as well. 10) HW accelerated video decoding - we have included v4l2 patches, which enable v4l2 device to be used for hw accelerated video decoding on Linux machine. This code path can be enabled with the following setting - PACKAGECONFIG_pn-chromium-ozone-wayland = " use-linux-v4l2" Stay tuned for other changes, and wait for new updates, which will be more frequent from now on. Test-built with: * Yocto sumo, GCC 7 and MACHINE="raspberrypi3" Signed-off-by: Maksim Sisov <msisov@igalia.com>
Regarding
I forced chromium-ozone-wayland recipe to use a system libdrm. Can you try again? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the build has now succeeded on thud with MACHINE="qemuarm64"
, so lgtm. let's see how much work it is going to be to keep some of those patches up-to-date. I'll leave it up to @otavio to do the honors and merge the PR in case there's something else to add.
This update is based on the stable M71 version with
backported Ozone/Wayland patches from the ToT.
The Chromium with Ozone/Wayland recipe shares the
chromium-upstream-tarball now, and will be updated
as soon as new version is shipped.
The Chromium with Ozone/Wayland has the following
features possible to be used now -
Ime, when --enable-ime-service and --enable-wayland-ime
are passed as command line arguments.
GPU native memory buffers + zero-copy - the browser
must be run in a multi process mode (without --in-process-gpu
flag, for example), and use available drm render nodes to
create gbm buffers to draw to. Flags needed -
--enable-native-gpu-memory-buffers.
Partial swap - check the about://gpu page, and
if disable_post_sub_buffers_for_onscreen_surfaces
applied, pass the --disable_post_sub_buffers_for_onscreen_surfaces=0
as command line argument to enable partial swap.
Touch screen - for a better support pass
--touch-events=enabled
The browser supports all (or almost all, testings
are needed) user driven interactions including resize/drag
and etc.
Clipboard support is still under development and going to
be shipped soon.
Drag and drap has partial support only dragging is supported.
Tab drag is under development and will be shipped soon.
Proper multi-screen support is under development as well.
HW accelerated video decoding - we have included
v4l2 patches, which enable v4l2 device to be used for hw
accelerated video decoding on Linux machine. This code path
can be enabled with the following setting -
PACKAGECONFIG_pn-chromium-ozone-wayland = " use-linux-v4l2"
Stay tuned for other changes, and wait for new updates, which
will be more frequent from now on.
Test-built with:
Signed-off-by: Maksim Sisov msisov@igalia.com