nyuuzyou/wikis huggingface dataset:
Sony Xperia Z2 Tablet LTE (sony-castor)

== Contributors ==
* bjorn andersson (ported device to 4.3)
* robclark (freedreno support)
* opendata26
* plata
== Users owning this device ==
See also Sony_Xperia_Z2_Tablet_(sony-castor-windy), which has no modem but uses the same device package.
== Warning ==
On sony-castor-windy, trying write to an SD card seems to always end up having it corrupted. And even worse: Also the internal memory seems to get corrupted. I have not tested if already reading an SD card can cause memory corruption. The situation is unknown on sony-castor.
== What does not work ==
* GUI (tested with plasma, phosh on sony-castor)
== Installation ==
=== Prerequisites ===
==== Unlock Bootloader (tested on sony-castor) ====
This might not work if the device is in factory settings, so setup Android once.
* open dialer and type *#*#7378423#*#*
* Service info → Configuration → Rooting Status
* check that bootloader unlock says "Yes" (otherwise, you cannot unlock)
* use the IMEI to retrieve the unlock code from the Sony website
* turn off device and disconnect USB (if connected)
* hold volume up and connect USB to computer to enter fastboot (LED should switch from red to blue)
* with the unlock code from the Sony website as KEY:
$ fastboot oem unlock 0xKEY
==== Install pmbootstrap ====
* see Installing_pmbootstrap
=== Install postmarketOS ===
* turn off device and disconnect USB (if connected)
* hold volume up and connect USB to computer to enter fastboot (LED should switch from red to blue)
Then follow the general installation instructions in Installation_guide, i.e.
$ pmbootstrap init
* select sony and castor
$ pmbootstrap install
$ pmbootstrap flasher flash_rootfs
$ pmbootstrap flasher flash_kernel
However, the system partition is rather small, so one might want to install to the userdata partition instead via
$ pmbootstrap flasher flash_rootfs --partition userdata
==== Plasma Mobile ====
Set scaling to 3x:
$ kscreen-doctor output.1.scale.3
== Setting the date ==
Since the rtc driver is read only you need to use ntp to set the date
# Install openntpd
$ sudo apk add openntpd
# Write the current system time to the hardware clock
$ sudo ntp -s
== PostmarketOS kernel ==
qcom-msm8974
== Graphics ==
Graphics in the current version of the above kernel is very unstable, the screen usually freezes after a few minutes of running X. Maybe the same as ? The most recent kernel where it is more stable is qcom-msm8974-5.12.13, which is in commit 2ebc93b43e92b4eada0cefba70561642508b191d in pmaports. However, that version does not include a patch which makes the external power supply work.
So, if you want have both mostly stable graphics and a functioning charger, change to pmaports commit 
2ebc93b43e92b4eada0cefba70561642508b191d,
apply the patch
c7bfa860092c00e9c02d3907dbc545e5e41083bc
from linux-postmarketos and build linux-postmarketos-qcom-msm8974 manually.
== Useful key combinations ==
* fastboot: volume up and connect USB
* hard shutdown: press and hold volume up and power
== Links ==
* Initial merge request
* Sony Xperia Z2 Tablet Wifi
* Sony Developer|Unlock bootloader
* Sony Developer|Useful key combinations
* Kernel
* New MDP5 Bindings
Sony Xperia Z3+ (sony-ivy)

== Contributors ==
* MollySophia
== Users owning this device ==
== How to enter flash mode ==
Enter Developer options on Android and enable OEM Unlock
Unlock your bootloader by following instructions here: https://developer.sony.com/develop/open-devices/get-started/unlock-bootloader/
Hold Vol+ and plug USB cable into a computer and the phone. The LED will change to blue. Congratulations, you've entered fastboot.
== Installation ==
Just your standard "pmbootstrap flasher" procedure
== See also ==
* Initial merge request
* 
*
Sony Xperia Z3C (sony-aries)

== Contributors ==
* kskarthik
Special thanks to:
* opendata
* ata2001
* MartijnBraam
and all IRC/Matrix folks
== What works ==
* Compiling the kernel
* SSH into device
* GUI
* Touch
* Battery
* USB OTG
== What doesn't ==
* Everything else
== Build Instructions == 
git clone https://gitlab.postmarketos.org/postmarketOS/pmbootstrap 
cd pmbootstrap
./pmbootstrap.py checksum device-sony-aries
./pmbootstrap.py build device-sony-aries
./pmbootstrap.py checksum linux-sony-aries
./pmbootstrap.py build linux-sony-aries --arch=armhf
./pmbootstrap.py install
== Source ==
* 
*
Sony Xperia Z3 (sony-leo)

