nyuuzyou/wikis huggingface dataset:
Coolpad Y80D (coolpad-coolpady80d)

== Contributors ==
* nphuracm
== Users owning this device ==
== Why armv7? ==
With a quirky bootloader that only supports booting 32-bit armv7 kernels and without secure boot, this device was supposed to be running postmarketOS and mainline on aarch64, with lk1st being used as the primary bootloader. However, due to a strange method the device uses to implement a regulator for powering the panel, which as of now does not yet have a solution on msm8916-mainline/linux or lk1st, plus an unknown "load yl image" boot stage that happens BEFORE the system bootloader as shown in the UART output, we will fall back to armv7 in order to make use of the stock bootloader - which in contrast IS capable of turning on the regulator and thus the panel - as a workaround for the display problem. This should be changed once a suitable solution is found!
=== Reference: Early boot log ===
Format: Log Type - Time(microsec) - Message
Log type: B - since boot(excluding boot rom). D - delta
B - 109769 - SBL1, Start
B - 116479 - pm_device_init, Start
D - 11254 - pm_device_init, Delta
B - 127764 - boot_flash_init, Start
D - 0 - boot_flash_init, Delta
B - 131790 - boot_config_data_table_init, Start
D - 23088 - boot_config_data_table_init, Delta
B - 159576 - sbl1_ddr_set_params, Start
B - 161467 - Pre_DDR_clock_init, Start
D - 183 - Pre_DDR_clock_init, Delta
D - 0 - sbl1_ddr_set_params, Delta
B - 180926 - pm_driver_init, Start
D - 4209 - pm_driver_init, Delta
B - 185196 - clock_init, Start
D - 30 - clock_init, Delta
B - 198341 - Image Load, Start
D - 22448 - QSEE Image Loaded, Delta
B - 221521 - sbl1_efs_handle_cookies, Start
D - 213 - sbl1_efs_handle_cookies, End
B - 226310 - Image Load, Start
D - 3416 - QHEE Image Loaded, Delta
B - 232928 - Image Load, Start
D - 6984 - RPM Image Loaded, Delta
B - 239913 - memcmp tz ok
B - 242078 - boot_flash_configure_target_image ok
B - 246928 - boot_load_yl_image open iamge ok
B - 251411 - sbl find the key
B - 596183 - boot_load_yl_image trans_read iamge ok
B - 597769 - Image Load, Start
D - 7656 - APPSBL Image Loaded, Delta
B - 605455 - QSEE Execution, Start
D - 91 - QSEE Execution, Delta
B - 609695 - SBL1, End
D - 502213 - SBL1, Delta
Android Bootloader - UART_DM Initialized!!!
== How to enter flash mode ==
=== Stock bootloader ===
With a USB cable plugged in, press and hold + to access the stock Fastboot interface.
== Installation ==
No changes have been committed upstream as of the time of writing. Therefore, it will not be documented yet.
== Serial via UART ==
A UART RX pin has not been located yet, but the TX end of UART is located on the microUSB ID pin. It is possible to get kernel output there.
== See also ==
CoreApps

