Hello there, DragonX256 here.
For now, this tablet only have flashing, USB net, display and touchscreen.
I will try to add other features soon, or, if I fail enough, switch to mainlining immediately :D
Update ov5640 autofocus related patch. We had it working with Martijn's
patch in 5.9.1_git20201019-r2 (MR 1654), but then dropped the patch in
favor of the patch that was added to megi's tree in 5.9.3_git20201101
(MR 1678).
It turns out that the patch added to megi's tree was different than the
patch we were carrying, it was a WIP version where loading the autofocus
firmware did not work anymore.
Megi decided to drop the autofocus patch from his tree for now, as the
firmware uploader takes more time in Martijn's proper patch. According
to Martijn it takes about a second, which seems reasonable for the
postmarketOS use case. I've added the previous version again as
out-of-tree patch.
Martijn found that for some reason the continuous autofocus still
doesn't want to start with this kernel and current patch version, as for
some reason the firmware load fails. But he extended the patch to make
autofocus work again with "tap to focus" at least.
0005-dts-pinephone-Disable-flash-led-in-OV5640-node.patch is not needed
anymore, the same change is in megi's tree.
Co-Authored-By: Martijn Braam <martijn@brixit.nl>
[ci:skip-build]: already built successfully in CI
Fall back to gcc6, because wlan module compiled with gcc10 fails to
initialize with `module wlan: overflow in relocation type 261 val ffffffbffc000000`
error.
Explicitly add gcc-aarch64 in makedepends, because of gcc6 present, seems
like gcc dependencies not resolved correctly
[ci:skip-build]: already built successfully in CI
When using '[ci:skip-build]' without any changed packages, do not
attempt to run "pmbootstrap checksum" without any package arguments.
This may happen, because CI in MRs runs across all patches in the MR,
but CI on branches (master, v20.05) only run on the last commit.
Prevents CI failures like this one:
https://gitlab.com/postmarketOS/pmaports/-/commit/9a48b41a2362ba0dd2b0901cae966011b37d1856
Flashing linux-postmarketos-exynos4 to the i9100 requires pmbootstrap MR
1986.
[ci:skip-vercheck]: linux-samsung-i9300: 3.0.101-r1 instead of -r0 is
not a mistake, the linting error fixes are in a separate commit with
their own pkgrel bump. I decided to leave that in its own commit instead
of squashing together with the other commit (as we usually do), because
the linting fixes are quite a lot and it makes the log more readable.
[ci:skip-build]: already built successfully in CI
The existing device package and its dependencies are for i9305, but
renaming them to i9300 makes more sense, as the i9300 is the base
version (SIII) and the i9305 (SIII LTE) is the improved version.
The devices supported by this package are Galaxy S3 (GT-I9300, GT-I9305,
SHV-E210K/L/S) and the Galaxy Note 2 (GT-N7100, GT-N7105) - a family of
boards also known by the codename "Midas" - and the Galaxy S2 (GT-I9100)
From this list, only the i9100 doesn't support the bootimg method.
Because of this, this kernel package is using the isorec method for all
the devices on the list. Additionally, for the midas devices, there is
no problem with this because the boot.img file is, in fact, a copy of
the kernel+initramfs on the pmos boot partition and what the isorec
initramfs does is actually to load the initramfs on that partition
directly (at least on my understanding).
Currently phosh is broken in postmarketOS edge. Fork wlroots from Alpine
and revert the new consistency check that results in the breakage. I've
submitted the same to Alpine, but let's get it in pmOS now so it is
fixed ASAP.
Alpine MR: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/14522
[ci:skip-vercheck]: new package added with -r1 on purpose
Removed 2 actions cause future suspends to trigger a kernel bug that
ends up spamming the kernel log with "ehci-platform 1c1b000.usb: port 1
resume error -110" and eventually makes the device not respond to any
input or hang in shutdown/reboot.
Workaround for issue: #848
Co-Authored-By: Oliver Smith <ollieparanoid@postmarketos.org>
Since the installer leaves the partition in a state where the initramfs
needs to resize it. But without the force parameter the postmarketOS
initramfs won't touch the partitions
Mostly the GCC10 yylloc failure was seen but several others have been
observed:
* wireguard script was silently failing
* several gcc10 x86 errors
* a checksum from kernel.org has changed
Now we have 3 different gcc10 yylloc patches:
gcc10-extern_YYLOC_global_declaration.patch:
Linux < 4.2
linux4.2-gcc10-extern_YYLOC_global_declaration.patch:
Linux 4.2+
linux4.17-gcc10-extern_YYLOC_global_declaration.patch:
Linux 4.17+
[ci:skip-build]
[ci:ignore-count]
[ci:skip-vercheck]
Use the dtb-appended kernel file, e.g. postmarketos-exynos4-dtb instead
of postmarketos-exynos4, if it is available. This is needed to flash a
mainline kernel with appended dtb to isorec devices.
With these kernel sources the device boots successfully,
sometimes. Usually, kernel panics and device reboots a couple of
times, but after a few attempts (maybe 1, maybe 7) it succeeds to
boot. The problems seem to be related to FIMC IS, unfortunately it
does not seem to be possible to just disable it in the kernel config,
as that leads to compilation errors.
I have so far just experimented with getting wifi up and running, but
it does not work out of the box even after adding firmware package
with files from TheMuppets, wpa_supplicant fails to connect and dmesg
is filed with lines like:
```
[ 112.509235] [L0: wl_event_handle: 3109] CFG80211-INFO2) wl_escan_handler : Couldn't find P2PIE in probe response/beacon
```
[ci:skip-build]: already built successfully in CI
plasma-nano (albeit saying it is 5.20.1) is pointing to the master branch
and kept as-is (there is no updates in master and I don't see a reason to
downgrade it to the actual 5.20.2 tag which is a few small commits behind
the master).
Upstream keeps making breaking changes in patch releases.
Let's fork alsa-ucm-conf entirely for now instead of just patching
in some files to ensure that these files don't break every few months.
This fixes audio on MSM8916 devices when not using the modem.
This patches from the megi solves the issue of the MIPI-DSI panels
framerate being at 2/3rd of actual or expected rate.
[ci:skip-build]: already built successfully in CI
This subpackage was removed when a proper fix for suspend was merged,
however apk doesn't know to purge this subpackage, so the old elogind
hook workaround stuck around. This workaround could probably be removed
once we're sure all folks on edge have installed this upgraded package
with the 'provides'...
Squeekboard >= 0.10.0 looks for an a11y setting to determine if it
should show up on the screen. This sets the config setting to 'true' so
that it shows up by default. It can apparently be toggled off in Gnome
Settings, but I haven't found the UI switch to do that yet..
Remove patches:
'0001-gtk-meson.build-add-new-hdy-files.patch' and
'10-Revert-gdkseatdefault-Grab-touch-events-where-applic.patch'
appear in the code downloaded from Purism at precisely the
location of the patches.
[ci:skip-build]: already built successfully in CI
- re-enable console suspend, which seems to be broken with elogind when
suspending (kernel gets hung up indefinitely in vt_waitactive)
- add a suspend hook to work around the musb driver not allowing the
device to suspend
Based on my testing, this option seems to prevent suspending via
elogind (using `loginctl suspend`). When console suspend is disabled,
the kernel gets hung up in the call to vt_waitactive, and elogind times
out trying to suspend.
On some downstream kernels it seems like we need to explicitly keep
/dev/subsys_modem open (without writing anything), otherwise the modem
will be stopped (or never started). Weird.
The -s switch to automatically start/stop the modem remoteproc only
works on mainline, on downstream it fails with "Failed to get rprocfd".
Let's abuse /usr/lib/preload/libqipcrtr4msmipc.so to check if we are
(probably) running on a downstream installation, and omit the -s
argument in this case. The modem remoteproc needs to be started
differently on downstream.
qrtr-ns is not needed (or working) on downstream, also it is no longer
needed for mainline starting with Linux 5.9. Convert the "need" dependency
to a "use" so qrtr-ns is only started if it is really needed.
In most cases, the qrtr-ns is not needed anymore now, but we still
need the libqrtr library. Separate that out into a separate package
so it can be installed independently.
qrtr-ns is now part of the Linux kernel (as of version 5.9), so
there is no need to start it in userspace anymore. It does not seem
to be needed (or working) on downstream either.
linux-postmarketos-qcom-msm8996 is the only mainline kernel which
is still on < 5.9. In preparation to make the qrtr dependency optional
for rmtfs, let's explicitly enable qrtr-ns for MSM8996 devices to avoid
causing regressions.
For some reason, the ModemManager build tends to freeze when built
with QEMU user emulation for arm*. Changing the build to use a single
thread only (-j1) avoids that, although the build is slower of course.
Also limit building to "armhf armv7 aarch64" since the forks are not
needed on any other architectures, to reduce build times a bit. The
other architectures can just use the upstream packages from Alpine.
This allows to connect the modem to the Internet with oFono.
I have verified that this does not break anything if the "rmnet0"
network interface is missing. Plus, all mainline devices currently
covered by the package should also be able to use the new "BAM DMUX"
network driver that is used as network interface to the modem.
(Note: This works differently on newer SoCs, but they also need
something different in oFono...)
Most older Qualcomm SoCs (e.g. MSM8916, MSM8974, ...) communicate
with the modem through shared memory. On mainline kernels these
shared memory channels are exposed through the RPMSG subsystem.
This is different from communication through USB or serial interfaces
that are currently supported by ModemManager.
This commit forks the "modemmanager" package from Alpine and adds
a patch that allows ModemManager to talk to modems through the RPMSG
subsystem.
Working functionality: Calls, SMS, Mobile Data
The same patch has also been submitted upstream:
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/363
So far we have only created /dev/modem based on the DATA5_CNTL
channel available from the modem. The DATAX_CNTL channels allow
sending QMI messages to the modem. This is sufficient for oFono
to work.
Unfortunately, ModemManager currently does not support starting
calls through the QMI interface. Instead, it uses serial AT commands
that can be alternatively used on all USB-based Qualcomm modems.
It turns out that we can also send serial AT commands through
the RPMSG interface: the DATAX channels (without _CNTL) all respond
to serial AT commands. We set it up at /dev/modem-at, configure
ModemManager accordingly and then we are able to start calls. Yay!
For some reason, the ModemManager build tends to freeze when built
with QEMU user emulation for arm*. Changing the build to use a single
thread only (-j1) avoids that, although the build is slower of course.
The same thing seems to happen fo oFono as well, so set that to -j1 too.
Also limit building to "armhf armv7 aarch64" since the forks are not
needed on any other architectures, to reduce build times a bit. The
other architectures can just use the upstream packages from Alpine.
Update to kernel 5.9 with the following changes:
* Change tri-state key to macro keys instead of 'A', 'B' and 'C' keys.
[ci:skip-build]: already built successfully in CI
Switch from the 5.8.x kernel with allwinner specific patches to megi's
5.9 based tree. He drives the PinePhone related kernel development
forward like no other, his tree and changes are well documented on
xnux.eu, and he frequently publishes tested "build this one" commits with
the latest improvements. It makes a faster and less time consuming
workflow to simply package these versions (after a smoke test) into
postmarketOS edge, and after some time to catch possible regressions
ship the same version in postmarketOS stable.
This kernel should make HDMI work for most people, and improve call
quality (thanks to smaeul's patches, which are integrated into megi's
tree).
Kernel config changes:
* Enable MODEM_POWER in the kernel config, among other improvements this
allows us to get rid of the 30s delay on power off.
* Enable CONFIG_DRM_PANEL_ILITEK_ILI9881C (new PineTab panel)
* Enable CONFIG_ZRAM
* Enable CONFIG_HID_MULTITOUCH
Related: https://xnux.eu/devices/feature/modem-pp.html#toc-modem-power-driver
Changelog: https://megous.com/git/linux/tag/?h=orange-pi-5.9-20201019-1553
Co-Authored-By: Martijn Braam <martijn@brixit.nl>
Co-Authored-By: Clayton Craft <clayton@craftyguy.net>
Initial support for Sony Xperia XA (codename: sony-tuba). Builds, can be
flashed, ssh connection through usb works, display works, touchscreen works,
no wifi or anything else.
According to the wiki pages, some interfaces can't be built for the
armhf architecture. This device is configured to armhf but it actually
supports armv7 architecture. Tested with a samsung-i9300.
This adds emoji support to the squeekboard emoji picker, and to any apps
that might want to display emojis (chatty, firefox, text editor, etc)
Thanks @vurpo for the tip.
We have tried out lightdm-mobile-greeter for three weeks, but let's remove
it again from the default install.
The greeter behaves completely different from the Phosh (or any other
UI's) lockscreen, therefore it provides a bad user experience. Not only
the design is different, but it also can't display the same information
as the Phosh lockscreen. You can't accept a call coming in while the
greeter is displayed, and whatever other features will be added to the
lockscreen in the future would not be in the greeter (e.g. making a photo
without logging in, emergency calls without login, ...).
It's clear to me now, that postmarketOS in the default installation
should install one UI in single-user mode, and that UI should use its
lockscreen to display all login screens. The case of having multiple UIs
installed at the same time is used rarely, so instead of optimizing for
it, document how to enable a greeter after the installation in the wiki:
https://wiki.postmarketos.org/wiki/Configure_postmarketOS_for_multiple_UIs_or_users
Besides the strong reasons above to ship with no greeter at all, we had
problems with lightdm-mobile-greeter in particular:
* It did not work with Plasma Mobile
* When HDMI was plugged in, the greeter was not usable (especially
annoying, because Phosh tends to crash after plugging in HDMI, so it
would go back to the greeter which then means you need to reboot)
This reverts commit be693339ec.
This new version:
- Upgrades device config from upstream to v25
- Fixes a problem using modesetting driver on Xorg (lightdm
was broken because it now uses Xorg)
- Override GDK to use GLES (change from upstream Purism)
cpio expects a newline-separated list of files from stdin by default,
and you can change that to a NULL-terminated list of files by using the
'-0' switch.
Previously we were passing a NULL-terminated list ('-print0') and using
cpio with the default setting. For some reason busybox cpio works with
that but GNU cpio doesn't like that and generates an initramfs without
any files (as it only gets "a single file").
With this change the initramfs generation works fine with both busybox
cpio and gnu cpio.
Fixes#815
Replace the old downstream port with a new aarch64 port running the
linux-postmarketos-qcom-msm8916 close-to-mainline(TM) kernel.
Most of the functionality is working:
- USB Network
- Storage (eMMC, SD card)
- Display, brightness control
- Touchscreen, buttons
- IMU (accelerometer+gyroscope)
- Notification LED
- Sound (Speaker, Headphones, Microphones)
- WiFi, Bluetooth
- Modem (SMS, voice calls, mobile data)
Coming soon (hopefully): Battery/Charging, USB-OTG (not working yet)
There are many variants of the device, so more changes to handle
differences between them may be needed in the future. For now,
the only relevant difference is the required modem firmware:
- wt88047 (global variant)
- wt86047 (China variant)
... have different kind of modems and they do not seem to work with
the firmware of the other one. The way this is handled in this device
package is that there is a separate kernel variant for both of them.
All other required firmware can be shared, and therefore there is no
differentiation needed when using the kernel variant without modem.
I renamed "wingtech-wt88047" to "xiaomi-wt88047".
My reasoning for that is the following:
- Wingtech is the ODM (original design manufacturer), they designed the
hardware and (probably) manufactured it. But postmarketOS port applies
to the combination of both hardware and firmware, and the firmware was
at least partially provided by Xiaomi.
- wt88047 looks lonely with the "wingtech" vendor, when all other Xiaomi
devices use "xiaomi", even though many from them were probably also
designed by Wingtech.
- We don't use the ODM hardware name for other devices either, e.g.
"wileyfox-crackling" would be "longcheer-l8150" with the same approach.
I think the port is better visible as "xiaomi-wt88047" (too bad Xiaomi
seemingly did not have a proper codename for this device...)
In preparation for adding mainline device port for Xiaomi Redmi 2
(wt88047), remove the downstream device port. It's still armhf
which makes it clear that it hasn't been tested for a long time.
The mainline port has many more features, also it is aarch64, which
is not compatible with the downstream kernel.
- Update to Linux 5.9-rc7
- Add "BAM DMUX" driver as network interface to the modem
for mobile data
- Major rewrite/cleanup of all MSM8916 device trees
- Lots of cleanup everywhere
- I hope I did not forget something :)
Devices:
- bq-paella: Add vibrator
- samsung-j5nlte: Add display
- samsung-a2015 (a3u/a5u): Fix USB-OTG detection
- "Initial" support for Xiaomi Redmi 2 (wingtech-wt88047)
- USB
- Storage (eMMC, SD card)
- Display, brightness control
- Touchscreen, buttons
- IMU (accelerometer+gyroscope)
- Notification LED
- Sound
- WiFi, Bluetooth
- Modem
- Initial support for Motorola Moto E 2015 (motorola-surnia)
- USB
- Storage (eMMC, SD card)
- Display, brightness control
- Touchscreen, buttons
- WiFi, Bluetooth
- Battery status
- Initial support for Samsung Galaxy Grand Prime
- USB
- Storage (eMMC, SD card)
- Initial support for Oppo Mirror 5s (oppo-a51f)
- USB
- Storage (eMMC, SD card)
- WiFi, Bluetooth
Actually the display has been working in initramfs since MR 1261
(device-bq-paella: enable display and touchscreen on boot).
We should make it explicit in deviceinfo.
Since
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/12086 the
Cheese application won't be installed anymore unless explicitely
specified. Applications that usually depend on it now depend on
cheese-libs instead.
This means we can stop hiding it and allowing people to install it
themselves if they want too
This application doesn't work 100% when launched from the 'desktop', but
it is still useful as a handler for opening image files from a file
browser, so the icon is hidden.
eog is a nice image viewer that works pretty well on a
touchscreen/mobile display.
Nemo is a file manager from the Cinnamon desktop project, which forked
from Nautilus some time ago. It is much more usable than Nautilus on a
touchscreen/mobile display.
Set eog as default app in mimeapps.list, so it even works when hiding
the launcher with postmarketos-hidden-desktop-entries (we'll hide it,
because it doesn't work when opened directly; no image is shown and
opening a file does not work either). The list of associated mimetypes
is taken from here:
https://gitlab.gnome.org/GNOME/eog/-/blob/master/data/org.gnome.eog.desktop.in.in
device-motorola-ocean: Add support for both downstream and mainline
kernel
device-motorola-ocean: Update dependency for downstream kernel
The dependency mentioned is wcnss-wlan.
Apply 1 suggestion(s) to 1 file(s)
Device package changes:
- Replace ALSA configs with dependency (soc-sprd-audio-sc8830)
- Add reboot-mode as dependency
Kernel package changes:
- Use dtbtool-sprd instead of dtbtool
- Move code and device tree to external repo
- Add patch for GCC10
- Add patches for framebuffer
We now trigger on files in /usr/share/postmarketos-mkinitfs-triggers.
This can be used by other packages like osk-sdl for which an updated
version would otherwise never be used in the initramfs
Enable the freezer cgroup. This allows a user to start a large application like
firefox, freeze it to save some power, and unfreeze it to continue using it,
without having to restart the application completely. Stopping and restarting
the application completely results in more battery usage as well as lost state.
Signed-off-by: Serge Hallyn <serge@hallyn.com>
This Patch is needed, because in the kernel the audio from the cpu to the headset gets turned around. We need to turn this around again.
Please revert this if there is a fixed kernel.
Split the aports-build job into arch-specific build-x86_64,
build-aarch64, ... jobs. Extend build_changed_aports.py to accept the
architecture as argument, and to build all packages for that arch where
possible.
Import and use pmbootstrap code for APKBUILD parsing etc, as we do this
already in various testcases running in this repository.
Co-Authored-By: Bart Ribbers <bribbers@disroot.org>
This upgrades u-boot to the latest upstream Purism version, and uses the
latest DDR training firmware.
APKBUILD was reformatted to replace indentation with tabs.
This adds a Finnish/Swedish key map for the Nokia n900.
The same keymap is used for Finnish and Swedish.
This makes the keyboard work in the console. To fix the
XkbLayout other changes are needed to pmbootstrap.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
qmlplugindump is failing when it runs with qemu user mode emulation for
armv7 on builds.sr.ht. Disable it to unblock our binary repository.
The information retrieved by qmlplugindump is purely for packager
knowledge and does not affect the runtime of kclock.
Related: MR 9
Fixes: build.postmarketos.org#74
- E1565 is original "grouper" and it's for modern devices similar to
tilapia
- PM269 is earlier produced Nexuses with different PMIC (not very often
seen)
Closes: https://gitlab.com/postmarketOS/pmaports/-/issues/647
We were using a frequency of 624 which froze my device and in the past
other units too. Set it back to 552 as before so this doesn't happen
anymore
This is being upstreamed, https://gitlab.com/pine64-org/u-boot/-/merge_requests/3
(cherry picked from commit 88b48dee152686a887809ddb296cfd96e0c89f55)
Sloppy patch that makes the displayport alt-mode output signal work on
the PinePhone convergence edition. Proper fix is in the 5.8 tree
[ci:skip-build]: Martijn made sure that it builds and works. This is
time critical, so skip the CI build.
Fix mobile-config-firefox not replacing postmarketos-config-firefox on
upgrade. Without the pkgver in provides, apk only considers
mobile-config-firefox as virtual package name, not as replacement.
Verified with the CE factory image:
$ sudo apk upgrade
...
(20/29) Purging postmarketos-config-firefox (1-r0)
(21/29) Installing mobile-config-firefox (1.0.1-r1)
...
postmarketos-ui-plasma-mobile has plasma-camera in _pmb_recommends.
plasma-camera does not build for x86, because mpg123-libs-1.26.3-r0 is
still broken in Alpine edge repos (aports#11807).
Disable postmarketos-ui-plasma-mobile for x86 again, so the CI check
test_aports_ui doesn't fail anymore with:
postmarketos-ui-plasma-mobile/APKBUILD: package 'plasma-camera' from _pmb_recommends not found for arch 'x86'
[ci:skip-vercheck]: only modifying arches
[ci:skip-build]: unfortunately, postmarketos-ui-plasma-mobile fails to
build for x86_64 too due to broken libdv in Alpine (aports#11892).
I'll create MRs to Alpine to fix the broken depends, so we should be
able to enable it again soon.
Related: https://gitlab.alpinelinux.org/alpine/aports/-/issues/11807
Related: https://gitlab.alpinelinux.org/alpine/aports/-/issues/11892
kaccounts-integration-dev is available for x86 again in Alpine edge.
This reverts commit dc44aed3de.
[ci:skip-vercheck]: only changing arch var
This should fix test_aports_ui failure:
main/postmarketos-ui-plasma-mobile/APKBUILD: package 'kpeoplesink' from _pmb_recommends not found for arch 'x86'
Verify _pmb_recommends for architectures listed in the APKBUILD of
postmarketos-ui-* packages, not from their binary packages. Otherwise
disabling an architecture in a merge request will not be respected, as
the binary package still has the arch enabled.
Pressing power button should not power off a device. Although it is
expected on desktops and laptops, it isn't expected on phones and
tablets. Instead it should just turn off the screen or go into a deep
sleep, but that isn't handled by elogind. So let elogind just ignore the
button altogether.
Also re-order the dependencies alphabetically while we're touching the
package anyway
Previously we added the header in the kernel packages but as we already
add the ramdisk header here and to simplify the process we also add the
addition of the kernel header into mkinitfs.
Alpine's aarch64 builder is stuck and did not build 20.04.3-r1 yet. This
causes kde/itinerary from pmaports.git to fail:
https://builds.sr.ht/~postmarketos/job/282427#task-pmbootstrap_build-415
I've verified that this package builds for aarch64 with pmbootstrap, and
disabled other architectures.
This patch adds basic support for the Samsung Galaxy Tab E 9.6" (SM-T560).
Current status: Kernel builds successfully, flashing boot.img works along with ssh.
With the new mobile-config-firefox, the window width is small enough
that the window does not need to be scaled. This looks better overall,
and avoids scaling glitches.
New version does not just support Firefox 68 (firefox-esr in Alpine 3.12),
which is going to be EOL soon. It also supports the new ESR 78
(firefox-esr in Alpine edge, soon also in 3.12, supported until ~2021-04)
and 79 (current stable "rapid release" version; firefox in Alpine edge).
The source was moved to a dedicated git repo, so other distributions can
also use it. Keep the distro-specific links here in a separate HTML
file, so they can be modified without changing
mobile-config-firefox.git.
Related: https://gitlab.com/postmarketOS/mobile-config-firefox
Update to Linux 5.8 and bring some nice improvements:
* Use geni for touch instead of CPU driven bitbang, this gives
noticeable performance gains in phosh when scrolling.
* Enable bluetooth (using firmware in updated firmware package), was
able to test bluetooth audio with bluetoothctl but phosh UI shows no
Bluetooth adapter.
* Add testing battery node using bq27541, battery always reported being
plugged in and at 100%.
* Fix UFS error spam due to a bug where writeboost is enabled for all
qcom devices - even though it isn't supported.
* Add quirk to wifi device to fix host capability request rather than
the dodgy driver edit that was used before.
* Minimise .config size to improve build times.
* Make schedutil the default governer
* Fix power button
Remove _downstream, _mainline in deviceinfo as there is only the
mainline kernel now. Fixup taken from a comment by Richard Qian in the
initial device port merge request. I've verified that the device package
builds. [ci:skip-build]
Fixes: 949effc0 ("acer-picasso: new device (Acer Iconia Tab A500) (MR 1308)")
Alpine's abuild is soon going to complain if an APKBUILD has more than
one "Maintainer:" listed. Work around it by renaming the additional
maintainers to "Co-Maintainer:". While at it, move the devicepkg reference
link to the top in device-xiaomi-santoni for consistency.
In postmarketOS, we require at least two maintainers for devices in
main, therefore it does not make sense to drop additional maintainers
from the file.
In Alpine, this change was made because pkgs.alpinelinux.org apparently
can't handle more than one maintainer. I looked into it, and it would
require a database change to add it there, so it does not seem worth the
effort. I also thought about extending abuild to add an environment
variable to skip the check, but then the package would not build with
plain abuild without using the env var.
Related: https://gitlab.alpinelinux.org/alpine/abuild/-/commit/dd4cd9d606f5e28f382414e258af562e346c6ab5
[ci:skip-build] [ci:skip-vercheck]
- Update to Linux 5.8
- samsung-skomer:
- Fix accelerometer mount-matrix
- Fix some potential display issue(s)
- Enable touchscreen driver in kernel config
[ci:skip-build]: already built successfully in CI
The "shellprocesstest" is failing when building for armv7 on sr.ht. I
was not able to reproduce it locally. Just disable all tests for now.
It would be better to just disable the failing test, but since I can't
reproduce it locally I can't say that the build will go through then.
This package is in temp/, so let's not waste much time here. !check can
be removed when upstreaming it to Alpine.
[ci:skip-vercheck] [ci:skip-build]
Doesn't build against latest zxing-cpp-dev. Remove for now, so bpo is
not blocked.
/usr/include/ZXing/Pattern.h:230:68: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
230 | return FindLeftGuard<LEN>(view, minSize, [&pattern, minQuiteZone](auto window, int spaceInPixel) {
| ^~~~
Related: https://builds.sr.ht/~postmarketos/job/271644#task-pmbootstrap_build-716
Increase 'qrca' pkgrel (0 -> 1), missing depend(s): so:libZXingCore.so.1
Will likely need to be bumped again soon; right now only Alpine edge
x86_64 has the new .so file - the other arches still need to build it.
[ci:skip-build]
Libhybris is failing to build for armhf too. Instead of adding !armhf
everywhere, let's just remove it: as it became clear in #703, nobody is
willing to put in the effort to maintain this properly.
If you would like to continue with libhybris on postmarketOS, please
create your own aports repository and put the aports there.
Related: https://wiki.postmarketos.org/wiki/HybrisCloses: #703, #700, #678
[ci:skip-build]: build in CI is currently failing with 'BAD signature'
errors; probably caused by outdated Alpine packages in the dl-cdn
mirror, related to the musl-1.2 rebuild in Alpine edge.
See the patch descriptions for more details. All patches will be
submitted upstream (patch 0001 has already been submitted more than half
a year ago but hasn't had any activity yet).
Taken from upstream. Our mesa-git is pretty outdated, we should update
it soon. But we need to unblock the repository first, so this is the
fastest way for now.
"plasma" and some related packages are currently missing in Alpine edge
armv7 due to a cyclic dependency. Let's disable all packages depending
on plasma for armv7 temporarily, to get the pmOS edge armv7 repo up
again.
[ci:skip-build], [ci:skip-vercheck]: only arch line changed
Related: build.postmarketos.org#72
Add patch to fix build for armv7, armhf. That patched version is being
upstreamed to Alpine. Fork it now, so our builds are not blocked.
Related: builds.postmarketos.org#72
Add mimeapps.list, so links clicked in postmarketos-welcome and other
applications properly open in firefox. Without this patch, they just
don't open at all.
Bump the pkgver instead of the pkgrel, so the APKBUILD is in sync again
on both master and v20.05 (right now, the pkgrel on v20.05 is ahead by
one, otherwise the file is the same).
Related: https://help.gnome.org/admin/system-admin-guide/stable/mime-types-application.html.en
Disable the first run screen in GNOME software, which invites the user
to browse and install apps. We do not want people to use GNOME software to
do that when they open it for the first time in postmarketOS after
installing, we want them to do updates. So this dialog is misleading for
our users, and will lead to a bad experience for those who follow what
it suggests.
I think there's more wrong with that dialog (in context of postmarketOS),
more detailed reasoning and screenshot in:
https://gitlab.com/postmarketOS/pmaports/-/merge_requests/1449#note_385456592
Replace firefox with firefox-esr, remove epiphany. With the current
version of epiphany, the postmarketOS wiki doesn't even load every time,
so that's not something we want to ship.
Add policies.json and prefs.js to configure Firefox (yes, you need both
to be able to control all this):
Mobile improvements:
* Enable zooming with fingers
* Mobile user agent (from tor browser for android)
Privacy improvements:
* Disable search suggestions, so URLs do not get sent to search engines
as they are getting typed.
* Disable Firefox studies
* Disable Telemetry
* Set DuckDuckGo as default search engine, not Google
Uncluttering (screen space, remove broken features, less distractions):
* Move all buttons to the overflow menu and remove spacers around the
address bar
* Empty "new tab" page (loads faster, no annoying "top sites" etc.)
* Disable developer tools, so the hamburger menu fits the screen of the
pinephone. These aren't really useful on phones anyway.
* Disable "Firefox Screenshots": the feature did not work with the mobile
resolution in Phosh.
* No default bookmarks from Firefox
* Disable First Run Page
* Disable Post Update Page
* Disable "User Messaging" (What's new, Extension/Feature
Recommendations, Urlbar Interventions)
Add a local html file that serves as lightweight default homepage. It
links to the postmarketOS blog and wiki, explains that this is desktop
firefox with mobile configuration and explains how to change settings
and install addons (with a direct link to ublock origin). Users can
override the homepage, new tab page, search engine, search suggestions
pre-configured by this package directly in the UI.
I chose Firefox ESR, because:
* It fits the screen better: the "new tab" button is bigger, the menu
opening when you click the top-right button actually fits the screen,
with all its submenus. There are zoom controls in the same menu, which
make the preferences pages very usable.
* It's possible to override the default search engine with a policy
file; that's not possible in non-ESR firefox (we'd probably need to
change it in the sources).
Related: https://github.com/mozilla/policy-templates
Co-authored-by: Martijn Braam <martijn@brixit.nl>
In phosh, we have broken Cheese (Camera) and Extensions (from GNOME shell)
icons in the launcher. They get dragged in via dependencies, so the
easiest way to disable them is just overruling the .desktop icon. We can
make Cheese visible again in a post-install script (just check if it
points to nodisplay.desktop and delete the link) once we have it working.
Hide icons for terminal programs (htop, nvim, vim) as well as "Firefox
Safe Mode" too. If somebody really wants to use the FF safe mode, they
can do so via terminal.
Have a simple initial version, maybe make it more sophisticated with
UI-specific hidden icons later (right now, it doesn't make sense to
install this in normal GNOME, because there you would need
org.gnome.Extensions). (There is "NotShowIn=phosh" (untested), but using
this would mean that we need to keep all the information of the original
desktop file for the UIs that will display them; we can't just use the
symlink trick. I'm not sure if we want that at all, but it's
definitively over-engineered for now.)
The packages were rebuilt in Alpine, so update the checksums. Also
point to a deterministic mirror URL instead of CDN, so it won't randomly
fail depending on which (possibly outdated) mirror CDN gives.
Related: pmbootstrap!1963
The p? is not redundant. Without it, the p in mmcblk0p2 for example does
not get cut off, meaning the resulting device is not "mmcblk0" but
"mmcblk0p". My bad, sorry for the breakage.
Fixes: 9f6600ba ("main/postmarketos-mkinitfs: rm pmOS_deleteme")
Fixes: 9d86f6fe ("main/postmarketos-mkinitfs: resize: unallocated space check, even if forced")
Remove the "pmOS_deleteme" partition left behind by the on-device
installer, if it exists. Let the existing resize_root_partition() extend
the root partition over the newly gained space (and rest of the storage
device) right afterwards.
In resize_root_partition(), put the unallocated space check into an
extra function has_unallocated_space(). Run it even if
PMOS_FORCE_PARTITION_RESIZE is used, so we don't attempt to resize the
partition if there is no free space.
While at it, change "sed 's/p?2$//'" to "sed 's/2$//' in an already
modified line, because it means the same thing and is less confusing
(? in regex means: 0 or 1 time).
samsung-skomer basically uses the same BCM4334 WiFi/BT chip as
samsung-golden, and the WiFi/BT firmware is also the same.
There seems to be a slightly different NVRAM file, so we package
that just to do things properly.
Signed-off-by: Danct12 <danct12@disroot.org>
(cherry picked from commit f509c39642341c7d4fb5d0d215a6cb581b4156d1)
[ci:skip-build] Takes too long. Builds fine locally
Enable CONFIG_CRYPTO_XTS for each kernel, so we can switch to using
aes-xts-plain64 as default cipher for cryptsetup (override with
"pmbootstrap --cipher"), instead of aes-cbc-plain64 (pmbootstrap#1940).
I have executed "pmbootstrap kconfig edit" on each kernel, and manually
toggled the option. The diff is not always clean, because for some
kernels it is apparently the first time, that menuconfig was executed on
the configs like that. In a few instances, it turned out that
CONFIG_ANDROID_PARANOID_NETWORK needed to be disabled too (this is
already a requirement, but as the config was incomplete, it was not
visible that this option was enabled). Very few times, I had to enable
CONFIG_EXPERIMENTAL in order to see and enable CONFIG_CRYPTO_XTS.
It would be great if we could automate such mass kconfig edits in the
future, see pmbootstrap#1942.
[skip ci]: I have verified, that every single one of these kernels builds.
CI will likely run out of time while downloading source tarballs.
Seems like "pmbootstrap kconfig edit" causes unrelated kernel config
changes for some reason (probably because pmbootstrap does not install
a cross compiler for it). For now let's just edit the config manually
with the new options so everything else stays as-is.
Remove it, to prevent the following error:
rm: can't remove '.config': No such file or directory
This must have been necessary before, because the prepare script was
different, or abuild did something differently.
Make it possible to find the kernel config with "pmbootstrap kconfig
edit". While at it, also remove redundant -C "$builddir" arguments for
make (since prepare is running in $builddir already).
Only add a comment, do not try to mount the root or boot partitions
anymore. The initramfs is doing this already.
Related: https://postmarketos.org/fstab
Mount the boot partition at /sysroot/boot and keep it mounted, when
running the switch_root command. This way, OpenRC doesn't need to mount
it and possibly use the wrong partition. The OpenRC service does not use
the same logic to find the boot partition, in particular it does not
support the pmos_boot kernel parameter.
While at it, print the mountpoint and read-only/read-write arguments in
the mounting log message for both root and boot.
Fixes: #664
Get rid of the "write_unless_modified" code, which was supposed to only
change /etc/fstab, /etc/issue, /etc/motd if the user did not modify it.
This is nice in theory, but we have a bug report where the code did not
do what it should (apk audit possibly failed due to a qemu bug?), and
then it lead to strange bugs related to not having the expected
/etc/fstab installed.
Fixes: #661, #258
Package got renamed and "provides" wasn't added, so right now
`apk upgrade -a` with firmware-rtl8723bt installed results in
`ERROR: firmware-pine64-rtl8723bt-0_git20181104-r0: trying to overwrite lib/firmware/rtl_bt/rtl8723bs_config-pine64.bin owned by firmware-rtl8723bt-0_git20181104-r0.`
Add `replaces="firmware-rtl8723bt"` so `apk` prefers this package.
[ci:skip-build]: already built successfully in CI
Instead of encouraging the user to add the directory to
test_directory_structure.py, mention that we just moved the firmware to
device/{main,community,testing}/. This will be more helpful for users
who get the message after rebasing on master.
In the rare case that we need to change the directory structure, we will
figure out which file to edit.
[ci skip]: various firmware packages fail when built at the same time
(they use generic source files like "bcmdhd.cal" with different checksums)
Right now we have all firmware packages under firmware/*.
This is problematic for mainly two reasons:
- It's not immediately clear which firmware packages we need to keep
when forking a new stable branch. (Where we delete testing devices
at the moment...) We might end up deleting firmware packages that
are actually used by one of the devices in community.
- When backporting devices to the stable we cannot just cherry-pick
the commit that moved the device to community (since it does not
contain the firmware package). Instead we need to cherry-pick
earlier commits as well, which may touch a lot of deleted files
in the testing directory.
Let's make this consistent by also placing the firmware packages in
the device/* directory. We already have the common firmware- prefix
to distinguish them from device/kernel packages, which are already
both under the device/* directory.
For most firmware packages we use a vendor- prefix to make it clear
who has provided the firmware. The firmware-rtl8723bt package is only
used for Pine64 devices and actually contains configs that are specific
to Pine64 hardware (e.g. rtl8723bs_config-pine64.bin).
Let's rename it to firmware-pine64-rtl8723bt to make this more clear.
Also cleanup the APKBUILD a bit and provide the LICENSE file in a -doc
subpackage so we can legally redistribute that firmware.
This enables mult-sensor support in sun6i-csi, support for the
gc2145 front camera, the new panel driver from mainline linux
and a small fix for the anx7688 that prevents it spamming the
kernel log when no cable is plugged in on 1.2a hardware.
gitlab.com had a service disruption, so it was not possible to "git
clone" from gitlab.com from some regions, like where the sourcehut
infrastructure is located. Since we are building our packages on
builds.sr.ht, this caused all packages that should be built at that time
to fail. It is working again, so bump the pkgrels to restart the builds.
This switch has happened in the Alpine repos quite a while ago and most
of the pmOS packages were using it already too, so let's switch over the
last ones as well.
This also cleans up the APKBUILDs where necessary
This is the downstream u-boot port for the Galaxy S2.
The load script has been slightly altered to load the kernel from the
KERNEL partition at the 512 KiB offset, instead of loading it from the
RECOVERY partition, since PostmarketOS places the second initramfs in
the RECOVERY partition.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Newer Qualcomm SoCs (e.g. SDM845. MSM8953) seem to use a different
method to talk to the modem. There are no longer separate rpmsg/SMD
channels for QMI messags, instead the modem is also available through QRTR.
On these newer SoCs, installing msm-modem-mainline is pointless,
because the created /dev/modem device will not actually allow
communicating with the modem. However, you still need the part from
the base package (msm-modem), which installs+enables rmtfs.
To avoid confusion, rename the msm-modem-mainline subpackage to
msm-modem-rpmsg. Install only "msm-modem" on SDM845 because that
likely does not allow communication with the modem through RPMSG
anyway.
This upgrades the librem5-base config used to v21:
- better headphone support/detection
- enable runtime PM for usb/SD interface
This also removes the modemmanager subpackage, the udev rule that was
installed by that package is now in modemmanager in Alpine.
This upgrade includes:
1) enabling fb in deviceinfo: This was previously disabled for
debugging purposes, but can be re-enabled now so we get the
awesome postmarketOS splash screen!
2) fixing GPS, kinda: the device has changed, so this fixes the gpsd
config to use the correct device, and includes a udev rule to
make sure the device is owned by a group that gpsd can use
3) usbnet working with configfs
4) disables getty on /dev/ttyGS0, this was usb serial but isn't
configured now that this uses configfs
5) uses Mesa from Alpine, instead of mesa-git in pmaports. Upstream
Mesa has support for the vivante gpu, and no longer need to rely
on mesa master branch for support.
6) fix pulseaudio detection of profiles
7) update the librem5-base version used, includes a udev rule to
configure DDR freq governor as 'powersave' (reduces power, and
how much heat this thing puts out)
fixes#524fixes#526
Put virtual keyboard style into a subpackage, and let the main package
depend on it. That way, it can be used in postmarketos-ondev, without
pulling in all of plasma-phone-components.
In the Linux kernel, the ST-Ericsson NovaThor U8500 SoC is barely
ever mentioned under the "NovaThor" name, more common are names like
U8500, Ux500, ST-Ericsson, STE, ...
Let's rename the kernel package to linux-postmarketos-stericsson
to make that more clear. Also cleanup the APKBUILD a bit while we're
at it, HOSTCC is unneeded, remove unnecessary depends, ...
We cannot have two of them at the same time, most compiler would fail here
but for some reason our didn't.
However, it's better to just use one (the new one, or the old one). Enable
CONFIG_RTL8723CS_NEW, which is the new driver that made it to pine64
kernel since 5.5.
Signed-off-by: Danct12 <danct12@disroot.org>
[ci:skip-build]: already built successfully in CI
We should disable it by default and let the user to enable it
when they want it.
And currently it's causing problems where the backlight would
go very dark with it enabled on PinePhone.
Signed-off-by: Danct12 <danct12@disroot.org>
bq-paella allows running unsigned firmware from other devices.
We can use that advantage to replace some of the original firmware
with newer versions from other devices. The DB410c has updated WCNSS
firmware that reportedly improves WiFi/BT coexistence (i.e. behavior
when both WiFi/BT are active at the same time).
Depend on the virtual "firmware-qcom-msm8916-wcnss" package to give
the user the choice which firmware version they would like to run.
The newer version from "firmware-qcom-db410c-wcnss" is installed by
default (since it has a higher "provider_priority"), but the user
can choose to replace it by running "apk add firmware-bq-picmt-wcnss".
- Set fixed commit in "source" line to avoid future problems if some
change is pushed to the repository
- Add pmb:cross-native to build natively since these are just a few
copy operations
- Remove some unneeded `cd "$srcdir"` lines
- Avoid installing venus.mbn since this is just a combined version of
venus.mdt + venus.b*
- Split -wcnss subpackage into -wcnss and -wcnss-nv to allow replacing
the WCNSS firmware with a newer version from firmware-qcom-db410c
- Provide "firmware-qcom-msm8916-wcnss" to still allow switching to
the original firmware if wanted
- Install only WCNSS_qcom_wlan_nv.bin for aarch64 since the other
configuration files are only needed for downstream (armv7)
The WCNSS firmware from DB410c is also useful for other devices
that can run unsigned firmware (e.g. bq-paella) because it is newer
and reportedly has some WiFi/BT coexistence problems fixed.
To allow easy switching betwen the original firmware from the manufacturer
(firmware-bq-picmt-wcnss) and the newer firmware (firmware-qcom-db410c-wcnss)
we make both packages provide a virtual "firmware-qcom-msm8916-wcnss"
package. The newer version from firmware-qcom-db410c gets a higher
provider_priority so it is installed by default.
However, the user can choose to do "apk add firmware-bq-picmt-wcnss"
to get the original firmware from the manufacturer instead.
This release gets rid of the hacks needed for out-of-tree modules in the
previous version of calamares.
[ci:skip-build]: already built successfully in CI
Following discussions in
https://gitlab.com/postmarketOS/pmaports/-/issues/398, swclock has been
removed from postmarketos-base to avoid setting time incorrectly on
devices with a hardware clock. The various raspberry pi don't have
an hardware clock. This activate swclock back.
Fails to build, because extra-cmake-modules from Alpine is not available
for armhf. Its APKBUILD says "Blocked by qt5-qtdeclarative".
[ci:skip-vercheck]
Add common.get_upstream_branch() and use it instead of assuming "master"
as upstream branch.
Example: user forks v20.05 to v20.05_some-fix, then creates a merge
request. CI must use v20.05 as upstream branch, when comparing for
modified files etc.
This makes recording system audio very simple and feasible in a cross-device
manner since application-logic can always rely / forward ALSA audio to the
loopback device instead of a device-specific audio interface.
This adds a hwdb override for the trackpad that fixes the reported size, this fixes
the acceleration profile and palm detection in libinput.
Pulse now follows alsa paths for ucm files so the path for the rk3399 ucm has been
updated to match.
The DB410c is a SBC with APQ8016 SoC. It runs on mainline without
any patches. This port makes use of the existing linux-postmarketos-qcom-msm8916
kernel package that is used for other mainline MSM8916 devices.
Tested functionality:
- USB Network, USB Host (e.g. an USB keyboard)
- Flashing (Fastboot)
- Display (HDMI)
- WiFi/BT
- GPU
- Audio (HDMI)
- FDE
Not tested:
- GPS
Note: The firmware package is called firmware-qcom-db410c (instead of arrow)
because the firmware is provided directly by Qualcomm, not Arrow.
Newer versions of alsa-lib now require a top-level ALSA UCM
configuration (/usr/share/alsa/ucm2/ucm.conf):
ALSA lib parser.c:2159:(load_toplevel_config) Unable to find the top-level configuration file '/usr/share/alsa/ucm2/ucm.conf'.
ALSA lib main.c:983:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
alsaucm: error failed to open sound card hw:0: No such file or directory
The upstream ALSA UCM configurations are provided by Alpine's
"alsa-ucm-conf" package, so make sure to install it additionally.
What works:
- Booting
- Display
- Touch
- USB Ethernet
What doesn't:
- Sound
- Wi-Fi
- Modem
- Camera
(NOTE: If the display doesn't work, try flashing your phone back to stock, then trying again.)
bq-paella has an external speaker amplifier connected to the right
channel of the headphones output. Add an extra UCM configuration
to handle this properly.
We are in the midst of the Linux 5.8 merge window so there is no new
-rc version to rebase on. -rc1 next week is also not the perfect choice
for a release (first rc is usually still a bit unstable).
On the other hand the changes that landed the last few days are quite
nice and ready to go, so I decided to rebase on a stable kernel release
(5.7.1). Not sure if I'm ever going to do this again :)
Changes:
- Update to Linux 5.7.1
- bq-paella: Add sound and modem
- Enable some new kernel options for DB410c
Just got done with my second port of postmarketOS, here's the device:
Amazon Fire 7 (2019) postmarketOS
Mediatek MT8163
600x1024 display
1GB RAM
Linux 4.9.77 (downstream kernel)
Untested:
- Wi-Fi
- Audio
Pretty much everything else
Works:
- Boots
- Touchscreen
- Battery percentage seems to show in Xfce
dbus-launch doesn't get installed automatically. On the other hand,
dbus-run-session does. This version ensures that dbus is also launched
for the graphical demos
I cannot test on most of them (at the moment), but I was involved
in porting all of them so I could "guess" certain changes at least.
[ci:skip-vercheck]: just moved and some maintainers
a5lte and a5ulte are almost identical hardware-wise, the separate
package is mainly necessary because they use different firmware
signatures.
Alexey Min agreed to do some testing occasionally :)
I noticed that the Samsung i9003 is actually a heimdall-bootimg device.
But at the same time, the kernel is assembled as if it is isorec.
[ci:skip-build]: already built successfully in CI
Update to a new kernel based on v5.7-rc6, adding the following new
features:
* Remoteproc support and firmware loading
* Panel drivers for OnePlus 6/T
* Adreno 630 support
* Anbox support
The new firmware-oneplus-sdm845 is required for these features and
devices will not have working display output without firmware
[ci:skip-build] Already built on CI
It is possible for msm-modem to get installed before
rmtfs-openrc, which causes the following error in
post-install:
* rc-update: service `rmtfs' does not exist
ERROR: msm-modem-1-r0.post-install: script exited with error 1
Add a dependency to ensure rmtfs-openrc gets installed first
Generating a sparse rootfs speeds up flashing through Fastboot.
Also change some bootimg offsets to be more accurate to the one
actually used by the bootloader. (They will actually just be ignored,
since the bootloader always uses its own hard-coded ones.)
Make voice call audio work out of the box by starting q6voiced on
all installations with the modem. It might be nice to start it only
when oFono is installed and enabled, but q6voiced is quite minimal
so it does not seem worth the effort.
linux-postmarketos-qcom-msm8916 now supports voice call audio.
However, at the moment the audio stream needs to be explicitly started
by opening some PCM audio devices when the call is started
(even though no audio data is written to the PCM device).
Eventually this should go away by implementing codec2codec support
for q6voice in the kernel. In that case, the stream would be started
once the audio routes are set up using ALSA UCM. However, this is a bit
complicated actually so for now it's nice to have a workaround:
q6voiced listens on dbus for signals from oFono, and opens/closes the
PCM device when a call is initiated/ended in oFono. This essentially
makes voice call audio work out of the box (provided that the audio
routing, e.g. Earpiece and a microphone is set up appropriately).
Co-Authored-By: Nikita Travkin <nikitos.tr@gmail.com>
x86_64 packages have been built, let's switch:
http://dl-cdn.alpinelinux.org/alpine/v3.12/
There doesn't seem to be a branch on aports.git yet, but it should
appear soon. So it's master for now.
Closes: #582
Disable modules for hardware that's impossible to connect to the
allwinner devices or older than the 90's this shrinks the size from 380
to 250MB.
Then it enables module compression so it shrinks from 250MB to 57MB.
Then the module stripping was enabled, shrinking it to 20MB
[ci:skip-build]: already built successfully in CI
* Support for sharp ls052t3sx02 video mode panel and max1187x
touchscreen used in Sony Xperia Z2 (sirius)
* Support for display in OnePlus One (bacon)
* Support for touchscreen, touchkeys and notification led in Samsung
Galaxy S5 (klte)
At the moment we have Contributor: lines on some packages (but not all of them),
but often they don't represent the actual contributors to the package very well.
E.g. when we added them retroactively to the device packages we only added
the initial contributor (which isn't necessarily the person
who made most of the work for a device...)
The Git history is the most representative source for figuring out
who contributed to a package, so there is no reason to duplicate that
into the APKBUILD.
[skip ci]: way too many packages
fixes the desktop file:
* add -- to make cage ignore kodi's arguments
* add --standalone to kodi's arguments
update the dependencies:
* add upower as kodi tries to communicate with it to read battery status
* add pulseaudio as kodi complains it is missing
* add elogind as it is required for cage to run
* remove xorg-server
Fixes#469
- Update to Linux 5.7-rc2
- Initial support for BQ Aquaris X5 (bq-paella/picmt)
- Add speaker for samsung-gt510wifi/matissevewifi
- Add flash LED for wileyfox-crackling
- Enable speaker on samsung-gt510wifi/matissevewifi
- Replace deprecated mesa-dri-freedreno package with mesa-dri-gallium
- Build natively (this is just a trivial copy)
* Upgrade to the released stable version of upstream u-boot.
* Added patch to make the led on the Pinebook Pro light up earlier
* Added the update-u-boot script from Alpine with updates for the rk3399
devices
Changes:
- Add audio package dependency;
- Replace panel driver with one from stock kernel (thanks to bnister);
- Change keyboard layout so it's fully supported in X11.
[ci:skip-build]: already built successfully in CI
This commit adds initial support for sprdphone sound card and sc8830-audio
device. sc8830-audio is common audio device used in different Spreadtrum SoCs.
This configuration was tested on Nobby 230 (SC7715GA), Finepower F1 (SC7731C),
Samsung Galaxy J1 mini (SC8830). It should work for many other SoCs as well.
Now, if someone wants to have somewhat working audio, they just have to add
soc-sprd-audio-sc8830 package to depends of device- package and that's it.
soc-sprd-audio is only for generic configuration (set sprdphone as default
sound card and provide headphone jack detection).
What works:
- Speaker and headphones output;
- Headphone jack detection (based on udev rules from device-xiaomi-santoni);
- Microphone works on both headphones and device itself.
Spotted issues:
- Recording volume is low;
- Recording is done only on right channel.
With the camera driver (VIDEO_EXYNOS_FIMC_IS) enabled, the system
would randomly panic during startup. Even though the camera does
not currently work on this system, the driver is nonetheless enabled
to make the flashlight work.
The panics seem to be triggered by udev's "v4l_id", which queries
capabilities of video4linux devices.
This change adds a udev rules file, to override the behavior of udev's
default rules for v4l.
- Cleanup kernel cmdline:
- earlycon can automatically detect the memory address of
the UART controller based on the device tree
- the comma before n8 in console=ttyMSM0,115200,n8 is actually
invalid so this was not parsed correctly. However, it is the
default anyway so we might as well remove it completely
- Configure deviceinfo_getty for all devices
- Workaround probe issue of display by adding a softdep on the panel
module. This allows the display to work when excluding proprietary
firmware (just a weird side effect, see comment in modprobe.conf...)
The device port gets increasingly hard to maintain with all the differences
between the downstream and the mainline kernel. Especially deviceinfo
has quite some duplication only because the downstream kernel needs to be
handled as well.
The mainline port has much more features working. The only limitation
compared to the downstream kernel is the lack of a proper charging driver.
But even on downstream postmarketOS the battery driver is not working
properly for some reason.
For charging, a downstream installation in recovery seems more suitable
at the moment. Eventually we will build some functionality into the
bootloader to load a simple downstream initramfs when the device gets
booted for charging.
The dts for oneplus bacon was already present in linux-postmarketos.
I adjusted the APKBUILD and deviceinfo to be able to use both downstream and mainline kernels
This script is used by multiple repositories by now, let's make sure we
only have one place where we need to maintain it. The version in
ci-common is shellchecked and displays less output for 'pmbootstrap
init' again (unless it fails, then it shows the whole log).
These changes enable the flashlight LED driver (fled_rt5033), and add
support for switching the light on and off from userspace.
In more detail:
* CONFIG_FLED_RT5033 enables the flashlight driver
* CONFIG_VIDEO_EXYNOS_FIMC_IS is required for the flashlight driver to
compile (there seems to be a lot of cross-dependency between the two
drivers)
* patch 0001 fixes the use of usleep (which no longer exists), to make
the kernel compile with those settings
With these changes, /sys/class/flashlight/rt-flash-led shows up in
sysfs, but it's only possible to control the brightness of the LED,
not to switch it on.
Patch 0002 is what actually makes the flashlight usable: it makes
the /sys/class/flashlight/rt-flash-led/mode file writable.
Writing "Torch" there enables the flashlight, writing "Off" disables
it again. "Mixed" mode works like "Torch" as well. I have not figured
out yet how to trigger the camera flash, so setting the mode to
"Flash" is possible, albeit pointless.
From 035775ef38206ed2859500efe5fb42ceec2e858d Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:50:33 +0000
Subject: [PATCH 09/40] Ensure that msgfmt doesn't encounter problems during
gcc bootstrapping.
Solves error messages like the following:
msgfmt: /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6)
The libgcc_s.so used during build doesn't satisfy the needs of the
libstdc++.so that msgfmt is linked against. On the other hand, msgfmt
is used as a stand-alone application here, and what library it uses
behind the scenes is of no concern to the gcc build process.
Therefore, simply invoking it "as usual", i.e. without any special
# built for the build system to override those in BASE_FLAGS_TO_PASS.
EXTRA_BUILD_FLAGS = \
CFLAGS="$(CFLAGS_FOR_BUILD)" \
+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
LDFLAGS="$(LDFLAGS_FOR_BUILD)"
# This is the list of directories to built for the host system.
--
2.29.2
Loaded 100 of 2983 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.