openKylin(开放麒麟)操作系统社区最新技术进展!
昨日,openKylin(开放麒麟)社区发布的新闻经央视报道后并迅速登上了各大热搜。报道中指出,近年来,我国的国产操作系统逐渐普及,但在一些核心技术上尚待突破。而openKylin(开放麒麟)操作系统根社区的建设初心就是打破瓶颈,填补国内桌面操作系统社区的空白,助推国产操作系统产业生态的健康发展,保障国家的信息安全。
其中,由麒麟软件牵头成立的Kernel(内核) SIG、DE(桌面环境) SIG、RISC-V SIG和Input-method(输入法) SIG公布了其最新进展与成果。
SIG,即Special Interest Group(特别兴趣小组)的缩写,为了更好的管理和改善工作流程, openKylin(开放麒麟)社区设立诸多SIG组开展各类技术研究。
openKylin技术进展与成果
一、Kernel SIG
openKylin内核以Linux社区官网5.15版本内核为基础,在openkylin社区开放源代码。该内核主要支持Intel、AMD新一代CPU及最近一两年出来的各种新的硬件外设,同时包括了对联想、华为、紫光,Dell等整机厂商新推出机型的支持。在x86平台,为操作系统及各种新硬件提供有力的支持,近期进展如下:
1. 在CPU方面,支持Intel新推出的Intel 12代CPU型号;
2. 在图形方面,增加了对Intel 近一两年推出的集显支持;
3.将Intel 12代CPU的支持补丁合并到openKylin 5.15内核中,并修复了多款整机的兼容性问题。
后续会持续同步Linux Kernel社区补丁以及继续对各种新硬件开展适配工作,集成更多新硬件的支持代码以及核心组件的优化代码,欢迎有志内核开发的伙伴加入openKylin大家庭。
二、DE SIG
随着科技的发展,智能化要求的提高,越来越多的生活场景中出现了平板设备的身影,如智能点餐、线上教育、随身业务系统等等。为了适应这一趋势,DE SIG组正着力改造UKUI,使其从单一的PC模式,变成PC和平板的双模式,以同时满足PC和平板类电脑的需求。目前我们已经从底层服务到上层应用初步形成了一套PC、平板多模式融合的解决方案:
1. 状态管理服务统一控制系统整体模式的切换;
2. 多端的窗口管理功能使用户在不同模式下满足不同的操作习惯;
3. 手势管理模块提供全局的手势支持(长按、边缘手势、屏幕内手势等);
4. 应用生命周期管理,实现对应用启动和销毁的应用全生命周期管理,优化系统功耗,提升系统续航;
5. 优化UI布局,提高触摸操作体验。
后续我们还会进一步深入打磨细节,同时会有更多新方案开发出来,比如小部件框架等,欢迎各位感兴趣的社区爱好者,一同加入我们,一起打造最好的Linux平板版本!
三、RISC-V SIG
近年来,RISC-V作为新兴开源指令集架构展现出了巨大的发展潜力,具备了覆盖服务器、桌面、终端和IoT等全栈设备的能力,逐渐成为与x86、ARM并列的主流指令集架构。为了引领国内基于RISC-V架构的开源桌面操作系统发展,RISC-V SIG组在镜像版本、硬件适配、软件生态和内核优化等方面率先开展了相关研究和开发工作:
1. OKBS(openKylin Build Service)增加对RV64架构支持,手动解决了qt、kf5、libxqt、libkscreen、linux-riscv等150个软件包编译失败问题,目前软件仓库中共包含RV64架构软件源码包780个,二进制包2000+个;
2. OKIF(openKylin Image Factory)增加对RV64架构支持,基于OKIF版本制作平台,进行openKylin alpha版本的RV64镜像制作,后续持续测试、回归迭代;
3. 针对StarFive开发版进行适配,制作StarFive开发板镜像;
4. 针对SiFive Unmatched开发板进行系统适配,并修复系统无法关机/重启、启动概率卡死、睡眠及交叉编译等问题10+个,并对systemd服务进行启动优化;
5. 针对二进制翻译问题展开调研,主要针对Qemu以及oxtra、x86_to_RISCV两款开源软件。基于Qemu的用户模式可以实现二进制的动态翻译,核心问题在于性能降级严重,存在8~30倍的性能损耗;oxtra、x86_to_RISCV两款开源软件均非产品级的DBT工具,属demo性质,在真实SiFive Unmatched开发板尚无法正常运行,相比之下oxtra的软件框架更清晰,且有一定的文档可参考,相比x86_to_RISCV情况好一些;后续计划针对Qemu和oxtra进一步探索。
后续我们会结合RISC-V硬件产品的发展,制作出更加高效稳定、生态丰富和易于使用的RISC-V版本openKylin操作系统,欢迎各位感兴趣的社区爱好者一同加入我们,一起为RISC-V的软硬件生态繁荣做出贡献!
四、Input-method SIG
输入法框架提供了应用与输入法之间的通信和对多个输入法的管理,方便用户进行信息输入。目前使用较多的fcitx是PC系统上较好的输入法框架,可以依据输入焦点通知输入法进行显示和输入文字,不过其对平板系统的支持还不完善,在PC平板二合一的系统上交互体验性较差。
openKylin Input-method SIG小组针对大多数平板输入法的使用场景,结合用户在平板上的实际输入习惯,开发扩展了输入法框架对平板系统的支持,以提升平板用户的输入体验。针对系统中的QT、GTK等应用,进行了如下优化:
1. 在QT/GTK应用前端插件中主动监听用户在可编译文本框中的点击事件,来主动通知输入法框架唤醒输入法输入窗口;
2. 调用系统状态管理器DBUS接口判断当前系统是否存在物理键盘的情况,来通知输入法显示不同的输入窗口;
(a)若当前存在物理键盘,主动通知输入法显示物理键盘输入窗口;
(b)若当前不存在物理键盘,主动通知输入法显示虚拟键盘输入窗口。
3. 主动监听状态管理器发出的物理键盘插拔信号,实时通知输入法显示不同的输入窗口类型;
4. 不存在物理键盘的情况下取消输入法框架依据可输入焦点发送focusIn信号来通知输入法显示的方式。
后续我们还会进一步优化细节,欢迎各位感兴趣的社区爱好者,一同加入我们!
加入 openKylin SIG 进行贡献
openKylin(开放麒麟)社区是一个自由开放的社区,社区中所有的SIG小组都是开放的,任何人和组织都可以参与。你可以选择加入已有SIG,也可以选择创建新的SIG。截至目前,openKylin社区已有11个SIG在运行,包括Architecture、Infrastructure、Release、Kernel、Security、Compatibility等。
如果您对此感兴趣,想要加入openKylin(开放麒麟)社区 ,成为openKylin SIG的一员,可点击 “https://openkylin.top/sig/index-cn.html” 了解更多详细内容。