Add firmware required to make WiFi work. Patch the kernel so the ramoops
dmesgs can be read properly without having to remove that header every
time.
[skip ci]: already built successfully in CI
USB host mode is useful (essential?) on the devkit for adding a
keyboard/mouse to interact with the desktop since the onboard display
and touchscreen are very much in flux.
[skip ci]: already built successfully in CI
The LineageOS kernel integrates the Wi-Fi driver, so reconfigure with
the Lineage defconfig and copy the Wi-Fi options over to our defconfig.
This doesn't get Wi-Fi working yet, but it gives a good starting point.
Do not replace compiler-gcc.h. This is necessary now, as we are
replacing compiler-gcc.h by default again, as it is needed for most
kernels. Not increasing the pkgrel to avoid unnecessary rebuild, I have
verified that this works.
NOTE: in the last commit message, I wrote about OVERWRITE_GCC=0. But
the variable is called REPLACE_GCC, as I've decided to rename it before
submitting. I forgot to change it in the commit message.
[skip ci]: this kernel takes more than one hour to build, so it won't
finish in CI.
Instead of never overwriting compiler-gcc.h if it exists, overwrite it
by default except if OVERWRITE_GCCH=0 is set in the environment.
Most kernels *do* need this file replaced and won't build without this
patch.
This modernizes the APKBUILD that was based from outdated one (still
needs GCC6) as requested in !165 (comment 133993271). Also adds a fix
to allow Xorg booting, osk-sdl doesn't work yet as it throws some ugly
faults in kernel related to fbcon.
[skip ci]: already built successfully in CI
The 5.0 kernel now includes -Werror= parameters in the makefile, this
changes downstreamkernel_prepare.sh to support them. Without this, the
script will replace, for example, -Werror=blah with =blah, which causes
the kernel compilation to fail.
More information and screenshots in the GitLab project:
https://gitlab.com/cubocore
[skip ci]: ollieparanoid made sure this builds for x86_64, armhf,
aarch64, armv7.
Finally got display working, but it's based on MoKee kernel which is
also hosted on GitHub by community. So what works:
* USB Networking
* Flashing
* Touchscreen
* Display
* Weston with Xwayland
The device boots and shows the splash screen properly, after about 3
sec the screen went black. I had to
"echo 127 > /sys/devices/i2c-0/0-0038/leds/lm3530-backlight/brightness"
to make the backlight work, even though the value of it was already
127.
[skip ci]: this was built successfully in CI already
I have tested this on xfce4 and weston. Also plasma-mobile "works"! The
performance isn't any better than on armhf, it's still less than one
frame per second and llvmpipe still doesn't work.
After switching to armv7, this kernel fails to compile with the
following error unless CONFIG_CRYPTO_AES_ARM_BS is disabled:
arch/arm/crypto/aesbs-core.S:449: Error: thumb conditional instruction should be in IT block -- `addeq r6,r6,#0x10'
arch/arm/crypto/aesbs-core.S:904: Error: thumb conditional instruction should be in IT block -- `addeq r6,r6,#0x10'
arch/arm/crypto/aesbs-core.S:2100: Error: thumb conditional instruction should be in IT block -- `subne r9,#0x10'
We had 2 music players included which doesn't make sense, and vvave is
actually made with a focus on mobile.
[skip ci]: do not try to build this merge request, ollieparanoid made
sure that it builds for x86_64, armhf, aarch64.
Quite a few Nexus 5X devices have the tendency to bootloop after a while
of being on, iirc because it overheats. This has been a known issue for
quite some time, and most Android ROM's for it have measures in place to
prevent this, in the form of disabling some CPU cores (iirc "Big cores"
or something like that). My Nexus 5X is also subject to this issue.
According to craftyguy, resolving this is as easy as changing the boot
command to not use those CPU cores. This commit does exactly that. It
should probably be made optional for people with this device without
that issue, but since I have no clue how to do that atm, this is the
safest for now.
Initial support for Xiaomi A1 aka xiaomi-tissot using LineageOS 15.1
kernel, has similar board to Xiaomi Redmi 4 aka xiaomi-mido with some
differences that had to be patched such as reversing skip_initramfs and
ignoring dm param. 16.0 kernel boots but display fb init doesn't work.
Weston boots with touch support, SSH via USB RNDIS works.
[skip ci]: this built once in CI already, good to go.
When we bump the version in pmaports.cfg and the min. required pmaports
version in the pmbootstrap code, then forks of pmaports.git must be
rebased on pmaports.git master. Otherwise "pmbootstrap init" fails, and
because we have it set to quiet (so the output does not distract from
the interesting output if everything goes fine), there was no meaningful
error message yet.
Wrap the "pmbootstrap init" call and display a helpful message that
tells the user to rebase.
Integrate Gemini PDA support into master from old branch:
https://github.com/postmarketOS/pmbootstrap/commits/device-planet-geminipda
Most of hybris-related changes (besides KWin) was merged, so it is just
device and kernel aports now.
The state of hardware support is unchanged from:
https://wiki.postmarketos.org/wiki/Planet_Computers_Gemini_PDA_(planet-geminipda)
Without hybris, it can boot to graphics with X11 fbdev driver, the
included config enables correct rotation (as it has portrait display,
but usable only in landscape).
For running it with hybris, which can allow for 3D acceleration, we need
a way to package and provide large LXC image for running Halium Android
container. Lately Adam Boardman from Gemini PDA community also got voice
calls working in Debian install with a mix of SailfishOS middleware and
Ubuntu Touch applications, which could be probably adapted for
postmarketOS if needed.
Right now, this doesn't build anymore, it is failing with:
/home/pmos/build/src/itinerary-c47772e49de6662acd7769d5c8cef94379ea7bcf/src/app/reservationmanager.h:21:10: fatal error: KItinerary/ExtractorRepository: No such file or directory
#include <KItinerary/ExtractorRepository>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I've tried to update it to the latest commit, but then it fails with
another error. Turns out, this package depends on kitinerary (with a
k!), and whenever we update that, we also need to update this package
to the latest commit. Unfortunatelly, itinerary does not have tagged
versions yet.
So I would like to remove it for now, it does not seem like anybody is
using it at this point, and so it's just additional maintenance effort
for nothing. We could package it again, when it has tagged versions and
is therefore easy to update together with kitinerary.
Remove kitinerary too, because it isn't used by anything else.