Haiku每月活动报告 - 5月2021年

2021-06-05 00:57:41

在开始报告之前,我们要感谢捐赠者的捐款。您的捐款帮助我们涵盖了我们的开支,并帮助我们达到我们的目标来雇用人们全职工作。我们还要感谢所有社区的无数小时,以实现新功能,三环错误,翻译,支持其他用户,并在周围传播Haiku字。

MT仍然很难在各种静态分析工具中找到的问题。这个月他修复了Userlandfs Beos文件系统驱动程序支持中的各种格式字符串,以及CPU.H中的错位结构,以及各个地方的多个函数定义。

Kallisti5为NFS4文件系统驱动程序添加了一些调试跟踪,以帮助调查与其相关的错误报告。

Pulkomandy更新了用于构建Haiku图像的包的存储库。这是来自Haikuports存储库的某些包的镜像,在固定版本中,以避免由太频繁的Haikuports更新引起的破坏。

SwaysLive更新了我们的一些示例DockerFiles,它展示了如何为建立Haiku或来自Linux的交叉编译应用程序的环境。

Nephele为BControllook添加了新方法以获取滚动条宽度。这将用于绘制其自己的滚动条的Haikuwebkit,以保持与本机应用程序同步的大小。到目前为止,这需要具有真正的BSCrollbar来计算正确的宽度。

根据字体大小(如图所示)调整滚动条宽度,但现在,不同的控制视图实现可以决定具有不同滚动条的宽度的规则。

John Scione仍在努力改进我们的BTextView实现,并对StylEdeDit进行了一些更改,以解决其中的文本区域管理。

Nephele为KDL控制台添加了一个大字体,它在高分辨率显示(超过1080p)上自动启用,其中默认字体可能太小。新字体是脾脏,一个由Frederic Cambus设计的开源单座位图字体。

Korli在Haiku实现了Stack Protection支持(默认情况下禁用,可在编译时配置)。堆栈保护的想法是在堆栈中插入一些标记,只要调用函数。当函数退出时,有一个检查以确保不覆盖标记。

这可以捕获一些缓冲区溢出错误(尽管在堆栈向更高地址趋向于较高地址的体系结构中,但大多数用于检测尝试通过以聪明方式利用错误来对系统注入系统中的恶意代码。

Korli还修复了我们不小心允许内核访问用户信内存的案例,击败了SMAP保护。

Pulkomandy修复了与API的变化相关的输入偏好中的回归,用于添加和移除的输入设备。

FredrikModéen更新了蓝牙首选项,以将设置存储在BMessage中,而不是将结构的原始数据直接写入磁盘。这使得更容易更改稍后更改设置格式。

Telderdk修复了我们的功能.h标题正确支持C11。此标题用于隐藏系统库的某些部分,以提供对C或POSIX API的严格一致性(如果启用严格模式,则不提供BSD或GNU扩展。它现在也处理启用或禁用特定于C语言版本的某些功能。

Korli和Pulkomandy重新制作了IOCTL实现,以避免与使用Variadic Arbumer相关的未定义行为。 IOCTL函数来自POSIX,允许配置文件描述符并与驱动程序通信。 POSIX版本随着时间的推移获得了额外的参数:最初允许它只通过一个int,但是它延伸了一些额外的参数。在其他POSIX系统中,可以知道来自第一个整数参数的参数数。但在Beos和Haiku,允许更多的自由驾驶员如何使用IOCTLS,并且每个驱动程序都可以自由地分配价值。结果,我们一直在尝试获得所有可能的论点,即使它们不存在。由于它们传递参数的方式,这在x86 cpus上运行,但可能是其他系统中的问题。

IOCTL的新实现使用C ++或C中的某些技巧在带有STRUCTS和MACROS的情况下实现函数而无需variadic参数。结果,未使用参数的值将强制为0。

Kallisti5在IFConfig输出中添加了有关10Gbps以太网接口的更多详细信息。现在,您可以知道您正在使用哪种类型的链接(在那里有一点选择速度较慢,当10Gbps链接变得更受欢迎时,希望事情变得更加标准化)。

Korli开始将WiFi驱动程序更新为FreeBSD 13.他还完成了工作(由A-Star-Ayush Dusing的Ayush Dusing A of先前的代码项目夏季开始)来实现TCP选择性Ack。这应该提高TCP的性能,尤其是在WiFi等有损连接上。

Korli还禁用了WavelanWifi驱动程序(它只支持非常旧的Wi-Fi卡,大多是从未在Haiku在Haiku工作的PCMCIA),以及FireWire支持(这一直不完整,现在不太可能存在在现代硬件上)。

AGMS和Pulkomandy在首次启动Haiku编译时进行了一些工作。这将使第一次Haiku启动一点点更快。

X512对RISC-V支持进行了重大进展,Haiku在Tinyemu完全运行(尚未支持实际的RISC-V硬件)。这项工作目前正在提交并审查Gerrit,其中一些第一个补丁已经合并。

这项工作导致系统各地的各个地方进行了清理:删除不需要的内容包括,从C到C ++的代码转换,对仿真器大量使用的Quadio驱动程序的进展。

来自X512的工作还包括其他几个没有明显相关的修复程序,例如简化OpenTerminal中的代码,在BTextView中修复脚本以及许多其他小修复。

Pulkomandy将RISC-V标志添加到脉冲,因此可以正确显示这种档案的结果。

Han Pengfei在EFI Bootloader中修复了某些问题与设备树初始化,这将有助于ARM端口以及可能在稍后在UEFI平台上使用RISC-V端口。

默认情况下,添加了用于I2C输入设备(主要是触摸板)的实验驱动程序,但禁用。不幸的是,它尚未可靠地工作。这导致现有USB HID输入驱动程序的一些重构来分隔HID部件。 HID是一个标准,最初是由所有类型的输入设备(键盘,鼠标,操纵杆,平板电脑,& MLDR)开发的标准,但现在也被I2C设备(嵌入笔记本电脑中)以及蓝牙使用。因此,在驱动程序之间共享此代码是有意义的。

Rudolfc目前正在重新加工Intel_Extreme驱动程序,最后支持比沙桥更新的设备。他的一小部分工作已经合并了,但他目前正在使用我们的论坛用户的帮助来运行测试活动,以验证一些更大的变化。

最后但并非最不重要的是,Máximocastañeda(Madmax)得到了提交的访问并正式加入了Haiku开发人员团队。 欢迎Máximo! 为了支持Haiku,请考虑通过我们的提交捐赠页面捐赠,或者查看我们的LiberaPay页面以进行重复捐赠。