虽然英特尔通常在其开源Linux硬件支持方面做得很好,在Linux下启用所有功能并及时这样做--通常是在客户端和服务器硬件可用之前很久--但近年来,许多较新的英特尔笔记本电脑的网络摄像头支持一直是一个例外。自从Alder Lake以来,越来越多的英特尔支持的笔记本电脑一直依赖于连接到IPU6 IP的原始MIPI摄像头传感器。英特尔一直在严格控制IPU6的知识产权,因此他们的Linux支持包括一个树外内核驱动程序和一个专有的用户空间组件。但多亏了Linaro和RedHat,一个开源的替代方案已经形成。
这并不是一个新问题,如果您是Phoronix的忠实读者,您可能会记得过去几年中关于这个主题的许多文章。早在2022年,上游的Linux内核开发者甚至建议避免使用较新的英特尔笔记本电脑对于Linux的使用,因为网络摄像头的支持还有很长的路要走。有一段时间取得一些进展关于改善这种情况,但如果想要利用网络摄像头支持而不依赖英特尔的树外内核驱动程序和封闭源代码的用户空间位,已经是过去两年多的时间了。
红帽公司的汉斯·德·戈德一直在与Linaro的工程师们一起解决这个问题,他们提出了一种无需任何专有比特的软件图像信号处理(ISP)解决方案。通过上游内核中ov2740内核驱动程序的改进,在开源软件上使用网络摄像头已经成为可能,英特尔方面一直在努力向上传输一些IPU6代码,并且在libCamera项目中正在开发一个开源软件isp堆栈。汉斯最近发布了针对libCamera软件isp代码的v2补丁系列。还有其他相关工作,比如改进Firefox PipeWire摄像头支持。
汉斯·德·戈伊德将于下周在布鲁塞尔举行的FOSDEM 2024大会上更多地谈论这项正在进行的工作,即为最近的英特尔笔记本电脑提供开源网络摄像头支持。通过他的博客他为感兴趣的人发布了这项工作的概述。
英特尔对IPU6的官方树外Linux驱动程序支持可通过GitHub for those interested. The blog post also details how Fedora users can employ a COPR repository to get a working open-source driver stack right now.