robrich999 / chromium_clang Goto Github PK
View Code? Open in Web Editor NEWChromium browser compiled with the Clang/LLVM compiler.
Chromium browser compiled with the Clang/LLVM compiler.
Hi!
Thank you very much that you've taken your time and resources to build this amazing chromium binary, I've a question though if I would like to have a Widevine support on my Chromium can I follow this guide that is stated here https://chromium.woolyss.com/#widevine ?
Or can anyone give me some references on how to add the Widevine Components? Sorry for the noob question ๐
Thank you
Just want to thank you for these builds, specially the ones with avx2 and whole program optimization. If I could I would tip or pay a coffee to you. Have a nice day.
1.) I currently have only avx hardware (using an AMD FX-8370 OC'd to 4.5Ghz which takes 3+ hours to compile lol).
OK a little backstory. Google made a chrome app that functioned as an IDE with git integration for chromium and chromiumos.
Codenamed "spark" it was shown here > https://www.chromium.org/chromium-os/developing-apps-on-your-chromium-os-device (the first link). It was all but abandoned in late 2017. Searching the actual webstore ID number led to a few honorable mentions across the web and it was used by chromium app devs.. There is a source code archive at https://github.com/googlearchive/chromedeveditor but it is actually many versions behind the last available one, which I got as a .crx from https://www.crx4chrome.com/apps/pnoffddplpippgcfjdhbmhkofpnaalpg/. I then found that most of what would be needed to resuscitate it can be found by just unpacking it (7zip will handle the hidden metadata file). I have made a fork and I would like someone to try it on win 10 with the latest avx chromium. Instructions are in the readme but you probably already know i.e. chrome://extensions, enable dev mode, then drag n drop .crx.
If you wanna try and see how it fares it's at > https://github.com/Alex313031/Chromium-Dev-Editor
2.) I know you have your avx2 patchset for win, but what would I do to enable just regular avx. It seems just editing //chromium/src/build/config/compiler/BUILD.gn isn't enough like it is on linux. I went ahead and downloaded the avx2 patch and looked at //chromium/src/build/config/win/BUILD.gn and used winmerge (highly reccommended for github-like diff comparisons, better than git-gui and windiff) to see the differences, and there were really only three sections. I changed out /AVX2 for /AVX and set the ldflags to march:-mavx but it gives errors. What is the proper process for enabling avx with full propogation for all targets?
3.) Maybe this will sound dicky and maybe you have a reason, but have you considered opening a discussions for your repos so that stuff like this could be better handled. I just would like to be able to communicate with you because you've taught me things I couldn't find anywhere else, and you seem to know alot about codegen and compiler shiznit.
Also if all this is annoying just tell me so because this issue isn't exactly kosher or really an issue on your part at all. Although look at my widevine issue that is a real issue.
Minor but the link to "Primary reason for AVX/AVX2 build recommendation" is now at:
https://johnk.dev/blogs/generated/vex-transition-penalties.html
Build v68.0.3401.0-r552203-win64 is 32 bit and is actually Version 68.0.3400.0
.
Hi,
Anyone knows why Chromium build using following build argument can't enroll for mac biometric password authentication?
target_cpu="arm64"
#thin_lto_enable_optimizations = true
chrome_pgo_phase = 2
is_official_build = true
is_debug = false
As you have opted for widevine gladly so, and it says so on your Github and chromium.woolyss.com, but it does not work!!
I am building almost identical to you except without polly and with H.265 support for both windows and linux!
Make sure these are in your args.gn >
enable_media_drm_storage = true
enable_widevine = true
bundle_widevine_cdm = false
The first allows certain sites like amazon prime that also use DRM storage with widevine, the second line I assume you're already using, but the last line is the critical one. This defaults to true and tries to bake in a signed widevine as a shared library (linux) or hard set version in WidevineCDM in the windows install dir. This will fail for both. Setting it to false enables it as a component (you can view this by going to chrome://components, where widevine would be [it's not on your builds]). When enabled as a component it is instead downloaded to the user profile directory and uses unsigned tip-o-tree widevine binaries. An added benefit is that it can be updated with all the other stateful user profile components i.e. Zxcvbn, Origin Trials, FLOC, etc.
Widevine didn't work for me until I ran args.gn --list and searched for anything with the term media,drm,widevine, read their descriptions, and viola this is how you get Widvine working reliably on linux and windows. There was also a ticket a lil while ago in chromium source code to default bundle_widevine_cdm to false except in the case of is_chrome_branded = true (google chrome). Hope this helps and I hope it works for your workflow (there shouldn't be any problems)
As a side note (and on linux builds only), you might also want to set >
enable_ffmpeg_video_decoders = true
This allows a fallback path for hardware acceleration for H.264 in the case that VAAPI can't work (i.e. nvidia proprietary drivers; there is a VAAPI to VDPAU translation driver that worked until chromium 89, but now VAAPI accel seems impossible to run on linux with the proprietary nvidia drivers installed. AMDGPU, i915, i965, and nouveau work fine and chromium will use VAAPI for all supported media codecs, this is just a fallback that I find useful on my nvidia/debian 10 machine, and a sizable portion of your user base may as well.
Same error as #2
Hi! I just downloaded modified_files_avx2.zip and can't understand why do you turn off optimization for some third-party libs. Are these settings applicable for Linux builds?
Hi, I'm asking the same thing here that I asked Macchrome i.e. marmaduke. Would it be possible for me to get the args.gn you're using for your linux (both the avx and regular ones) builds. Hibbiki posted his args.gn but sadly stopped building a while ago, and even recently deleted everything but his last build. At least web.archive.org had old ones, as I use his M49 build for XP machines (i'm a weird blend of bleeding edge and legacy enthusiasm), and M68 for older win 7 machines. Anyway, I am planning to do a "4 way merge" combining your optimization and avx flags (couldn't figure out how to do that on linux), with macchromes build flags, along with hibbikis HEVC (H.265) patches ported by me for linux (would love to share if your'e interested), and finally adding my own component widevine (i.e. not baked in but downloaded in chrome://components via CDM), media overlay tweaks, and bake in my own API keys for sync. I use your builds on win 7 and 10, but not on linux as I "need" want lol widevine, yours lack widevine, and his are ungoogled and always only stable, and without avx. As I've gotten deeper into compiling my own chromium and chromium OS (if you want those builds, which are newer than https://arnoldthebat.co.uk/wordpress/ I'd be happy to share.) I have taken more time to dig into what certain build flags can actually do, and think you and marmaduke have done a swell job at making chromium available to the newb masses. Thanks for posting your build's on https://chromium.woolyss.com/ and enabling chromium usage for newbs.
If you agree to sharing your args.gn and he does as well, and after testing and verification, I will be making a repo for these linux builds and will acknowledge you and him with links to your githubs in the readme. I don't plan on posting my builds anywhere (like chromium.woolyss) as I wouldn't be as studious as you and probably would have large leaps between versions.
Lastly, when and if this happens, it seems there is a limit to file size on github, do you have to pay to remove this (i.e. to upload .tar or .deb of final builds which exceed 100mb)
Anyone encountered? (NVIDIA GPU, Intel CPU)
Download of
https://github.com/RobRich999/Chromium_Clang/releases/download/v81.0.4027.0-r730928-win32/chrome.zip
===== <<<
leads to
"This version of chrome.exe is not compatible with the version of Windows you're running.
Check your computer's system information to see whether you need an x86 (32-bit) or x64 (64-bit) verion of the program,
and then contact the software publisher."
...
Sigcheck "x:\chrome.exe"
:
x:\chrome.exe:
Verified: Unsigned
Link date: 00:15 14.01.2020
Publisher: n/a
Company: The Chromium Authors
Description: Chromium
Product: Chromium
Prod version: 81.0.4027.0
File version: 81.0.4027.0
MachineType: 64-bit <<<
======
thx for your work
Version 122.0.6256.0, Windows 10, AVX2 build
chrome_k2bFcJyEnq.webm
I'm finding an alternative to https://github.com/win32ss/supermium.
@RobRich999 subj
Discussion regarding Chromium builds and related topics.
If builds are published on Flathub it would be easier to install it on any distro and also it will increase trust as Flathub can build it from source
Hi,
We are building chromium(119) for windows with is_offical=true.
For some reason we have one large (200m) Google sheet which is stuck in loading however same sheet opens fine after 40 sec on chrome and chromium downloaded from official build.
Any help would be appreciated
Hi RobRich999,
first thanks for your build, its the only one I found with working widevine.
We at kodi are working on a web view and for evaluation I'm curently trying to get widevine in my own build (latest chromium sources). I remember from a year ago that it was only possible with patching CDM_VERSION. Has this changed?
Would be really great if you can post the necessary changes / steps to get it working!
Seems that only using your args.gn is not the key to luck.
If you prefer email for an answer: [email protected]
Thanks again! Markus
HIIIIIIIIII!!
Also, why are you setting the lto opt level to 2 instead of 3?
Also, since you are setting -march=haswell in the avx2 configs, this also sets -mtune=haswell since setting march with no mtune sets mtune to the same. This is undesirable since the avx2 builds might run on a variety of hardware, and would actually be more likely to run on a ryzen or skylake+ system considering haswell's age. You might want to set -mtune to generic alongside it.
Hi @RobRich999,
I've tried out your latest AVX2 Linux build (v113.0.5664.0-r1119122-linux64-deb-avx2) but unfortunately it errors out with "error 4" as soon as I want to change some settings with about:flags
or see what's going on in about:gpu
.
The previous build (v113.0.5631.0-r1113127-linux64-deb-avx2) doesn't have this issue.
CPU: Haswell-EP
GPU: AMD Vega 64
OS: CachyOS with latest LLVM-17-git and Mesa-git
As a sidenote: Having Google Sync working would be an important comfort feature for me to have. It would be great if you could get that to work in a future build.
Hello. My rust lines in the main compiler build.gn all have copt level = 3 but they also have arch specific lines afterwards. However the difference is that mine has sse4,avx,aes, while yours just have avx or avx2
See this line (yours) > rustflags += [ "-Copt-level=3", "-Ctarget-feature=+avx", ]
versus mine > rustflags += [ "-Ccodegen-units=1", "-Copt-level=3", "-Ctarget-feature=+sse4,+aes,+avx", ]
By using mine, will this cause it to use sse4 in places where it would otherwise use avx? Should I make it have just avx and aes?
Also, regarding aes, I know we added it as a workaround for windows, but I think you should add it for all platforms (what Im doing), since it makes sense because any CPU with avx will also have aes, and compiling with aes allows speedup for certain things that use it, namely libaes which can explicitly use this compiler option if present (kinda like how, for example, libffmpeg has specific code to use avx intrinsics only if it detects that it is compiling for it). I imagine this will speed up parts of chromium that use libaes, for example encrypt/decrypt of AES encrypted certificates.
When I try to open your last build 68.0.3404.0 I receive the error message "Missing File Error - Unable to find locale data files. Please reinstall."
With the official build everything is fine.
Can't login to gmail or my google account because of NoSync via - https://mail.google.com/mail/
Why ? This didn't happen before, it's now as if I can't access any Google services with my account.
This is what happens - https://i.gyazo.com/b700d988163c5f7c62a513b24b2d2b0e.png
Hi. Thank you for your builds!
I use the chrlauncher version of your browser through woolyss. In most versions, Chromium takes up around 1 GB of RAM, and this particular service seems to take up the largest share, as shown in Chromium's own Task Manager.
But after every few versions, there comes a version where it takes up only 200 MB or so of RAM. And the browser works perfectly well even then.
Any idea what might be causing this bloated memory usage in most versions?
I know the build is dubbed 'no-sync',
but I've tried to enable sync and log into the google account,
the browser will not sync stuff at all (settings, passwords, extensions),
but it will log into the google websites,
is sync can not be enabled in any of the builds? (I had previously used some other builds that did allow the sync feature after it was re-enabled in the settings)
avx2+fma to be exact
with h265, amr, etc support
All Chromium builds up to 95.0.4629.0 was built with AVX2 support. After that build I found no AVX2-aware builds. Did you stopped releasing builds with AVX2 support?
Unlike in other chromium variants AVX/AVX2 versions seem to stop video playback while out of focus (audio playback remains).
Is this behavior intended? If yes is there a way to prevent that?
I made a quick video to showcase what i mean.
Showcase Video: Video Playback
Its easy reproduce by using task view or task preview.
Hello, thank you very much for the new version of Chromium-Clang brwoser ! ๐ฏ ๐ฅ
It seems that Cromite Browser in the last update has achieved the sensational extraordinary great feat of making the "energy battery saver" option active by default even when plugged in even without battery on a desktop computer in order to preserve our battery and energy and the ecology and avoid fan noisy and expensive electricity bill.... We hope Winchrome browser will be able to implement this option even when plugged in because this battery saver option is disabled when plugged in Winchrome browser, thank you so much .
build/patches/WIN-enable-HighEfficiencyMode-by-default.patch
uazo/cromite@0dc5d37 https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/performance_manager/user_tuning/battery_saver_mode_manager.cc https://chromium-review.googlesource.com/c/chromium/src/+/5046375 https://issues.chromium.org/issues/40158973 https://bugs.chromium.org/p/chromium/issues/detail?id=1153154&no_tracker_redirect=1
Hello.
v114.0.5732.0-r1134387-win64-avx crash/won't open on my laptop, I'm using Win11 x64, everything was fine with 5716 and olders, I have no idea why.
Is there any chance to get an ungoogled build with the compiler optimizations? Thank you!
Enabling some compiler switches is great I suppose but could you provide or recommend some performance comparions with a typical sse3 build. Else, where should I expect gains/loses.
Hello, thank you very much for all your efforts in providing us this great awesome and wonrderful web browser which has new and revolutionary features compared to other browsers ! ๐ฅ ๐ฏ
Please Mr @RobRich999 , I have request request to make our beloved Chromium_Clang Browser even more wonderful in sha Allah !
I think it will be very good idea to add a new option essential fundamental not found in other browsers and unfortunately removed from chrome 50 : buffer whole full video media streaming because some users have a slow internet connection and we need the video loads completely to avoid jerks, so it will be amazing to force have option to force buffer whole full HTML5 Audio/Video for Uninterrupted Playback , or increase the network cache which is often insufficient on weak wifi connections when many people connect to the wifi network at once and the playback of HD video streaming becomes unstable jerky annoying especially since many streaming sites do not offer quality standard 360p ou 260p and it is becoming more and more difficult to download videos from streaming sites that offer tv shows or documentaries, ou pour regearder du live streaming sur les istes streaming.....
I find this video which reveal how disable media source extension
but we should donwload chrome 50 and merge it with the current version
of chrome :
How to disable media source extensions in Chrome?
https://www.youtube.com/watch?v=XyVDmsfgXV8
chrome://flags/#disable-media-source [disable this]
I tried a lot of tips, scripts, flags.... to deactivate MSE or increase the network cache but I failed.... I post what I was able to find during my research in a second comment, maybe this can be useful.....
as the title says, the upload is a screwup. Please upload the latest one.
Firstly i want to thank you for taking your time to build chromium binary with variant flags.
Can you provide your instruction for building with pgo ? I dont really understand this build flag and i dont know how to make it works.
I found your chromium build a few hours ago and I gave it a try. And I just noticed that, for some weird reason, it also installs google's repo for chrome (any version, stable, beta and unstable). Why is that? What purpose does it serve other than... maybe compare the unstable version of chrome to the one of your chromium build?
$ cat /etc/apt/sources.list.d/chromium-browser-unstable.list
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main
Debian testing/unstable x64.
One of the things I hate in every single chromium based browser is smooth scrolling, because it brings that slow scroll feeling of mobile devices. And I disable it via chrome://flags/#smooth-scrolling.
I admit that I did not check that flag after installing your chromium build, although I did enable the one for the side panel and disabled the tab previews on hover.
Today I noticed that slow scroll in chromium, and I went straight to chrome://flags to change it, but the flag is no longer there. Has it been removed from upstream? It is available on chrome dev (google-chrome-unstable package), but this is on v95 as of today.
Debian testing/unstable x64 running your chromium v96.0.4646.0 r922557 sse3 build.
nevermind
Just discovered that 95 linux builds doesn't have vaapi support (even h264 renders with FFMpeg). Downgraded to 94 and h/w decoding works well.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.