Readit News logoReadit News
arp242 · a month ago
> If your Linux laptop doubles as a music player, another nice new feature is that you can now stream your audio over USB even while the rest of your system is asleep. That capability's been available in Android for a while, but now it's part of mainline Linux.

How does that work? You still need some program to actually play the music (mpv, Sotify, whatnot)? Or what am I misunderstanding? Unfortunately there are no details in the article, and an interwebz search doesn't really show anything.

smashed · a month ago
It's probably related to this:

https://www.phoronix.com/news/Linux-6.16-QCOM-USB-Audio-OLOA...

Audio usb offloading. Only supported on Qualcomm soc's.

Article is misleading. Audio offloading is probably only useful to avoid waking the main CPU too often, so better battery management... CPU can remain sleeping a few microseconds longer, not all the time.

Not something many will benefit.

ndriscoll · a month ago
A 20 MB 3.5 minute .flac file takes ~200 ms to decode into a 35 MB .wav on my desktop, so in principle the program could spend a small fraction of a second placing the decoded audio into a small buffer and give a pointer to hardware to keep playing it while the rest of the system goes to sleep for a few minutes. Or if the hardware has direct support for the codec, it could just give it the file as-is.
05 · 25 days ago
Since pulseaudio defaults to software mixing, this huge buffer would just get gradually copied to the actual kernel playback buffer one 25ms chunk at a time..
barchar · a month ago
It probably requires active standby/s0ix. Modern Intel chips actually don't officially support s3 at all anymore, only s0ix.

The whole point is to support stuff like this

RS-232 · a month ago
Maybe it’s using Wake-on-LAN where the network interface is alive while the rest of the system is dormant? Perhaps the music stream is encoded in magic packets?
arp242 · a month ago
I found [1], which says "For Qualcomm hardware where the USB audio can be offloaded to a dedicated audio DSP for handling the transfers to the USB host controller, this lessens the work of the main CPU cores and can help with power management so those CPU cores can hit lower power states or tackle other work. Other hardware vendors will hopefully follow suit in their support for the upstream support around USB audio offloading."

So I think that it doesn't do anything for the average Linux laptop, and is mostly intended for certain (mobile) hardware?

[1]: https://www.phoronix.com/news/Linux-6.16-USB-Audio-Offload

bpbp-mango · a month ago
> Perhaps the most popular Linux file system, Ext4, is also getting many improvements. These boosts include faster commit paths, large folio support, and atomic multi-fsblock writes for bigalloc filesystems. What these improvements mean, if you're not a file-system nerd, is that we should see speedups of up to 37% for sequential I/O workloads.

nice to see ext4 still getting improvements

jauntywundrkind · a month ago
Neat to see zero-copy networking get TX, after RX shipped a while ago. Good stuff. I wonder how it overlaps-with/interacts with the various kernel offloads? I forget if this is TCP only or UDP too: would be really nice with QUIC / HTTP3 to see more love for UDP. https://www.phoronix.com/news/Device-Memory-TCP-TX-Linux-6.1...

The filesystem Folio work has been yielding such amazing results. In general I'm just so impressed how much the storage subsystems keep improving! IO_Uring has totally changed the game in terms of iops delivered just on it's own. But then the various filesystems & upper level multi-queue support have also been consistently finding really nice wins. Folios have been incredible! https://lwn.net/Articles/1015320/

EROFS added compressed metadata support, which is showing a 2.5X win for readdir(3) (reading files from a directory). Given it's use in awesome works like composefs for next-gen & content-addressed based container overlay type systems, this is a nice win. https://github.com/composefs/composefs

Probably my favorite new feature is AMDGPU user queue (userq) work. Rather than the driver having to build out all the future work, now userspace can directly build the work of stuff to be done, sprinkling in various fences and what not. Some very interesting potential for GPGPU & perhaps ML! https://www.phoronix.com/news/Mesa-25.2-High-Priority-USERQ https://www.phoronix.com/news/Linux-6.16-AMDGPU-User-Queues

The Kernel Newbies release log is one of my favorite things to read through. It wasn't bursting-at-the-seams with awesome as you sometimes get with releases, but 6.16 was still very fun. https://news.ycombinator.com/item?id=44717122 https://kernelnewbies.org/Linux_6.16

tombert · a month ago
I'm still kind of surprised that Linus ended up allowing Rust into the kernel. Good, but surprising.

Looking forward to this release once it hits NixOS Unstable.

dralley · a month ago
Linus is pragmatic. His only hard rule is "don't break userspace", most everything else is contingent.

From what I can tell, he views Rust for Linux as a social project as much as a technical one - attract new (and younger) developers into the kernel, which has become pretty "senior", force all of the "unwritten rules" to be written down, and break down some of the knowledge siloing and fiefdom behavior that has taken place over the years (by sharing it specifically with that younger group of developers).

If you think about it, Rust for Linux is in some ways essentially an auditing committee reviewing all of the API interactions between kernel subsystems and forcing them to be properly defined and documented. Even if the Rust part were to fail (exceedingly unlikely at this point), it's a useful endeavour in those other respects.

But of course, if Rust is successful at encoding all of those rules using the type system, that unlocks a lot of value in the kernel too. Most of the kernel code is in drivers, and it's typically written by less experienced kernel developers while being harder to review by maintainers that don't have background on or access to the hardware. So if you can get drivers written in Rust with APIs that are harder to misuse, that takes a big load off the maintainers.