A set of apps with a constant looks across them and able to run on slower systems without hardware acceleration.
== Status ==
Apps work smoothly on most devices with a working display, both with and without hardware acceleration.
== Description ==
There are some core features that make applications great to use on mobile devices. Some are listed here:
* All the apps are light with just a few dependencies, thus using less RAM
* All the apps are touch-friendly and suitable for phablets and tablets
* Apps use the precious vertical screen real estate properly
There are 19 CoreApps:
* CoreAction - A side bar for showing widgets
* CorePins - A bookmarking app.
* CoreArchiver - Archiver to create and extract archives.
* CoreFm - A lightweight file-manager
* CoreGarage - A settings manager.
* CoreHunt - A file finder utility.
* CoreImage - An image viewer.
* CorePad - A document editor.
* CorePaint - A paint app.
* CorePDF - A PDF viewer.
* CoreRenamer - A batch file re-namer.
* CoreStats - A system resource viewer.
* CoreStuff - An activity viewer/ luncher.
* CoreUniverse - Shows information about apps from the CoreApps family.
* CoreTime - A time related task manager.
* CoreTerminal - A terminal emulator. (Not ported because qtermwidget is not in repo)
* CoreShot - A screen capture utility.
* CoreInfo - A file information tool.
* CoreKeyboard - A virtual keyboard for x11.
== Remarks for specific apps ==
Tested on Phosh at 1440×720 & 1024x768 and on aarch64 & x86_64. Scaling problems (window too large) can be mostly fixed via Phosh's Scaling methods.
* CorePins - After one file was added, you need to pin other files via the "Open With" dialog in your favorite file managers. Use "Pin it" there and it will open the respective dialog. Or you may use other CoreApps such as CorePad which include a button to pin files.
* CorePaint - Drawing was not possible.
* CoreRenamer - Little bit too wide in portrait.
* CoreShot - Unusable.
* CoreTime - Only usable in landscape. Too wide in portrait and not fixable (scale-to-fitdoes nothing).
* CoreInfo - When inspecting multiple files in portrait mode, columns get quite small.
* CoreKeyboard - Segfault when pressing key (but works on alpine with x11).
* CorePDF - Little bit too wide in portrait.
== Usages ==
* This apps can be used with any Desktop Environment. But recommended with i3wm, matchbox, xfce.
* More usable in horizontal screen rotation.
== Issues ==
* Follow the Display guide to fix an issue where icons and text are small
* Some icons are showing wrong colors, because SVG is not rendering correctly
=== Links ===
* CoreApps website
* Gitlab Project page
* Riot.im IRC
== Photos ==
File:Corestuff.jpg|thumb|left|CoreStuff
File:coreapps3.jpg|thumb|CoreFM
File:coreapps4.jpg|thumb|CoreImage
File:coreapps5.jpg|thumb|CoreShot
File:Corekeyboard.jpg|thumb|Corekeyboard
Category:Apps
Creating a service pack

