Attempting to use a stable device path there does not actually work,
so we might as well remove it and hope that directfb can now automatically
detect the touchscreen for osk-sdl.
Most devices do not need to set any of these variables.
directfb can now automatically detect touchscreens, calibration is
only needed for resistive touchscreens and dev_keyboard is unused.
Automatically done using:
- sed -i '/deviceinfo_dev_keyboard=""/d' device-*/deviceinfo
- sed -i '/deviceinfo_dev_touchscreen=""/d' device-*/deviceinfo
- sed -i '/deviceinfo_dev_touchscreen_calibration=""/d' device-*/deviceinfo
Audio stopped working after alsa-lib-1.2.1, this patch fixes it
by adapting it to ucm2 format.
As well as some improvements to HiFi:
- Remove SpeakerMic as it was just HandsetMic without conflict
with Speaker
- Remove some unnecessary conflicts with ports
- Add input/output priorities
Co-Authored-By: Asriel Dreemurr <asriel.danctnix@gmail.com>
This adds basic functionality for the Moto One Hyper.
The device boots with rootfs on sd, booted by 'pmbootstrap flasher boot'.
USB net works, and i can ssh in. There is no framebuffer device, but
weston works with the drm backend instead of fbdev. Touchscreen support
is not implemented yet, but i will update this with support when i get
the chance. Most other functionality either does not seem to work yet or
has not been tested (wifi, audio, modem, etc).
CONFIG options added:
- nvidia tegra partition support (now it's kernel option)
- CONFIG_SECCOMP support (needed for Epiphany and lot of others)
- CONFIG_USER_NS required for bubble wrap (used by Epiphany)
- CONFIG_TEGRA_SOCTHERM as module, required for thermal management
DTS change:
- grouper we all have has codename "tilapia" (w/ GSM), since no-one had "older" grouper
- in future, when we get testing, we'll add "real" grouper (wo/ GSM)
- no functional change in DTS (except wiring SMB347 driver)
Kernel changes:
- added SMB347 driver support (now it's able report charging state)
Signed-off-by: David Heidelberg <david@ixit.cz>
v2:
- Also switch firmware/firmware-asus-flo
- fix linting warnings
device/linux-asus-flo/APKBUILD: IC:[AL6]:device/linux-asus-flo/APKBUILD:36:prefix custom variable with _: HOSTCC="${CC:-gcc}"
IC:[AL6]:device/linux-asus-flo/APKBUILD:37:prefix custom variable with _: HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
IC:[AL6]:device/linux-asus-flo/APKBUILD:39:prefix custom variable with _: ksrcdir="$srcdir/linux-$pkgver"
MC:[AL5]:device/linux-asus-flo/APKBUILD:10:variable set to empty string: depends=""
MC:[AL5]:device/linux-asus-flo/APKBUILD:13:variable set to empty string: install=
MC:[AL5]:device/linux-asus-flo/APKBUILD:30:variable set to empty string: subpackages=""
MC:[AL31]:device/linux-asus-flo/APKBUILD:36:variables must not have capital letters
MC:[AL31]:device/linux-asus-flo/APKBUILD:37:variables must not have capital letters
MP:[AL32]:device/linux-asus-flo/APKBUILD:3:unnecesary usage of braces: ${_flavor}
MP:[AL32]:device/linux-asus-flo/APKBUILD:4:unnecesary usage of braces: ${_flavor}
MP:[AL32]:device/linux-asus-flo/APKBUILD:32:unnecesary usage of braces: ${pkgver}
firmware/firmware-asus-flo/APKBUILD: MC:[AL28]:firmware/firmware-asus-flo/APKBUILD:12:literal integers must not be quoted
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:15:unnecesary usage of braces: ${_url_aosp}
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:15:unnecesary usage of braces: ${_version_broadcom}
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:16:unnecesary usage of braces: ${_url_aosp}
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:16:unnecesary usage of braces: ${_version_qcom}
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:22:unnecesary usage of braces: ${_commit_other}
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:24:unnecesary usage of braces: ${_commit_other}
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:24:unnecesary usage of braces: ${_url_other}
Signed-off-by: David Heidelberg <david@ixit.cz>
The downstream kernel doesn't provide a separate dtb file,
but the experimental mainline kernel does.
Previously, the deviceinfo specified a dtb file for both kernels,
and pmbootstrap ignored the missing file for downstream kernel.
pmbootstrap now errors when the dtb file is missing, so this
fixes the downstream kernel by specifying a dtb file only for
the upstream kernel.
We should do this in the UI packages that need it rather than in the
device packages themselves because for example Phosh doesn't need Ofono
but ModemManager
* move msm-fb-refresher dependency to downstream kernel package,
it is useless on mainline
* disable msm-fb-refresher service when using libhybris
adaptation, it is only required for downstream kernel *without*
libhybris. It interferes with qcom kgsl-adreno driver badly
(causes screen flickering)
* set CPU governor to conservative on system startup (it lowers
CPU frequency in idle state from initial 2.4 Ghz to 300 MHz)
* add hybris_pulse subpackage that gets installed only when
device-samsung-klte-hybris AND pulseaudio are installed. It
pulls in pulseaudio-modules-droid-7.1-caf and alsa integration
* add system.img symlink to lxc-android installation. With this
you can have Android container successfully running already
at the first boot without need to do it manually. Halium
installation process puts your system.img to /data partition
by default, so follow their recommendation. We can use a
symlink to save some space on /system partition.
[ci:skip-build]: already built successfully in CI
The patch set for asus-me176c is really small at this point, and there
is no need to make a new tag for each minor kernel update. Usually the
previous patch set will still apply correctly.
Refactor the APKBUILD to build the kernel similar to linux-lts in Alpine,
and use the original kernel tarball together with a small patch file on top.
Also enable Android-related options in the kernel so we can test
Anbox on asus-me176c.
The Wileyfox Swift is the only mainline MSM8916 device using QCDT
at the moment. The other devices do not have unique qcom,board-ids
that could be used within QCDT.
So far this has worked fine for the Wileyfox Swift. However,
in preparation to *optionally* load the modem we now need two separate
pairs of DTBs (one with modem and one without modem). This is simple
to implement using appended DTBs, but not possible with QCDT.
So let's stop using QCDT entirely for mainline,
and use appended DTBs for wileyfox-crackling.
- use mesa-git (until we have functional mesa-grate-git)
Works:
- USB
- WiFi (tested with IWD) + Bluetooth
- Touchscreen
- Phosh rotation (rootston.ini)
- IIO Light sensor
- NFC
Not works:
- 3D
- GPS
- GSM (tilapia)
- Camera
Signed-off-by: David Heidelberg <david@ixit.cz>
[ci:skip-build]: already built successfully in CI
This enables the out of tree redpine wifi driver currently included in
the Purism kernel that these devices boot.
There's at least one MR @ purism needed before the mainline wifi driver
can be used:
https://source.puri.sm/Librem5/linux-next/merge_requests/66
This is based on input from Sebastian Krzyszkowi.
Flash (split) boot partition to the "APD" partition.
It's a rather useless partition with media files for demo purposes.
Perfect for a small(-ish) boot partition with ~300 MB.
This addresses the issue here, but only for the devkit:
https://source.puri.sm/Librem5/linux-next/issues/114
I didn't patch the dts for the phone because:
1) I don't have one to test
2) it might negatively impact batter life (I'm only speculating)
[ci:skip-build]: already built successfully in CI
Support for the downstream kernel has been removed entirely. This is
because the downstream kernel only has support for the armhf
architecture, whereas linux-postmarketos-qcom-msm8916 is only built
for aarch64. Since pmbootstrap has no way to handle having two
kernels on differing architectures, the decision was made to remove
the downstream kernel and only support mainline.
The Intel graphics in asus-me176c have (incomplete) Vulkan support
in Mesa. Make it possible to use Vulkan by installing the Intel
driver that is necessary for it.
The mesa-dri-intel package is deprecated since it was replaced with
mesa-dri-classic and mesa-dri-gallium. Installing mesa-dri-intel
causes both packages to be installed.
The Intel graphics in asus-me176c are not supported by the new
Gallium "iris" driver, therefore asus-me176c can only use the old
i965 driver available in mesa-dri-classic.
Removing mesa-dri-gallium reduces the disk space needed for a minimal
installation on asus-me176c:
- Before: 329M
- After: 256M (-73M)
mesa-git-dri-gallium covers all Gallium DRI drivers
(including lima and kmsro).
Also mesa-git-dri-gallium now depends directly on all relevant
mesa-git subpackages, so the subpackages do not need to be specified
in each device APKBUILD anymore.
mesa-git-dri-gallium covers all Gallium DRI drivers
(including lima and kmsro).
Also mesa-git-dri-gallium now depends directly on all relevant
mesa-git subpackages, so the subpackages do not need to be specified
in each device APKBUILD anymore.
mesa-git-dri-gallium covers all Gallium DRI drivers
(including lima and kmsro).
Also mesa-git-dri-gallium now depends directly on all relevant
mesa-git subpackages, so the subpackages do not need to be specified
in each device APKBUILD anymore.
This updates the uuu flasher script to conform to what Purism uses, and
changes the package to use the new M4 + uboot image that is generated by
the librem5 u-boot package.
It also changes the kernel/uboot to the 'generic' librem5 kernel/uboot.
The librem5 devkit and phone share the exact same kernel/branch, so this
package is renamed to be a bit more generic, and update to the latest
version in the Purism kernel tree.