mirror of
https://github.com/Fishwaldo/meta-pine64.git
synced 2025-03-15 19:41:59 +00:00
Updates for PtV (#14)
* initial PTV support * Upgrade libinput to 1.23 to fix touchpad problems on PtV * Add Alsa UCM profile for PtV, bump Pipewire Version, Enable Apt Repository for PtV
This commit is contained in:
parent
2990c75af2
commit
994f559c01
28 changed files with 512 additions and 23 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,6 +1,6 @@
|
|||
*.log
|
||||
*~
|
||||
build
|
||||
build*
|
||||
layers
|
||||
meta-*
|
||||
wip/*
|
||||
|
|
52
README.md
52
README.md
|
@ -22,11 +22,12 @@ The Following Images are currently provided:
|
|||
* star64-image-minimal - A CommandLine only image
|
||||
* star64-image-weston - A Weston/Wayland "Demo" image.
|
||||
* star64-image-plasma - A Plasma Based Image.
|
||||
* pinetabv-image-plasma - A Plasma Image for the PineTabV
|
||||
|
||||
All Images contain the necessary patches to the kernel/userspace to support
|
||||
GPU/VPU Acceleration.
|
||||
|
||||
The Kernel used is 5.15.107 - This is due to the GPU Model used in Star64 (BXE-4-32 GPU) (img-rouge) driver not available for more recent kernels yet
|
||||
The [Kernel used is 5.15.107](https://github.com/Fishwaldo/Star64_linux/) - This is due to the GPU Model used in Star64 (BXE-4-32 GPU) (img-rouge) driver not available for more recent kernels yet
|
||||
|
||||
*Warning* - Right now, these images might be a bit unstable as we finetune the image configurations.
|
||||
Running apt upgrade *might* break things.
|
||||
|
@ -35,6 +36,15 @@ Building The Images
|
|||
===================
|
||||
The images are built using the Yocto Project.
|
||||
|
||||
By Default, the images produced are for Star64. You can select different machines by specifing the MACHINE variable as such:
|
||||
|
||||
```bash
|
||||
export MACHINE=<name>
|
||||
```
|
||||
where <name> can be:
|
||||
* star64
|
||||
* pinetabv
|
||||
|
||||
I recommend you build the images in a docker container as there are some dependencies that
|
||||
are dependant upon the host system build tool versions.
|
||||
|
||||
|
@ -52,8 +62,48 @@ You will end up inside the container. From there, you can execute the bitbake co
|
|||
bitbake star64-image-minimal
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```bash
|
||||
MACHINE=pinetabv bitbake pinetabv-image-plasma
|
||||
```
|
||||
|
||||
*Note: This image depends upon your userid/groupid being 1000, if it is not, you would have to rebuild the image with your custom userid*
|
||||
|
||||
## Installing/Building Additional Packages
|
||||
The images produced have a apt repository configured to allow you to install additional packages not included in the image. (There is currently around 10000+ aditional packages available)
|
||||
First run
|
||||
```bash
|
||||
apt update
|
||||
```
|
||||
and then you can search and install additional packages using apt search/apt install.
|
||||
|
||||
*NOTE* These additional packages are not well tested. If you find a package that does not work, please submit a issue request.
|
||||
|
||||
You can locally build additional packages (if they are included in any of the BitBake Layers we use) with the command:
|
||||
|
||||
```bash
|
||||
bitbake <packagename>
|
||||
```
|
||||
|
||||
To see what packages are available, you can use the command
|
||||
|
||||
```bash
|
||||
bitbake-layers show-recipes
|
||||
```
|
||||
or
|
||||
```bash
|
||||
bitbake-layers show-recipes | grep <name>
|
||||
```
|
||||
|
||||
if a Package is not included, you can see if there are any available reciepes already created at https://layers.openembedded.org/layerindex/branch/master/recipes/
|
||||
|
||||
If you find a suitable recipe, depending upon its complexity, requirements, dependancies etc, you can either copy the recipe into the meta-pine64 layer, or add the
|
||||
layer that contains the reciepe using bitbake-layers command. Please consult the Yocto Documentation for more info here.
|
||||
|
||||
|
||||
|
||||
|
||||
## Usernames
|
||||
|
||||
* root/pine64
|
||||
|
|
|
@ -2,7 +2,7 @@ require conf/distro/poky.conf
|
|||
|
||||
DISTRO = "pinix"
|
||||
DISTRO_NAME = "PinIx"
|
||||
DISTRO_VERSION = "1.3"
|
||||
DISTRO_VERSION = "2.0"
|
||||
DISTRO_CODENAME = "pinix"
|
||||
SDK_VENDOR = "-pine64"
|
||||
TARGET_VENDOR = "-pine64"
|
||||
|
|
|
@ -14,7 +14,7 @@ BBLAYERS ?= " \
|
|||
##OEROOT##/../meta-openembedded/meta-oe \
|
||||
##OEROOT##/../meta-openembedded/meta-python \
|
||||
##OEROOT##/../meta-openembedded/meta-networking \
|
||||
##OEROOT##/../meta-openembedded/meta-multimedia \
|
||||
##OEROOT##/../meta-openembedded/meta-filesystems \
|
||||
##OEROOT##/../meta-java \
|
||||
##OEROOT##/../meta-qt5 \
|
||||
##OEROOT##/../yocto-meta-kf5 \
|
||||
|
|
|
@ -2,14 +2,19 @@ Bitbake Setup for PinIx
|
|||
|
||||
Using Shared State Cache at pine64.my-ho.st to speed up builds on x86_64
|
||||
|
||||
By Default, this will create binaries/images for the Star64 Device. To build for different platforms, please use MACHINE="<machinename>" bitbake <command>
|
||||
By Default, this will create binaries/images for the Star64/PineTabv Device. To build for different platforms, please use MACHINE="<machinename>" bitbake <command>
|
||||
|
||||
Machines Supported:
|
||||
* star64
|
||||
* pinetabv
|
||||
|
||||
You can now build. Some sample images:
|
||||
|
||||
* star64-image-minimal
|
||||
* star64-image-weston
|
||||
* star64-image-plasma
|
||||
* pinetabv-image-plasma (with MACHINE=pinetabv)
|
||||
|
||||
Start a build with:
|
||||
|
||||
`bitbake <imagename>` or `bitbake <package>`
|
||||
`bitbake <imagename>` or `bitbake <package>` or `MACHINE=pinetabv bitbake <image/package>`
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
# Apt Repo is disabled in these test images
|
||||
deb [signed-by=/etc/apt/trusted.gpg.d/pinix.gpg] https://pine64.my-ho.st:8443/ pinix all riscv64 pinetabv
|
|
@ -6,6 +6,13 @@ SRC_URI:append:star64 = "\
|
|||
file://sources.list.star64 \
|
||||
https://pine64.my-ho.st:8443/public-key.asc \
|
||||
"
|
||||
|
||||
SRC_URI:append:pinetabv = "\
|
||||
file://sources.list.pinetabv \
|
||||
https://pine64.my-ho.st:8443/public-key.asc \
|
||||
"
|
||||
|
||||
|
||||
SRC_URI[sha256sum] = "8ca5205bcbb703ebe372f40318e748c0b3f1bca64aaf5b8d315eac07e7f95e37"
|
||||
|
||||
CONFFILES:${PN} += " \
|
||||
|
@ -17,12 +24,18 @@ FILES:${PN} += " \
|
|||
${sysconfdir}/apt/trusted.gpg.d/pinix.gpg \
|
||||
"
|
||||
|
||||
do_install:append() {
|
||||
do_install:star64:append() {
|
||||
install -d ${D}/${sysconfdir}/apt/trusted.gpg.d
|
||||
install -m 644 ${WORKDIR}/sources.list.star64 ${D}/${sysconfdir}/apt/sources.list
|
||||
cat ${WORKDIR}/public-key.asc | gpg --dearmor | tee ${D}/${sysconfdir}/apt/trusted.gpg.d/pinix.gpg
|
||||
}
|
||||
|
||||
do_install:pinetabv:append() {
|
||||
install -d ${D}/${sysconfdir}/apt/trusted.gpg.d
|
||||
install -m 644 ${WORKDIR}/sources.list.pinetabv ${D}/${sysconfdir}/apt/sources.list
|
||||
cat ${WORKDIR}/public-key.asc | gpg --dearmor | tee ${D}/${sysconfdir}/apt/trusted.gpg.d/pinix.gpg
|
||||
}
|
||||
|
||||
DEPENDS += " \
|
||||
gnupg-native \
|
||||
"
|
151
recipes-core/packagegroups/packagegroup-pinetabv-plasma.bb
Normal file
151
recipes-core/packagegroups/packagegroup-pinetabv-plasma.bb
Normal file
|
@ -0,0 +1,151 @@
|
|||
DESCRIPTION = "Plasma PineTabV Packages"
|
||||
|
||||
PACKAGE_ARCH = "${TUNE_PKGARCH}"
|
||||
|
||||
inherit packagegroup
|
||||
|
||||
PACKAGES = " \
|
||||
packagegroup-pinetabv-plasma \
|
||||
"
|
||||
RDEPENDS:packagegroup-pinetabv-plasma = " \
|
||||
packagegroup-core-sdk \
|
||||
packagegroup-kde-frameworks5 \
|
||||
packagegroup-kde-gear \
|
||||
packagegroup-star64-minimal \
|
||||
alsa-plugins-pulseaudio-conf \
|
||||
alsa-ucm-conf \
|
||||
bluedevil \
|
||||
breeze \
|
||||
dbus \
|
||||
discover \
|
||||
drkonqi \
|
||||
clinfo \
|
||||
cmake \
|
||||
cups \
|
||||
firewalld-applet \
|
||||
firefox \
|
||||
git \
|
||||
gstreamer1.0 \
|
||||
gstreamer1.0-plugins-base \
|
||||
gstreamer1.0-plugins-good \
|
||||
gstreamer1.0-plugins-bad \
|
||||
gstreamer1.0-plugins-ugly \
|
||||
gstreamer1.0-pipewire \
|
||||
gstreamer1.0-omx \
|
||||
gstreamer1.0-libav \
|
||||
gstreamer1.0-vaapi \
|
||||
iio-sensors-proxy \
|
||||
kactivitymanagerd \
|
||||
kclock \
|
||||
kde-cli-tools \
|
||||
kdecoration \
|
||||
kdeplasma-addons \
|
||||
kdeconnect-kde \
|
||||
kgamma5 \
|
||||
khotkeys \
|
||||
kinfocenter \
|
||||
kirigami-addons \
|
||||
kmenuedit \
|
||||
konsole \
|
||||
konqueror \
|
||||
kpipewire \
|
||||
kscreen \
|
||||
kscreenlocker \
|
||||
ksystemstats \
|
||||
kvantum \
|
||||
kwayland-integration \
|
||||
kweather \
|
||||
kwin \
|
||||
libkscreen \
|
||||
libksysguard \
|
||||
liberation-fonts \
|
||||
mesa-demos \
|
||||
milou \
|
||||
pipewire \
|
||||
pipewire-alsa \
|
||||
pipewire-alsa-card-profile \
|
||||
pipewire-modules-access \
|
||||
pipewire-modules-adapter \
|
||||
pipewire-modules-client-device \
|
||||
pipewire-modules-echo-cancel \
|
||||
pipewire-modules-fallback-sink \
|
||||
pipewire-modules-filter-chain \
|
||||
pipewire-modules-link-factory \
|
||||
pipewire-modules-loopback \
|
||||
pipewire-modules-meta \
|
||||
pipewire-modules-metadata \
|
||||
pipewire-modules-portal \
|
||||
pipewire-modules-profiler \
|
||||
pipewire-modules-protocol-pulse \
|
||||
pipewire-modules-protocol-simple \
|
||||
pipewire-spa-plugins-volume \
|
||||
pipewire-spa-plugins-videotestsrc \
|
||||
pipewire-spa-plugins-videoconvert \
|
||||
pipewire-spa-plugins-v4l2 \
|
||||
pipewire-spa-plugins-support \
|
||||
pipewire-spa-plugins-meta \
|
||||
pipewire-spa-plugins-journal \
|
||||
pipewire-spa-plugins-dbus \
|
||||
pipewire-spa-plugins-control \
|
||||
pipewire-spa-plugins-codec-bluez5-sbc \
|
||||
pipewire-spa-plugins-codec-bluez5-faststream \
|
||||
pipewire-spa-plugins-bluez5 \
|
||||
pipewire-spa-plugins-audiotestsrc \
|
||||
pipewire-spa-plugins-audiomixer \
|
||||
pipewire-spa-plugins-audioconvert \
|
||||
pipewire-spa-plugins-alsa \
|
||||
pipewire-spa-plugins-aec-null \
|
||||
pipewire-modules-session-manager \
|
||||
pipewire-pulse \
|
||||
pipewire-spa-tools \
|
||||
pipewire-tools \
|
||||
pipewire-v4l2 \
|
||||
plasma-desktop \
|
||||
plasma-integration \
|
||||
plasma-nano \
|
||||
plasma-nm \
|
||||
plasma-pa \
|
||||
plasma-workspace \
|
||||
plasma-settings \
|
||||
plasma-systemmonitor \
|
||||
plasma-vault \
|
||||
plasma-workspace-wallpapers \
|
||||
plasma-firewall \
|
||||
plasma-sdk \
|
||||
plasma-disks \
|
||||
plasma-browser-integration \
|
||||
plasma-welcome \
|
||||
polkit-kde-agent-1 \
|
||||
powerdevil \
|
||||
sddm \
|
||||
sddm-kcm \
|
||||
systemd \
|
||||
systemsettings \
|
||||
ttf-noto \
|
||||
udisks2 \
|
||||
upower \
|
||||
wayland \
|
||||
wings-theme \
|
||||
wireplumber \
|
||||
wireplumber-modules-default-nodes \
|
||||
wireplumber-modules-default-nodes-api \
|
||||
wireplumber-modules-default-profile \
|
||||
wireplumber-modules-file-monitor-api \
|
||||
wireplumber-modules-logind \
|
||||
wireplumber-modules-lua-scripting \
|
||||
wireplumber-modules-meta \
|
||||
wireplumber-modules-metadata \
|
||||
wireplumber-modules-mixer-api \
|
||||
wireplumber-modules-portal-permissionstore \
|
||||
wireplumber-modules-reserve-device \
|
||||
wireplumber-modules-si-audio-adapter \
|
||||
wireplumber-modules-si-audio-endpoint \
|
||||
wireplumber-modules-si-node \
|
||||
wireplumber-modules-si-standard-link \
|
||||
vlc \
|
||||
xdg-desktop-portal-kde \
|
||||
xserver-xorg-extension-glx \
|
||||
xf86-video-modesetting \
|
||||
"
|
||||
|
||||
COMPATIBLE_MACHINE = "pinetabv"
|
|
@ -44,4 +44,7 @@ RDEPENDS:packagegroup-star64-minimal = " \
|
|||
git \
|
||||
cmake \
|
||||
meson \
|
||||
tree \
|
||||
"
|
||||
|
||||
COMPATIBLE_MACHINE = "star64|pinetabv"
|
|
@ -142,3 +142,5 @@ RDEPENDS:packagegroup-star64-plasma = " \
|
|||
xserver-xorg-extension-glx \
|
||||
xf86-video-modesetting \
|
||||
"
|
||||
|
||||
COMPATIBLE_MACHINE = "star64"
|
|
@ -17,3 +17,5 @@ RDEPENDS:packagegroup-star64-weston = " \
|
|||
firefox \
|
||||
mesa-demos \
|
||||
"
|
||||
|
||||
COMPATIBLE_MACHINE = "star64"
|
||||
|
|
|
@ -8,7 +8,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
|
|||
ALLOW_EMPTY:${PN} = "1"
|
||||
|
||||
pkg_postinst_ontarget:${PN}() {
|
||||
root=`lsblk -o NAME,LABEL -r | grep root | awk -F' ' '{print $1}'`
|
||||
root=$(eval $(lsblk -oMOUNTPOINT,NAME -P -M | grep 'MOUNTPOINT="/"'); echo $NAME)
|
||||
if [[ "$root" == *"mmcblk"* ]]; then
|
||||
echo "Resizing $root partition to fill SDCard..."
|
||||
psplash-write "MSG Resizing $root partition to fill SDCard..." || true
|
||||
|
|
19
recipes-core/star64-image/pinetabv-image-plasma.bb
Normal file
19
recipes-core/star64-image/pinetabv-image-plasma.bb
Normal file
|
@ -0,0 +1,19 @@
|
|||
SUMMARY = "KDE Plasma image for PineTabV"
|
||||
|
||||
require star64-image-minimal.bb
|
||||
|
||||
|
||||
IMAGE_FEATURES += "splash \
|
||||
package-management \
|
||||
ssh-server-openssh \
|
||||
hwcodecs \
|
||||
"
|
||||
|
||||
LICENSE = "MIT"
|
||||
|
||||
|
||||
IMAGE_INSTALL:append = " \
|
||||
packagegroup-pinetabv-plasma \
|
||||
"
|
||||
|
||||
COMPATIBLE_MACHINE = "pinetabv"
|
|
@ -2,6 +2,7 @@ SUMMARY = "A small commandline only image for Star64"
|
|||
|
||||
inherit core-image extrausers
|
||||
|
||||
DEPENDS:append:star64 = " jh7110-spl-tool-native"
|
||||
|
||||
IMAGE_INSTALL:append = "packagegroup-core-boot \
|
||||
packagegroup-core-full-cmdline \
|
||||
|
@ -29,5 +30,12 @@ PASSWD = "\$5\$svJwM1eWQPV5bb\$CgKgw8mrSVcZEBPR1re37qeShy/scdk5GMbKZaSln74"
|
|||
EXTRA_USERS_PARAMS = "\
|
||||
useradd -p '${PASSWD}' pine64; \
|
||||
usermod -p '${PASSWD}' root; \
|
||||
groupmod -a pine64 wheel; \
|
||||
groupmod -a -U pine64 wheel; \
|
||||
"
|
||||
|
||||
# We need to apply a fixup inside of the partition table
|
||||
IMAGE_CMD:wic:append:star64() {
|
||||
# Change partition type for mxs processor family
|
||||
bbnote "Fixing up image for emmc boot"
|
||||
spl_tool -i -f $out${IMAGE_NAME_SUFFIX}.wic
|
||||
}
|
|
@ -15,3 +15,5 @@ LICENSE = "MIT"
|
|||
IMAGE_INSTALL:append = " \
|
||||
packagegroup-star64-plasma \
|
||||
"
|
||||
|
||||
COMPATIBLE_MACHINE = "star64"
|
6
recipes-graphics/libinput/libinput/50-system-pinetab.quirks
Executable file
6
recipes-graphics/libinput/libinput/50-system-pinetab.quirks
Executable file
|
@ -0,0 +1,6 @@
|
|||
[PineTab2 and PineTabV TouchPad]
|
||||
MatchVendor=0x1018
|
||||
MatchProduct=0x1006
|
||||
MatchUdevType=touchpad
|
||||
MatchBus=usb
|
||||
AttrEventCode=-BTN_RIGHT
|
54
recipes-graphics/libinput/libinput_1.23.0.bb
Normal file
54
recipes-graphics/libinput/libinput_1.23.0.bb
Normal file
|
@ -0,0 +1,54 @@
|
|||
SUMMARY = "Library to handle input devices in Wayland compositors"
|
||||
DESCRIPTION = "libinput is a library to handle input devices in Wayland \
|
||||
compositors and to provide a generic X.Org input driver. It provides \
|
||||
device detection, device handling, input device event processing and \
|
||||
abstraction so minimize the amount of custom input code compositors need to \
|
||||
provide the common set of functionality that users expect."
|
||||
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/"
|
||||
SECTION = "libs"
|
||||
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=bab4ac7dc1c10bc0fb037dc76c46ef8a"
|
||||
|
||||
DEPENDS = "libevdev udev mtdev libcheck"
|
||||
|
||||
SRC_URI = "git://gitlab.freedesktop.org/libinput/libinput.git;protocol=https;branch=main \
|
||||
file://50-system-pinetab.quirks \
|
||||
"
|
||||
|
||||
SRCREV = "0b005eb64b12603e65a620a77c67ec62fd03f413"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
|
||||
|
||||
inherit meson pkgconfig lib_package ptest
|
||||
|
||||
# Patch out build directory, otherwise it leaks into ptest binary
|
||||
do_configure:append() {
|
||||
sed -i -e "s,${WORKDIR},,g" config.h
|
||||
if [ -e "litest-config.h" ]; then
|
||||
sed -i -e "s,${WORKDIR},,g" litest-config.h
|
||||
fi
|
||||
}
|
||||
|
||||
PACKAGECONFIG ??= ""
|
||||
PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom"
|
||||
PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3"
|
||||
|
||||
UDEVDIR = "`pkg-config --variable=udevdir udev`"
|
||||
|
||||
EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \
|
||||
-Ddocumentation=false \
|
||||
${@bb.utils.contains('PTEST_ENABLED', '1', '-Dtests=true -Dinstall-tests=true', '-Dtests=false -Dinstall-tests=false', d)} \
|
||||
-Dzshcompletiondir=no"
|
||||
|
||||
do_install:append() {
|
||||
install -m 0644 ${WORKDIR}/50-system-pinetab.quirks ${D}${datadir}/libinput/
|
||||
}
|
||||
|
||||
# package name changed in 1.8.1 upgrade: make sure package upgrades work
|
||||
RPROVIDES:${PN} = "libinput"
|
||||
RREPLACES:${PN} = "libinput"
|
||||
RCONFLICTS:${PN} = "libinput"
|
||||
|
||||
FILES:${PN}-ptest += "${libexecdir}/libinput/libinput-test-suite"
|
58
recipes-multimedia/alsa-ucm-conf/alsa-ucm-conf/HiFi.conf
Normal file
58
recipes-multimedia/alsa-ucm-conf/alsa-ucm-conf/HiFi.conf
Normal file
|
@ -0,0 +1,58 @@
|
|||
# Reference:
|
||||
# https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/-/blob/4b4206c57b21044bf9c00848bd1f8b6f710d19eb/asound.state
|
||||
# https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-audio/-/blob/1f567db09495acc3beb5405c9ef85c3c07b86785/audio_jack_plugged_in.sh
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speaker"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Speaker Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Speaker Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
PlaybackMixerElem "Headphone Mixer"
|
||||
PlaybackMasterElem "DAC"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Internal Microphone"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Differential Mux' lin1-rin1"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId}"
|
||||
CaptureMixerElem "ADC PGA Gain"
|
||||
CaptureMasterElem "ADC"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
PlaybackMixerElem "Headphone Mixer"
|
||||
PlaybackMasterElem "DAC"
|
||||
JackControl "Headphones Jack"
|
||||
JackHWMute "Speaker"
|
||||
}
|
||||
}
|
10
recipes-multimedia/alsa-ucm-conf/alsa-ucm-conf/asound.conf
Normal file
10
recipes-multimedia/alsa-ucm-conf/alsa-ucm-conf/asound.conf
Normal file
|
@ -0,0 +1,10 @@
|
|||
pcm.!default {
|
||||
type hw
|
||||
card Pine64PineTabV
|
||||
device 1
|
||||
}
|
||||
|
||||
ctl.!default {
|
||||
type hw
|
||||
card Pine64PineTabV
|
||||
}
|
29
recipes-multimedia/alsa-ucm-conf/alsa-ucm-conf/es8316.conf
Normal file
29
recipes-multimedia/alsa-ucm-conf/alsa-ucm-conf/es8316.conf
Normal file
|
@ -0,0 +1,29 @@
|
|||
Syntax 3
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Pine64/PineTabV/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
||||
|
||||
BootSequence [
|
||||
# Disable all outputs
|
||||
cset "name='Speaker Switch' on"
|
||||
|
||||
# Set HP vol to 0 dB (3/3)
|
||||
cset "name='Headphone Playback Volume' 2"
|
||||
# Set HP mixer vol to 0 dB
|
||||
cset "name='Headphone Mixer Volume' 11"
|
||||
# Set DAC vol to 0 dB (192/192)
|
||||
cset "name='DAC Playback Volume' 192"
|
||||
|
||||
# Disable Auto Level Control
|
||||
cset "name='ALC Capture Switch' off"
|
||||
# Set ADC vol to 0 dB (192/192)
|
||||
cset "name='ADC Capture Volume' 192"
|
||||
# Set Mic amplifier to +16 dB
|
||||
cset "name='ADC PGA Gain Volume' 7"
|
||||
|
||||
# Setup muxes / switches
|
||||
cset "name='Left Headphone Mixer Left DAC Switch' on"
|
||||
cset "name='Right Headphone Mixer Right DAC Switch' on"
|
||||
]
|
19
recipes-multimedia/alsa-ucm-conf/alsa-ucm-conf_%.bbappend
Normal file
19
recipes-multimedia/alsa-ucm-conf/alsa-ucm-conf_%.bbappend
Normal file
|
@ -0,0 +1,19 @@
|
|||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
SRC_URI:append:pinetabv = "\
|
||||
file://es8316.conf \
|
||||
file://HiFi.conf \
|
||||
file://asound.conf \
|
||||
"
|
||||
|
||||
do_install:append:pinetabv() {
|
||||
install -d ${D}${datadir}/alsa/ucm2/Pine64/PineTabV
|
||||
install -m 0644 ${WORKDIR}/es8316.conf ${D}${datadir}/alsa/ucm2/Pine64/PineTabV/es8316.conf
|
||||
install -m 0644 ${WORKDIR}/HiFi.conf ${D}${datadir}/alsa/ucm2/Pine64/PineTabV/HiFi.conf
|
||||
install -d ${D}${datadir}/alsa/ucm2/conf.d/simple-card
|
||||
cd ${D}${datadir}/alsa/ucm2/conf.d/simple-card
|
||||
ln -s ../../Pine64/PineTabV/es8316.conf Pine64,PineTabV.conf
|
||||
install -d ${D}${sysconfdir}
|
||||
install -m 0644 ${WORKDIR}/asound.conf ${D}${sysconfdir}/asound.conf
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
SRC_URI:append:riscv64 = "\
|
||||
SRC_URI:append:jh7110 = "\
|
||||
file://0002-add-Starfive-OMX-patches.patch \
|
||||
"
|
||||
#file://0001-fix-chromium.patch
|
||||
|
|
|
@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = " \
|
|||
|
||||
DEPENDS = "dbus ncurses"
|
||||
|
||||
SRCREV = "9f7d60c1e84cc0481afc3f6ccf76e127567943a8"
|
||||
SRCREV = "31cd694602cc37ada3a6d02a5a381f4e3933ecef"
|
||||
SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
@ -48,7 +48,7 @@ SYSTEMD_PACKAGES = "${PN}"
|
|||
# it just prevents this subproject feature.
|
||||
#
|
||||
# AptX and LDAC are not available in OE. Currently, neither
|
||||
# are lv2 and ROC.
|
||||
# are lv2, ROC, and libmysofa.
|
||||
#
|
||||
# The RTKit module is deprecated in favor of the newer RT module.
|
||||
# It still exists for legacy setups that still include it in
|
||||
|
@ -66,6 +66,7 @@ EXTRA_OEMESON += " \
|
|||
-Dbluez5-codec-aptx=disabled \
|
||||
-Dbluez5-codec-ldac=disabled \
|
||||
-Dlegacy-rtkit=false \
|
||||
-Dlibmysofa=disabled \
|
||||
"
|
||||
|
||||
# spa alsa plugin code uses typedef redefinition, which is officially a C11 feature.
|
||||
|
@ -87,7 +88,7 @@ PACKAGECONFIG:class-target ??= " \
|
|||
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'alsa vulkan pulseaudio', d)} \
|
||||
${PIPEWIRE_SESSION_MANAGER} \
|
||||
${FFMPEG_AVAILABLE} avahi flatpak gstreamer gsettings jack libusb pw-cat raop sndfile v4l2 udev volume webrtc-echo-cancelling libcamera \
|
||||
${FFMPEG_AVAILABLE} avahi flatpak gstreamer gsettings jack libusb pw-cat raop sndfile v4l2 udev volume webrtc-echo-cancelling libcamera readline \
|
||||
"
|
||||
|
||||
# "jack" and "pipewire-jack" packageconfigs cannot be both enabled,
|
||||
|
@ -100,6 +101,11 @@ PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi"
|
|||
PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc"
|
||||
PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac"
|
||||
PACKAGECONFIG[bluez-opus] = "-Dbluez5-codec-opus=enabled,-Dbluez5-codec-opus=disabled,libopus"
|
||||
PACKAGECONFIG[bluez-lc3] = "-Dbluez5-codec-lc3=enabled,-Dbluez5-codec-lc3=disabled,liblc3"
|
||||
# From the pipewire git log:
|
||||
# "Some Linux phones doesn't use oFono but ModemManager to control the modem."
|
||||
# This packageconfig enables modemmanager specific code in the BlueZ backend.
|
||||
PACKAGECONFIG[bluez-backend-native-mm] = "-Dbluez5-backend-native-mm=enabled,-Dbluez5-backend-native-mm=disabled,modemmanager"
|
||||
PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native graphviz-native"
|
||||
PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg"
|
||||
PACKAGECONFIG[flatpak] = "-Dflatpak=enabled,-Dflatpak=disabled,glib-2.0"
|
||||
|
@ -115,6 +121,9 @@ PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled
|
|||
PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,pipewire-jack,jack"
|
||||
PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled"
|
||||
PACKAGECONFIG[raop] = "-Draop=enabled,-Draop=disabled,openssl"
|
||||
# Starting with version 0.3.60, readline usage can be turned off in pw-cli.
|
||||
# If it is disabled, getline() is used as a fallback.
|
||||
PACKAGECONFIG[readline] = "-Dreadline=enabled,-Dreadline=disabled,readline"
|
||||
PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,libsdl2"
|
||||
PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
|
||||
PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
|
||||
|
@ -241,6 +250,7 @@ PACKAGES =+ "\
|
|||
${PN}-modules-meta \
|
||||
${PN}-alsa-card-profile \
|
||||
${PN}-v4l2 \
|
||||
${PN}-aes67 \
|
||||
gstreamer1.0-pipewire \
|
||||
"
|
||||
|
||||
|
@ -255,8 +265,6 @@ FILES:${PN} = " \
|
|||
${systemd_user_unitdir} \
|
||||
${bindir}/pipewire \
|
||||
${bindir}/pipewire-avb \
|
||||
${bindir}/pipewire-aes67 \
|
||||
${sysconfdir}/security/limits.d \
|
||||
"
|
||||
|
||||
RRECOMMENDS:${PN}:class-target += " \
|
||||
|
@ -350,6 +358,7 @@ RRECOMMENDS:${PN}-modules += "${PN}-modules-meta"
|
|||
CONFFILES:${PN}-modules-rt = "${datadir}/pipewire/client-rt.conf"
|
||||
FILES:${PN}-modules-rt += " \
|
||||
${datadir}/pipewire/client-rt.conf \
|
||||
${sysconfdir}/security/limits.d/* \
|
||||
"
|
||||
|
||||
CONFFILES:${PN}-modules-filter-chain = "${datadir}/pipewire/filter-chain/*"
|
||||
|
@ -368,6 +377,11 @@ FILES:${PN}-v4l2 += " \
|
|||
${libdir}/${PW_MODULE_SUBDIR}/v4l2/libpw-v4l2.so \
|
||||
"
|
||||
|
||||
# AES67 is a standard for audio over IP, from the Audio Engineering Society (AES).
|
||||
FILES:${PN}-aes67 += " \
|
||||
${bindir}/pipewire-aes67 \
|
||||
"
|
||||
|
||||
FILES:gstreamer1.0-pipewire = " \
|
||||
${libdir}/gstreamer-1.0/* \
|
||||
"
|
|
@ -18,3 +18,5 @@ PACKAGECONFIG:append = " icu ffmpeg harfbuzz opus libwebp libvpx libevent libpng
|
|||
DEPENDS:append:riscv64 = " libwebp-native harfbuzz-native"
|
||||
|
||||
COMPATIBLE_MACHINE:riscv64 = "(jh7110)"
|
||||
|
||||
PARALLEL_MAKE:pn-qtwebengine = "-j 10"
|
||||
|
|
34
recipes-support/iio-sensors-proxy/iio-sensors-proxy_3.4.bb
Normal file
34
recipes-support/iio-sensors-proxy/iio-sensors-proxy_3.4.bb
Normal file
|
@ -0,0 +1,34 @@
|
|||
SECTION = "base"
|
||||
DESCRIPTION = "IIO accelerometer sensor to input device proxy."
|
||||
|
||||
LICENSE = "GPL-3.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
|
||||
|
||||
SRC_URI = " \
|
||||
git://gitlab.freedesktop.org/hadess/iio-sensor-proxy.git;branch=master;protocol=https \
|
||||
"
|
||||
|
||||
SRCREV = "cd6d5e653ef33f6e824e2f7f2ee61e330d4932ac"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
||||
inherit meson
|
||||
inherit gettext
|
||||
inherit pkgconfig
|
||||
inherit systemd
|
||||
|
||||
DEPENDS = " \
|
||||
udev \
|
||||
systemd \
|
||||
libgudev \
|
||||
polkit \
|
||||
"
|
||||
|
||||
|
||||
#EXTRA_OEMESON = "--disable-gtk-doc --disable-gtk-tests"
|
||||
|
||||
FILES:${PN} += " \
|
||||
${systemd_unitdir} \
|
||||
${datadir}/polkit-1/actions/ \
|
||||
"
|
|
@ -5,9 +5,15 @@ SRC_URI:append:star64 = "\
|
|||
file://sddm.conf \
|
||||
"
|
||||
|
||||
SRC_URI:append:pinetabv = "\
|
||||
file://sddm.conf \
|
||||
"
|
||||
|
||||
CONFFILES:${PN} += "${sysconfdir}/sddm.conf"
|
||||
FILES:${PN} += "${sysconfdir}/sddm.conf"
|
||||
|
||||
do_install:append() {
|
||||
install -m 644 ${WORKDIR}/sddm.conf ${D}/${sysconfdir}/
|
||||
}
|
||||
|
||||
COMPATIBLE_MACHINE = "(star64|pinetabv)"
|
||||
|
|
2
setup.sh
2
setup.sh
|
@ -25,7 +25,7 @@ echo "Setting up PinIx Yocto Build"
|
|||
declare -A layers
|
||||
layers['poky']='git://git.yoctoproject.org/poky|kirkstone|4cc0e9438b450b43749730e128b6b9adb30f9663'
|
||||
layers['meta-openembedded']='https://github.com/openembedded/meta-openembedded|kirkstone|571e36e20e9d1f27af0eb4545291beeb64f280e2'
|
||||
layers['meta-riscv']='https://github.com/Fishwaldo/meta-riscv.git|master|2a27909f0d3655f563464b6abb14b471944105eb'
|
||||
layers['meta-riscv']='https://github.com/Fishwaldo/meta-riscv.git|master|8ab08c866bd6e86c51679d4825ebe4d290fa2419'
|
||||
layers['meta-qt5']='https://github.com/meta-qt5/meta-qt5.git|master|cf6ffcbad5275a3428f6046468a0c9d572e813d1'
|
||||
layers['yocto-meta-kf5']='https://github.com/Fishwaldo/yocto-meta-kf5.git|master|104abe6793180bac03f36fb59355abc8778e3ffd'
|
||||
layers['yocto-meta-kde']='https://github.com/Fishwaldo/yocto-meta-kde.git|master|1ba0b84e783b4a5ec83cf883181622538566eb9c'
|
||||
|
|
Loading…
Add table
Reference in a new issue