├── 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 |  
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 |
--------------------------------------------------------------------------------