name: AYN Odin 2
arch: aarch64
soc: qcs8550
device: ayn-odin2
# hypdtbo for platform ABL boot
device_suffix: -hypdtbo
pacman:
install:
# For regulatory.db
- wireless-regdb
# Qualcomm firmwares for AYN Odin2
- linux-firmware-ayn-odin2
# Mainline kernel for AYN Odin2
- linux-ayn-odin2-stable
# Adreno 740 GPU
- mesa-qcom-git
# Vulkan test tools
- vulkan-tools
# Vulkan dependency
- xcb-util-keysyms
# AYN Odin2 RGB LED Tuner
- rgb-led
# picked by sakuramist
- yay
- btop
- chromium
- box64-sd8g2-git
- ayn-odin2-meta
- base-devel
systemd:
disable:
# No modem in this device
- rmtfs.service
enable:
- bt-update-mac.service
- net-update-mac@wlp1s0.service
- systemd-timesyncd.service
filesystem:
files:
- path: /etc/systemd/system.conf.d/show-status.conf
content: |
[Manager]
ShowStatus=yes
- path: /etc/systemd/resolved.conf.d/no-mdns.conf
content: |
[Resolve]
MulticastDNS=no
LLMNR=no
- path: /etc/dconf/profile/user
content: |
user-db:user
system-db:local
- path: /etc/dconf/profile/gdm
content: |
user-db:user
system-db:local
- path: /etc/dconf/db/local.d/00-hidpi
content: |
[org/gnome/mutter]
experimental-features=['scale-monitor-framebuffer']
- path: /etc/dconf/db/locks/hidpi
content: |
/org/gnome/mutter/experimental-features
- path: /etc/chromium-flags.conf
content: |
--ozone-platform-hint=auto
- path: /var/lib/gdm/.config/monitors.xml
content: |
0
0
1.5
yes
DSI-1
unknown
unknown
unknown
1920
1080
60.000
- path: /etc/skel/.config/monitors.xml
stage: pre-user
content: |
0
0
1.5
yes
DSI-1
unknown
unknown
unknown
1920
1080
60.000
sysconf:
chassis: handset
environments:
# Force to use zink driver for OpenGL
__GLX_VENDOR_LIBRARY_NAME: mesa
MESA_LOADER_DRIVER_OVERRIDE: zink
GALLIUM_DRIVER: zink
ELECTRON_OZONE_PLATFORM_HINT: auto
kernel:
cmdline:
- clk_ignore_unused
- pd_ignore_unused
- panic=30
- loglevel=8
- allow_mismatched_32bit_el0
path: /boot
kernel: Image
initramfs: initramfs-linux.img
devicetree: dtbs/${platform}/${soc}-${device}${device_suffix}.dtb
mkinitcpio:
files:
# Put these firmware to initramfs for boot
# TODO: do not put they into initramfs
- /usr/lib/firmware/qcom/sm8550/ayn/odin2/adsp.mbn
- /usr/lib/firmware/qcom/sm8550/ayn/odin2/adsp_dtb.mbn
- /usr/lib/firmware/qcom/sm8550/ayn/odin2/cdsp.mbn
- /usr/lib/firmware/qcom/sm8550/ayn/odin2/cdsp_dtb.mbn
- /usr/lib/firmware/ath12k/WCN7850/hw2.0/amss.bin
- /usr/lib/firmware/ath12k/WCN7850/hw2.0/regdb.bin
- /usr/lib/firmware/ath12k/WCN7850/hw2.0/board-2.bin
- /usr/lib/firmware/ath12k/WCN7850/hw2.0/m3.bin
- /usr/lib/firmware/qca/hmtbtfw20.tlv
- /usr/lib/firmware/qca/hmtnv20.bin
- /usr/lib/firmware/qcom/sm8550/ayn/odin2/a740_zap.mbn
- /usr/lib/firmware/qcom/gmu_gen70200.bin
- /usr/lib/firmware/qcom/a740_sqe.fw
- /usr/lib/firmware/regulatory.db.p7s
- /usr/lib/firmware/regulatory.db
+also:
- os/archlinuxarm
- repo/archlinuxcn
- repo/renegade-project
# Generic qualcomm related config
- device/qcom
# USB Gadget tools
- packages/systemd-gadget
# Android Debug Bridge Daemon via USB Gadget
- packages/adbd
# OpenSSH Server
- packages/openssh
# Text editor
- packages/editor
# Bluetooth related services
- packages/bluez
# Persistent MAC Address
- common/persistent-mac
# Root without password
- common/wheel-nopasswd
- common/dconf-update