Overhaul readme

This commit is contained in:
Alexander David Frick 2021-10-26 04:52:00 -05:00 committed by GitHub
parent 23d56281e0
commit b77a4e08c8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4,26 +4,30 @@ Chromium fork for linux named after radioactive element No. 90
<img src="https://github.com/Alex313031/Thorium/blob/main/logos/product_logo_128.png">
# Chromium fork for Linux, named after radioactive element No. 90
-Always built with latest x64 'Trunk' build of chromium \
-Intended to behave the most like Google Chrome. \
-NOTE: The M69 is a legacy build for Debian Jessie and Ubuntu 12.04/14.04.
- Always built with latest x64 'Trunk' build of chromium \
- Intended to behave the most like Google Chrome, with differences listed below. \
Includes widevine, ffmpeg, chrome plugins, as well as thinlto and pgo optimizations, and experimental MPEG-DASH and PDF annotation support.
-Includes Widevine, ffmpeg, chrome plugins, as well as thinLTO and PGO compiler optimizations.
## EXPERIMENTAL FEATURES/DIFFERENCES BETWEEN CHROMIUM AND THORIUM
- Experimental MPEG-DASH.
- Experimental PDF annotation support (called "Ink" on ChromiumOS).
- Patches from Debian including font rendering patch, VAAPI Patch, Native Notifications patch, Title Bar patch, and... the VDPAU Patch!! (Rejoice NvIdIa users)
- DoH (DNS over HTTPS) patch from Bromite.
- Logo and Branding/Naming changed to Thorium logo, Thorium name, and "Thorium Authors" being appended to The Chromium Authors in credits.
args.gn exclude API Keys (you can get them yourself) and the pgo profile path is different for each chromium version. (See below.)
In general follow build instructions at https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/linux/build_instructions.md and API Keys (if desired) at https://www.chromium.org/developers/how-tos/api-keys
# Building
- The file BUILD.gn goes in //chromium/src/build/config/compiler/ (replace when copying)
- The files within the "logos" dir in this repo go in **//chromium/src/chrome/app/theme/chromium/ & //chromium/src/chrome/app/theme/default_100_percent/chromium/ & //chromium/src/chrome/app/theme/default_200_percent/chromium/** (replace all when copying)
- The file **BRANDING** goes in **//chromium/src/chrome/app/theme/chromium/** (replace when copying)
- The files **chromium_strings.grd** , **generated_resources.grd** , and **google_chrome_strings.grd** go in **//chromium/src/chrome/app/** (replace)
- After initial download of source code, run (all from within //chromium/src/) 'git rebase-update', then 'gclient sync --with_branch_heads --with_tags', then 'gclient runhooks', and then finally update the PGO profile file with the command 'python tools/update_pgo_profiles.py --target=linux update --gs-url-base=chromium-optimization-profiles/pgo_profiles' The file will be downloaded to //chromium/src/chrome/build/pgo_profiles/*.profdata with the actual file name looking something like 'chrome-linux-main-1632505958-ddbb37bcdfa7dbd7b10cf3a9b6a5bc45e7a958a6.profdata', which should be added to the end of args.gn as per below.
- Run 'gn args out/Default' and the **contents of args.gn in this repo should be copy/pasted** --Include your api keys here at the top or leave blank, and edit the last line to the actual path and file name file name of '*.profdata'
- To build, run 'autoninja -j8 -C out/Default chrome -d stats' The -j# can be changed to limit or increase the number of jobs (generally should be the number of CPU cores on your machine), and the -d stats at the end just shows better verbose stats during compiling.
- To install, copy/paste the contents of your out/Default dir to a good location I.E. $HOME/bin/technetium. **RECOMMENDED - Copy and run clean.sh within this dir to clean up build artifacts**, then you can copy tc.sh and technetium.desktop to appropriate locations I.E. $HOME/bin/ and $HOME/.local/share/applications/, respectively. These three files are located in scripts_and_desktop within this repo.
_**The scripts assume the chromium source is at $HOME/chromiums/src/**_
- After initial download of source code, run (from where you cloned this repo) `trunk.sh`. This will update and sync the source to the latest and at the end it will download the PGO profile for chromium. The file will be downloaded to //chromium/src/chrome/build/pgo_profiles/*.profdata with the actual file name looking something like 'chrome-linux-main-1632505958-ddbb37bcdfa7dbd7b10cf3a9b6a5bc45e7a958a6.profdata', which should be added to the end of args.gn as per below.
- Then (from where you cloned this repo) run `setup.sh`. This will copy all the files and patches to the needed locations.
- Run `gn args out/thorium` and the contents of args.gn in this repo should be copy/pasted *--Include your api keys here at the top or leave blank, and edit the last line to point to the actual path and file name file name of '*.profdata'.*
- To build, run `autoninja -j8 -C out/thorium chrome chrome_sandbox content_shell -d stats` *The -j# can be changed to limit or increase the number of jobs (generally should be the number of CPU cores on your machine), and the -d stats at the end just shows better verbose stats during compiling. You could also append chromedriver after content_shell to build chromedriver, the selenium compatible browser fuzzing library.*
- To install, copy/paste the contents of your out/thorium dir to a good location I.E. $HOME/bin/thorium. **RECOMMENDED - Copy and run clean.sh within this dir to clean up build artifacts**. *Then you can just run the browser with `~/bin/thorium/chrome` or the content_shell with `~/bin/thorium/content_shell`.*
- **Proper Install:** To install with a deb, dont copy out/thorium, instead run `autoninja -C out/thorium/ "chrome/installer/linux:unstable_deb"` A nice .deb file will now be in out/thorium and you can install it with `sudo dpkg --install *.deb` It will be called chromium-browser-unstable, but the .debs in the releases section are just renamed to thorium-browser.
Thanks to https://github.com/robrich999/ for some info that went into this project.
CUR_VERSION : Version 97.0.4773.1
Also thanks to https://github.com/bromite/bromite and https://github.com/saiarcot895/chromium-ubuntu-build for patch code.