版本特性
Loongnix-20.2.loongarch64
Loongnix-20.2.loongarch64版本在内核,工具链,JDK,浏览器,媒体编解码等组件上均有大量更新,新增了龙芯二进制翻译,龙芯打印等组件;支持全国产龙芯7A2000桥片。
1. 主要软件包版本更新
软件包名称 | Loongnix-20.1版本号 | Loongnix-20.2版本号 |
---|---|---|
Linux内核 | 4.19.190-rc2.lnd.3 | 4.19.190-rc6.lnd.9 |
gcc | 8.3.0-6.lnd.vec.24+b1 | 8.3.0-6.lnd.vec.31 |
glibc | 2.28-10.lnd.29 | 2.28-10.lnd.32 |
binutils | 2.31.1-16.lnd.vec.18 | 2.31.1-16.lnd.vec.25 |
golang-1.15 | 1.15.6-1.lnd.12 | 1.15.6-1.lnd.14 |
golang-1.18 | - | 1.18.0-1.lnd.1 |
clang | 8.0.1-3~bpo10+1.lnd25 | 8.0.1-3~bpo10+1.lnd.34 |
llvm | 8.0.1-3~bpo10+1.lnd25 | 8.0.1-3~bpo10+1.lnd.34 |
rust | 1.41.1+dfsg1-1~deb10u1.lnd.2 | 1.41.1+dfsg1-1~deb10u1.lnd.4+b1.1 |
java8环境 | 8u292-b10-lnd.8.1.8 | 8u312-b07-lnd.8.1.10 |
java11环境 | - | 11.0.12+7-11.0.2138.lnd.2 |
nodejs | 14.16.1~dfsg-1.lnd.9 | 14.16.1~dfsg-1.lnd.10 |
qemu | 1:3.1+dfsg.8.lnd.16 | 3.1+dfsg.8.lnd.18 |
lbrowser | 3.1.5463.2-1.stable | 3.2.1453.0-1.stable |
ffmpeg | 4.1.6-1.lnd.5~deb10u1 | 4.1.6-1.lnd.8~deb10u1 |
libxv | 1.0.11-1.1 | 1.0.11-1.1 |
x264 | 0.155.2917+git0a84d98-2.lnd.6 | 0.155.2917+git0a84d98-2.lnd.8 |
smplayer | 18.10.0~ds0-1.lnd.4 | 18.10.0~ds0-1.lnd.6 |
mesa | 18.3.6-2+deb10u1.lnd.7 | 18.3.6-2+deb10u1.lnd.8 |
lat | - | 1.1.3~alpha4.lnd.1 |
i386-runtime | - | 1.1.3~20220210.lnd.1 |
wine | - | 6.0.1-7-g0216b230c459.lnd.2 |
lsvp-platform | - | 0.2-lnd.1 |
2. 重点软件包更新说明
2.1. 内核
- 新增功能
- 增加UIO支持
- 增加efi gop支持
- 增加efistub支持
- 增加objtool支持
- 增加BPF JIT支持
- 增加iommu 大页支持
- 增加gdb硬件断点支持
- 增加透明大页迁移支持
- 增加YAMA安全管理支持
- 增加HFS文件系统的支持
- 增加mem命令行参数支持
- 增加模块plt重定位支持
- 增加perf callchain工具支持
- 增加网络块设备驱动
- 增加7A2000桥片支持
- 增加CAN设备驱动支持
- 增加USB远程唤醒支持
- 增加simple fb驱动支持
- 增加pixart触摸板驱动支持
- 增加realtek蓝牙设备的支持
- 增加WCH串口转换芯片驱动支持
- Bug修复:
- 修复vpn连接失败问题
- 修复rtc唤醒异常问题
- 修复休眠唤醒异常问题
- 修复ACPI热区驱动问题
- 修复ptrace调试异常问题
- 修复ftrace追踪异常问题
- 修复集显驱动工作异常问题
- 修复OHCI驱动中断异常问题
- 修复部分显示器显示异常问题
- 修复ASMEDIA控制器驱动问题
- 修复rtl8192设备信号异常问题
- 修复perf硬件事件显示错误问题
- 修复GMAC驱动接口设置错误问题
- 修复IT66121获取edid异常问题
- 修复扩展中断控制器中断亲和性问题
- 修复部分pcie设备没有被正确扫描问题
2.2. 图形
- 解决AMD 独立显卡 热插拔的概率性花屏问题
- 7A2000桥片的适配: 实现了HDMI 驱动,实现热插拔探测,支持双屏、三屏,针对《7A2000软硬件规范》,更新 VBIOS实现,支持7A2000
2.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的默认支持
- 更新内建函数头文件
- 性能优化
- 添加基础代价模型实现
- 优化特定场景下结构体传参效率低的问题
- 优化部分指令模板实现
- 支持浮点加法等结合律以提升指令并行度
- 消除向量化过程中出现的冗余访存指令
- 优化条件转移操作
2.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优化问题
2.5. golang
- 新增加1.18版本的支持
- 当前loongnix同时支持go1.15 和go.18两个版本,go1.15为系统默认版本
- ys模块中字节序设置问题
- 修复原子操作Cas相关的bug
- 修复asyncPreempt实现的一些bug
- 修复汇编器相关的bug
- 修复链接器相关的bug
- 修复traceback相关的bug
- 修复除法相关的bug
- 修复链接器相关的bug
2.6. 龙芯lbrowser
- 升级至chromium98内核,默认使用红色主题背景,优化UI界面布局
- 增加截图、密码安全管理、下载功能优化、标签页搜索等功能
- 优化渲染、js等模块性能
- 修复客户反馈问题
2.7. Java
- 新增Java11版本的支持,本次发布的Java 11,对应社区11.0.12+7版本,在包含上游更新的基础上,同时包含了龙芯中科针对龙芯平台进行的新功能开发和优化
- 当前loongnix同时支持Java 8和Java 11两个版本
- 符合TCK标准
- 加解密类优化
- 数组拷贝优化
- 原子指令优化
2.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,支持丰富的截图和编辑操作
2.9. JaveScript编程语言环境
- nodejs14: 添加loong64支持
- npm: 修改npm默认仓库地址为龙芯npm仓库地址
2.10. 应用开发
- 支持PyCharm python 集成开发环境
- 支持Eclipse 集成开发环境
- 支持智龙集成开发环境
- 支持nodejs_14.16.1环境
- 支持electron开发环境
2.11. 打印平台
- 支持4000款打印机驱动;支持多份打印、逐份打印、双面打印、区间打印等常用打印功能;支持即插即用,无需人为干预;支持驱动管理,可安装可卸载。
2.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开发环境