Skip to content
@Sky1-Linux

Sky1-Linux

Sky1 Linux

Making CIX Sky1 boards actually usable on mainline Linux.

The Problem

CIX Sky1 (CD8180) boards pack impressive hardware—a 12-core ARM CPU, Mali-G720 GPU, 30 TOPS NPU, hardware video codec—but mainline Linux doesn't support most of it. CIX Technology has begun upstreaming foundational SoC support (pinctrl, mailbox, PCIe, base DTS) in v6.19, but critical subsystems remain out-of-tree:

Subsystem Mainline v6.19 Status Our Patches
Display (DP/HDMI) Not submitted ~27,000 lines
Audio (HDA + DSP) Stalled ~8,000 lines
USB-C (PD + DP Alt Mode) Not submitted ~5,000 lines
GPU init + DVFS Not submitted ~500 lines
NPU (AI accelerator) Not submitted ~12,000 lines
VPU (video codec) Not submitted ~39,000 lines
Ethernet (5GbE / 2.5GbE) Not submitted ~53,000 lines

Result: Unpatched mainline Linux 6.19 boots to a serial console with NVMe and basic PCIe. No display, no audio, no GPU, no networking.

What We Provide

Sky1 Linux maintains patched kernels across multiple tracks:

Track Kernel Patches Status
LTS Linux 6.18.x 117 patches Stable, recommended
Latest Linux 6.19.x 118 patches Stable
RC Dormant (awaiting v7.0-rc1)
Next Linux 7.0 merge window 22 patches Active development

Early patches were consolidated by subsystem — the LTS track was reorganized from the original 78 granular patches (preserved in the original-patches branch) into 13 subsystem-grouped patches. The next track carries a clean 22-patch series for the 7.0 merge window. We fully replace the minimal upstream CIX drivers (PCIe, pinctrl, DTS) with production-quality, board-tested versions and add all subsystems not yet submitted upstream.

Users opt into tracks via APT components:

# LTS only (default, recommended)
deb https://sky1-linux.github.io/apt sid main

# LTS + Latest stable
deb https://sky1-linux.github.io/apt sid main latest

# All tracks including RC testing
deb https://sky1-linux.github.io/apt sid main latest rc

Kernel & Drivers

Feature Status
Display output (4K@60 DP/HDMI) Working
GPU acceleration (Vulkan 1.4 / OpenGL 4.6) Working — dual-stack: Panthor + PanVK or vendor Mali + Zink
GPU compute (Vulkan) Working — llama.cpp tested at 5.2 t/s
Audio (HDA speakers + headphones + HDMI) Working
USB-C Power Delivery (up to 100W) Working
USB-C DisplayPort Alt Mode Working
WiFi 6 (RTL8852BE) Working
Dual 5GbE (RTL8126) / 2.5GbE (RTL8125) Working
PCIe (NVMe, GPU, WiFi) Working, no kernel params needed
Hardware video decode (H.264/HEVC/AV1/VP9) Working via VPU
AI accelerator (30 TOPS) Working via NPU
ACPI boot Working (all drivers, both DT and ACPI)

Hardware Video (VPU)

The ARM Linlon MVE v8 VPU provides hardware-accelerated video encode/decode. We maintain patched applications that use the V4L2 stateful (M2M) API directly:

Component What We Added
Firefox V4L2-M2M decode for H.264, HEVC, VP9, AV1
Chromium V4L2-M2M config package (uses unmodified Debian Chromium)
FFmpeg V4L2 M2M support for AV1, VP9, HEVC, H.264 decode/encode
GStreamer v4l2av1dec element for AV1 hardware decode

Supported codecs:

  • Decode: H.264, HEVC, VP8, VP9, AV1, MPEG-2, MPEG-4
  • Encode: H.264, HEVC, VP8, VP9

Quick Start

# Add repository (downloads signing key and configures APT source)
wget -qO- https://sky1-linux.github.io/apt/key.gpg | sudo tee /usr/share/keyrings/sky1-linux.asc > /dev/null
echo "deb [signed-by=/usr/share/keyrings/sky1-linux.asc] https://sky1-linux.github.io/apt sid main non-free-firmware" | sudo tee /etc/apt/sources.list.d/sky1-linux.list
sudo apt update