== Contributors ==
* Adelahmed
* Audunmg
* (and all the Z3C people since i copy a lot from their efforts)
== Maintainer(s) ==
== Users owning this device ==
== What works ==
* Compiling the mainline kernel
* SSH into device
* wifi
* OTG
== What doesn't ==
* Battery status
* screen
== How to enter flash mode ==
This is using fastboot
* Power off phone
* Hold and connect USB, wait for blue light
== Installation ==
For installation you need to flash lk2nd and flash the rootfs. Do not flash the boot partition since lk2nd uses fs-boot functionality to boot the kernel from the /boot partition of the rootfs.
$ pmbootstrap flasher flash_lk2nd
$ pmbootstrap flasher flash_rootfs --partition userdata
== Component support table ==
Component 	Codename 	Mainline kernel 	
Volume & camera buttons 	gpio-keys 	Working 	
Power key 	pm8941-pwrkey 	- 	
Internal storage 	sdhci1 	Working 	
SD card storage 	sdhci2 	Working 	
Display 1 	novatek lgd 	Kind-of working 	
Touchscreen 1 	Synaptics RMI4 	Kind-of working 	
Vibration motor 	- 	- 	
Notification LED 	qpnp / lpg 	Working 	
Magnetometer 	AK09911 	- 	
Gyroscope & Accelerometer	BMA2X2 	 	
Proximity & Light 	- 	- 	
WiFi 	BCM4339 	Working 	
Bluetooth 	BCM4339 	- 	
FM 	- 	- 	
GPU 	Adreno 330 	Working 	
Modem 	 	 	
Front Camera 	IMX132 	(appears to have a driver in mainline)	
Rear Camera 	IMX200 / IMX 220 (not sure which it actually is)	 	
NFC 	PN547 	- 	
Codec 	WCD9320 	- 	
== Partition Layout ==
Partition Name	Device File Path 	Mount Point in Android
TA 	/dev/block/mmcblk0p1 	
sbl1 	/dev/block/mmcblk0p2 	
s1sbl 	/dev/block/mmcblk0p3 	
dbi 	/dev/block/mmcblk0p4 	
aboot 	/dev/block/mmcblk0p5 	
rpm 	/dev/block/mmcblk0p6 	
tz 	/dev/block/mmcblk0p7 	
alt_sbl1 	/dev/block/mmcblk0p8 	
alt_s1sbl 	/dev/block/mmcblk0p9 	
alt_dbi 	/dev/block/mmcblk0p10	
alt_aboot 	/dev/block/mmcblk0p11	
alt_rpm 	/dev/block/mmcblk0p12	
alt_tz 	/dev/block/mmcblk0p13	
boot 	/dev/block/mmcblk0p14	/boot
ramdump 	/dev/block/mmcblk0p15	
FOTAKernel 	/dev/block/mmcblk0p16	/recovery
DDR 	/dev/block/mmcblk0p17	
LTALabel 	/dev/block/mmcblk0p18	
modemst1 	/dev/block/mmcblk0p19	
modemst2 	/dev/block/mmcblk0p20	
fsg 	/dev/block/mmcblk0p21	
apps_log 	/dev/block/mmcblk0p22	/misc
system 	/dev/block/mmcblk0p23	/system
cache 	/dev/block/mmcblk0p24	/cache
userdata 	/dev/block/mmcblk0p25	/data
== See also ==
* Initial merge request
* 
* 
* for how to access UART
Sony Xperia Z3 Tablet Compact (sony-scorpion)

== Contributors ==
* kiljacken
== Maintainer(s) ==
* kiljacken
== What works ==
* Usb Net
* Flashing
* Touch
* Screen
== What does not work ==
* The rest, I assume
== How to enter flash mode ==
# Completely turn off the device
# Hold down 
# Insert your usb cable
# The status led should turn blue, congratulations you're in fastboot!
== Installation ==
== See also ==
* Initial pull request
* 
*
Sony Xperia Z5 (sony-sumire)

== Contributors ==
* nergzd723
== Maintainer(s) ==
* Mark Hargreaves (nergzd723)
== Users owning this device ==
== How to enter flash mode ==
Hold , then connect to the PC. If done right, blue LED will show up.
== Installation ==
I use Android recovery package, however it works if flash by Fastboot
To install:
$ pmbootstrap build linux-sony-sumire
$ pmbootstrap build device-sony-sumire
$ pmbootstrap install --android-recovery-zip
$ pmbootstrap flasher --method=adb sideload
Then put your device into recovery, and enter sideloading mode.
== See also ==
* Initial merge request
* 
*
Sony Xperia Z5 Compact (sony-suzuran)

