├── LICENSE ├── README.md ├── chromeos-base ├── amd64-openfyde-spec │ ├── amd64-openfyde-spec-0.0.1-r3.ebuild │ ├── amd64-openfyde-spec-0.0.1.ebuild │ └── files │ │ └── powerd │ │ ├── dark_resume_sources │ │ ├── has_barreljack │ │ ├── low_battery_shutdown_percent │ │ └── low_battery_shutdown_time_s ├── chromeos-config-bsp │ ├── chromeos-config-bsp-0.0.1.ebuild │ └── files │ │ └── model.yaml └── device-appid │ └── device-appid-0.0.1.ebuild ├── kconfig ├── fydeos_def_r114-5_4-r2 ├── fydeos_def_r120-5_4-r1 ├── fydeos_def_r126-5_4-r1 └── fydeos_def_r132-5_4-r1 ├── make.conf ├── media-libs └── lpe-support-blacklist │ ├── files │ └── alsa-skl.conf │ └── lpe-support-blacklist-1-r1.ebuild ├── metadata ├── fydeos_version.txt └── layout.conf ├── profiles └── base │ ├── make.defaults │ ├── package.mask │ ├── package.use │ └── parent ├── scripts ├── board_specific_setup.sh └── disk_layout.json └── virtual ├── arc-camera3-hal-configs └── arc-camera3-hal-configs-2.ebuild ├── arc-camera3-hal └── arc-camera3-hal-2.ebuild ├── fydeos-board-spec-dev └── fydeos-board-spec-dev-0.0.1.ebuild ├── fydeos-board-spec └── fydeos-board-spec-0.0.7.ebuild ├── openfyde-board-spec └── openfyde-board-spec-0.0.7-r4.ebuild └── vulkan-icd ├── vulkan-icd-1.9-r2.ebuild └── vulkan-icd-1.9.ebuild /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2021, Fyde Innovations Limited 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # overlay-amd64-openfyde 2 | 3 | ![Logo badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fopenfyde-badge-wivuxrq8xzvh.runkit.sh%2F) ![Release badge](https://img.shields.io/github/v/release/openFyde/overlay-amd64-openfyde?label=latest%20release%20image) 4 | 5 |
6 | 7 | ## Introduction 8 | Same as Chromium OS, openFyde adopts the [Portage build and packaging system](https://wiki.gentoo.org/wiki/Portage) from Gentoo Linux. openFyde uses Portage with certain customisations to support building multiple targets (bootable OS system images) across different hardware architectures from a shared set of sources. 9 | 10 | A **board** defines a target type, it can be either for a family of hardware devices or specifically for one type of device. For example, The board `amd64-openfyde` is a target type for an openFyde system image that aims to run on most recent PCs with amd64(x86_64) architecture; whilst the `rpi4-openfyde` board is a target type specifically for the infamous single-board computer [Raspberry Pi 4B](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/). We usually append `-openfyde` to the board name in openFyde to differentiate between its siblings for FydeOS. 11 | 12 | Each board has a corresponding **overlay** that defines the configuration for it. This includes details like CPU architecture, kernel configuration, as well as additional packages and USE flags. 13 | 14 |
15 | 16 | ## About this repository 17 | This repository is the overlay for the `amd64-openfyde` board, it's part of the openFyde open-source project. 18 | 19 | This repository contains the following packages: 20 | 21 | | Packages | Description | Reference | 22 | |-----------------------------------|-------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------| 23 | | chromeos-base/device-appid | Setup device appid | | 24 | | chromeos-base/amd64-openfyde-spec | amd64-openfyde board setup | | 25 | | media-libs/lpe-support-blacklist | Files used to support/configure LPE Audio | [chromiumos-overlay](https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/refs/heads/main/media-libs/lpe-support-blacklist) | 26 | | virtual/fydeos-board-spec | Virtual for fydeos board setup | | 27 | | virtual/fydeos-board-spec-dev | Virtual for fydeos dev board setup | | 28 | | virtual/openfyde-board-spec | Virtual for openfyde board setup | | 29 | | virtual/arc-camera3-hal-configs | sunplus camera config | | 30 | | virtual/arc-camera3-hal | cros usb camera hal | | 31 | 32 | 33 |
34 | 35 | ## About the board `amd64-openfyde` 36 | This board targets a generically bootable openFyde image on most Intel-powered x86_64 PC devices, specifically, the device should have: 37 | - Intel CPUs released on or after the year 2011, specifically, Intel 2nd generation Core™ Processors ["Sandy Bridge"](https://en.wikipedia.org/wiki/Sandy_Bridge_(microarchitecture)) and later 38 | - Intel Atom, Celeron and Pentium processors released on or after the year 2013, specifically, Intel Atom SoC ["Bay Trail"](https://en.wikipedia.org/wiki/Atom_(system_on_a_chip)) or later 39 | - Integrated Intel HD graphics 40 | 41 | `amd64-openfyde` is the foundation for [FydeOS for PC](https://fydeos.io/download/pc/intel-hd) release. 42 | 43 |
44 | 45 | ###### Copyright (c) 2022 Fyde Innovations and the openFyde Authors. Distributed under the license specified in the root directory of this repository. 46 | -------------------------------------------------------------------------------- /chromeos-base/amd64-openfyde-spec/amd64-openfyde-spec-0.0.1-r3.ebuild: -------------------------------------------------------------------------------- 1 | amd64-openfyde-spec-0.0.1.ebuild -------------------------------------------------------------------------------- /chromeos-base/amd64-openfyde-spec/amd64-openfyde-spec-0.0.1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022 Fyde Innovations Limited and the openFyde Authors. 2 | # Distributed under the license specified in the root directory of this project. 3 | 4 | EAPI=7 5 | 6 | inherit appid2 7 | 8 | DESCRIPTION="empty project" 9 | HOMEPAGE="http://fydeos.com" 10 | 11 | LICENSE="BSD-Google" 12 | SLOT="0" 13 | KEYWORDS="*" 14 | IUSE="" 15 | 16 | RDEPEND="" 17 | 18 | DEPEND="${RDEPEND}" 19 | 20 | S="${WORKDIR}" 21 | 22 | src_install() { 23 | insinto "/usr/share/power_manager/board_specific" 24 | doins ${FILESDIR}/powerd/* 25 | } 26 | -------------------------------------------------------------------------------- /chromeos-base/amd64-openfyde-spec/files/powerd/dark_resume_sources: -------------------------------------------------------------------------------- 1 | /sys/class/rtc/rtc0/device 2 | -------------------------------------------------------------------------------- /chromeos-base/amd64-openfyde-spec/files/powerd/has_barreljack: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /chromeos-base/amd64-openfyde-spec/files/powerd/low_battery_shutdown_percent: -------------------------------------------------------------------------------- 1 | 4.0 2 | -------------------------------------------------------------------------------- /chromeos-base/amd64-openfyde-spec/files/powerd/low_battery_shutdown_time_s: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /chromeos-base/chromeos-config-bsp/chromeos-config-bsp-0.0.1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2022 Fyde Innovations. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | EAPI=7 6 | 7 | inherit cros-unibuild 8 | 9 | DESCRIPTION="ChromeOS model configuration" 10 | HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config/README.md" 11 | 12 | LICENSE="BSD-Google" 13 | SLOT="0" 14 | KEYWORDS="*" 15 | 16 | S="${WORKDIR}" 17 | 18 | src_install() { 19 | install_model_files 20 | } 21 | -------------------------------------------------------------------------------- /chromeos-base/chromeos-config-bsp/files/model.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2022 Fyde Innovations. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | # This board only supports a single config, defined below, as it is a 6 | # migrated pre-unibuild device. 7 | device-config: &device_config 8 | name: amd64-openfyde 9 | 10 | # Required dunder for chromeos-config to support a single device. 11 | chromeos: 12 | devices: 13 | - skus: 14 | - config: *device_config 15 | -------------------------------------------------------------------------------- /chromeos-base/device-appid/device-appid-0.0.1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022 Fyde Innovations Limited and the openFyde Authors. 2 | # Distributed under the license specified in the root directory of this project. 3 | 4 | EAPI=7 5 | 6 | inherit appid2 7 | 8 | DESCRIPTION="empty project" 9 | HOMEPAGE="http://fydeos.com" 10 | 11 | LICENSE="BSD-Google" 12 | SLOT="0" 13 | KEYWORDS="*" 14 | IUSE="" 15 | 16 | RDEPEND="" 17 | 18 | DEPEND="${RDEPEND}" 19 | 20 | S="${WORKDIR}" 21 | 22 | src_install() { 23 | doappid "{6B1266C6-CC06-4EF1-B648-9A0799301D78}" "CHROMEBOOK" "{30D63171-10F9-41AA-9858-2F9913A75C9B}" 24 | } 25 | -------------------------------------------------------------------------------- /make.conf: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium OS Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | CHROMEOS_KERNEL_CONFIG="/mnt/host/source/src/overlays/overlay-amd64-openfyde/kconfig/fydeos_def_r132-5_4-r1" 6 | 7 | USE="${USE} -kernel-6_6 -kernel-5_15 kernel-5_4 -builtin_fw_x86_amd_ucode -builtin_fw_x86_intel_ucode" 8 | 9 | USE="${USE} intel_lpe" 10 | #compressing firmware to save disk space 11 | USE="${USE} compress-xz" 12 | 13 | USE="${USE} fydeos_store" 14 | USE="${USE} -cros-debug" 15 | ACCEPT_LICENSE="*" 16 | VIDEO_CARDS="intel iris i965 radeonsi nouveau amdgpu iHD radeon iHD_g8" 17 | # TTY_CONSOLE="ttyUSB0" 18 | #CHROME_DEV_FLAGS="${CHROME_DEV_FLAGS} remote-debugging-port=9229" 19 | # CHROME_DEV_FLAGS="enable-features=Borealis disable-features=Jelly" 20 | 21 | LINUX_FIRMWARE="${LINUX_FIRMWARE} iwlwifi-all" 22 | -------------------------------------------------------------------------------- /media-libs/lpe-support-blacklist/files/alsa-skl.conf: -------------------------------------------------------------------------------- 1 | #uncomment the blacklist to enable lpe if it confilcts with legacy intel hda driver. 2 | #blacklist snd_hda_intel 3 | -------------------------------------------------------------------------------- /media-libs/lpe-support-blacklist/lpe-support-blacklist-1-r1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022 Fyde Innovations Limited and the openFyde Authors. 2 | # Distributed under the license specified in the root directory of this project. 3 | 4 | # Copyright 2016 The Chromium OS Authors. All rights reserved. 5 | # Distributed under the terms of the GNU General Public License v2 6 | 7 | EAPI=7 8 | 9 | DESCRIPTION="Files used to support/configure LPE Audio" 10 | LICENSE="BSD-Intel" 11 | SLOT="0" 12 | 13 | KEYWORDS="*" 14 | 15 | S=${WORKDIR} 16 | 17 | src_install() { 18 | insinto /etc/modprobe.d 19 | doins "${FILESDIR}"/alsa-skl.conf 20 | 21 | } 22 | -------------------------------------------------------------------------------- /metadata/fydeos_version.txt: -------------------------------------------------------------------------------- 1 | FYDEOS_BUILD=8 2 | -------------------------------------------------------------------------------- /metadata/layout.conf: -------------------------------------------------------------------------------- 1 | masters = portage-stable chromiumos eclass-overlay reven fyde-eclass openfyde arch-amd64 openfyde-drivers openfyde-patches gentoo-pkgs 2 | profile-formats = portage-2 profile-default-eapi 3 | profile_eapi_when_unspecified = 5-progress 4 | repo-name = amd64-openfyde 5 | thin-manifests = true 6 | use-manifests = strict 7 | -------------------------------------------------------------------------------- /profiles/base/make.defaults: -------------------------------------------------------------------------------- 1 | USE="" 2 | USE="${USE} -tpm_dynamic -tpm -tpm_insecure_fallback tpm2_simulator tpm2_simulator_manufacturer" 3 | USE="${USE} vtpm_proxy drm_atomic" 4 | 5 | # If OTA is not required, consider removing these two tpm related USE flags. 6 | # USE="${USE} tpm2_simulator_deprecated tpm_insecure_fallback" 7 | -------------------------------------------------------------------------------- /profiles/base/package.mask: -------------------------------------------------------------------------------- 1 | media-libs/lpe-support-blacklist::chromiumos 2 | sys-kernel/linux-firmware::chromiumos 3 | -------------------------------------------------------------------------------- /profiles/base/package.use: -------------------------------------------------------------------------------- 1 | chromeos-base/chromeos-chrome chrome_media build_tests autotest -chrome_debug debug_fission 2 | media-libs/mesa-reven egl gles2 shared-glapi 3 | chromeos-base/diagnostics mesa_reven 4 | chromeos-base/chromeos-fonts -internal 5 | net-wireless/bluez hid2hci 6 | net-wireless/wpa_supplicant-cros -wnm 7 | >=sys-apps/gptfdisk-1.0.1 -ncurses 8 | sys-libs/ncurses unicode 9 | sys-kernel/linux-firmware savedconfig 10 | chromeos-base/chromeos-init upper_case_product_uuid 11 | -------------------------------------------------------------------------------- /profiles/base/parent: -------------------------------------------------------------------------------- 1 | reven:base 2 | arch-amd64:base 3 | openfyde:base 4 | -------------------------------------------------------------------------------- /scripts/board_specific_setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | skip_blacklist_check=1 4 | skip_test_image_content=1 5 | FLAGS_boot_args="${FLAGS_boot_args} audit=0" 6 | -------------------------------------------------------------------------------- /scripts/disk_layout.json: -------------------------------------------------------------------------------- 1 | { 2 | "_comment": "See http://www.chromium.org/chromium-os/building-chromium-os/disk-layout-format", 3 | "parent": "legacy_disk_layout.json", 4 | "layouts":{ 5 | "common":[ 6 | { 7 | "num": 5, 8 | "size": "2724 MiB" 9 | }, 10 | { 11 | "num": 3, 12 | # caculate: size = fs_size / 64 + 200 (M) 13 | "fs_size":"2484 MiB", 14 | "size":"2724 MiB" 15 | } 16 | ], 17 | "usb":[ 18 | { 19 | # Slot B rootfs, unused on USB, but pad to 2M. 20 | # installation will expand this to size from base. 21 | "num": 5, 22 | "size": "2 MiB" 23 | }, 24 | { 25 | "num": 3, 26 | "fs_size":"2700 MiB", 27 | "size": "2724 MiB" 28 | } 29 | ], 30 | "factory_install": [ 31 | { 32 | "num": 3, 33 | "fs_size":"2484 MiB", 34 | "size":"2724 MiB" 35 | } 36 | ], 37 | "recovery":[ 38 | { 39 | "num": 3, 40 | "fs_size":"2484 MiB", 41 | "size": "2724 MiB" 42 | } 43 | ] 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /virtual/arc-camera3-hal-configs/arc-camera3-hal-configs-2.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022 Fyde Innovations Limited and the openFyde Authors. 2 | # Distributed under the license specified in the root directory of this project. 3 | 4 | EAPI=7 5 | 6 | DESCRIPTION="sunplus camera config" 7 | HOMEPAGE="http://fydeos.com" 8 | 9 | LICENSE="BSD-Google" 10 | SLOT="0" 11 | KEYWORDS="*" 12 | IUSE="" 13 | 14 | RDEPEND="chromeos-base/common-usb-camera-config" 15 | 16 | DEPEND="${RDEPEND}" 17 | -------------------------------------------------------------------------------- /virtual/arc-camera3-hal/arc-camera3-hal-2.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022 Fyde Innovations Limited and the openFyde Authors. 2 | # Distributed under the license specified in the root directory of this project. 3 | 4 | EAPI=7 5 | 6 | DESCRIPTION="cros usb camera hal" 7 | HOMEPAGE="http://fydeos.com" 8 | 9 | LICENSE="BSD-Google" 10 | SLOT="0" 11 | KEYWORDS="*" 12 | IUSE="" 13 | 14 | RDEPEND=" 15 | media-libs/arc-camera3-hal-usb 16 | " 17 | 18 | DEPEND="${RDEPEND}" 19 | -------------------------------------------------------------------------------- /virtual/fydeos-board-spec-dev/fydeos-board-spec-dev-0.0.1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022 Fyde Innovations Limited and the openFyde Authors. 2 | # Distributed under the license specified in the root directory of this project. 3 | 4 | EAPI=7 5 | 6 | DESCRIPTION="empty project" 7 | HOMEPAGE="http://fydeos.com" 8 | 9 | LICENSE="BSD-Google" 10 | SLOT="0" 11 | KEYWORDS="*" 12 | IUSE="" 13 | 14 | RDEPEND="" 15 | 16 | DEPEND="${RDEPEND}" 17 | -------------------------------------------------------------------------------- /virtual/fydeos-board-spec/fydeos-board-spec-0.0.7.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022 Fyde Innovations Limited and the openFyde Authors. 2 | # Distributed under the license specified in the root directory of this project. 3 | 4 | EAPI=7 5 | 6 | DESCRIPTION="empty project" 7 | HOMEPAGE="http://fydeos.com" 8 | 9 | LICENSE="BSD" 10 | SLOT="0" 11 | KEYWORDS="*" 12 | 13 | RDEPEND=" 14 | virtual/openfyde-board-spec 15 | " 16 | 17 | DEPEND="${RDEPEND}" 18 | -------------------------------------------------------------------------------- /virtual/openfyde-board-spec/openfyde-board-spec-0.0.7-r4.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022 Fyde Innovations Limited and the openFyde Authors. 2 | # Distributed under the license specified in the root directory of this project. 3 | 4 | EAPI=7 5 | 6 | DESCRIPTION="empty project" 7 | HOMEPAGE="http://fydeos.com" 8 | 9 | LICENSE="BSD" 10 | SLOT="0" 11 | KEYWORDS="*" 12 | IUSE="kernel-5_4" 13 | 14 | RDEPEND=" 15 | chromeos-base/device-appid 16 | chromeos-base/auto-expand-partition 17 | chromeos-base/apple-touchpad-bcm5974 18 | chromeos-base/amd64-openfyde-spec 19 | sys-firmware/mssl1680-firmware 20 | sys-apps/haveged 21 | chromeos-base/fydeos-gestures-config 22 | media-libs/lpe-support-topology 23 | chromeos-base/intel-lpe-audio-config 24 | chromeos-base/flash_player 25 | chromeos-base/fydeos-input-util 26 | kernel-5_4? ( 27 | net-wireless/rtl8821ce-driver 28 | ) 29 | chromeos-base/vga-switcher 30 | virtual/gentoo-extra-pkgs 31 | virtual/rtl-mtk-usb-dongles 32 | chromeos-base/fydeos-power-daemon-go 33 | net-wireless/rtw8852-firmware 34 | chromeos-base/reven-hwdb 35 | chromeos-base/reven-quirks 36 | sys-firmware/sof-firmware 37 | " 38 | 39 | DEPEND="${RDEPEND}" 40 | -------------------------------------------------------------------------------- /virtual/vulkan-icd/vulkan-icd-1.9-r2.ebuild: -------------------------------------------------------------------------------- 1 | vulkan-icd-1.9.ebuild -------------------------------------------------------------------------------- /virtual/vulkan-icd/vulkan-icd-1.9.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2017 The ChromiumOS Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | # This package indicates the presence of a Vulkan ICD. We need this ebuild 5 | # because libvulkan.so (provided by media-libs/vulkan-loader) does not provide 6 | # a Vulkan implementation. It is merely a loader library for the ICDs, which 7 | # provide the actual implementation. 8 | 9 | EAPI="7" 10 | 11 | DESCRIPTION="Virtual for presence of a Vulkan ICD (Installable Client Driver)" 12 | 13 | LICENSE="metapackage" 14 | SLOT="0" 15 | KEYWORDS="*" 16 | IUSE="" 17 | 18 | # Include the Vulkan loader as a dependency because an ICD is typically not 19 | # useful without it. A Vulkan client can use an ICD directly, without a loader, 20 | # only if (a) the ICD statically exposes its Vulkan entrypoints (most ICDs 21 | # don't) or (b) the client itself implements the loader interface. 22 | RDEPEND=" 23 | media-libs/vulkan-loader 24 | media-libs/mesa-reven[vulkan] 25 | " 26 | DEPEND="" 27 | --------------------------------------------------------------------------------