Gentoo overlay (ebuild repository) for the Raspberry Pi 3 Model B and B+, and Raspberry Pi 4 Model B. Used by GenPi64
image.
NB: this repository has been renamed, from
rpi3-overlay
togenpi64-overlay
, to reflect its applicability to the new Pi4.
The overlay provides the following ebuilds:
Instead of a meta package, select the profile and sets you want.
-
dev-embedded/rpi-64bit-meta
-
This is the main
gentoo-on-rpi-64bit
metapackage - its version matches that of the image release. It replaces the priorgentoo-on-rpi3-64bit
metapackage. The features it pulls in (via other ebuilds) can be customized via the following USE flags (edit via/etc/portage/package.use/rpi-64bit-meta
):USE flag Default? Effect boot-fw
Yes Pull in the /boot firmware, configs and bootloader. kernel-bin
Yes Pull in the bcm{2711,rpi3}-kernel<-bis>-bin
binary kernel package.porthash
No Pull in repo signature checker, for isshoni.org rsync
.weekly-genup
Yes Pull in cron.weekly
script, to rungenup
automatically.innercore
Yes Pull in essential system packages for image (RPi initscripts etc.) core
Yes Pull in main packages for image ( clang
etc.). Requiresinnercore
.xfce
Yes Pull in packages for baseline Xfce4 system. Requires core
.pitop
No Pull in Pi-Top packages (NB most users won't want this). Requires xfce
.apps
No Pull in baseline desktop apps ( libreoffice
etc). Requiresxfce
.
-
Ebuilds related to the gentoo-on-rpi-64bit
image
Note that for historical reasons, many of these ebuilds may contain
rpi3-
in the name, but yet still be applicable on the RPi4.
-
acct-group/gpio
- Similar to a
virtual
, this is an administrative package used to define thegpio
group (by default, gid 370).
- Similar to a
-
acct-group/i2c
- As above, but for the spi group (by default, gid 371).
-
acct-group/spi
- As above, but for the spi group (by default, gid 372).
-
app-accessibility/onboard upstream
- Provides a flexible onscreen keyboard. Included primarily for use with the official 7" RPi touchscreen. Adapted with thanks from original ebuild, here.
-
app-portage/weekly-genup
- Installs a simple cron.weekly script, to automate
genup
, and another, to run 'fixups' (small scripts to correct issues that may e.g. prevent correctgenup
operation, effect upstream file hierarchy migrations etc.).
- Installs a simple cron.weekly script, to automate
-
dev-embedded/rpi4-eeprom-images upstream
- Provides a set of EEPROM images for use by
rpi4-eeprom-updater
(see below). A weekly build-server process automatically creates new ebuilds for this package, whenever upstream releases a new EEPROM deb. For further details, please see this post.
- Provides a set of EEPROM images for use by
-
dev-embedded/rpi4-eeprom-updater upstream
- Unlike its predecessor, the RPi4B contains a bootloader EEPROM (which replaces bootcode.bin) and also has another EEPROM region holding its VL805 USB chip's firmware. This package provides a boot-time service which checks the current versions and, if out-of-date, safely reflashes them. A weekly build-server process automatically creates new ebuilds for this package, whenever upstream releases a new deb. For further details, please see this post.
-
dev-lang/pony upstream
- Provides a few ebuilds for the
pony
language. Not installed on the image. Please see this post, ff. for more background.
- Provides a few ebuilds for the
-
dev-libs/pigpio upstream
- Provides a library, daemon (
pigpiod
),python
bindings and CLI client (pigs
), allowing control of the GPIOs on the RPi 3 and 4. A useful replacement forwiringpi
, the version included here includes the necessary patches to work on anarm64
system, and sets up the server to run, by default, on IPv4127.0.0.1
, port8888
only.
- Provides a library, daemon (
-
dev-php/pthreads upstream
- Provides
pthreads-3.2.0
, a threading extension forphp
. Not required on the image, but used by some other packages, such asminecraft
(see this thread for further details).
- Provides
-
media-libs/libsdl2 upstream
- Provides a modified ebuild (
libsdl-2.0.10-r1
) patched to build correctly underarm64
. Will be replaced by a main-tree variant on the image once one becomes available.
- Provides a modified ebuild (
-
net-libs/nghttp2 upstream
- Provides version of
nghttp2
that can work underbindist
, by using the EC-patcheddev-libs/openssl
libraries (see above). Still in use on the image (as the main tree version unnecessarily forces-bindist
).
- Provides version of
-
net-misc/rpi3-ethfix
- Effects some simple Ethernet workarounds (using
ethtool
) for the RPi3B+. It has no effect on the RPi3B or RPi4B.
- Effects some simple Ethernet workarounds (using
-
net-misc/xorgxrdp upstream
- Provides Xorg drivers for
xrdp
(see below). Supplied on the image to allow RDP connectivity to Windows clients; see e.g. these notes.
- Provides Xorg drivers for
-
net-misc/xrdp upstream
- Provides
xrdp-0.9.8.ebuild
for this open source Remote Desktop Protocol server. Supplied on the image withxorgxrdp
above.
- Provides
-
net-wireless/rpi3-bluetooth upstream
- Provides a startup service and
udev
rule for the RPi3/4's integrated Bluetooth transceiver. Adapted from thepi-bluetooth
package from ArchLinux.
- Provides a startup service and
-
net-wireless/rpi3-wifi-regdom Provides a simple service to set the WiFi regulatory domain; the value set may be modified by editing the file
/etc/conf.d/rpi3-wifi-regdom
. -
sys-apps/pyconfig_gen upstream
- Provides a simple, PyQt5 dialog-based app, to allow the
/boot/config.txt
file to be edited in a structured manner, together with some support services (to revert the new config automatically, unless ratified upon reboot).
- Provides a simple, PyQt5 dialog-based app, to allow the
-
sys-apps/rpi-gpio
- Sets up a
udev
rule to allow GPIO access (on the RPi3/4) for members of thegpio
group. On installation, all current members ofwheel
are automatically made members ofgpio
. Now installed for all users of therpi-64bit-meta
package (withinnercore
USE).
- Sets up a
-
sys-apps/rpi-i2c
- Like
rpi3-i2cdev
(see below), sets up audev
rule to allow I2C access (on the RPi3/4) for members of thei2c
group, and ensures that thei2c_dev
module ismodprobe
d. On installation, all current members ofwheel
are automatically made members ofi2c
(to allow for straightforward transition fromrpi3-spidev
). Now installed for all users of therpi-64bit-meta
package (withinnercore
USE).
- Like
-
sys-apps/rpi-onetime-startup
- Provides a startup service which (having first disabled itself from running again) executes, as root, the script
/boot/startup.sh
, if present. This script can be used to e.g., set up initial WiFi networking on a headless system, thereby allowing anssh
connection to be established. The provided template/boot/startup.sh
script contains several (commented out) examples of NetworkManager configuration.
- Provides a startup service which (having first disabled itself from running again) executes, as root, the script
-
sys-apps/rpi-serial
- Provides a
udev
rule to create appropriate serial port device aliases at/dev/serial0
and/or/dev/serial1
(using code borrowed from Raspbian).
- Provides a
-
sys-apps/rpi-spi
- Like
rpi3-spidev
(see below), sets up audev
rule to allow SPI access (on the RPi3/4) for members of thespi
group. On installation, all current members ofwheel
are automatically made members ofspi
(to allow for straightforward transition fromrpi3-spidev
). Now installed for all users of therpi-64bit-meta
package (withinnercore
USE).
- Like
-
sys-apps/rpi-video
- Provides a
udev
rule to allow members of thevideo
group access to/dev/rpivid*
and/dev/argon*
devices (using code borrowed from Raspbian).
- Provides a
-
sys-apps/rpi3-i2cdev
- Provides an OpenRC service and
udev
rule for I2C access on the RPi3/4. Ensures that thei2c-dev
module ismodprobe
d, and that the/dev/i2c-[0-9]
devices are read/write for all members of thewheel
group, not justroot
. Originally installed by thepitop
USE flag onrpi-64bit-meta
, it has since been superseded byrpi-i2c
, above.
- Provides an OpenRC service and
-
sys-apps/rpi3-init-scripts
- Provides a few simple init scripts for the gentoo-on-rpi-64bit image (to autoexpand the root partition on first boot, inhibit XVideo, setup cache usage appropriate for a low-memory environment etc.).
-
sys-apps/rpi3-ondemand-cpufreq
- Provides the
rpi3-ondemand
OpenRCsysinit
service, to switch the RPi3 and RPi4 from its (bcmrpi3_defconfig
andbcm2711_defconfig
) defaultpowersave
CPU frequency governor, toondemand
, for better performance.
- Provides the
-
sys-apps/rpi3-spidev
- Provides a
udev
rule for SPI access on the RPi3; ensures that the/dev/spidevN.M
devices are read/write for all members of thewheel
group, not justroot
. Originally installed by thepitop
USE flag onrpi-64bit-meta
, it has since been superseded byrpi-spi
, above.
- Provides a
-
sys-boot/rpi3-64bit-firmware upstream
- Provides the firmware and config files required in
/boot
to boot the RPi3/4 in 64-bit mode. Does not provide the kernel or DTBs (seesys-kernel/bcmrpi3-kernel<-bis>-bin
, above, for that). A weekly check is made to see if a new tag has been added to the officialraspberrypi/firmware/boot
upstream, and, if so, a matching ebuild is automatically created here. With thedtbo
USE flag off (as forced by the profile, currently), does not provide or populate the/boot/overlays
directory - this then being the responsibility of the binary kernel package.
- Provides the firmware and config files required in
-
sys-boot/rpi3-boot-config
- Provides the 'starter' RPi3/4 configuration files
/boot/cmdline.txt
and/boot/config.txt
(in both standard and Pi-Top trim).
- Provides the 'starter' RPi3/4 configuration files
-
sys-devel/portage-distccmon-gui
- Desktop file (and wrapper) to view Portage jobs with
distccmon-gui
(provided your user is a member of theportage
group).
- Desktop file (and wrapper) to view Portage jobs with
-
sys-firmware/bcm4340a1-firmware upstream
- Provides firmware (
/etc/firmware/BCM43430A1.hcd
) for the RPi's integrated Bluetooth transceiver. Adapted from thepi-bluetooth
package from ArchLinux. Required bynet-wireless/rpi3-bluetooth
package (see above).
- Provides firmware (
-
sys-firmware/brcm43430-firmware upstream
- Provides a configuration file (
brcmfmac43430-sdio.txt
) that is required for the RPi3/4's integrated WiFi (the main firmware is provided already, bysys-kernel/linux-firmware
). Now also provides the equivalent filebrcmfmac43455-sdio.txt
, for use with the RPi3 B+ / RPi 4 B's dual-band WiFi WiFi chip set (Cypress CYW43455), plus the matchingbrcmfmac43430-sdio.clm_blob
, and, when the43455-fix
USE flag is set, also provides a more modern copy of the uploadable file/lib/firmware/brcm/brcmfmac43455-sdio.bin
(in preference to the older version shipped withsys-kernel/linux-firmware
; see below).
- Provides a configuration file (
-
sys-kernel/linux-firmware upstream
- Provides a large collection of redistributable Linux firmware files. The version in this overlay supports the
43455-fix
USE flag, which when set does not install the file/lib/firmware/brcm/brcmfmac43455-sdio.bin
(allowing a more modern version to be supplied bysys-firmware/brcm43430-firmware
; see above).
- Provides a large collection of redistributable Linux firmware files. The version in this overlay supports the
-
x11-misc/arandr upstream
- Provides a slightly patched version of the
arandr
screen configuration GUI, which automatically applies setup files saved as~/.screenlayout/default.sh
upon login (incidentally, this autoload can be suppressed by holding down Ctrl during boot).
- Provides a slightly patched version of the
-
x11-misc/rpi3-safecompositor
- Provides an eponymous OpenRC service to off display compositing, on the RPi3 only, if a high pixel clock is detected (> 1.2175MHz, currently). This is because certain applications, for example LibreOffice v6 Draw and Impress, can cause the whole system to lock-up when used with compositing on under such conditions. As of v1.4.0 of the image / v1.0.1 of the ebuild, also turns of compositing when 'true' kms mode (
vc4-kms-v3d
) is in use.
- Provides an eponymous OpenRC service to off display compositing, on the RPi3 only, if a high pixel clock is detected (> 1.2175MHz, currently). This is because certain applications, for example LibreOffice v6 Draw and Impress, can cause the whole system to lock-up when used with compositing on under such conditions. As of v1.4.0 of the image / v1.0.1 of the ebuild, also turns of compositing when 'true' kms mode (
-
x11-misc/rpi3-safecursor
- Provides the
rpi3-safecursor
OpenRC service, which will install a rule to force software cursor blitting (rather than the hardware default) if the user has not setdisable_overscan=1
inconfig.txt
. (Required because hardware cursor blitting in the open-source vc4 driver does not always take account of the overscan 'bezel' correctly on HDMI TVs, resulting in an offset cursor.) The service no-ops with any >= 4.14.y kernel however (e.g., the 4.19.y currently supplied with the image), as these have the fix already committed.
- Provides the
-
x11-misc/twofing upstream
- Provides the
twofing
daemon, which converts touchscreen gestures into mouse and keyboard events. Included primarily for use with the offical 7" RPi (1,2,3) touchscreen (not sure if this is yet compatible with the RPi4?).
- Provides the
-
xfce-extra/xfce4-battery-plugin upstream
- A modified version of the standard
xfce4-battery-plugin
gas gauge. It is patched with code from rricharz to query the status of the Pi-Top's battery over I2C; this code is activated by buildingrpi-64bit-meta
with thepitop
USE flag (NB - only for use on Pi-Top systems).
- A modified version of the standard
-
xfce-extra/xfce4-cpugraph-plugin upstream
- Provides a version of this plugin that periodically completely redraws, as the original is subject to occasional display corruption.
-
xfce-extra/xfce4-fixups-rpi3
- Effects some useful new-user fixups for Xfce4 on the RPi3 and RPi4 (forcing compositing to sync to the vertical blank etc.). Installs an
/etc/xdg/autostart/xfce4-fixups-rpi3.desktop
entry.
- Effects some useful new-user fixups for Xfce4 on the RPi3 and RPi4 (forcing compositing to sync to the vertical blank etc.). Installs an
-
xfce-extra/xfce4-indicator-plugin upstream
- Provides
xfce4-indicator-plugin-2.3.3-r2.ebuild
; this has been removed from the main Gentoo tree, and v2.3.4 is currently masked.
- Provides
-
xfce-extra/xfce4-keycuts-pitop
- Installs some simple keyboard shortcuts for the Pi-Top (an RPi3-based DIY laptop). Only installed on the image when the
pitop
USE flag is set onrpi-64bit-meta
.
- Installs some simple keyboard shortcuts for the Pi-Top (an RPi3-based DIY laptop). Only installed on the image when the
-
xfce-extra/xfce4-noblank
- Provides an
/etc/xdg/autostart
script to prevent thexscreensaver
blanking the screen, even when it is notionally 'off'.
- Provides an
-
xfce-extra/xfce4-notifyd upstream
- Provides
xfce4-notifyd-0.4.0.ebuild
; this has been removed from the main Gentoo tree, but is still used on the image. Upgrades masked because of message truncation, which causes problems with PIN notification during Bluetooth device setup. To be fixed / resolved.
- Provides
The following, non-ebuild directories may also be of interest:
-
metadata/news
- This simply contains some GLEP 42-compliant news items, specific to users of this overlay (and/or the bootable image).
-
profiles/...
- This specifies the custom profile used by the bootable image, which contains a number of custom USE-flag assignments, package masks, keyword overrides and so forth. For more details, please see the notes here.