版本特性


Loongnix-20.3.loongarch64

Loongnix-20.3.loongarch64版本在内核,工具链,JDK,OPENSSL,媒体编解码等组件上均有大量更新。

1. 主要软件包版本更新

软件包名称 Loongnix-20.2版本号 Loongnix-20.3版本号
Linux内核 4.19.190-rc6.lnd.9 1:4.19.190-7.7.lnd.1
gcc 8.3.0-6.lnd.vec.31 8.3.0-6.lnd.vec.34
binutils 2.31.1-16.lnd.vec.25 2.31.1-16.lnd.vec.25
clang 8.0.1-3~bpo10+1.lnd.34 1:8.0.1-3~bpo10+1.lnd.35
llvm 8.0.1-3~bpo10+1.lnd.34 1:8.0.1-3~bpo10+1.lnd.35
java8环境 8u312-b07-lnd.8.1.10 8u332-b09-lnd.8.1.11.1
java11环境 11.0.12+7-11.0.2138.lnd.2 11.0.15+10-11.2.0.lnd.2
x264 0.155.2917+git0a84d98-2.lnd.8 2:0.155.2917+git0a84d98-2.lnd.10
smplayer 18.10.0~ds0-1.lnd.6 18.10.0~ds0-1.lnd.7
openssl 1.1.1d-0+lnd.2 1.1.1d-0+lnd.8
lat 1.1.3~alpha4.lnd.1 1.3.0~beta1.lnd.1
i386-runtime 1.1.3~20220210.lnd.1 1.3.0~20220722.lnd.1
lsvp-platform 0.2-lnd.1 0.3-lnd.2
libglvnd 1.1.0-1.1 1.1.0-1.lnd.3
pixman 0.36.0-1.lnd.2 0.36.0-1.lnd.3
zlib 1:1.2.11.dfsg-1.lnd.3 1:1.2.11.dfsg-1.lnd.4

2. 重点软件包更新说明

2.1. 内核

  • 修复了笔记本休眠唤醒后背光亮度未同步问题
  • 修复了7A2000集显特定情况下显示异常问题
  • 修复了kdump捕获内核无法启动多核的BUG
  • 修复了集显部分BUG
  • 支持新内核与bootloader接口规范4.0版
  • 支持兼容systemtable传递启动参数功能
  • 支持S4后通过内核恢复loongson_backlight背光亮度功能
  • 支持集显4K@30HZ分辨率

2.2. gcc

  • 编译选项和编译选项处理部分gcc12同步,例:支持-mabi=lp64d,且保留原编译选项-mabi=lp64
  • 使用符号扩展形式表示短整型寄存器变量,以减少 extend 操作
  • 解决 vec.31 回迁高版本 GCC-12 导致 movmemsi 指令模板缺失,从而不恰当地自动生成 memcpy 调用的问题
  • 修复社区bug PR106097
  • 修复atomic_exchange的展开
  • 增加 conditional move 操作支持,调整 RTL branch_cost:2 -> 6

2.3. llvm

  • [loongarch] 删除-mfix-loongson3-llsc和-mno-fix-loongson3-llsc两个编译选项
  • [loongarch] 一些后端指令生成优化
  • [loongarch] 适配unaligned-access特性
  • [clang][loongarch] 修复有继承关系的结构体ABI lowering问题
  • 支持lld链接器
  • 支持la.tls.*等宏指令
  • 优化LoongArch立即数加载

2.4. golang

  • 修复了vDSO符号版本的相关错误
  • 修复了cpu cachelinesize 的错误
  • 修复了syscall中第二个返回值的相关错误
  • 移除了cmd/internal/obj无效的延迟槽
  • 汇编器中重命名指令SQRT{F,D}为FSQRT{S,D}
  • 优化了math.Sqrt的实现
  • 汇编器增加了RDTIME{L,H}.W, RDTIME.D 指令支持

2.5. Java

  • openjdk-8
    • [LoongArch] C2向量指令优化
    • [LoongArch] CRC32 Intrinsics优化
    • 优化ArrayFill
    • [LoongArch] 优化Math.multiplyHigh
    • [LoongArch] AllocatePrefetch相关参数调优
    • 修复ori2s立即数越界问题
  • openjdk-11
    • [LoongArch] C1和分层编译支持,优化性能
    • [LoongArch] C2向量指令优化
    • 优化ArrayFill
    • [LoongArch] 优化连续的membar
    • [LoongArch] 优化ReverseByte相关操作

