Skip to content
@co2kernel

co2kernel

Based on OnePlusOSS kernel sources, built custom kernel for OnePlus Open
CO₂Kernel

为 Hedwig/Xueying (OnePlus Open) 编译的客制化内核

English Telegram CI Build Download

👾 Hacky trickies

  • 禁用 Spectre-BHB 缓解措施以启用基于历史的分支预测
  • 使用 optprobe 加速 KernelSU LKM 与 OnePlus 内核模块 Kprobe 的性能
  • 伪装官方 proc/version
  • 伪装官方 proc/config.gz
  • 修复 ptrace msg leak
  • TCP 链接禁用 Nagle 算法以降低延迟
  • 为 Wine 添加 NTSync 驱动
  • 拓展 Nintendo Pro / Joy-con 手柄支持
  • 设备树覆写: 无需关闭 AVB 校验, 在内核侧修补设备树
设备树覆写支持机型 prjname 修改
OnePlus Open 22899 强制全局 120Hz 且保留 LTPO 特性
OPPO Find N3 22003 / 22203 暂无修改 (需要用户提交 dts 与 cmdline)

🦄 编译器优化

  • 使用 LTO=Thin 优化编译
  • 使用 O3 优化编译
  • 使用 llvm Polly 优化器
  • 对 freezer_trap 作 LTO noinline 处理

🖨️ 妥协调试效率换取的性能提升

  • 禁用 avc logs
  • 禁用 KFENCE
  • 禁用 UBSAN
  • BLK/BLKdev 不收集 io stat
  • 去除 drm 中的 debug
  • 去除 psi 中的 debug

⚡ CPU 优化

  • cpuidle: 去除 menu 的 iowait
  • PELT 半衰期 32ms → 16ms
  • 减少任务迁移开销
  • 默认使用 LSE 原子指令集
  • CRC-32 使用 ARM64 加速

🧻 内存优化

  • lz4: v1.10.0 + ARMv8 加速
  • 优化的 mem* (~25%+ faster)
    • memcpy
    • memmove
    • memset
  • mm: 不为 user/admin 登录而保留内存 (~136m)
  • arm64: clear_page 对齐 16b
  • loop: 提高回写环优先级
  • 小幅 zram 优化
  • selinux: 避免动态内存分配

📀 存储优化

  • 强制将 none 设为默认的 I/O 调度器
  • fs: 对齐 8b

🍀 特别感谢

此内核合并了来自 Sultan, arter97, Pzqqt, brokestar233, ztc1997, hfdem 等内核开发者 的提交

感谢 Pzqqt, brokestar233, Cloud_Yun 提供了开发指导

内核开发者们的排名不分先后

Pinned Loading

  1. co2kernel_release co2kernel_release Public

    co2kernel's release

    1 1

  2. co2kernel_build co2kernel_build Public

    co2kernel's CI build

    4

Repositories

Showing 9 of 9 repositories

People

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

Top languages

Loading…

Most used topics

Loading…