This device is probably broken at this point, but since we want to
remove linux-postmarketos-mainline/stable it really has best chances
to work (somewhat) on linux-postmarketos-qcom-msm8974.
This commit adds support for the Alcatel OneTouch Pop 7S (pop7lte),
a 2014 MSM8226-based tablet, using manufacturer's downstream kernel.
Currently working: display, USB networking, Weston
Firmware is packaged for WiFi and audio but the downstream kernel tree
doesn't seem to include drivers for the qcom wlan chip, only wcnss.
Additionally, audio mixer config is missing as I haven't been able to
find it in the stock Android 4.2.x ROM's filesystem yet.
Please note that this commit adds support *only* for model P330X,
which is not to be confused with similarly-named incompatible devices,
the Pop 7 (also 2014 w/ MT8312) and the Pop 7 LTE (2016 w/ MSM8909).
Signed-off-by: Lauren Kelly <lauren.kelly@msn.com>
All the downstream kernels reference ../../.shared-patches in their
symlinks. Now that we have moved device ports to device/testing/*,
those symlinks are no longer working.
Changing the path would require fixing all downstream packages *and*
a new pmbootstrap release. Overall it seems easier to move the
.shared-patches folder to device/.shared-patches.
Since it is only relevant for downstream kernel packages in device/
that might be a better place in general.
Prepare for better device categorization by moving everything to testing
subdir first.
[skip-ci]: chicken-egg problem: passing pmaports CI depends on pmbootstrap MR
depends on this MR
Related: postmarketos#16
pmbootstrap now configures consistent QEMU hardware for all architectures.
This means that the device package for amd64/aarch64 is now almost identical,
except for the architecture and the name of the serial port.
pmbootstrap always uses virtio-gpu now (but not necessarily virgl),
so there is only one consistent set of initfs modules we need to configure
for both architectures.
Also add the xfce4 package from amd64 to aarch64, exactly the same
problem with the wallpaper exists there.
We haven't been maintaining linux-postmarketos-mainline/stable very
well. Let's recommend use of one of the Alpine kernels which are actively
updated with new LTS updates (see #464).
This simplifies upcoming refactoring of the QEMU device ports,
which may (or may not) work with the more minimal kernel configurations
in linux-postmarketos-mainline/stable.
For some reason, the default SDL UI has been using 1024x768 for a while
now. This causes the splash screen to look weird because it is too small.
Now that pmbootstrap tries to configure 1024x768 in all cases
we can change the resolution for the device ports.
QEMU has its own DHCP server, which provides the necessary routes
and DNS server to access THE INTERNET. Trying to make QEMU provide
something similar to our usual USB network (by starting our our DHCP
server) will just confuse everything and break Internet access in most
cases.
Remove all our custom setup and let QEMU handle all the hard work.
mesa-dri-swrast and mesa-dri-virtio are actually provided by the same
package in Alpine now, so the selection in pmbootstrap does not have
any use. Always install mesa-dri-gallium instead.
Adds samsung-matissevewifi support using msm8916-mainline/linux kernel.
- Device can boot.
- USB network is working.
- Can connect to device using SSH.
All device ports have been changed in one of the previous commits,
so do one pkgrel bump for all of them using:
$ pmbootstrap pkgrel_bump device-*
[ci:ignore-count]
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