The problem behind swapped red and blue is inverted byte order in
framebuffer driver pixel format.
This patch sets the correct byte order in the framebuffer driver.
The previous workaround patch is removed because it fixes improperly
the red-screen issue, causing the swapped red and blue problem
that this commit solves
[ci:skip-build]: already built successfully in CI
- Initial memory frequency scaling driver
- Enable eMMC 1.8v DDR signaling mode
- Limit CPU frequency to avoid overheating
- Fix crash in xf86-video-opentegra driver
[ci:skip-build]: already built successfully in CI
Also hardcode st instead of i3-sensible-terminal, because the font
parameter may not work with all terminals, and we want to use st on the
n900 anyway.
Rename the firmware so it's clear that it's specific to the platform and
not only the amami device. Sony rhine platform includes as follows:
Xperia Z1 (honami)
Xperia Z1 Compact (amami)
Xperia Z Ultra (togari)
This changes the librem5dev package to depend on the new
mesa-purism-gc7000 packages, which provide support for the vivante
gc7000 GPU in this device.
[ci:skip-build]: already built successfully
Makes dhcp work on mainline and downstream kernel.
Disables p2p0 on downstream kernel. This isn't working on either kernel
anyways. It breaks wifi on the downstream kernel.
Thanks to Robert Yang's pmbootstrap patch, we can now avoid flashing
anything to the boot and recovery partition of the Ouya. With this
patch, the latest pmbootstrap will refuse to do so with:
ERROR: 'boot' partition is blacklisted from being flashed! See the Ouya device wiki page for more information.
Applied red screen kernel patch as described in:
https://wiki.postmarketos.org/wiki/Troubleshooting:display
Effectively fixes the red screen on Weston. Added msm-fb-refresher to
APKBUILD to fix display refreshing.
The display now works properly in Weston, but unfortunately the screen
is blue in Plasma Mobile, and X11 crashes in XFCE.
[ci:skip-build]: already built successfully in CI
Updated the device-asus-grouper package to use devicepkg-dev.
I've tested the resulting image and it builds, boots and has a working
touchscreen (in Weston)
I've also noticed that the device reboots itself at times, both in the
USB ssh console and in Weston. This seems to be a known issue but I
don't know how prevalent it was before.
I don't know why build fails on gitlab, I have not changed anything
in kernel. Anyway, I don't remember why I enabled this, so I guess it's safe
to disable this option.
- Bluetooth is now working
- Audio works too (speaker/headphones/earpiece/mic - internal and headset)
- Keyboard layout for X11
- Xorg config for rotated screen
- Suspend issues fixed (tested on MATE)
- OTG bindings updated - not working yet
I didn't get it to work with NetworkManager, but it does work with
connman. Disable Kineto GAN, which caused various commands to misbehave
(just like it did on the htc-ace).
[ci:skip-build]: already built successfully in CI
This is tested to boot on google-crosshatch, following these
instructions:
$ pmbootstrap init, choose the mainline kernel
$ pmbootstrap install --no-fde
$ pmbootstrap initfs hook_add debug-shell
(enter fastboot mode on the device)
$ fastboot set_active a
$ fastboot flash dtbo_a ~/.local/var/pmbootstrap/chroot_rootfs_google-crosshatch/boot/dtbo-google-crosshatch-mainline.img
$ pmbootstrap flasher boot
And you should get telnet after a while. This kernel takes a long time
to build, so [skip ci]. I can confirm it builds locally.
Note that this patch adds the mainline dtb path to deviceinfo. But the
parameter gets ignored on the downstream kernel, so it's fine to keep it
in the shared deviceinfo.
Mainlining this device is work in progress, details at:
https://gitlab.com/postmarketOS/pmaports/issues/153
This makes the linux-postmarketos-stable kernel generate an armv7 package instead of armhf. The contents
of the package were armv7 already but now it can be correct with the new Alpine support.
When working on Librem5 devkit we had issue with touchscreen driver not
probing fast enough and taking ~70 seconds to finish initialization.
Touchscreen driver for the Librem5 devkit uses goodix driver, roughly
speaking device initialization is done in following sequence,
- start kernel and load driver
- attempt to request firmware
- if no firmware is found use defaults value
- initialize touchscreen
Now, on Librem 5 no firmware is provided (of course!) which makes 2nd
step 4 step process,
- attempt to load firmware at initramfs level
- fail, wait for it userspace to finish loading
- userspace attempts to load firmware
- fail and tell kernel to stop looking for firmware.
Step 2 to 4 is done after udev is loaded in userspace, which easily
takes 40-50 seconds. Since Purism Librem 5 devkit is never going to have
userspace level firmware, it is safe bet to disable this altogether.
[skip ci] tested locally and this is going to take more then hour on CI
and fail
Since a recent kernel update enables the LCD display, this
uses a dts that allows the lcd to function, but drops support
for usb host (since purism does not have an all-in-one dts
yet)
[skip ci]: already built successfully in CI
Ignore this kernel in "pmbootstrap kconfig check" by default, so we can
use the upstream kernel config without any changes. But still enable the
kernel config check again.
The related pmbootstrap change will be merged soon:
https://gitlab.com/postmarketOS/pmbootstrap/merge_requests/1753
[skip ci]: this change doesn't affect the build
Display is working in both X and wayland (tested with weston and XFCE).
Not tried with osk-sdl yet, charging-sdl seems to work fine.
USB networking and SSH is working too.
Camera subsystem disabled to prevent bootloops. This device brings its
own dtb.img format, but there's a generator in the kernel source that
is used at build time (patched to make it work properly).
[skip ci]: already built in CI successfully
- Use separated patches
- Use new panel driver (with backlight support)
- Battery fixes
- Fix compass (AK8975) (not tested, only probing works, but sometimes
doesn't - says "Unexpected device" - need to investigate that)
- Touchkey is working + LED
- Keyboard backlight + HALL for slideout detection
- Reverts few hacky commits that caused USB networking not to work
- Modified atmel drivers used by TF101 to work with libinput
[skip ci]: already built successfully in CI
Runs an only slightly patched mainline kernel.
For now:
- flashing works (only SD card boot and kernel flashing tested)
- boots
- screen works
- keyboard works
- touch works
- accelerated Xorg works (OGL not tested, xf86-video-tegra works,
but sometims X crashes with invalid instruction error - open top menus in
Xfce file manager to reproduce)
- SD card works (troubles with GPIO insertion detection)
- USB should work, not tested
- WiFi should work, also not tested (a lot of warnings during boot)
- Sound needs configuration
- battery needs kernel driver (max8922/max8907c)
- touchkey doesn't work - very strange hardware here...
- cameras don't work - no DT bindings, but all drivers there
Other functionality is broken/not tested.
[skip ci]: already built successfully in CI
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.
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
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'
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.
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.
Add firmware-rtl8723bt package and Pine wifi and bluetooth firmware
subpackage.
[skip ci]: ollieparanoid will build this MR manually before merging, it
will probably not finish CI within one hour.
The device boots, USB networking is available and the display does also
work, even though the default display brightness seems to be zero. More
information can be found in the wiki.