# Full desktop (kernel, firmware, Mesa Vulkan, hardware video in Firefox/Chromium/FFmpeg/GStreamer)
sudo apt install sky1-desktop

# Or minimal (kernel + firmware only)
sudo apt install sky1-minimal

The sky1-apt-config package (pulled in by both meta packages) manages the APT source, signing key, and pin priority — future installs from our ISOs won't need the manual setup above.

Repositories

Core

Repository Description
apt APT repository with installation guide
linux-sky1 Kernel patches, configs, and build metadata (LTS/Latest/RC/Next tracks)
linux Full kernel source (mainline + patches)
sky1-firmware GPU, DSP, VPU, WiFi firmware
sky1-linux-build Kernel package build scripts and development tools
mesa Mesa 3D with PanVK fixes and Zink GL 4.6 enablement for Mali-G720

Images & Installer

Repository Description
sky1-image-build Disk image and live ISO build system
calamares-settings-sky1 Installer branding and config
plasma-setup KDE Plasma first-boot user creation wizard

Multimedia (VPU Support)

Repository Description
firefox-sky1 Firefox with V4L2-M2M hardware decode
chromium-sky1-config Chromium V4L2-M2M config for Debian package
ffmpeg-sky1 FFmpeg 8.0 with V4L2 M2M codec patches
gstreamer-sky1 GStreamer with v4l2av1dec element

Vendor GPU Stack

The Mali-G720 supports two GPU stacks, selectable at boot via sky1.gpu=vendor on the kernel cmdline:

Stack Vulkan OpenGL Performance Use Case
Open-source (default) PanVK (1.4) Zink (GL 3.2) Slower (open-source compiler) General desktop, compute
Vendor Mali Mali (1.4.305) Zink (GL 4.6) Full speed (vendor-optimized compiler) GL apps, gaming, CAD

Both stacks use Mesa Zink for OpenGL (translating GL to Vulkan). The vendor stack achieves GL 4.6 and significantly higher performance thanks to ARM's optimized shader compiler. A Vulkan WSI layer provides X11 presentation via Xwayland bypass (direct Wayland DMA-BUF) for Zink/GL apps and DRI3 zero-copy for native Vulkan apps. A compatibility layer shims unsupported Vulkan features (fillModeNonSolid, clip/cull distances).

Repository Description
sky1-gpu-support GPU stack switcher, Mali UMD (r54p1), and Vulkan compat layer
cix-gpu-kmd Mali kernel driver (mali_kbase) with DKMS, ported to 6.18–7.0
vulkan-wsi-layer Vulkan WSI layer with DRI3, Xwayland bypass, and SHM presenters

Development Tools

Repository Description
acpi-to-dts-tools ACPI to Device Tree conversion tools for board bringup

Key Kernel Patches

Our patchset includes drivers and fixes not available upstream:

  • linlon-dp / trilin-dpsub — Display processor and DP transmitter (4K@60 HDMI/DP)
  • Panthor GPU init, DVFS + ACE-Lite coherency — Sky1-specific power sequence, SCMI-based frequency/voltage scaling (72–1000 MHz), ACE-Lite bus coherency enabling GPU L2 write-back caching with SLC visibility for the non-snooping DPU (fixes upstream PROT_BIT register bug)
  • Mesa PanVK fixes + Zink GL 4.6 — 40-bit VA space expansion, WLS dispatch serialization fix, and Zink feature gate relaxation for full OpenGL 4.6 on Mali-G720
  • CIX IPBLOQ HDA + SOF DSP — Audio controller and DSP firmware loading
  • RTS5453 — USB-C PD controller for power negotiation and DP Alt Mode
  • ARM Linlon VPU — Hardware video encode/decode (H.264, HEVC, AV1, VP9)
  • ArmChina Zhouyi NPU — AI accelerator driver (30 TOPS, 3-core X2_1204MP3)
  • Realtek RTL8126/RTL8125 — 5GbE and 2.5GbE ethernet (in-tree, no DKMS)
  • DRM bridge chain — Proper DP-to-HDMI bridge for PS185 converter (Orange Pi 6 Plus)
  • PCIe power supply GPIOs — Corrected NVMe, WiFi, and GBE regulator assignments on O6/O6N
  • WiFi RFKill — Corrected GPIO assignment for WLAN radio disable on O6/O6N
  • GPIO LEDs — Power, status, and SSD activity LEDs on O6/O6N
  • ACPI boot — Full SCMI/mailbox/clock/reset/power domain support under ACPI firmware, enabling all drivers on both DT and ACPI boot paths
  • Fan controller — PWM-based fan speed control and tachometer RPM monitoring
  • GPT timer — 64-bit clocksource and clock event device for Sky1