== Contributors ==
* julianuu
* DevelLevel
== Users owning this device ==
== How to enter flash mode ==
Hold , then connect to the PC. The LED will turn blue. Alternatively, connect to PC, hold and until it vibrates and LED turns blue, then release buttons.
== Installation ==
Use pmbootstrap to build your own installation image.
The general instructions Installation_guide#Installation_and_flashing work, i.e.
pmbootstrap install
pmbootstrap flasher flash_rootfs
pmbootstrap flasher flash_kernel
Except this will result in a boot loop, however, running the command "pmbootstrap flasher boot" boots normaly... To get the device to boot normaly by itself you can fix the boot image by removing PMOS specific options from the kernel cmdline.
An example of how to do this is to:
#Clone LineageOS mkbootimg tools
#Unpack the PMOS boot image available at /tmp/postmarketOS-export after runnning "pmbootstrap export"
#(Copy the content from "command line args:" but exclude pmos_*)
#Repacking with the new cmdline
#Then flashing the new image with fastboot
The procedure above can look like this:
git clone https://github.com/LineageOS/android_system_tools_mkbootimg.git
cd android_system_tools_mkbootimg/
cp /tmp/postmarketOS-export/boot.img .
python3 unpack_bootimg.py --boot_img boot.img --out out
python3 mkbootimg.py --kernel out/kernel --ramdisk out/ramdisk --cmdline "console=ttyHSL0,115200,n8 lpm_levels.sleep_disabled=1 boot_cpus=0-5 msm_rtb.filter=0x3F ehci-hcd.park=3 dwc3.maximum_speed=high dwc3_msm.prop_chg_detect=Y coherent_pool=8M sched_enable_power_aware=1 user_debug=31 androidboot.hardware=suzuran buildvariant=userdebug androidboot.selinux=permissive" --out new_boot.img
fastboot flash boot new_boot.img
The device will then boot to PMOS normaly everytime!
== See also ==
* Fix display/Xorg issues and touch input
* Initial merge request
* 
*
Sony Xperia Z Ultra (sony-togari)

Kernel support has been merged to MSM8974 close to mainline kernel fork since 6.11.4.
== Contributors ==
* kevinwidjaja21 (porting)
* (all the Z1C contributors since started using Z1C package as reference)
== Users owning this device ==
== Special keycombo's ==
* Boot to recovery: hold volume down and power button till the phone shakes
* Boot to bootloader: unplug device, hold volume up and plug usb into device
* Reset if stuck: hold volume up and power button till the phone shakes
== What works ==
Using Sony Xperia Z1 Compact (sony-amami) device package and mainline kernel package, USB networking and SD card works.
== See also ==
Downstream kernel source.
Updated MR for the device.
Pull request for initial support in close to mainline kernel.
Sony Xperia acro S (sony-hikari)

== Contributors ==
* intgr
== What works ==
This device uses a non-standard ELF format boot.img file that is not supported by postmarketOS (yet):
 % file boot.img
 boot.img: ELF 32-bit LSB executable, ARM, version 1 (ARM), statically linked, corrupted section header size
intgr has a working hacked postmarketOS toolchain for building compatible boot.img files.
== What does not work ==
Booting.
==== Downstream kernels ====
After trying out tens of different combinations of kernel sources from the web, I couldn't find any that get as far as initramfs.
The best sources found manage to initialize the display backlight and then crash pretty late in the initialization process with error: (see dmesg)
 BUG: Bad page state in process swapper/0 pfn:5dcba
WIP can be seen here: https://gitlab.com/intgr/pmaports/compare/master...device-sony-hikari
==== Mainline kernel ====
No peripherals supported yet, but /dev/last_kmsg can be extracted with a binary kernel (e.g. TWRP). Sadly the boot process appears to hang after executing /init: (see dmesg)
WIP can be seen here: https://gitlab.com/intgr/linux-postmarketos/compare/master...device-sony-hikari
== How to enter flash mode ==
Power off the device. Hold Volume Up as you plug the USB cable into the device.
Alternatively, perform a hard reset by holding Power and Volume Up buttons. When the device vibrates, release the Power button *first*, and it will boot into fastboot loader.
== Installation ==
Follow Sony's instructions to unlock the bootloader.
SpacemiT Key Stone K1

