Linus Torvalds on Sunday announced the availability of Linux kernel 6.1 stable, the first version to bring initial Rust infrastructure, and says he’s “much happier” about its state than he was a few weeks ago.
In October, during a Linux 6.1 release candidate, Torvalds complained about kernel developers submitting code at the last minute, comparing their submissions to students who “do an all-nighter to get the paper in the day before the deadline”.
While he’s happier about the state of Linux 6.1, which arrived a week behind schedule, Torvalds is worried about the Linux 6.2 “merge window from hell, just before the holidays.”
Also: What are AppImages and how do you use them on Linux?
He reports being happy to find that developers took his gripes “to heart”, with some having already submitted 6.2 pull requests, which should help counter the “awkward” pre-holidays merge window.
“So while delaying things for a week was the right thing to do, it does make the timing for the 6.2 merge window awkward,” writes Torvalds.
“That said, I’m happy to report that people seem to have taken that to heart, and I already have two dozen pull requests pending for tomorrow in my inbox. And hopefully I’ll get another batch overnight, so that I can try to really get as much of the merge window done with early. We all want to have a calm holiday season.”
One of the early pull requests for 6.2 is a driver for Google’s ChromeOS Human Presence Sensor (HPS), a hardware sensor that can detect the presence of one or more humans in front of a Chromebook. Via Phoronix, Google submitted the cros_hps_i2c kernel driver for ChromeOS HPS, which supports a sensor connected to the I2C bus. It’s not known what sensor Google is planning for; the patch does mention a fingerprint sensor, but it could also include the use of a camera.
“When loaded, the driver exports the sensor to userspace through a character device. This device only supports power management, i.e., communication with the sensor must be done through regular I2C transmissions from userspace,” Google explains in the patch.
“Power management is implemented by enabling the respective power GPIO while at least one userspace process holds an open fd on the character device. By default, the device is powered down if there are no active clients.”
Google’s device firmware, the I2C protocol and other documentation are available here. In March 2021, for the 10th anniversary of Chromebooks, Google announced its intent to use more sensors to personalize the Chromebook experience. As 9to5Google reported last September, Google has made some progress with HPS, which could help close a gap between Windows devices and Chromebooks – which, for example, lack a biometric sign-in feature such as Windows Hello. The ChromeOS devices could also lock automatically if the user is not present for a set time.
Also: Tech jobs are changing. Here are the real skills you’ll need to get promoted
Torvalds still appears wary of tardy pull requests – and to ensure everyone has a “calm holiday season”, he reiterated that he’ll continue to be “pretty strict about the merge window rules.”
“The rules are that the pull requests sent to me during the merge window should have been ready _before_ the merge window, and have seen some time in linux-next. No last-minute batch of experimental new development that hasn’t been seen by our test automation.”
Linux-next is a holding area for bleeding-edge kernel work and patches intended for the next kernel merge window.
In the name of a stress-free pre-holiday season, Torvalds says he will will drop any pull requests that come in late, or that look like they haven’t been in Linux-next.
“So if you already realize that work hasn’t been in linux-next, let’s just all agree to not even send me the pull request at all, and we’ll all be happy with the calm end-of-the-year season. Ok?,” he writes.
Support for Rust in Linux 6.1 is a big milestone for the Android Open Source Project (AOSP), which is based on the Linux kernel and now has 21% of its new code written in Rust. With Linux 6.1, Google’s AOSP team is bringing memory-safety to the kernel beginning with kernel drivers.