Kernel Development

We maintain the Sky1 patch set across two repositories:

  • linux — Full kernel source with patches applied as commits on top of upstream tags. This is where development happens.
  • linux-sky1 — Exported patches and kernel configs. This is what the build system and users consume.

Branching model

Each kernel track is a branch in the linux repo, rebased onto its upstream base:

Branch Base Description
main 6.18.x stable LTS production kernel
latest 6.19.x stable Latest stable
rc 7.0-rcN Release candidate testing (dormant)
next 7.0 merge window Bleeding edge (22 patches)

All branches carry the same consolidated patch set — one commit per subsystem (device trees, PCIe, display, GPU, audio, etc.). When a new upstream tag is released, we rebase the branch forward and re-export patches to linux-sky1.

Patch consolidation

The initial board bringup was developed as 78 granular commits, which were squashed into 13 subsystem-grouped patches (DTS, PCIe, USB/PHY, display, GPU, audio, networking, etc.) to simplify rebasing and review. Patches added after that consolidation (bug fixes, new board support, driver improvements) are kept as individual commits. The original pre-consolidation history is preserved in the original-patches branch.

Hardware

Component Specification
SoC CIX CD8180 (Sky1) — ARMv9
CPU 4x Cortex-A720 + 4x Cortex-A720 + 4x Cortex-A520
GPU Mali-G720-Immortalis MC10
VPU ARM Linlon MVE v8 (5 AEU cores)
NPU ARM Zhouyi V3 (30 TOPS)
Memory Up to 64GB LPDDR5

Supported Boards

Currently tested and supported:

  • Radxa Orion O6 — Full support
  • Radxa Orion O6N — Supported
  • OrangePi 6 Plus — Initial support

Other Sky1 boards we aim to support:

  • Minisforum MS-R1
  • MetaComputing ARM AI PC

Most of our work is at the SoC level and should work across all Sky1 boards:

Component Portability
GPU, VPU, NPU, Audio, USB-C PD Universal (SoC drivers)
Display, PCIe, Ethernet, WiFi Mostly universal (may need DT tweaks)
GPIO, regulators, board ID Board-specific (device tree)

If you have a Sky1 board and want to help add support, contributions are welcome.

Project Goals

  1. Usable today — Full hardware support on current mainline LTS
  2. Track upstream — Four kernel tracks (LTS, Latest, RC, Next) follow mainline releases
  3. Complete stack — Kernel, firmware, drivers, and multimedia tools
  4. Enable upstreaming — Clean patches organized by subsystem, ready for submission
  5. Multi-board — SoC-level support works across all Sky1 boards; only device trees differ

License

  • Kernel patches: GPL-2.0
  • Mali kernel driver (mali_kbase): GPL-2.0
  • Mali userspace driver (libmali.so): ARM Mali EULA (redistributable per clause 1.1(ii))
  • Firmware: Redistributable per vendor terms
  • Userspace packages: Various open source licenses

Pinned Loading

  1. apt apt Public

    APT repository for Sky1 Linux

    4 1

  2. linux-sky1 linux-sky1 Public

    Linux kernel patches for CIX Sky1 SoC (Radxa Orion O6)

    Shell 16 4

Repositories

Showing 10 of 21 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Most used topics

Loading…