The SpacemiT Key Stone K1/M1 is a RISC-V SoC by Chinese chip designer SpacemiT released in 2024. Very early mainline support was added in Summer 2024.
The SoC consists of two clusters of 4 SpacemiT X60 cores each and features support for the RISC-V Vector Extension 1.0.
== Bootloader ==
SpacemiT provides a U-Boot fork, a buildable version can be found here. The provided U-Boot uses proprietary blobs. There is an ongoing effort to add support for the K1 SoC in oreboot here.
== Devices ==
== Matrix channel ==
#SpacemiT:matrix.org
== Blok diagram ==
== See also ==
* Vendor documentation
* DRAM initialization findings and miscellaneous notes
* Manufacturer's forum
* OpenOCD configuration (JTAG)
* Steps to replace OpenSBI on Spacemit K1
* Works With RISC-V Wiki page about the SpacemiT K1
* Spike simulator (spike-spike)
* Banana Pi BPI-F3 (bananapi-bpi-f3)
SpacemiT Key Stone K1/OpenOCD configuration

<pre>
# spacemit-k1.cfg
# SPDX-License-Identifier: GPL-2.0-or-later
#
# SpacemiT Key Stone K1 target
#
# https://www.spacemit.com/key-stone-k1
#
transport select jtag
adapter speed 2000
if { [info exists CHIPNAME] } {
 set _CHIPNAME $CHIPNAME
} else {
 set _CHIPNAME k1
}
if { [info exists CORES] } {
 set _cores $CORES
} else {
 set _cores 1
}
if { [info exists SECJTAG] } {
 jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x10000E21
} else {
 jtag newtap pre unknown -irlen 1 -expected-id 0x00000000 -disable
 jtag configure pre.unknown -event tap-enable ""
 jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x10000E21 -disable
 jtag configure $_CHIPNAME.cpu -event tap-enable ""
 jtag newtap post unknown -irlen 9 -expected-id 0x08501C0D -ignore-version
 jtag configure post.unknown -event setup {
 global _CHIPNAME
 irscan post.unknown 0x98
 drscan post.unknown 16 0xa
 jtag tapenable pre.unknown
 jtag tapenable $_CHIPNAME.cpu
 }
}
set _TARGETNAME $_CHIPNAME.cpu
set DBGBASE {0x0 0x400}
set _smp_command "target smp"
for { set _core 0 } { $_core < $_cores } { incr _core } {
 target create $_TARGETNAME.$_core riscv -chain-position $_TARGETNAME \
 -coreid [expr {$_core % 4}] -dbgbase [lindex $DBGBASE [expr {$_core / 4}]]
 if { [expr {$_core % 4}] == 0 } {
 $_TARGETNAME.$_core configure -rtos hwthread
 }
 set _smp_command "$_smp_command $_TARGETNAME.$_core"
}
eval $_smp_command
set _SPEED 8000
$_TARGETNAME.0 configure -event examine-start {
 adapter speed $_SPEED
 puts [ adapter speed ]
}
foreach t [target names] {
 # $t riscv set_mem_access sysbus progbuf
 $t riscv set_mem_access progbuf
 # read in gdb: i r csr1498
 $t riscv expose_csrs 1498-1499,1520-1521,1984-2003,2032-2039,3008-3023,3064-3071,4040-4041,4048-4051
}
SpacemiT MUSE Book (spacemit-muse-book)

== Notes ==
Might be old stock.
Awfully simmilar to DeepComputing DC-ROMA LAPTOP II (dc-roma-laptop-ii). Might be the same thing under the hood.
== Users owning this device ==
== See also ==
https://developer.spacemit.com/documentation?token=PEZbwl8p7ikwJbkJmzbcXIPUnnh
http://e.tb.cn/h.TdwIlzNXLWrmVDx
Spot

Spot is a Spotify client for GNOME that both supports phones and desktops. It uses GTK 4 and libadwaita, and can be installed either via apk from Alpine's community repository or via Flatpak from Flathub.
= Installation =
== Via apk ==
 # apk add spot
== Via Flatpak ==
 # flatpak install flathub dev.alextren.Spot
Category:Apps
Spreadtrum SC9820E

