GNU Linux-libre 6.9 Released: More Deblobbing, Fixes Intel Graphics On GuC-Less Systems

Written by Michael Larabel in GNU on 13 May 2024 at 05:58 AM EDT. 17 Comments
GNU
Building off last night's release of Linux 6.9 stable, GNU Linux-libre 6.9-gnu has debuted as this kernel downstream that works on stripping out support for any drivers/hardware depending upon closed-source firmware/microcode and other alterations in the name of software freedom.

For the GNU Linux-libre 6.9-gnu release they continued the overall trend of cleaning up drivers relying on elements they deem non-free software. They have worked around the Intel i915 driver behavior how it's handling the GuC micro-controller firmware and such that it will hopefully be working for Intel graphics platforms not dependent upon the GuC firmware or other firmware blobs.

The GNU Linux team explained in their release announcement:
"Only one new driver needed cleaning up because of new blob names in this release cycle: Renesas FemtoClock3 Wireless as PTP clock.

Such drivers as amdgpu and ath12k have grown new source files that needed cleaning up, also because of blob names.

Various new devicetree files for AArch64 implementations by TI, QCom and MediaTek needed cleaning up for the same reason.

Other preexisting drivers, namely adreno, btusb, and r8169, and preexisting files in the already-mentioned amdgpu driver, have also needed new cleaning up due to new mentions of blobs.

The cleaning up of an hex-encoded sourceless binary patch needed to be adjusted due to changes in the pseudo-source file containing it.

We have a fix for the i915 problems mentioned in the previous release cycle, see below.

# i915 bug fix

As mentioned in the 6.8-gnu announcement, we had been made aware of a problem that some users of i915 graphics cards were facing, that caused the cards to freeze early during boot. Booting with i915.enable_guc=0 avoided the freeze on affected systems.

During the 6.9 cycle, we have understood the problem, and hopefully fixed it. In response to our previous change, that we attempted to contribute upstream, in which we enabled the blob-loading logic in the driver to recognize and skip a disabled blob name *after* trying and failing to load it, the overall logic was changed to fail driver initialization if any blob failed to load, even on cards that were able to function without blob updates.

We've now changed the logic to skip disabled blobs entirely, so the driver overall logic won't even attempt to load blobs, and will thus proceed to activate the card.

Some users have reported that, with this fix, they are getting graphics acceleration that they didn't get with the workaround. Nice!

Hopefully this will work for everyone whose cards can run without loaded blobs, and won't cause new problems for anyone whose cards could never be enabled without them.

Please let us know in case you observe any such regressions.

Thanks to everyone who has helped us make and try this fix. We expect to backport it to upcoming releases out of stable branches shortly."

And they have new artwork for their Linux 6.9 derived kernel:

GNU Linux-6.9


GNU Linux-libre 6.9 can be downloaded from FSFLA.org.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week