Drivers and misc for Gentoo on various ARM devices, for Chromebook, Trimslice diskless, udoo/wandboard, beagleboneblack, allwinner a-10, and rpi. Some of the relevant/current graphics configs are documented below.
To get started, add the overlay to make.conf, update package.foo and USE flags as needed, and mask packages as needed. The general config is:
ACCEPT_KEYWORDS="~arm"
Basic config: udev, polkit, consolekit, xattr, caps, pam (no systemd or logind)
X support: etnaviv/armada, opentegra, fbturbo, armsoc, rpi (still in testing)
wayland/weston: egl/gles1/gles2/dri3, possibly opengl or glx
Needs package.foo configs for complete install (depends on usage)
Kernels sources:
Trimslice: gentoo-sources latest
RaspberryPi: fbtft drivers now in Adafruit staging
- raspberrypi-sources
- adafruit-raspberrypi-sources
- drm-raspberrypi-sources (provisional vc4 drm support)
Wandboard-quad and Udoo-quad: RCN LinuxOnArm patches on mainline
- latest 4.x.y mainline branch
BeagleboneBlack: RCN bb_kernel patches on mainline
- bone-sources updated to 4.1.0-bone9
- see RCN LinuxOnArm for latest updates
Chromebook: next dev branch beyond stock Google ChromeOS (custom config, installed as KERN3, USB3 rootfs or SDCard)
- Samsung Snow - 3.8.11 chromeos-sources
- Tegra K1 - 3.10.18 chromeos-sources
Jetson K1 - 4.11.0 mainline
Efikamx: "Latest" upstream kernel, custom config (2.6.31.14.27-efikamx) external ASIX module, SDCard rootfs
MK802-II 1 GB: "Latest" upstream kernel with correct device tree (3.4.75.sun4i+), custom config, SDCard rootfs
Steev's test setup:
(other) Steve's test setup:
- Hardware: Jetson, Trimslice, Wandboard quad, Chromebooks (snow and nyan), Raspberry Pi B/B+/B2/2/3, Udoo quad, Cubox quad, BeagleboneBlack
- Full X is only built for all of them (so far) with wayland/weston testing in progress)
- gles/egl, no opengl/glx, cairo/clutter/cogl, +qt5/-qt4, +gtk3/-gtk
- Overlays:
- https://github.com/sarnold/portage-overlay (general)
- https://github.com/sarnold/arm (pushes to gentoo/arm)
- Recommended CPU flags
- armv7 defaults: -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard
- add neon to USE flags if processor supports it, ebuilds that use neon should take care of flags
- alternately you can set fpu to one of the neon-vfp flags
- Example flags for Tegra K1:
- -march=armv7-a -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfp16-format=ieee
- Configs: See the config directory in arm overlay for test configs
Config differences are minimal, mainly graphics and neon. Webkit-gtk builds with everything but jit, the cairo gles backend is enabled instead of opengl, and Trimslice uses opentegra-specific repos and mesa-9999.
You can (optionally) add this overlay with layman:
$ layman -f -a arm_support -o https://raw.github.com/gentoo/arm/master/configs/layman.xml