Unisoc (Spreadtrum) SC9820E is a system-on-chip for low-end devices, such as
* Android-powered feature phones
* Smart watches
* KaiOS and KaiOS Touch phones
Also known as SP9820E / SL8521E / sharkle.
== Current status in pmOS ==
Boots with armv7 downstream generic kernel (4.4.x version). Display output is not working out-of-the-box at this moment. Mainline is not tested.
== Mainline potential ==
Given that there is basic mainline support for aarch64 Spreadtrum and GPU is supported by Panfrost driver, it is theoretically possible to run mainline kernel with hardware acceleration support on devices with this SoC.
Category:Socs
Spreadtrum SC9863A

== Bootloader unlock ==
* Download required files
* Open Developer options and toggle Bootloader unlock option on
* Move to fastboot mode
* Get identifier token with fastboot oem get_identifier_token
* Run ./signidentifier_unlockbootloader.sh paste_token_hre rsa4096_vbmeta.pem signature.bin
* Run fastboot flashing unlock signature.bin
=== Devices those can be unlocked ===
* Alcatel 1S (2019) 5024D
* DEXP Ursus H110
* Doogee Y7/N10
* Philips S561
* Xiaomi Qin 2 Pro
* Other
== See also ==
PowerVR GE8322 page on Imagination Technologies website
Staging repositories

In order to test service packs better, a staging repositories feature was developed for build.postmarketos.org ().
As of writing, this is quite a new feature. Better give BPO maintainer ollieparanoid a heads up before actually using it.
Here is how it works in a nutshell:
* Create a new branch, for example from v23.06 and name it v23.06_staging_sp1 (replace v23.06 with the original branch and sp1 with a custom name).
* Make changes to the branch.
* Push it to pmaports.git.
* BPO will automatically set up a new staging branch, create copies of all packages that are on the same version as on v23.06 and start building the missing packages.
* Published binary packages are at e.g.: http://mirror.postmarketos.org/postmarketos/staging/sp1/v23.06
* Whenever you push new changes: bpo will sync with the original branch, and again create copies for the packages that already exist there and have the same version.
* To make CI pass in MRs towards the staging repository, apply fixes like in .
* Delete the branch when you don't need it anymore, and the staging repository will be deleted as well.
== See also ==
* Testing Team
Category:Technical Reference
StarFive VisionFive 2 (starfive-visionfive2)

== HDMI output ==
With https://patchwork.kernel.org/project/linux-riscv/cover/20230801101030.2040-1-keith.zhao@starfivetech.com/ applied on mainline you can get video output from the HDMI port, however the refreshing speed even on a TTY is really bad unless you run something "intensive" like neofetch in a continuous loop.
== Users owning this device ==
== See also ==
* VisionFive 2 - open source quad-core RISC-V dev board
* VisionFive 2 Single Board Computer Quick Start Guide
* VisionFive 2 Datasheet
* Main firmware source code repo (U-Boot SPL, OpenSBI, ...)
* Some basic info about the WIP Open Source GPU driver
* StarFive JH7110 SoC Upstream Status
* StarFive RISC-V DTS in Torvalds' tree
* W.I.P Chimera Linux packages for VisionFive 2
* W.I.P Chimera Linux image creation scripts for VisionFive 2
Steam

Steam, Valve Software's digital distribution service for PC games, is not directly provided in the Alpine or postmarketOS repositories, but it can be used on postmarketOS with some workarounds.
As Steam is only available for x86/x86_64 processors, an emulation layer must be used to get it working on arm64 platforms. While Steam may be installed directly (via Flatpak or otherwise) on x86_64 installations of postmarketOS, the majority of postmarketOS devices use the ARM architecture.
=== Install Guides ===
There are two candidates for the emulation layer used to run Steam on arm64 - FEX-Emu and box86/box64. I have created guides for setting up both of them inside Distrobox containers. FEX-Emu offers higher compatibility in my testing, but box86/box64 gives better performance on games that worked in both.
* Steam in FEX Emulator Guide
* Steam in box86/box64 Guide
=== Games Tested ===
Game 	Device 	Works in FEX	Works in box86/box64	Notes
Bioshock 	xiaomi-elish 	No 	Untested 	Shows intro logos and then crashes to desktop
Celeste 	oneplus-fajita, xiaomi-elish	Yes 	Yes 	
FTL: Faster than light 	clockworkpi-uconsole-cm4 	Untested 	Yes 	
Goat Simulator 	xiaomi-elish 	Yes 	Untested 	Required SDL_VIDEODRIVER=x11
Half Life 	xiaomi-elish 	Yes 	Untested 	Required SDL_VIDEODRIVER=x11
Half Life 2 	oneplus-fajita, xiaomi-elish	Yes 	Untested 	Required SDL_VIDEODRIVER=x11
Half Life 2: Deathmatch 	oneplus-fajita, xiaomi-elish	Yes 	Yes 	Required SDL_VIDEODRIVER=x11
Half Life 2: Lost Coast 	oneplus-fajita, xiaomi-elish	Yes 	Yes 	Required SDL_VIDEODRIVER=x11
Portal 	xiaomi-elish 	Yes 	Untested 	Required SDL_VIDEODRIVER=x11
The Elder Scrolls IV: Oblivion	xiaomi-elish 	Yes 	No 	4GB swapfile active
The Elder Scrolls V: Skyrim 	oneplus-fajita, xiaomi-elish	Yes 	No 	Required swapfile to start
Subnautica 	xiaomi-elish 	Yes 	Untested 	Required swapfile to start
Tomb Raider (2013) 	oneplus-fajita, xiaomi-elish	Yes 	No 	Required using Windows version in Proton
Ultimate Chicken Horse 	xiaomi-elish 	Yes 	Yes 	Required SDL_VIDEODRIVER=x11
SuperTuxKart

