Closed renatolond closed 5 years ago
If it depends on hangouts, then I guess that's the expected behavior. enable_hangout_services_extension
is disabled here.
Issues like this make even sense? This is ungoogled-chromium and you want to use it with Google Meet? Use Google Chrome instead!
Based on this article, it looks like Google Meet is just redesigned Hangouts. In that case, what @ian-moone should be correct. I don't want to change the GN flag or add extra code (e.g. patches for a flag or something) since it clearly goes against the spirit of this project. I will at most allow instructions in the Wiki to get this working (if anyone is inclined to write them in the first place).
If this is not due to the Hangouts extension, please let us know.
Thanks for the response! I was not sure if there was any google component involved, but it does make sense that they would be using their own stuff. I will check what would be needed and if I find it I will document it on the wiki :)
@Atavic having to use google meet for work does not make me want to give google control over every other website I access, hence the issue.
Ok, now understand your position. Corporations like MS, Apple, Google and Amazon are improving the grip on their customers every minute. My only idea (for an issue that I met myself) is to install more browsers or use more profiles for specific needs. Even Virtual Machines can be useful.
Why can't we, as users, decide whether or not to enable this extension? Why is this marked as wontfix?
Because it is disabled with this option when chromium is built from source.
@csalvato I don't understand how supporting this "extension" (it's actually code built-in to the browser) will contribute to the goals of this project. Also, if you need the extension, changing the flag that @Atavic mentioned and re-building the browser will fix the issue. Could you explain your use-case in more depth? Why would you need a Google-specific component in a browser designed to remove Google integration?
@Eloston I am not super intimate with the goals of the project, but I would image that one of the goals is to actually have the browser get adopted. If that's the case, then this extension being excluded creates a massive barrier for many people who rely on screen sharing with Google Meet.
Google Meet is one of the most popular and pervasive video meeting and screen sharing tools for remote teams. Every team I've been on since 2010 has used Google Hangouts or Google Meet daily.
If I need to load up Chrome to run my work meetings, then switch to Brave for everything else, that's a level of complexity that is too much for me, personally. And if the goal is mass adoption, not supporting Google Meet screensharing will be in the way for many more people who don't want to deal with a wonky, persnickety browser.
I can use Google Meet screen sharing on Chrome and Firefox. But I can't use it on Brave. If one of the goals of the project is to not support an integral remote-working use case because of an arbitrary ungoogled-chromium
setup file, I guess Brave isn't for me. 😢
Re: rebuilding the browser: I wouldn't even know how to rebuild the browser from source just to get Google Meet working. If that's the solution to the problem, I think you'll find a barrier to getting more people to use Brave.
@csalvato You mention Brave each time, but this github project has nothing to do with Brave. It uses some patches developped by the brave team, but the relations between them stop here.
And this github project has no "team" working on it, only effort from people (mostly @Eloston and kudos for him !) on their free time with no money tied to it. So I think its presumptuous to demand ease of use, and covering all usages such an effort. Without even talking about going exactly against the primary goal of this project, removing all google related services from chromium.
@antonin-lebrard Oh wow! My mistake. I was linked here from another issue on the Brave project. How embarrassing :)
In that context, that makes total sense.
@csalvato First, I would like to note that we are not affiliated with Brave. It just so happens that both projects share similar intentions and goals.
Anyway, while I would like to have this project grow, it is secondary to the main objective of this project: to remove integration with Google services. Based on that fact alone, supporting a feature which only benefits the usage of Google services is contradictory. However, I understand that there are a variety of valid use cases that does not exclude Google completely, so I generally don't outright reject suggestions like these. There is no clear line to draw here.
After investigating the code for the Hangout service extension, I will retract my earlier statement about rejecting this completely. I think it is possible to have a flag that can enable this extension to be loaded, but not bundle the code in the browser. However, I do not have any interest in working on this, nor do I suspect many others here will given my experience thus far.
Is there any simpler way of allowing this than changing the flag in flags.gn
and rebuilding the browser? I believe having the flexibility to change this extension is something handy to have. Surely not something important, but in my case, using ungoogled chromium with the hangouts extension is significantly better than having to use regular google chrome with all of its problems.
I do like the idea of some documentation on it, since clarity on this issue is a big obstacle, as I've seen.
I just tried a build with enable_hangout_services_extension=true
set in flags.gn and unfortunately it didn't work for me to enable screen sharing in Hangouts. The behavior is unchanged. Has anyone been able to get this working?
@dndrsn see the mentioned issue (PF4Public/gentoo-overlay#42), no solution so far.
I just tried a build with
enable_hangout_services_extension=true
set in flags.gn and unfortunately it didn't work for me to enable screen sharing in Hangouts. The behavior is unchanged. Has anyone been able to get this working?
Same here. We would like to adopt ungoogled in our organization, but the inability to do screen sharing in G. Meet is a showstopper. If someone has some advice, it would be nice. Rebuilding from source is not a problem.
I also need Google Meet screen sharing, it's work related. It doesn't work in Chromium 88.0.4324.182
It doesn't work in Chromium 88.0.4324.182
With which flags do you compile it and "Meet" does not work? Like I've mentioned in the related bug, I've been told, that hangouts do function (at least if built for Gentoo from my overlay).
By "Meet" I was talking about meet.google.com as this feature is now free and everybody is using it instead of the old Hangouts. I am not able the share the screen but conferencing works. I have not compiled it myself, I used the binaries from chromium.woolyss.com for MacOS. I will try building it myself even if I am not an expert but I did this kind of thing before. I am a bit confused on which flags do I need to switch on to make it work.
which flags do I need to switch on to make it work
You should probably start with enable_hangout_services_extension=true
Google meet works in firefox so it should be possible to bring this to ungoogled chromium also somehow without using google code?
@aspieln3r you need to recompile it yourself with enable_hangout_services_extension=true I have not tested with Eloston version, I have tested with the official Chromium (the official Chromium is also not officially supporting Hangouts/Meet) and this is solving the problem. Maybe somebody needs to create a fork because the goal of this project is to "ungoogle" everything and somehow this contradicts its purpose.
@aspieln3r you need to recompile it yourself with enable_hangout_services_extension=true
I have built uc with that flag, and doesn't make any difference.
Maybe somebody needs to create a fork because the goal of this project is to "ungoogle" everything and somehow this contradicts its purpose.
I agree, (unfortunately, uc is wonderful) we are out of scope here.
doesn't make any difference
You may try other flags, for example enable_remoting
and/or enable_media_remoting
You may try other flags, for example
enable_remoting
and/orenable_media_remoting
Will do and report. Thanks!
For the official Chromium I used:
vi out/Default/args.gn is_debug = false symbol_level = 0 ffmpeg_branding = "Chrome" proprietary_codecs = true enable_hangout_services_extension = true
Maybe this helps.
@Altitude-Dashboard many thanks!!!
For the official Chromium I used:
vi out/Default/args.gn is_debug = false symbol_level = 0 ffmpeg_branding = "Chrome" proprietary_codecs = true enable_hangout_services_extension = true
Maybe this helps.
I'm trying latest ubuntu-focal
flavour of ungoogled-chromium-debian
:
ninja -j4 -C out/Release chrome chrome_sandbox content_shell chromedriver
ninja: Entering directory `out/Release'
[9478/44037] CXX obj/base/i18n/icu_util.o
FAILED: obj/base/i18n/icu_util.o
clang++-11 -MMD -MF obj/base/i18n/icu_util.o.d -DBASE_I18N_IMPLEMENTATION -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-12-init-11462-g418f18c6-1\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -DUSING_SYSTEM_ICU=1 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DUCHAR_TYPE=uint16_t -DU_IMPORT=U_EXPORT -I../.. -Igen -Igen/shim_headers/icui18n_shim -Igen/shim_headers/icuuc_shim -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/shim_headers/zlib_shim -Igen/shim_headers/libevent_shim -I../../third_party/ced/src -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_out -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -m64 -march=x86-64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -Xclang -fdebug-compilation-dir -Xclang . -no-canonical-prefixes -Wall -Wextra -Wimplicit-fallthrough -Wunreachable-code -Wthread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-psabi -Wno-ignored-pragma-optimize -Wno-implicit-int-float-conversion -Wno-final-dtor-non-final-class -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-non-c-typedef-for-linkage -Wmax-tokens -fno-omit-frame-pointer -g0 -ftrivial-auto-var-init=pattern -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -fno-ident -fdata-sections -ffunction-sections -Wno-shorten-64-to-32 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -std=c++14 -fno-trigraphs -Wno-trigraphs -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.0 -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.0 -O2 -fdebug-prefix-map=/home/resolir/git/ungoogled-chromium/build/src=. -fstack-protector-strong -Wformat -Werror=format-security -Wno-conversion -Wno-unused-function -Wno-unused-variable -Wno-unused-private-field -Wno-deprecated-declarations -Wno-unreachable-code -Wno-unknown-pragmas -fno-delete-null-pointer-checks -c ../../base/i18n/icu_util.cc -o obj/base/i18n/icu_util.o
../../base/i18n/icu_util.cc:379:10: error: use of undeclared identifier 'UTRACE_UBRK_CREATE_CHARACTER'
case UTRACE_UBRK_CREATE_CHARACTER:
^
../../base/i18n/icu_util.cc:383:10: error: use of undeclared identifier 'UTRACE_UBRK_CREATE_SENTENCE'
case UTRACE_UBRK_CREATE_SENTENCE:
^
../../base/i18n/icu_util.cc:387:10: error: use of undeclared identifier 'UTRACE_UBRK_CREATE_TITLE'
case UTRACE_UBRK_CREATE_TITLE:
^
../../base/i18n/icu_util.cc:391:10: error: use of undeclared identifier 'UTRACE_UBRK_CREATE_WORD'
case UTRACE_UBRK_CREATE_WORD:
^
../../base/i18n/icu_util.cc:425:10: error: use of undeclared identifier 'UTRACE_UBRK_CREATE_LINE'
case UTRACE_UBRK_CREATE_LINE: {
^
../../base/i18n/icu_util.cc:451:10: error: use of undeclared identifier 'UTRACE_UBRK_CREATE_BREAK_ENGINE'
case UTRACE_UBRK_CREATE_BREAK_ENGINE: {
^
6 errors generated.
love uc and trying hard to figure out how to keep it around since "the day job" requires meet/hangouts (at least it's not webex or zoom).
since this project has a lot of other things disabled out of the box that can be enabled with a flag, i don't think having one more flag to control a setting some users need that is off by default violates project goals. i can see how it would if it was suddenly included by default...but at least having documentation on how to enable this in a way that's proven to work seems reasonable.
came here hoping i "just" need to recompile (that's more fun in winter as an extra space heater since it pegs all my cores for quite awhile ;-) ) but it looks like that doesn't work.
don't want chrome around just for this (or anything), may have to install vivaldi just for hangouts while waiting for a better solution. (vivaldi is great in many ways, i'm just ocd enough multiple browsers bother me.)
Currently getting this https://pastebin.com/E6Yatia0 while trying to build ungoogled-chromium-debian
. Anyone has a clue on how to fix this?
I'm having the same issue, Arch Linux, ungoogled chromium 94.0, I can't screen share which is a deal breaker for me
Just use firefox already, out of the box work as it intended and free from google hands..
I would like to keep using ungoogled-chromium but I still need some way of using Google Meet, because that's what is used at work. I'm forced to go back to Google Chrome, which is also contrary to the spirit of this project, in my opinion.
Would you be willing to accept a pull request giving users the option to easily enable Google Meet?
Would you be willing to accept a pull request giving users the option to easily enable Google Meet?
Have you found a definite solution to this issue?
No. I wanted to get the mainteners' blessing before spending a lot of of time working on a pull request that might get rejected.
before spending a lot of of time working on a pull request
Your best bet would be to first identify the issue itself, then consider what kind of changes are needed to fix it and only then someone could asses your proposal w.r.t. mergeability into ungoogled-chromium or contrib.
Yeah, but the issue was closed with the justification that fixing it would be against the goals of the project, so I'm not even sure if there's interest in fixing it.
That might've been a disappointing resolution, but please consider the following:
This feature obviously falls out of the scope of the project and might even spoil all the efforts thus far attained. This feature is thus very unlikely to be used by any maintainer of ungoogled-chromium, which in turn suggests that it is unlikely that any maintainer of ungoogled-chromium would even consider investigating the possibilities. I mean I wouldn't be willing to debug something I do not use, right? That being said, I can find a number of very similar (in this regard) issues on the bug-tracker which are left in mid-air due to the same reasons.
The reason for this suspended state is that no one took the lead and investigated the real cause of why some features cease functioning after ungoogled-chromium patches are applied. If this would have been done, it would be easy to decide which category this fix belongs to: a) conditional branching in runtime without any other changes; b) build time fixes which involve non-default gn flags, selective patch application / domain substituitions etc. Run-time flag would be probably a merge-able solution, but a build time solution should be applied manually upon build time. We cannot possibly build a ton of varieties for obvious reasons, which means those build-time solutions are worthy to be included in wiki or in contrib to empower users with similar requirements to build their variation for their specific use-case. Why would anyone be against that? So if one is after a solution, there is always one.
In other words: if one aims to force some unrelated (contradictory even) feature into the repository so that it would be further propagated into the resulting binaries, sorry, no way. On the other hand if one is up for a solution, which one would use and share this solution for others in need — that's a big yes!
Thanks for the detailed explanation. I'll do some digging and report back when I have some news.
You can make screen sharing work in Google Meet on any Chromium if you go to DevTools and change your User-Agent string to Microsoft Edge (Chromium) in the drop-down box.
You can make screen sharing work in Google Meet on any Chromium if you go to DevTools and change your User-Agent string to Microsoft Edge (Chromium) in the drop-down box.
When I first read this, I did not believe you because I have been bashing my head against this problem since the beginning of the pandemic. I have just tried it out myself, and you are correct. I cannot thank you enough for writing this comment.
In case it helps anyone else, I did my experiments using the debian "official" chromium
package (v114.0.5735.198-1~deb12u1
) on a debian bookworm box (yes, I do realise that this is not ungoogled-chromium, but I wanted to start my testing with an environment that is easy to reproduce.)
Using the "default" user agent string[^1], clicking on the "Present now" button results in a Your browser can't share your screen
error message.
If I then go into Developer tools
/ Network conditions
, change my user agent (string) to Microsoft Edge (Chromium) — Windows
^2, and then start a new meeting in the current tab, clicking on the "Present now" button instead results in 3 options being presented: Your entire screen
, A window
or A tab (Best for video and animation)
. I have successfully tested the last option - the audio from the shared tab is sent to the meeting clients.
I can now share video with audio to my foreign language students using chromium. We are all very grateful to you for this.
[^1]:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
It's beyond absolutely ridiculous, isn't it?
Reminds me of how the Twitch player would just not work with a FreeBSD user agent and changing to Linux/Windows would help. They did fix it though eventually.
FWIW Brave suffers from the same issue but addresses it with an extension to opt-in to supporting Hangouts (and screen sharing).
As some of the comments on this issue suggest using firefox[^1][^2][^3], I thought I'd try it out. Apologies to anyone who considers this to be "noise" - it's just that this bug report now seems to be the Internet's central repository for information about Google Meet screen sharing/"Present now" on non-chrome browsers.
tl;dr: You cannot currently share video with audio on meet.google.com using firefox, and I hope that this comment saves other people from wasting a day trying to get it to work.
Still reading? I installed firefox nightly v117 and then tried screen sharing/"Present now" using the default user agent string[^4]. This only offered the choice of sharing "Your entire screen" or "A window" i.e. there was no option to share video with audio.
I then modified firefox's user agent string to be every one of the 47 different user agent strings in chromium's drop-down list of custom user agent strings[^5]. While changing the user agent string did result in different behaviours[^6], it did not result in anything better than using firefox's default user agent string.
[^1]: "I can use Google Meet screen sharing on Chrome and Firefox."
[^2]: "Google meet works in firefox"
[^3]: "Just use firefox already, out of the box work as it intended"
[^4]: firefox nightly v117's default user agent string is Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/117.0
[^5]: The list of the 47 different user agent strings is in this typescript file.
[^6]: Some user agent strings result in just a blank black screen when you try to start a meeting.
I bumped into this issue as well on mac. However, I have a problem with only sharing entire screen. It prompts me to grant access to chromium in system settings. Even though the permission is granted it doesn't work.
You can make screen sharing work in Google Meet on any Chromium if you go to DevTools and change your User-Agent string to Microsoft Edge (Chromium) in the drop-down box.
Looks like they fixed this upstream as I no longer have to change User-Agent.
Describe the bug When using Google Meet, if I try to share my screen I get an error from google meet saying "Your browser can't share your screen".
To Reproduce Steps to reproduce the behavior:
Expected behavior I expected my screen to be shared, as it is in Chromium.
Environment (please complete the following information):
Additional context It seems brave used to have an issue sharing the screen with hangouts, here: https://github.com/brave/browser-laptop/issues/3392 I don't know if they can be related.