Coder Social home page Coder Social logo

Unofficial Chromium Builds for PPC64LE

This repository contains a framework for building and distributing RPMs and tarballs for Chromium on ppc64le. The repository provides two flavors of Chromium, one that is largely the same as upstream's, and another containing the Ungoogled Chromium patchset, which removes dependencies on Google web services. It also features some tweaks to enhance privacy, control, and transparency (almost all of which require manual activation or enabling).

Installation

The easiest way to install is to add the repository, which is currently only available for Fedora and RHEL/CentOS.

Fedora, RHEL, and CentOS

Adding DNF Repo

sudo dnf config-manager --add-repo=https://gitlab.com/chromium-ppc64le/chromium-ppc64le/raw/master/chromium-ppc64le.repo

Alternatively, you can download the chromium-ppc64le.repo file from this repository and place it in /etc/yum.repos.d.

Installing

After adding the repository, run:

Standard Chromium
sudo dnf install chromium-browser-stable
Ungoogled Chromium
sudo dnf install ungoogled-chromium-browser-stable
Note for Existing Users of Ungoogled Chromium

In order to allow parallel installation of both versions of Chromium, This repository contains a patch to change the default location of the Ungoogled Chromium profile from ~/.config/chromium to ~/.config/ungoogled-chromium.

To use your existing profile with Ungoogled Chromium, simply run:

mv ~/.config/chromium ~/.config/ungoogled-chromium

Other Distributions

Current Release Download

Version Standard Chromium Ungoogled Chromium
v84.0.4147.89-1 rpm .tar.xz rpm .tar.xz

Other RPM Distributions

Installing on other distributions that use RPM, such as openSUSE, should be possible, but it has not been tested.

Installing/Upgrading
Standard Chromium
sudo rpm -Uvh https://github.com/chromium-ppc64le/chromium-ppc64le/releases/download/v84.0.4147.89-1/chromium-browser-stable-84.0.4147.89-1.ppc64le.rpm
Ungoogled Chromium
sudo rpm -Uvh https://github.com/chromium-ppc64le/chromium-ppc64le/releases/download/v84.0.4147.89-1/ungoogled-chromium-browser-stable-84.0.4147.89-1.ppc64le.rpm

Other Distributions

Just download the latest standard build or the latest Ungoogled Chromium build and extract it.

Building from Source

git clone --recurse-submodules https://gitlab.com/chromium-ppc64le/chromium-ppc64le
cd chromium-ppc64le
make dev

This will build a container using podman, open a shell in the container, and bind mount the container's working directory to a build-root/ directory in the current directory. From the container, run:

make chromium -j16

or, for Ungoogled Chromium:

make ungoogled-chromium -j16

To build both flavors, run:

make both-chromium -j16

Resource Requirements for Build

Note that with the configuration in this repo, the build uses 32GB of RAM at its peak, about 100GB of disk space, 16 CPU threads for most of the build, and at certain points in the build 30 threads. Resource requirements can be reduced by altering the below environment variables.

Environment Variables Controlling Build

Certain environment variables control aspects of the build and are listed below along with their default values.

# Number of threads to use for multithreaded operations in the build. The build
# uses `ninja` for building and enables multithreaded compression. These do not
# respect the -j thread passed to `make`.
NUM_THREADS=16

# Whether to build using Link-Time Optimization. This increases RAM requirements
# for the build.
USE_LTO=true

# Number of link jobs to do concurrently. Each concurrent job uses about 16GB
# of RAM and 8 threads. These may be in addition to the threads specified by the
# NUM_THREADS environment variable, so having 2 concurrent link jobs will cause
# the build to use a maximum of 30 threads, as in this formula:
#      (NUM_THREADS - CONCURRENT_LINKS) + (8 * CONCURRENT_LINKS).
CONCURRENT_LINKS=2

# Size of the `ccache` cache. To disable `ccache`, set the CCACHE_DISABLE
# environment variable
CCACHE_MAXSIZE=25G

Notes on Binaries

Patches Included

  • Patches to enable building on PPC64LE
  • Patch to enable RPM building for PPC64LE
  • Patch to enable GPU-accelerated video decoding
  • Patch to change the browser's user agent string to be the same as the official Chrome build on Linux, which helps reduce the browser's fingerprinting surface
  • Patch to enable use of POWER VSX instructions in the skia rendering engine

Features Enabled

  • Link-time optimized builds
  • PulseAudio integration
  • Non-free codecs

Build Logs

The logs for the build and repo creation are available under GitLab pipelines.

Issues

TODO

GPG Signing

Currently, the builds are not GPG signed, as signing the builds would require storage of the private key and password in an unsafe manner on GitLab's servers. Options for proper signing are currently being evaluated.

dpkg Support

The chromium tree includes files to build packages for Debian-based systems. These haven't been built, since the maintainers can't easily test them, and the packaging files in the chromium tree seem to make more assumptions about the platform.

License

Most files in this repository are licensed under the Apache 2.0 license.

Patches are licensed under the license to the files they patch.

Submodules are licensed under the respective license in the repository.

Previous Versions

Version Standard Chromium Ungoogled Chromium
v83.0.4103.116-1 rpm .tar.xz rpm .tar.xz
v83.0.4103.97-1 rpm .tar.xz rpm .tar.xz
v83.0.4103.61-1 rpm .tar.xz rpm .tar.xz
v81.0.4044.138-1 rpm .tar.xz rpm .tar.xz
v81.0.4044.129-1 rpm .tar.xz rpm .tar.xz
v81.0.4044.122-1 rpm .tar.xz rpm .tar.xz
v81.0.4044.113-1 rpm .tar.xz rpm .tar.xz
v80.0.3987.163-1 rpm .tar.xz rpm .tar.xz
v80.0.3987.162-1 rpm .tar.xz rpm .tar.xz
v80.0.3987.149-1 rpm .tar.xz rpm .tar.xz
v80.0.3987.132-1 rpm .tar.xz rpm .tar.xz
v80.0.3987.122-1 rpm .tar.xz rpm .tar.xz
v80.0.3987.116-1 rpm .tar.xz rpm .tar.xz
v80.0.3987.100-1 rpm .tar.xz rpm .tar.xz
v80.0.3987.87-1 rpm .tar.xz rpm .tar.xz
v79.0.3945.130-1 rpm .tar.xz rpm .tar.xz
v79.0.3945.117-1 rpm .tar.xz rpm .tar.xz
v79.0.3945.88-1 rpm .tar.xz rpm .tar.xz
v79.0.3945.79-1 rpm .tar.xz rpm .tar.xz
v78.0.3904.108-1 rpm .tar.xz rpm .tar.xz

chromium-ppc64le's Projects

llvm-builds icon llvm-builds

Mirror of https://gitlab.com/chromium-ppc64le/llvm-builds

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.