SuperTuxKart is a kart racing game that runs fine on touch screens on devices with 3D acceleration with some tweaking.
==SuperTuxKart==
SuperTuxKart is available from Alpine's community repository and can as such be installed via:
 # apk add supertuxkart
==Tweaks==
===Touch controls===
By default you will likely not be presented with any touch controls once you enter a race. For touch controls to show up, you need to enable them manually in settings.
Category:Apps
Sxmo

Sxmo, or Simple X Mobile, is a collection of simple programs and scripts used together to create a fully functional mobile UI adhering to the Unix philosophy.
== Installation ==
You can download an installer image or prebuilt image here.
pmbootstrap config ui sxmo-de-sway or sxmo-de-dwm to use dwm instead of sway as the window manager
Alternatively, you may download a PostmarketOS image with Sxmo preinstalled (equivalent to running pmbootstrap init and selecting pinephone and sxmo as the interface).
== Usage ==
User graphical interface controlled by gestures and hardware buttons. Refer to the user guide for detailed usage instructions.
Note that Sxmo is designed for the Pinephone, so don't expect everything to work well on any device out of the box. However, Sxmo is open to contributions that would help to extend portability, see this issue. See below for how to improve functionality on other devices.
== Components ==
Default installation on Xorg consist of:
* dwm — window manager,
* dmenu — menu system,
* lisgd — gesture daemon,
* svkbd — virtual keyboard,
* feh — wallpaper,
* conky — desktop clock,
* clickclack — audio/vibration feedback on keypress,
* st — simple terminal,
Default installation on Wayland consist of:
* Sway — window manager,
* bemenu — menu system,
* lisgd — gesture daemon,
* wvkbd — virtual keyboard,
* swaybg — wallpaper,
* wayout — desktop clock,
* foot — terminal,
== State on other devices ==
Basic functionality works well out of the box on almost any mainline device. However, there are some things that are still have to be generalised, like:
* Vibration (sxmo_vibratepine doesn't work on msm8916 even if correct path to vibrate device is set)
* Sound control (need to get it completly universal instead of hardcoding alsa devices)
Fonts on devices with smaller screens can be configured using the variables dmenu.font, dwm.font, st.font and svkbd.font in the file ~/.Xresources. The positioning of the xdm login greeter can be configured with the xlogin*geometry line of the file /etc/X11/xdm/Xresources.
For more information on how to port new devices, see: https://git.sr.ht/~mil/sxmo-utils/tree/master/item/scripts/deviceprofiles/README.md
== Pictures ==
File:Sxmo-bq-paella.jpg|thumb|left|Sxmo on bq-paella with a few apps running.
File:sxmo-main-page.JPG|thumb|left|Sxmo main page.
File:sxmo-main-menu.JPG|thumb|left|Sxmo main menu. 
File:Sxmo-scripts-page.JPG|thumb|left|The script page of the Sxmo menu.
File:Sxmo-app-page.JPG|thumb|left|The application menu in Sxmo.
File:Sxmo_gestures.png|thumb|Swipe gestures illustration.
== See also ==
* Sxmo: Freedom on mobile devices through simplicity and hackability — Video Presentation at Libreplanet 2022
* Sxmo: Simple X Mobile - A minimalist environment for Linux smartphones — Video Presentation at AlpineConf 2021
* project homepage
* Sxmo Tips & Tricks
* postmarketOS podcast interviews about Sxmo with proycon, Miles Alan