2.6. 媒体编解码

  • x264
    • 增加checkasm支持
    • 优化编码性能,提升17%左右,同频同核条件下已超过KP920
  • smplayer/mpv
    • 修复smplayer音频播放时切换到视频播放无视频画面的问题
    • 关闭mpv播放器菜单栏入口,不作为单独的播放器使用
  • obs-studio
    • 解决了obs推流时,GPU渲染时间过长的问题
  • openblas
    • 修复openblas中LAPACK测试死循环的bug

2.7. 应用开发

  • 支持PyCharm python (龙芯应用公社获取)集成开发环境
  • 支持Eclipse 集成开发环境
  • 支持智龙集成开发环境(龙芯应用公社获取)
  • 支持nodejs_14.16.1环境
  • 支持electron开发环境

2.8. 打印平台

  • 支持4000款打印机驱动;支持多份打印、逐份打印、双面打印、区间打印等常用打印功能;支持即插即用,无需人为干预;支持驱动管理,可安装可卸载。
  • capt打印机,增加了对佳能CAPT打印机的支持
  • 打印机监控,增加了对打印机的状态监控,避免数据发送太多导致异常
  • 打印机探测,修复了UOS及KylinOS下无法自动探测匹配打印机的问题
  • 消息提示,修复了UOS和KylinOS下无法显示提示消息的问题

2.9. 操作系统更新

  • 问题修复60余个。

Loongnix-20.2.loongarch64(版本发行注记)

Loongnix-20.2.loongarch64版本在内核,工具链,JDK,浏览器,媒体编解码等组件上均有大量更新,新增了龙芯二进制翻译,龙芯打印等组件;支持全国产龙芯7A2000桥片。

1.1. 内核

  • 增加UIO支持
  • 增加efi gop支持
  • 增加efistub支持
  • 增加objtool支持
  • 增加BPF JIT支持
  • 增加iommu 大页支持
  • 增加gdb硬件断点支持
  • 增加透明大页迁移支持
  • 增加YAMA安全管理支持
  • 增加HFS文件系统的支持
  • 增加mem命令行参数支持
  • 增加模块plt重定位支持
  • 增加perf callchain工具支持
  • 增加网络块设备驱动
  • 增加7A2000桥片支持
  • 增加CAN设备驱动支持
  • 增加USB远程唤醒支持
  • 增加simple fb驱动支持
  • 增加pixart触摸板驱动支持
  • 增加realtek蓝牙设备的支持
  • 增加WCH串口转换芯片驱动支持
  • 修复vpn连接失败问题
  • 修复rtc唤醒异常问题
  • 修复休眠唤醒异常问题
  • 修复ACPI热区驱动问题
  • 修复ptrace调试异常问题
  • 修复ftrace追踪异常问题
  • 修复集显驱动工作异常问题
  • 修复OHCI驱动中断异常问题
  • 修复部分显示器显示异常问题
  • 修复ASMEDIA控制器驱动问题
  • 修复rtl8192设备信号异常问题
  • 修复perf硬件事件显示错误问题
  • 修复GMAC驱动接口设置错误问题
  • 修复IT66121获取edid异常问题
  • 修复扩展中断控制器中断亲和性问题
  • 修复部分pcie设备没有被正确扫描问题

1.2. 图形

  • 解决AMD 独立显卡 热插拔的概率性花屏问题
  • 7A2000桥片的适配: 实现了HDMI 驱动,实现热插拔探测,支持双屏、三屏,针对《7A2000软硬件规范》,更新 VBIOS实现,支持7A2000

1.3. gcc

  • 问题修复以及新增功能:
    • 修复特定场景下原子操作相关的编译内部错误问题
    • 修复异常处理相关结构体与内核统一
    • 修复浮点LTGT比较的代码生成
    • 修复冲突保护的堆栈探测代码生成问题
    • 修复栈可执行标识“.note.GNU-stack”的生成实现,默认生成不可执行栈
    • 修复调用异常处理eh_return实现问题
    • 修复条件分支bug
    • 修复编译skia SkOpts.cc报internal error问题
    • 移除fix-loongson3-llsc
    • 支持float/double类型signcopy logic的SIMD版本
    • 支持-mcmodel=extreme选项的普通符号加载
    • 支持-mstrict-align选项,默认非对齐
    • 增加对-fasynchronous-unwind-tables的默认支持
    • 更新内建函数头文件
  • 性能优化
    • 添加基础代价模型实现
    • 优化特定场景下结构体传参效率低的问题
    • 优化部分指令模板实现
    • 支持浮点加法等结合律以提升指令并行度
    • 消除向量化过程中出现的冗余访存指令
    • 优化条件转移操作

