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
chromiumOzone: init new chromium derivative package for Wayland #50486
Conversation
Shamelessly tagging @volth since you have been working with Chromium a lot lately and might have good insight. Thanks in advance. |
|
||
# package customization | ||
, enableNaCl ? false | ||
, enableWideVine ? false | ||
, useOzoneWayland ? false |
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.
possibly should just be "useOzone" since there is an x11 backend for Ozone and I currently have it enabled.
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.
That would be less confusing.
@@ -252,6 +255,13 @@ let | |||
proprietary_codecs = true; | |||
enable_hangout_services_extension = true; | |||
ffmpeg_branding = "Chrome"; | |||
} // optionalAttrs useOzoneWayland { |
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.
Is chromium going to be mutual exclusive with x11 support?
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.
No, Ozone does not mean any sort of mutual exclusivity, and the GN flags here explicitly enable both the x11 and wayland backends for Ozone. The toggle here is really useOzone
: ie, useOzone=false
means the existing shipping Chromium display tech (GTK and X11), and useOzone=true
means to switch to the new Chromium display stack (Ozone) and enable both the X11 and Wayland backends for it.
09b32e8
to
cedb136
Compare
65298af
to
9f7014c
Compare
785c03a
to
b334593
Compare
b334593
to
e30a4d2
Compare
So, I've got it building, and getting past the initial I've tried having
|
Actually, it should have already had |
5349f7d
to
b59d7fe
Compare
@@ -113,7 +117,7 @@ let | |||
ninja which python2Packages.python perl pkgconfig | |||
python2Packages.ply python2Packages.jinja2 nodejs | |||
gnutar | |||
]; | |||
] ++ optional (versionAtLeast version "72") jdk; |
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.
this can probably be dropped since jdk.jre
is in buildInputs
now...
For anyone watching, this is now producing working builds of Chromium. (It doesn't handle high DPI well right now, just as a heads up). Thanks to @Mic92 for getting me pointed in the right direction with regards to GL handling. I need to test the regular Chromium builds to make sure I didn't regress anything, otherwise this can be reviewed... |
ee41cbb
to
b3e1ccb
Compare
NOTE FOR POTENTIAL REVIEWERS: Lots of this is still in flux in Chromium repos and it may be prudent to hold off a bit. For example, building and using libminigbm should stop being required in Dev channels soon, in favor of using system mesa instead |
I like the work on vaapi, this should be useful, even independently of Ozone.
|
|
I found this really helpful https://wiki.archlinux.org/index.php/Hardware_video_acceleration EDIT also potentially this |
11bcdbe
to
b9fd4f3
Compare
43e48fb
to
fd5efcf
Compare
Motivation for this change
firefox-nightly-bin
packages fromnixpkgs-mozilla
now have Wayland support enabled by default.Chromium has some Wayland support via Ozone, but it's not the default build config.
The Chromium build infra is not simple, and I also don't have time to create a
chromium-git
to place in an overlay, which might be preferable to adding more variants of Chromium to nixpkgs.This is working, in that as much work as is expected for an Ozone/Wayland build.
I'm pushing builds of
chromiumOzone
tonixpkgs-wayland
's cachix repo. More info: https://github.com/colemickens/nixpkgs-wayland. (Though I'm building this againstnixos-unstable
, whereas this PR targetsmaster
.)Signed-off-by: Cole Mickens cole.mickens@gmail.com
LINKS ABOUT CHROMIUM/OZONE
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)