Language Selection

English French German Italian Portuguese Spanish

GNOME Developers: Microsoft Stifling the Competition and GStreamer/Graphene

Filed under
GNOME
  • Musings on the Microsoft Component Firmware Update (CFU) Protocol

    CFU has a bazaar pre-download phase before sending the firmware to the microcontroller so the uC can check if the firmware is required and compatible. CFU also requires devices to be able to transfer the entire new transfer mode in runtime mode. The pre-download “offer” allows the uC to check any sub-components attached (e.g. other devices attached to the SoC) and forces it to do dep resolution in case sub-components have to be updated in a specific order.

    Pushing the dep resolution down to the uC means the uC has to do all the version comparisons and also know all the logic with regard to protocol incompatibilities. You could be in a position where the uC firmware needs to be updated so that it “knows” about the new protocol restrictions, which are needed to update the uC and the things attached in the right order in a subsequent update. If we always update the uC to the latest, the probably-factory-default running version doesn’t know about the new restrictions.

    The other issue with this is that the peripheral is unaware of the other devices in the system, so for instance couldn’t only install a new firmware version for only new builds of Windows for example. Something that we support in fwupd is being able to restrict the peripheral device firmware to a specific SMBIOS CHID or a system firmware vendor, which lets vendors solve the “same hardware in different chassis, with custom firmware” problem. I don’t see how that could be possible using CFU unless I misunderstand the new .inf features. All the dependency resolution should be in the metadata layer (e.g. in the .inf file) rather than being pushed down to the hardware running the old firmware.

  • Emmanuele Bassi: Another layer

    Five years (and change) ago I was looking at the data types and API that were needed to write a 3D-capable scene graph API; I was also learning about SIMD instructions and compiler builtins on IA and ARM, as well as a bunch of math I didn’t really study in my brush offs with formal higher education. The result was a small library called Graphene.

    Over the years I added more API, moved the build system from Autotools over to Meson, and wrote a whole separate library for its test suite.

    In the meantime, GStreamer started using Graphene in its GL element; GTK 3.9x is very much using Graphene internally and exposing it as public API; Mutter developers are working on reimplementing the various math types in their copies of Cogl and Clutter using Graphene; and Alex wrote an entire 3D engine using it.

Microsoft's Component Firmware Update

  • Microsoft's Component Firmware Update Is Their Latest Short-Sighted Spec

    Microsoft's newest specification is the "Component Firmware Update" that they envision as a standard for OEMs/IHVs to be able to handle device firmware/microcode updating in a robust and secure manner. While nice in theory, the actual implementation has a number of issues that complicate the process and could quickly evolve into another troubling specification from Microsoft in the hardware space.

    Red Hat's Richard Hughes who is the lead developer on Fwupd and LVFS for firmware updating on Linux has written a lengthy blog post with his thoughts after studying the specification. Now that vendors have begun asking him about CFU, he's getting his opinions out there now and there are issues with the specification. Ultimately though if there is enough interest/adoption, he could support Component Firmware Update via Fwupd but he certainly isn't eager to do so.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

More in Tux Machines

GNU Linux-libre 5.3-gnu

GNU Linux-libre 5.3-gnu sources and tarballs are now available at
<http://www.fsfla.org/selibre/linux-libre/download/releases/5.3-gnu/>.
It didn't require any deblobbing changes since -rc7-gnu, the first
published rc-gnu.  Freesh binaries are already available!, thanks to
Jason Self; others are on the way.


Besides recognizing new false positives (sequences that our blob hunter
would report as suspicious, but that are neither blobs nor requests for
blobs), updating the deblobbing scripts for 5.3 required adjusting
cleaned up drivers for updated blob names, recognizing one new Free
piece of firmware with binary and corresponding sources embedded in the
kernel sources, and disabling blob loading introduced in a few drivers:
QCOM, DRM (HDCP), Allegro-DVT, and Meson-VDEC.

This last one was particularly disappointing: the firmware sources were
supposed to be available from LibreELEC, and though the link to the
alleged sources there is broken, I managed to find the "source" repo
containing them, only to find out the "source" was just a binary blob
encoded in C as an array of char, just like Linux used to do back when I
got involved with Linux-libre.  Oh well...  Request disabled...

If anyone can find Freely-licensed actual source code for that, or for
any other file whose loading we disable, please let us know, so that we
can refrain from disabling its loading.


For up-to-the-minute news, join us on #linux-libre of irc.gnu.org
(Freenode), or follow me (@lxoliva) on Twister <http://twister.net.co/>,
Secure Scuttlebutt, GNU social at social.libreplanet.org, Diaspora* at
pod.libreplanetbr.org or pump.io at identi.ca.  Check my web page (link
in the signature) for direct links.


Be Free! with GNU Linux-libre.
Read more Also: GNU Linux-Libre 5.3 Kernel Arrives for Those Seeking 100% Freedom for Their PCs GNU Linux-libre 5.3 Continues Deblobbing & Dealing With Firmware Trickery

New WireGuard Snapshot Offers Better Compatibility With Distributions/Kernels

WireGuard sadly isn't slated for the now-open Linux 5.4 merge window, but lead developer Jason Donenfeld has put out a new development snapshot of this open-source secure VPN tunnel. Coming barely two weeks since the previous WireGuard snapshot, this newest development release isn't too heavy on the changes but the focus is on better portability/compatibility. Read more

A Simple Review of GNOME 3.34

That's all for now. As always, I love how simple and beautiful GNOME release announcement was. After testing in 3 days, I immediately like this version more than the previous one for the speed improvement and I hope Ubuntu and other distros adopt it soon. Ah, I forgot, regarding Ubuntu, good news for us: next October's Ubuntu Eoan Ermine will feature 3.34! Regarding GNOME, I don't know if this is coincidence or what, but this year's KDE Plasma is faster and smoother and so is GNOME. I think next GNOME 3.36 will be faster and better as well. Finally I would love to say thank you GNOME developers! You all did well in last 6 month. How do you think about 3.34? Let me know in the comment section! Read more Also: Internet Speed Indicator for GNOME 3.34

PulseAudio 13 Released with Dolby TrueHD and DTS-HD Master Audio Support, More

Released three months after the PulseAudio 12 series, PulseAudio 13 is here with support for Dolby TrueHD and DTS-HD Master Audio, support for the SteelSeries Arctis 5 USB headset, improved initial card profile selection for ALSA cards, as well as S/PDIF improvements for CMEDIA USB2.0 High-Speed True HD Audio. The PulseAudio 13 series also adds several new module arguments, including "max_latency_msec" for module-loopback, "stream_name" for module-rtp-send, and "avoid_resampling" for module-udev-detect and module-alsa-card, and no longer uses persistent Bluetooth card profile choices by default, recommending users to use A2DP by default. Read more