1.4. llvm

  • [compiler-rt] 支持了loongarch64
  • [llvm-readobj] 支持了解析ELF文件中的machine和flags
  • [llvm] 支持了内嵌汇编中的'z' extra code
  • [llvm] 支持了read_register intrinsic
  • [llvm] 实现了sys::getHostCPUFeatures接口用于探测Host是否支持lsx和lasx特性
  • [clang] 修复了继承型128bit大小结构体作为返回值传递时的调用约定问题
  • [clang] 修复了指定--target=loongarch64时frame-pointer没有被优化的问题
  • [llvm] 修复了i8和i16数据类型原子操作指令生成错误的问题
  • [AsmParser] 删除了无用的directives,与GAS保持一致
  • [loongarch] 删除-mfix-loongson3-llsc和-mno-fix-loongson3-llsc两个编译选项
  • [loongarch] 一些后端指令生成优化
  • 支持lld链接器
  • 支持la.tls * 等宏指令
  • 向量优化
  • 代码清理
  • 支持LoongArch Tail-Call优化
  • 优化LoongArch自动向量化
  • 优化LoongArch立即数加载
  • 修复LoongArch跳转指令的汇编和反汇编问题
  • yaml2obj增加LoongArch支持
  • Backport高版本补丁以修复IR优化问题

1.5. golang

  • 新增加1.18版本的支持
  • 当前loongnix同时支持go1.15 和go.18两个版本,go1.15为系统默认版本
  • ys模块中字节序设置问题
  • 修复原子操作Cas相关的bug
  • 修复asyncPreempt实现的一些bug
  • 修复汇编器相关的bug
  • 修复链接器相关的bug
  • 修复traceback相关的bug
  • 修复除法相关的bug
  • 修复链接器相关的bug

1.6. 龙芯lbrowser

  • 升级至chromium98内核,默认使用红色主题背景,优化UI界面布局
  • 增加截图、密码安全管理、下载功能优化、标签页搜索等功能
  • 优化渲染、js等模块性能
  • 修复客户反馈问题

1.7. Java

  • 新增Java11版本的支持,本次发布的Java 11,对应社区11.0.12+7版本,在包含上游更新的基础上,同时包含了龙芯中科针对龙芯平台进行的新功能开发和优化
  • 当前loongnix同时支持Java 8和Java 11两个版本
  • 符合TCK标准
  • 加解密类优化
  • 数组拷贝优化
  • 原子指令优化

1.8. 媒体编解码

  • ffmpeg

    • 新支持流畅软解播放H265、VP8、VP9超高清视频
    • 修复yuv2rgb像素格式转换bug
    • 补充H264、H265、VP8、VP9格式的解码性能优化
  • x264

    • 补充H264编码优化,编码性能进一步提升9%
    • 可满足1080P 30fps录屏需求
    • 修复编译器升级带来的崩溃问题
  • smplayer/mpv

    • 修改smplayer的默认媒体引擎为mpv
    • 修改smplayer和mpv的默认配置,支持自动检测平台环境,自动选择最佳编解码方式和输出驱动
    • 禁用WMV、VC1格式的硬解,这两个格式只支持软解播放
  • simplescreenrecorderd

    • 适配录屏软件SimpleScreenRecorderd,简化启动设置流程,可支持流畅1080P 30fps录屏
  • flamshot

    • 适配截图软件FlamShot,支持丰富的截图和编辑操作

1.9. JaveScript编程语言环境

  • nodejs14: 添加loong64支持
  • npm: 修改npm默认仓库地址为龙芯npm仓库地址

1.10. 应用开发

  • 支持PyCharm python 集成开发环境
  • 支持Eclipse 集成开发环境
  • 支持智龙集成开发环境
  • 支持nodejs_14.16.1环境
  • 支持electron开发环境

1.11. 打印平台

  • 支持4000款打印机驱动;支持多份打印、逐份打印、双面打印、区间打印等常用打印功能;支持即插即用,无需人为干预;支持驱动管理,可安装可卸载。

1.12. 操作系统更新

  • Boost1.67、Sysbench等增加LA架构支持
  • eclipse进行代码优化
  • 问题修复逾160余个。

Loongnix-20.1.loongarch64(版本发行注记)

  • Loongnix-20.1.loongarch64是支持龙芯Loongarch架构的第一个正式稳定版本

1.1. 内核

  • 新增稀疏内核模型支持
  • 新增ms7210 phy音频驱动支持
  • 新增clone3系统调用
  • 新增ptrace单步调试功能
  • 新增服务器配置文件
  • 新增earlycon支持
  • 新增livepatch支持
  • 修正温区阀值中断异常问题
  • 修正例外类型判断错误问题
  • 修正copy_user异常表逻辑问题
  • 修正s3唤醒概率死机问题
  • 修正unixbench测试出错问题
  • 修正双桥片平台nvme报错问题
  • 修正多路启动失败问题
  • 修正概率性无法启动异常问题
  • 修正网络概率性无法连接问题
  • 修正部分笔记本背光异常问题
  • 修正rtc概率性无法唤醒问题
  • 修正s4概率性失败问题
  • 修正ltpstress测试概率性死机问题
  • 修正调频信息显示错误问题
  • 修正集显平台s3概率性死机问题
  • 修正休眠唤醒后时间戳显示错误问题
  • 修正部分型号蓝牙设备无法使用的问题

