Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alex313031/thorium-libjxl
libjxl for Chromium - restores JPEG-XL functionality to Thorium/Chromium post M109
https://github.com/alex313031/thorium-libjxl
chromium jpeg-xl jxl libjxl thorium thorium-browser
Last synced: about 2 months ago
JSON representation
libjxl for Chromium - restores JPEG-XL functionality to Thorium/Chromium post M109
- Host: GitHub
- URL: https://github.com/alex313031/thorium-libjxl
- Owner: Alex313031
- License: bsd-3-clause
- Created: 2023-02-27T02:47:42.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-31T10:11:47.000Z (about 2 months ago)
- Last Synced: 2024-10-31T11:19:19.199Z (about 2 months ago)
- Topics: chromium, jpeg-xl, jxl, libjxl, thorium, thorium-browser
- Language: C++
- Homepage: https://github.com/Alex313031/thorium-libjxl
- Size: 8.21 MB
- Stars: 37
- Watchers: 5
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Thorium libJXL
- [libjxl](https://github.com/libjxl/libjxl) for Thorium Browser: Restores [JPEG-XL](https://jpegxl.info/) functionality to Thorium/Chromium versions [post M109](https://chromium-review.googlesource.com/c/chromium/src/+/4081749).
- This repo is added as a submodule to [the main Thorium repo](https://github.com/Alex313031/Thorium), and `setup.sh` therein copies this repos __//src/__ dir over the
Chromium tree, and then Thorium's __//src/__ dir.> @mo271's patch which this is based on: https://chromium-review.googlesource.com/c/chromium/src/+/5454316 \
https://issues.chromium.org/issues/40256897
> @gz83's patch which restores jxl devtools functionality: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4257582 (DEPRECATED) \
> Also related, and needed for building is [libhighway](https://github.com/google/highway)– Both libjxl and libhighway versions are bumped to ~ Jun. 2024 revisions. \
– For info on versions of these and other things, see the [VERSION.md](https://github.com/Alex313031/thorium-libjxl/blob/main/VERSION.md) file \
– Note that PGO might be slightly less effective unless you generate your own *.profdata* file from a debug build of Thorium/Chromium.– __*NOTE:*__ the __//external/__ dir contains two files. These are modified by Thorium and so are excluded from the __//src/__ directory. If you want to integrate libjxl back into a [vanilla Chromium build](https://www.chromium.org), see below.
## Building
#### Thorium Build
- Simply follow the [normal building procedures](https://github.com/Alex313031/thorium/blob/main/docs/BUILDING.md).
#### Chromium Build
1. Checkout the Chromium version specified in the [VERSION.md](https://github.com/Alex313031/thorium-libjxl/blob/main/VERSION.md) file.
```bash
# In chromium/src dir #git checkout -f tags/blahblah # replacing blahblah with the actual tag, i.e. 114.0.5735.134
git clean -ffd # cleans stale or removed dirs
gclient sync --with_branch_heads --with_tags -f -R -D # dont just use 'gclient sync'
```2. Run the `./setup.sh` script from within the repo. It assumes the Chromium repo is in *$HOME*, but can be overridden with the __CR_DIR__ env variable.
3. [Build as normal](https://www.chromium.org/developers/how-tos/get-the-code/)__NOTE:__ You could also use the *.patch* files with `git am /path/to/patchfile.patch` or `git apply --reject /path/to/patchfile.patch`.