2021-11-22 00:40:27 +01:00
|
|
|
# ALHP
|
|
|
|
|
2023-12-17 21:02:44 +01:00
|
|
|
[![](https://img.shields.io/badge/package-status-informational?style=flat-square)](https://status.alhp.dev)
|
2023-03-01 01:44:39 +01:00
|
|
|
[![](https://goreportcard.com/badge/somegit.dev/ALHP/ALHP.GO?style=flat-square)](https://goreportcard.com/report/somegit.dev/ALHP/ALHP.GO)
|
|
|
|
[![](https://pkg.go.dev/badge/somegit.dev/ALHP/ALHP.GO)](https://pkg.go.dev/somegit.dev/ALHP/ALHP.GO)
|
2024-08-10 23:38:12 +02:00
|
|
|
[![](https://img.shields.io/badge/license-GPL-blue?style=flat-square)](https://somegit.dev/anonfunc/ALHP.GO/src/branch/master/LICENSE)
|
2022-02-14 13:05:38 +01:00
|
|
|
[![](https://img.shields.io/liberapay/patrons/anonfunc.svg?logo=liberapay&style=flat-square)](https://liberapay.com/anonfunc/)
|
2021-06-10 21:32:11 +02:00
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
Buildbot for Archlinux based repos with different
|
2021-11-25 22:29:32 +01:00
|
|
|
[x86-64 feature levels](https://www.phoronix.com/scan.php?page=news_item&px=GCC-11-x86-64-Feature-Levels), `-O3` and
|
|
|
|
[LTO](https://en.wikipedia.org/wiki/Interprocedural_optimization).
|
2021-06-10 21:32:11 +02:00
|
|
|
|
2024-08-10 22:45:28 +02:00
|
|
|
> [!WARNING]
|
2024-08-10 23:38:12 +02:00
|
|
|
> NVIDIA graphics users using the **proprietary driver** are strongly encouraged to read the
|
|
|
|
> [FAQ about Linux kernel modules](#directly-linked-kernel-modules) before enabling any repos.
|
2021-11-26 01:05:47 +01:00
|
|
|
|
2023-05-16 12:56:51 +02:00
|
|
|
---
|
2023-05-16 12:53:59 +02:00
|
|
|
<!-- TOC -->
|
2024-08-10 23:38:12 +02:00
|
|
|
* [Quick Start](#quick-start)
|
2024-08-10 23:42:34 +02:00
|
|
|
* [FAQ](#faq)
|
|
|
|
* [Matrix](#matrix)
|
|
|
|
* [Donations](#donations)
|
|
|
|
* [License and Legal](#license-and-legal)
|
2023-05-16 12:53:59 +02:00
|
|
|
<!-- TOC -->
|
|
|
|
|
2023-05-16 12:56:51 +02:00
|
|
|
---
|
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
## Quick Start
|
2021-06-10 21:32:11 +02:00
|
|
|
|
2021-11-29 11:35:17 +01:00
|
|
|
### 1. Check your system for support
|
|
|
|
|
2024-08-10 22:45:28 +02:00
|
|
|
> [!CAUTION]
|
2024-08-10 23:38:12 +02:00
|
|
|
> Before enabling any of these repos, make sure that your system supports the level of functionality you want to
|
|
|
|
> enable (e.g. `x86-64-v3`).
|
|
|
|
> **If you don't check first, you may not be able to boot your system and will have to downgrade any packages you may
|
|
|
|
have upgraded.**
|
2021-11-25 22:29:32 +01:00
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
Check which feature levels your CPU supports with
|
2024-08-10 23:42:34 +02:00
|
|
|
|
2021-11-25 22:29:32 +01:00
|
|
|
```bash
|
|
|
|
/lib/ld-linux-x86-64.so.2 --help
|
|
|
|
```
|
|
|
|
|
2021-06-10 21:32:11 +02:00
|
|
|
Example output snippet for a system supporting up to `x86-64-v3`:
|
2024-08-10 23:42:34 +02:00
|
|
|
|
2021-06-10 21:32:11 +02:00
|
|
|
```
|
|
|
|
Subdirectories of glibc-hwcaps directories, in priority order:
|
|
|
|
x86-64-v4
|
|
|
|
x86-64-v3 (supported, searched)
|
|
|
|
x86-64-v2 (supported, searched)
|
|
|
|
```
|
|
|
|
|
2024-08-10 22:45:28 +02:00
|
|
|
> [!NOTE]
|
2024-08-10 23:38:12 +02:00
|
|
|
> ALHP repos for `x86-64-v2`, `x86-64-v3` and `x86-64-v4` are currently available. You can see all available
|
|
|
|
> repositories [here](https://alhp.dev/).
|
2024-08-10 22:45:28 +02:00
|
|
|
|
2021-11-29 11:35:17 +01:00
|
|
|
### 2. Install keyring & mirrorlist
|
2021-06-10 21:32:11 +02:00
|
|
|
|
2021-11-29 11:35:17 +01:00
|
|
|
Install [alhp-keyring](https://aur.archlinux.org/packages/alhp-keyring/)
|
2024-08-10 23:38:12 +02:00
|
|
|
and [alhp-mirrorlist](https://aur.archlinux.org/packages/alhp-mirrorlist/) from the **AUR**.
|
2021-06-10 21:32:11 +02:00
|
|
|
|
2021-11-29 11:35:17 +01:00
|
|
|
Example with `yay`:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
yay -S alhp-keyring alhp-mirrorlist
|
|
|
|
```
|
|
|
|
|
|
|
|
`alhp-keyring` provides the current signing keys used by ALHP, `alhp-mirrorlist` a selection of mirrors.
|
|
|
|
|
|
|
|
### 3. Choose a mirror (optional)
|
2021-11-14 12:36:18 +01:00
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
Edit `/etc/pacman.d/alhp-mirrorlist` and comment in/out the mirrors you want to enable/disable.
|
|
|
|
By default, a CDN mirror provided by ALHP is selected.
|
2024-08-10 22:45:28 +02:00
|
|
|
> [!NOTE]
|
2024-08-10 23:38:12 +02:00
|
|
|
> `cdn.alhp.dev` and `alhp.dev` are provided directly by ALHP. If you have problems with a mirror,
|
2023-03-01 01:44:39 +01:00
|
|
|
> open an issue at [the mirrorlist repo](https://somegit.dev/ALHP/alhp-mirrorlist).
|
2021-11-14 12:36:18 +01:00
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
### 4. Modify pacman.conf
|
2021-11-14 12:36:18 +01:00
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
Add the ALHP repos to your `/etc/pacman.conf`. Make sure the appropriate ALHP repository is **above** the Archlinux
|
|
|
|
repo.
|
2021-06-10 21:32:11 +02:00
|
|
|
|
2021-11-29 11:35:17 +01:00
|
|
|
Example for `x86-64-v3`:
|
2021-11-14 12:36:18 +01:00
|
|
|
|
2021-06-10 21:32:11 +02:00
|
|
|
```editorconfig
|
|
|
|
[core-x86-64-v3]
|
2021-11-25 22:29:32 +01:00
|
|
|
Include = /etc/pacman.d/alhp-mirrorlist
|
2021-06-10 21:32:11 +02:00
|
|
|
|
|
|
|
[core]
|
|
|
|
Include = /etc/pacman.d/mirrorlist
|
|
|
|
|
2024-08-10 22:45:28 +02:00
|
|
|
[extra-x86-64-v3]
|
|
|
|
Include = /etc/pacman.d/alhp-mirrorlist
|
|
|
|
|
2021-06-10 21:32:11 +02:00
|
|
|
[extra]
|
|
|
|
Include = /etc/pacman.d/mirrorlist
|
2023-06-05 15:26:53 +02:00
|
|
|
|
|
|
|
# if you need [multilib] support
|
|
|
|
[multilib-x86-64-v3]
|
|
|
|
Include = /etc/pacman.d/alhp-mirrorlist
|
|
|
|
|
|
|
|
[multilib]
|
|
|
|
Include = /etc/pacman.d/mirrorlist
|
2021-06-10 21:32:11 +02:00
|
|
|
```
|
|
|
|
|
2021-12-09 17:35:17 +01:00
|
|
|
Replace `x86-64-v3` with the x86-64 feature level you want to enable.
|
2024-08-10 22:45:28 +02:00
|
|
|
|
|
|
|
> [!TIP]
|
2024-08-10 23:38:12 +02:00
|
|
|
> Multiple layers can be stacked as described in https://somegit.dev/ALHP/ALHP.GO/issues/255#issuecomment-3335.
|
2021-06-10 21:32:11 +02:00
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
### 5. Update package database and upgrade
|
2021-12-09 17:35:17 +01:00
|
|
|
|
2021-06-10 21:32:11 +02:00
|
|
|
```
|
2021-07-08 14:28:33 +02:00
|
|
|
pacman -Suy
|
2021-07-08 15:25:58 +02:00
|
|
|
```
|
|
|
|
|
2023-06-06 15:26:38 +02:00
|
|
|
## FAQ
|
|
|
|
|
|
|
|
### Remove ALHP packages
|
2021-07-08 15:25:58 +02:00
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
To disable ALHP, remove all *x86-64-vX* entries in `/etc/pacman.conf` and remove `alhp-keyring` and `alhp-mirrorlist`.
|
2021-07-08 15:25:58 +02:00
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
After that, you can update pacman's databases and downgrade all packages, like
|
2023-05-16 12:53:59 +02:00
|
|
|
|
2021-07-08 15:25:58 +02:00
|
|
|
```
|
|
|
|
pacman -Suuy
|
|
|
|
```
|
2021-07-08 15:26:47 +02:00
|
|
|
|
2021-11-04 13:16:22 +01:00
|
|
|
### LTO
|
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
Enabled for all packages built after 04 Nov 2021 12:07:00
|
2023-03-01 01:44:39 +01:00
|
|
|
UTC. [More details.](https://somegit.dev/ALHP/ALHP.GO/issues/52)
|
2021-11-25 22:29:32 +01:00
|
|
|
LTO status is visible per package on the package status page.
|
2021-11-13 20:25:58 +01:00
|
|
|
|
2023-05-16 12:53:59 +02:00
|
|
|
### Linux Kernel packages
|
2021-11-26 01:05:47 +01:00
|
|
|
|
2023-05-16 12:53:59 +02:00
|
|
|
`KCFLAGS`/`KCPPFLAGS` are used to build the kernel packages with our additional flags.
|
2021-11-26 01:05:47 +01:00
|
|
|
|
|
|
|
### Directly linked kernel modules
|
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
Due to our increase in pkgrel, building the kernel packages **will break any directly linked modules** such as `nvidia`
|
2023-05-16 12:53:59 +02:00
|
|
|
(not `nvidia-dkms`) or `virtualbox-host-modules-arch` (not `virtualbox-host-dkms`). **Their respective `dkms`-variant is
|
|
|
|
not affected**. This issue is being tracked in #68, a solution is being worked on.
|
2021-11-26 01:05:47 +01:00
|
|
|
|
2021-11-14 12:36:18 +01:00
|
|
|
### Mirrors
|
|
|
|
|
|
|
|
You want to mirror ALHP? You are welcome to do
|
2023-03-01 01:44:39 +01:00
|
|
|
so, [see alhp-mirrorlist for how to become one](https://somegit.dev/ALHP/alhp-mirrorlist#how-to-become-a-mirror).
|
2021-11-14 12:36:18 +01:00
|
|
|
|
2021-11-29 11:35:17 +01:00
|
|
|
### What packages are built
|
|
|
|
|
|
|
|
Packages [excluded](https://www.reddit.com/r/archlinux/comments/oflged/alhp_archlinux_recompiled_for_x8664v3_experimental/h4fkinu?utm_source=share&utm_medium=web2x&context=3)
|
2024-08-10 23:38:12 +02:00
|
|
|
from building (besides all `any` architecture packages) are being listed in issue #16.
|
|
|
|
See also [package status page](https://status.alhp.dev) (search for `blacklisted`).
|
2021-11-29 11:35:17 +01:00
|
|
|
|
2023-06-29 17:41:35 +02:00
|
|
|
### Why is package X not up-to-date
|
|
|
|
|
|
|
|
Also relevant for: **I can't find package X / Application X fails to start because it links to an old/newer lib**
|
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
ALHP builds packages **after** they are released in the official Archlinux repos (excluding `[*-testing]`).
|
|
|
|
This will cause packages to be delayed if the current batch contains many packages, or packages that take a while to
|
2023-06-29 17:41:35 +02:00
|
|
|
build (e.g. `chromium`).
|
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
You can always check on the progress of the current build cycle on the [package status page](https://status.alhp.dev).
|
2023-06-29 17:41:35 +02:00
|
|
|
Please refrain from opening issues caused by packages currently in queue/not yet build/not yet moved to the repo.
|
|
|
|
Please keep in mind that large rebuilds such as `openssl` or `python` can take days to complete on our current build
|
|
|
|
hardware.
|
|
|
|
|
2022-02-14 12:15:04 +01:00
|
|
|
### Debug symbols
|
|
|
|
|
2023-03-01 01:44:39 +01:00
|
|
|
ALHP provides a debuginfod instance under `debuginfod.alhp.dev`.
|
2022-02-14 12:15:04 +01:00
|
|
|
|
2022-02-14 16:45:29 +01:00
|
|
|
To use it, have `debuginfod` installed on your system and add it to your `DEBUGINFOD_URLS` with:
|
2022-02-14 12:15:04 +01:00
|
|
|
|
|
|
|
```bash
|
2023-03-01 01:44:39 +01:00
|
|
|
echo "https://debuginfod.alhp.dev" > /etc/debuginfod/alhp.urls
|
2022-02-14 12:15:04 +01:00
|
|
|
```
|
|
|
|
|
2023-12-12 19:17:56 +01:00
|
|
|
### Switch between levels
|
|
|
|
|
|
|
|
If you want to switch between levels, e.g. from `x86-64-v3` to `x86-64-v4`, you need to revert to official packages
|
2024-08-10 23:38:12 +02:00
|
|
|
first, and then enable your desired repos again.
|
2023-12-12 19:17:56 +01:00
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
1. Comment out or remove the ALHP repo entries in `/etc/pacman.conf`.
|
2023-12-12 19:17:56 +01:00
|
|
|
2. Downgrade packages with `pacman -Suuy`.
|
2023-12-12 22:23:46 +01:00
|
|
|
3. Clear pacman's package cache with `pacman -Scc`.
|
|
|
|
4. Uncomment/add your desired repos to `/etc/pacman.conf` and update with `pacman -Suy`.
|
2023-12-12 19:17:56 +01:00
|
|
|
|
2023-05-16 15:50:27 +02:00
|
|
|
## Matrix
|
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
For any non-issue questions, or if you just want to chat, ALHP has a Matrix
|
2023-05-16 15:50:27 +02:00
|
|
|
room [here](https://matrix.to/#/#alhp:ofsg.eu) (`#alhp@ofsg.eu`). You can also find me (@idlegandalf)
|
|
|
|
in `#archlinux:archlinux.org`.
|
|
|
|
|
2021-11-25 22:29:32 +01:00
|
|
|
## Donations
|
2021-11-13 20:25:58 +01:00
|
|
|
|
2021-11-25 22:29:32 +01:00
|
|
|
I appreciate any money you want to throw my way, but donations are strictly optional. Donations are primarily used to
|
|
|
|
pay for server costs. Also consider [donating to the **Archlinux Team**](https://archlinux.org/donate/), without their
|
|
|
|
work ALHP would not be possible.
|
2021-11-13 20:25:58 +01:00
|
|
|
|
2022-09-06 14:25:57 +02:00
|
|
|
[![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/anonfunc/)
|
|
|
|
|
|
|
|
## License and Legal
|
|
|
|
|
2024-08-10 23:38:12 +02:00
|
|
|
This project and all of its source code is released under the terms of the GNU General Public License, version 2
|
|
|
|
or any later version. See [LICENSE](https://somegit.dev/ALHP/ALHP.GO/src/branch/master/LICENSE) for details.
|