1.2. 虚拟化

  • 虚拟机内支持使用gdb硬件断点
  • 修复虚拟机idle时cpu利用率高问题,虚拟机创建失败问题,numa节点内存问题,及其他稳定性问题若干
  • 虚拟机支持smbios type0和type1参数,支持虚拟机slit表
  • DPDK 支持报文加解密功能,丰富更多加解密算法

1.3. 图形

  • 7A1000 集显驱动,解决 IT66121 待机唤醒后,无法读取 EDID 的问题,解决集显驱动待机唤醒时的 bo pin 错误
  • Mesa3d 解决部分厂家 R7240 显卡在 loongarch 的平台上 GPU 死锁的问题

1.4. 编译器

gcc

  • 增加LoongArch后端,可用于编译C/C++/Fortran程序
  • 完成GCC内部回归测试
  • 在3A5000上完成spec2000、spec2006和spec2017正确性测试
  • 添加部分基础指令的builtin函数
  • 在LoongArch下添加LSX和LASX向量扩展指令,并做了正确性测试
  • 添加所有向量指令的builtin函数
  • 重写了LoongArch架构下立即数加载部分的代码逻辑,使立即数加载基本达到最优

binutils

  • 增加LoongArch后端,可正确汇编LoongArch汇编代码
  • 完成BINUTILS内部回归测试
  • 在3A5000上完成spec2000、spec2006和spec2017正确性测试
  • 添加LSX和LASX向量指令支持
  • 添加立即数加载、符号加载和符号跳转等宏指令支持
  • gdb中增加LoongArch后端,可进行LoongArch程序调试

glibc

  • 增加LoongArch后端
  • 完成glibc内部回归测试
  • 在3A5000上完成spec2000、spec2006和spec2017正确性测试
  • 使用LoongArch汇编指令对string类和mem类部分函数进行优化

1.5. llvm

  • 在龙芯架构上支持LSX和LASX向量扩展
  • 在龙芯架构上支持ORCJIT
  • 在龙芯架构上实现llvm.thread.pointer
  • 修复龙芯架构的label as value问题
  • 修复龙芯架构乘法优化引起的性能问题
  • 修复龙芯架构空结构体传参和gcc不一致的问题
  • 调整并优化龙芯架构-mcmodel=large编译选项
  • 调整并优化龙芯架构代码结构

1.6. 龙芯lbrowser

  • 启动速度优化,提升40%
  • 渲染引擎优化,speedometer在Loongarch提升10%
  • JS引擎优化,Jetstream在Loongarch提升11%
  • 针对Loongarch优化视频播放应用,h264等格式视频播放效率提升8%
  • 修复若干用户反馈问题

1.7. Java

  • 包含OpenJDK社区的2个CVE安全更新(CVE-2021-2161, CVE-2021-2163)、4个非CVE类安全更新以及jdk8u292中的其他更新
  • 进行了SHA1/SHA256/AES Intrinsics、数组拷贝等性能优化工作,这些优化使得SPECjvm2008总体提升约3.6%,其中crypto.signverify提升180%以上,crypto.aes提升20%以上
  • 针对龙芯平台的若干稳定性和功能性修复

1.8. .Netcore

  • .NET3.1-SDK-LoongArch64版本完成适配支持,默认支持ASP、串口驱动。
  • 系统默认未集成,安装请访问 http://www.loongnix.cn/

1.9. 媒体编解码

  • 增加视频解码优化,提升了HEVC、VP8、VP9的解码性能
  • 增加视频编码优化,提升H264格式的编码性能,可以支持1080P 30fps流畅录屏
  • 修复编解码相关bug三个
  • 修复因编译器升级导致的播放器配置失效问题
  • 增加OpenBLAS矩阵乘法优化,改善linpack性能分值

1.10. 应用开发

  • 支持PyCharm python 集成开发环境
  • 支持Eclipse 集成开发环境
  • 支持智龙集成开发环境
  • 支持nodejs_14.16.1环境
  • 支持electron开发环境
©龙芯开源社区 all right reserved,powered by Gitbook文档更新时间: 2022-12-04 20:55:49

results matching ""

    No results matching ""

    results matching ""

      No results matching ""