tombert · a month ago
I just remember how much shit he talked about C++, and I guess I assumed that that would carry over to Rust as well.
hetman · 24 days ago
So has Linus straight up made it know this is where he would like things to head? Because it seems a lot of the resistance to Rust in the Linux kernel is coming from seasoned C developers who do not want to document these interfaces.
geodel · a month ago
On that note seems like after ruckus about Hector Martin's PRs not getting merged, things are calm but progressing.
Alupis · a month ago
My understanding is its contained to the "edges", mostly in drivers and not in the "core" kernel.

Still interesting indeed.

lights0123 · a month ago
It surprised me that Linux 6.12's QR code generator is written in Rust and enabled in at least Arch and Fedora.
preisschild · a month ago
for now, due to gcc-rs not being completed yet and the rustc compiler not supporting every linux architecture
xeonmc · a month ago
A surprise, to be sure, but a welcome one.
knowitnone2 · 25 days ago
It's an experiment. If it goes well, great. If it doesn't, revert back. What's the harm?

Dead Comment

mschuster91 · a month ago
> If your Linux laptop doubles as a music player, another nice new feature is that you can now stream your audio over USB even while the rest of your system is asleep. That capability's been available in Android for a while, but now it's part of mainline Linux.

I thought Android did that by just turning off all but one CPU core and suspend all processes not required for streaming + bluetooth?

I really can't imagine how else that would work, other than essentially giving the whole audio file to the Bluetooth chip and let it handle streaming on its own... but I've never heard of a Bluetooth chipset capable of that, much less bluez actually being usable enough.

techjamie · a month ago
Since sleep suspends execution and keeps the RAM state, I suppose it isn't a huge stretch for the kernel to provide some mechanism by which a program can stay awake while execution of others is paused.

I'm sure there are aspects that are hard to reason about which I'm simply unaware of, but the idea makes sense to me.

cestith · a month ago
It hands it off to a dedicated media playback DSP. Right now, only Qualcomm is supported but there’s hope that now that the mainline kernel supports it other hardware providers will offer a way the kernel can do that for them, too.
barchar · a month ago
On modern Intel systems sleep works the same as on android. You don't just ask the chipset for s3 anymore.

I wouldn't be surprised if one core stayed awake.

This is why tiger lake laptops had crummy battery life on Linux upon release (often on windows too). Without working s0ix they just never suspend, and old style s3 isn't really officially supported.

terandle · a month ago
Seems like Linus should be able to tap someone else to do 6.17 while he is on vacation
cyphar · 25 days ago
That has been done in the past (GregKH has managed releases a few times) but he obviously feels it's not necessary this time.
remexre · 25 days ago
> For starters, Linux now supports Intel Advanced Performance Extensions (APX). [...] This improvement means you'll see increased performance from next-generation Intel CPUs, such as the Lunar Lake processors and the Granite Rapids Xeon processors.

This isn't actually right, is it? APX hasn't been released, to my knowledge.

ElijahLynn · a month ago
The article mentions Linux pull requests. Does Linux contribution do actual pull requests now? Or is it still a mailing list?

If the latter, why would they say pull request?

cyphar · 25 days ago
The term "pull request" comes from "git request-pull" which is the tool used by kernel subsystem maintainers to send emails to Linus to request he git pull from their branches (and merge them). This usage long predates the somewhat unrelated "pull request" feature of source forges (like GitHub) and is not confusing to kernel developers (the target audience of Linus's email).

The analogy to GitHub-like "pull requests" in the kernel workflow is "git send-email" (or "b4 send" nowadays) which sends patch series as individual emails that can be reviewed inline as a plain-text email and are applied onto maintainers' trees (usually with something akin to "git cherry-pick"). I still find this system to be a superior method to GitHub's "pull requests" (you can send review comments to commit descriptions -- which I believe Gerrit supports, but GitHub definitely doesn't -- and everything is sanely threaded since it's all email).

Here's an example pull request email from the start of the week[1], containing some VFS changes to be included in 6.17-rc1.

[1]: https://lore.kernel.org/all/20250725-vfs-misc-599b4aef8eaa@b...

ElijahLynn · 17 days ago
Thank you for explaining that, and the history! Thanks for the example too.
tux3 · a month ago
Pull requests took their name from the git request-pull script (which actually predates Github by a couple years): https://github.com/git/git/commit/ab421d2c7886341c246544bc8d...

It is called a pull request because you are asking someone to do a `git pull` from your branch.

PhilipRoman · a month ago
"Pull requests" can also be done via a mailing list (it's literally a request to pull from some URL, see git-request-pull). It is not common on LKML, but I've seen it used that way. I think it's mostly maintainers that use it among themselves, everyone else just mails patches.
cyphar · 25 days ago
It's used by subsystem maintainers to request Linus pull their changes (it is literally the only mechanism Linus accepts from subsystem maintainers, outside of a few outliers like the -next tree). But yes, most regular developers don't use it -- it doesn't allow for inline patch-by-patch reviews like "git send-email" or "b4 send".
5kg · a month ago
It's subsystem maintainers asking Linus to pull from their branches, e.g. https://lkml.org/lkml/2025/7/29/291
justincormack · a month ago
Its a terrible article.