This is relevant for maintaining the repository only, regular users will not need this guide.
The tasks below are in a format that's convenient for copying/pasting into a gitlab issue, where each task is checkbox.
Finish up the current service pack:
- after merging patches into pmaports master or aports master, that we want to have in the service pack:
 either just immediately cherry-pick it to the branch (no merge request and not much code review, we'll review before releasing it), or add it as TODO checkbox to the service pack discussion issue
- [ ] update the version number in the rootfs-etc-os-release file in the postmarketos-base package to add/update the service pack number after the regular branch version
- [ ] shortly (~1 week) before releasing the service pack, create the merge request
 - [ ] add the following labels:
 - release-vYY.MM
 - backport
 - [ ] enable the checkbox to delete the branch after merge
after merging the service pack:
 - [ ] homepage:
 - [ ] publish a blog post with a short overview of changes
 - [ ] add one good photo at the top (when in doubt ask Martijn)
 - [ ] one bullet point with exact version and related link (usually changelog) for updated components
 - as usually, create a merge request, make sure the team sees and reviews it
 - (do _not_ change latest_release/latest_release_title in config/download.py!)
Prepare the next service pack (right after releasing the current SP):
- [ ] create a branch for the next service pack (like v21.03.1)
- [ ] create a discussion issue for the next service pack, where we can write down if something is missing or if something in that branch is debatable
 - [ ] add the ETA calendar week (e.g. CW 10, usually 2nd CW of the month, when in doubt ask ollie)
 - [ ] add the following labels:
 - release-vYY.MM
 - service-pack-discussion
 - [ ] paste the current version of this todo list [from the wiki](https://wiki.postmarketos.org/wiki/Creating_a_service_pack) into this new issue, as separate comment
- [ ] leave a comment in the current service pack discussion issue that points to the next one
- [ ] close the old service pack discussion issue
- [ ] update [releases](https://wiki.postmarketos.org/wiki/Releases) wiki page (move the old one to released, add the new one to planned)
Category:Admin
CutiePi Shell

A light, highly tablet-friendly (not strictly mobile-friendly!) Linux desktop initially developed for the CutiePi Raspberry Pi tablet using Qt/QML.
Offers a QtWayland compositor (video) and other small UIs such as a custom terminal, web browser, lock screen, wireless/quick switches and on-screen keyboard (visible here).
The shell is currently hardcoded in a couple of places to use RPi-specific settings, see upstream issue #1 for more information.
CutiePi Tablet (cutiepi-tablet)

A Raspberry Pi 4-based tablet released in 2021, open hardware and somewhat reproducible
== Contributors ==
* R
== Users owning this device ==
== Installation ==
Install to SD card through the standard procedure:
$ pmbootstrap install --sdcard=/dev/mmcblkX
replacing mmcblkX with your target card
== OS porting ==
Some user-space services are currently needed for proper power manager, unless you want to physically shut it down *after* shutting it down in software. These include a cutoff script, and a MCU proxy, which are not currently in the postmarketOS port. See OS porting guide for more information
== CutiePi Shell ==
An add-on to environments like Pixel, adds an UI overlay for mobile-friendliness and a software keyboard. This needs to be packaged as an interface separately.
== MCU reflashing ==
It is recommended to keep the MCU firmware up to date for better power management. This needs to be done via a STlink v2, after disassembling the back panel.
== See also ==
DIAL

DIAL—for DIscovery And Launch—is a simple protocol that second-screen devices can use to discover and launch apps on first-screen devices. DIAL
== OpenFlint ==
OpenFlint is a technology for casting content from one computerized device on an other display (handheld to big screen display).
== Matchstick ==
Matchstick Matchstick website (or Matchstick TV) is a Firefox OS based Matchstick campaign device powered by OpenFlint technology OpenFlint website. Matchstick allows streaming of contents from a handheld device (e.g. laptop, pda, smartphone, tablet) to a Wi-Fi connected Matchstick to show its content on an HDMI compatible display (e.g. big screen TVs, Set-top box, Blu-ray).
== Potential implementation on mobile data (and WiFi) ==
It might be able to imitate Matchstick by running OpenFlint on msm8916 LTE dongles (like Zhihe series LTE dongles (generic-zhihe)) that has a USB_GPU plugged in.
== Potential implementation on WiFi ==
It might be able to imitate Matchstick by running OpenFlint on a STB that has a stick design (like Xiaomi Mi TV Stick (xiaomi-aquaman) ) .
== Related pages ==
* VNC
== See also ==
* Side Displays, Using a Linux phone as a secondary monitor by User:R
* OpenStick -- a project for reverse engineering project on msm8916 based LTE dongles using Mainline Linux
== References ==
DeepComputing DC-ROMA LAPTOP II (dc-roma-laptop-ii)

== Notes ==
Awfully simmilar to SpacemiT MUSE Book (spacemit-muse-book). Might be the same thing under the hood.
== Users owning this device ==
== See also ==
https://deepcomputing.io/product/dc-roma-risc-v-laptop-ii/
https://developer.spacemit.com/documentation?token=PEZbwl8p7ikwJbkJmzbcXIPUnnh
DeepComputing DC-ROMA PAD II (dc-roma-pad-ii)

== Contributors ==
* haui2
== Users owning this device ==
== How to enter flash mode ==
There is a pinhole next to the volume down button, push a sim card extraction tool (or a paperclip) into the hole and hold it while booting the device.
== Installation ==
Use pmbootstrap to build your own installation image. (does not boot!)
Then copy the SD card that came with the device (or check deepcomputing's youtube for the link) to another sd card (keep the original), remove the contents of the rootfs partition and copy the postmarketOS rootfs contents in there. Boot.
== UART ==
One really bad delay was caused by the device having UART but it being under the back cover which is quite brittle and might break while taking it off.
== See also ==
https://github.com/DC-DeepComputing/DC-ROMA_Pad_II_RV-P1B
https://github.com/DC-DeepComputing/
https://bianbu-linux.spacemit.com/en/
https://bianbu-linux.spacemit.com/en/device/boot
Dell venue 8 pro

== Contributors ==
* Iliketwertles
* craftyguy
== Users owning this device ==
=== Information ===
* This tablet is essentially a small 32bit UEFI computer, suffers from 32bit UEFI with 64bit CPU 
* Holding down the Windows button (above volume) holds the boot process, allowing you to:
** Enter bios (volume down)
** Select a boot device (volume up) 
** Continue normal boot (wait or press windows button again)
* This tablet has no ability to flash via a computer, therefore installing has to be done manually on the tablet
== Installation ==
=== Preparation ===
* Ensure secure boot is turned off
* Make the bootable usb
** Use pmbootstrap to make the usb, Use the generic-x86_64 codename and everything else is preference. 
=== Flashing To Internal Storage ===
* Boot the flashed usb
** Hold down the windows button as before, power on the device, press volume up
** Then select the usb in the boot menu, reading what is on the screen
* Ensure you have an internet connection
* Re-run pmbootstrap:
** Install pmbootstrap and rerun the init process, then install with --disk=<DISK>
::- The internal disk can be found with lsblk
 
== Hardware status ==
=== Bluetooth ===
Bluetooth support is available in other distros such as fedora, this means it will likely work in the future but no promises. likely configuration or driver related.
=== Camera ===
No Camera support in any known linux distros. Hopeful future support.
=== Battery ===
Battery charges and discharges as expected, however normally it does not report the %, it has been reported to work however. More investigation is needed
=== USB-A ===
There is no usb port on this tablet, however there is a microusb port which when paired with an adapter works just like a normal usb port. Hence why it is labeled as Works
== Software issues ==
=== Audio Playback ===
If you experience issues with audio, or weird things like video playback
hanging and an audible beep being emitted from the speaker, this is likely due
to a misconfigured Sound OpenFirmware (SOF) setup. There are two different workarounds for this:
* Disable SOF, by unsetting CONFIG_SND_INTEL_BYT_PREFER_SOF in the kernel or blacklisting the module(s) for it.
* Keep SOF and force a specific DSP driver when SOF loads:
$ echo "options snd-intel-dspcfg dsp_driver=2" | sudo tee /etc/modprobe.d/byt-sof.conf
== Tested DE ==
=== Gnome-mobile ===
Good, rare but possible lock-ups, assuming ram issue.
=== xfce4 ===
Good, no complaints.
=== plasma-mobile ===
Works better with more recent updates, on the slow side but that should be expected with this device.
== See also ==
* Linux on Dell venue 8 pro (3845)
* Linux on the Dell Venue 8 Pro (5830)
Device Popularity

==Introduction==
Although there are various reasons to consider porting pmOS to a device,
popularity (i.e., number of units sold) is clearly a strong one.
Specifically, if more than 10 million units were sold,
millions can be expected to become available for "postmarket" resale and use.
==Mobile Phones==
The following table was adapted from information on Wikipedia's
List of best-selling mobile phones page
as of late August, 2020.
It concentrates on mobile phones with touch screens, made by vendors other than Apple.
(Sales figures are in millions of units.)
Manufacturer	Model 	Year	Sold
Nokia 	5230 	2009	150
Samsung 	Galaxy S4 	2013	80
Samsung 	Galaxy S III, S III Mini	2012	70
Samsung 	Galaxy S7, S7 edge 	2016	55
Samsung 	Galaxy S6, S6 edge 	2015	45
Samsung 	Galaxy S8, S8+ 	2017	41
Samsung 	Galaxy S II 	2011	40
Samsung 	Galaxy S10, S10+, S10e 	2019	37
Samsung 	Galaxy S9, S9+ 	2018	35.4
Samsung 	Galaxy A10 	2019	30.3
Samsung 	Galaxy Note II 	2012	30
Samsung 	Galaxy S 	2010	25
Samsung 	Galaxy J2 Prime 	2016	24.2
Samsung 	Galaxy A50 	2019	24.2
Samsung 	Galaxy A20 	2019	23.1
Samsung 	A3 	2017	20
Xiaomi 	Redmi Note 7, Note 7 Pro	2019	20
Huawei 	P30, P30 Pro 	2019	20
Huawei 	Mate 20, Mate 20 Pro 	2018	17
HTC 	ThunderBolt 	2011	16
Huawei 	P20, P20 Pro 	2018	16
Huawei 	P20 Lite 	2018	16
Samsung 	Galaxy J2 Core 	2018	15.2
Nokia 	5800 XpressMusic 	2008	15
Motorola 	Droid Bionic 	2011	13
LG 	Cookie (KP500) 	2009	13
LG 	G3 	2014	10
Deviceinfo dev touchscreen

This page is about deviceinfo_dev_touchscreen from the deviceinfo file.
== How to find the touchscreen device name? ==
=== Initramfs #1 (fastest) ===
* Connect to your initramfs via telnet
* Run ls /dev/input
* For each device in there, do the following:
** Run cat /dev/input/$device
** Tap on the screen and see if you get any output
** The device where you get output is the touch screen
=== Initramfs #2 ===
* Connect to your initramfs via telnet
* Run ls /dev/input
* Try out one after another:
** Change deviceinfo_dev_touchscreen in your deviceinfo
** Rebuild the deviceinfo package, initramfs and flash:
 pmbootstrap checksum device-wiki-example
 pmbootstrap build --force device-wiki-example
 pmbootstrap initfs # rebuild initramfs
 pmbootstrap flasher boot_kernel
=== Easy method (you don't need to connect) ===
* Turn on your device and open any file manager, for example, Total Commander
* Go to /dev/input directory
* For each device in there, try to remove it one by one.
* When the touch screen stops working, it means that the device you just deleted is the touch screen.
* To fix the touch screen, reboot the device.
=== Flashing system + libinput list-devices ===
Alternatively, run pmbootstrap install and flash the system partition again. Then you can use the program libinput list-devices to get the list of devices - with probably more useful names.
When you have the right device name, put it into your deviceinfo (as outlined above), then re-flash the encrypted system image. It should work now.
Dillo

Dillo is a minimalistic and lightweight web browser particularly intended for older or slower computers and embedded systems. It supports only plain HTML/XHTML (with CSS rendering) and images over HTTP and HTTPS; scripting is ignored entirely. 
Since the Dillo browser packed in Alpine/PostmarketOS is not usable on a touch enable mobilephone, toomanyatoms created a Mobilized-Dillo which works pretty nice on linux phones.
=== Installation ===
Grab a recent copy here, it will be called something like mobilized-dillo-27.tar.xz
Unpack, cd into folder:
tar -xf mobilized-dillo-XY.tar.xz
cd mobilized-dillo-XY
Install dependencies:
sudo apk add file-dev fltk fltk-dev
Now configure, build and install:
./configure
make
sudo make install
=== Usage ===
run it from a terminal prompt, like:
dillo https://postmarketos.org
There is an adressbar and a menubar on the buttom of the screen.
== See also ==
* Fosdem 2025 talk
Dino

= Dino on postmarketOS =
Dino is a new, modern Jabber/XMPP Client using GTK+/Vala, with support for OTR and OMEMO end-to-end encryption, file transfers, and MUCs. The version in postmarketOS is currently an experimental work-in-progress branch that implements a mobile-friendly UI using libhandy.
== Installation ==
Dino is in the postmarketOS pmaports repository, and can be installed with:
$ sudo apk add dino
== Known issues ==
* Not all UI elements are adaptive yet (e.g., the 'settings' window displays some items off-screen)
* The libhandy patches might not work well on desktop resolutions
* can't get dino call others dino-postmarketos clients, nor some dino-desktop (linux) clients (only messaging works, not calls https://github.com/dino/dino/issues/1563 )
There's an open issue in the upstream project here with the current status: https://github.com/dino/dino/issues/178
== How to help ==
postmarketOS includes Dino built from the feature/handy branch, found here: https://github.com/dino/dino/tree/feature/handy
Contributions to improve the UI, using libhandy, can be made by submitting a merge request to the upstream Dino project. When submitting the merge request, select the feature/handy branch as the target.
== Which server should I choose? ==
See this page for information about compliance with modern XMPP extensions: https://conversations.im/compliance/
Category:Apps
Direct Rendering Management

The Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with the GPUs of modern video cards.
It is a requirement for the more modern UI, notably Phosh, Plasma Mobile or Sway.
In postmarketOS, DRM support is often only available in a (near to) mainline kernel.
== Useful Links ==
* the DRI Wiki on freedesktop
* the 
Category:Technical Reference
Display

== Landscape mode ==
All these fixes need device reboot.
=== Rotate the screen ===
You can rotate adding the following configuration file: /etc/X11/xorg.conf.d/00-fbdev-rotate.conf
Section "Device"
 Identifier "LCD"
 Driver "fbdev"
 Option "Rotate" "CW"
EndSection
Valid values for "Rotate" are "CW" (clockwise, 90 degrees), "UD" (upside down, 180 degrees) and "CCW" (counter clockwise, 270 degrees), see fbdev(4) man page.
Reboot, then open the display app and set the correct resolution.
=== Rotate the touchscreen ===
In order to also rotate the touchscreen you need to add an udev rule.
First, list your device with 
libinput list-devices
look for your touchscreen, it should look something like this:
Device: Elan Touchscreen
Kernel: /dev/input/event0
Group: 1
Seat: seat0, default
Capabilities: touch 
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: 0.00 1.00 0.00 -1.00 0.00 1.00
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
now, get the device name from udevadm (change event0 according to the Kernel output before): 
udevadm info -a -p /sys/class/input/event0
in the output find your touchscreen, copy the exact ATTRS{name} line:
looking at parent device '/devices/soc0/7000c400.i2c/i2c-1/1-0010/input/input0':
 KERNELS=="input0"
 SUBSYSTEMS=="input"
 DRIVERS==""
 ATTRS{uniq}==""
 ATTRS{properties}=="2"
 ATTRS{phys}==""
 ATTRS{name}=="Elan Touchscreen"
create a new udev file under:
/etc/udev/rules.d/98-touchscreen-cal.rules
Add the ATTRS{name} line you copied with a comma:
ATTRS{name}=="Elan Touchscreen",
And add one of the following lines after the comma:
# Left - 90 degree clockwise
ENV{LIBINPUT_CALIBRATION_MATRIX}="0 -1 1 1 0 0"
# 180 degree clockwise
ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 0 -1 1"
# Right - 270 degree clockwise
ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 -1 0 1"
# reflect along y axis
ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 1 0 0"
So you end up with something like this:
ATTRS{name}=="Elan Touchscreen", ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 -1 0 1"
Reboot your device and you are good to go. (a force reload of udevadm isn't enough!)
Note: If you use the rotate screen code as it is, use the # Right option to rotate the touch on the direction of rotated screen.
== Scaling ==
Xfce4 and Mate Desktop supports gtk apps scaling out of the box. 
As for Qt apps, you need to set up environment variables by 
sudo nano /etc/environment
and pasting these lines after comments
QT_SCALE_FACTOR=2
QT_AUTO_SCREEN_SCALE_FACTOR=2
== Display Power Management ==
To control display from a terminal, first set DISPLAY environment variable:
export DISPLAY=:0.0
The <B>xset</B> command can be used to turn display on and off, or set a display timeout value.
xset dpms force off # To turn off display
xset dpms force on # To turn the display back on
xset q # Prints current display status info
== Troubleshooting ==
Check the logs with logread -f | grep x11 or see the dedicated Troubleshooting page
Category:Guide