<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xml" href="https://www.igalia.com/feed.xslt.xml"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://www.igalia.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://www.igalia.com/" rel="alternate" type="text/html" /><updated>2026-04-21T12:16:04+00:00</updated><id>https://www.igalia.com/feed.xml</id><title type="html">Igalia</title><subtitle>Igalia is an open source consulting firm specialised in the development of innovative projects and solutions. Our engineers have expertise in a wide range of technological areas, including browsers and client-side web technologies, graphics pipeline, compilers and virtual machines. We have the most WPE, WebKit, Chromium/Blink and Firefox expertise found in the consulting business, including many reviewers and committers. Igalia designs, develops, customises and optimises GNU/Linux-based solutions for companies across the globe. Our work and contributions are present in many projects such as GStreamer, Mesa 3D, WebKit, Chromium, etc.</subtitle><author><name>Igalia</name></author><entry><title type="html">Igalia at BlinkOn 21</title><link href="https://www.igalia.com/2026/04/16/Igalia-at-BlinkOn-21.html" rel="alternate" type="text/html" title="Igalia at BlinkOn 21" /><published>2026-04-16T00:00:00+00:00</published><updated>2026-04-16T00:00:00+00:00</updated><id>https://www.igalia.com/2026/04/16/Igalia-at-BlinkOn-21</id><content type="html" xml:base="https://www.igalia.com/2026/04/16/Igalia-at-BlinkOn-21.html"><![CDATA[<p><a href="https://www.chromium.org/events/blinkon-21/">BlinkOn</a> is the annual Chromium contributor summit. BlinkOn 21 runs April 20–21 this year, and for the first time ever, it will be hosted by Microsoft in Redmond, WA, instead of by Google in Silicon Valley.  We’re proud to be long-time and leading contributors to Chromium’s codebase, so members of our <a href="https://www.igalia.com/technology/browsers">Chromium and Web Platform</a> teams will be at the summit, in person and remotely.  Several are presenting, including:</p>

<ul>
  <li><strong>“Container Timing 2026 update”</strong> by <a href="https://igalia.com/team/dape">José Dapena</a> — where the Container Timing API stands now and what’s ahead.</li>
  <li><strong>“History of the Web”</strong> (roundtable panel) — co-hosted by <a href="https://igalia.com/team/bkardell">Brian Kardell</a> and Patrick Brosset, with Mike Champion, Adrian Bateman, and Greg Whitworth.</li>
  <li><strong>“Syncable a11y preferences in ChromeOS”</strong> by <a href="https://www.igalia.com/team/agomes">Antonio Gomes</a> — a look at ongoing improvements to the state of syncing accessibility preferences across devices.</li>
  <li><strong>“Bringing CTAP 2.2 hmac-secret-mc Support to Chromium”</strong> by <a href="https://igalia.com/team/blee">Byungwoo Lee</a> — adding the <code class="language-plaintext highlighter-rouge">hmac-secret-mc</code> extension from CTAP 2.2 to improve passkey credential handling in Chromium.</li>
  <li><strong>“Progress of the tvOS port”</strong> by <a href="https://igalia.com/team/gkim">Gyuyoung Kim</a> — a status update on Chromium for tvOS.</li>
  <li><strong>“Progress of Extensions migration”</strong> by <a href="https://igalia.com/team/mshin">Miyoung Shin</a> — where things stand in the move to modern extension APIs.</li>
  <li><strong>“Mime Types Handler Liberation: Giving Extensions the Keys to the PDF Kingdom”</strong> by <a href="https://igalia.com/team/msisov">Maksim Sisov</a> — making extensions first-class handlers for PDFs, rather than leaving it to the browser.</li>
</ul>

<p>Talks will be recorded and published on the <a href="https://www.youtube.com/blinkontalks">official BlinkOn YouTube channel</a> after the event concludes.</p>

<p>We always look forward to talking with fellow Chromium contributors, and we hope to see you there!</p>

<p><br />
<em>Updated 20 April 2026 to add a talk that was accepted at the last minute.</em></p>]]></content><author><name>Igalia</name></author><category term="news" /><category term="igalia" /><category term="frontpage" /><category term="browsers" /><category term="chromium" /><category term="open-source" /><category term="BlinkOn" /><category term="Chromium" /><category term="Web" /><category term="a11y" /><category term="accessibility" /><summary type="html"><![CDATA[BlinkOn is the annual Chromium contributor summit. BlinkOn 21 runs April 20–21 this year, and for the first time ever, it will be hosted by Microsoft in Redmond, WA, instead of by Google in Silicon Valley. We’re proud to be long-time and leading contributors to Chromium’s codebase, so members of our Chromium and Web Platform teams will be at the summit, in person and remotely. Several are presenting, including: “Container Timing 2026 update” by José Dapena — where the Container Timing API stands now and what’s ahead. “History of the Web” (roundtable panel) — co-hosted by Brian Kardell and Patrick Brosset, with Mike Champion, Adrian Bateman, and Greg Whitworth. “Syncable a11y preferences in ChromeOS” by Antonio Gomes — a look at ongoing improvements to the state of syncing accessibility preferences across devices. “Bringing CTAP 2.2 hmac-secret-mc Support to Chromium” by Byungwoo Lee — adding the hmac-secret-mc extension from CTAP 2.2 to improve passkey credential handling in Chromium. “Progress of the tvOS port” by Gyuyoung Kim — a status update on Chromium for tvOS. “Progress of Extensions migration” by Miyoung Shin — where things stand in the move to modern extension APIs. “Mime Types Handler Liberation: Giving Extensions the Keys to the PDF Kingdom” by Maksim Sisov — making extensions first-class handlers for PDFs, rather than leaving it to the browser. Talks will be recorded and published on the official BlinkOn YouTube channel after the event concludes. We always look forward to talking with fellow Chromium contributors, and we hope to see you there! Updated 20 April 2026 to add a talk that was accepted at the last minute.]]></summary></entry><entry><title type="html">Linux 7.0 Released</title><link href="https://www.igalia.com/2026/04/15/Linux-70-Released.html" rel="alternate" type="text/html" title="Linux 7.0 Released" /><published>2026-04-15T00:00:00+00:00</published><updated>2026-04-15T00:00:00+00:00</updated><id>https://www.igalia.com/2026/04/15/Linux-70-Released</id><content type="html" xml:base="https://www.igalia.com/2026/04/15/Linux-70-Released.html"><![CDATA[<h1 id="linux-70-released">Linux 7.0 Released</h1>

<p>The new kernel version <a href="https://lkml.org/lkml/2026/4/12/604">is out</a>, this time with an increased major number. As usual, despite the perceived importance of the version number, this is just one release more. That means no spectacular announcements; just consistent work, more features, more fixes, better support.</p>

<p>A couple of non-technical changes stand out in this release: Rust is <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9fa7153c31a3">no longer considered experimental</a> in the kernel, and there is now an <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a66437c27979577fe1feffba502b9eadff13af7d">official policy</a> on tool-generated content. The kernel keeps evolving and this will surely pave the way for future development in the coming years.</p>

<p>For a detailed list of changes, you can check the <a href="https://kernelnewbies.org/Linux_7.0">KernelNewbies ChangeLog</a>.</p>

<p>At Igalia, the Linux kernel is one of ever-present work areas and interests and we keep contributing to it on many fronts. Here’s our list of contributions and patches for this release.</p>

<h2 id="igalia-changelog">Igalia changelog</h2>

<h3 id="direct-rendering-manager-improvements">Direct Rendering Manager improvements</h3>

<p>Our work on the DRM (Direct Rendering Manager) continues. Being one of our biggest areas of contribution, in this release we once again provided improvements.</p>

<p>In the AMD display driver, we fixed unexpected color results reported by SteamOS/Gamescope users. These were related to incorrect mapping of color values made by the AMD color module when programming some color transformations into the hardware. We also improved the support for newer hardware families by exposing missing plane color blocks.</p>

<p>Further, we provided many assorted patches to do various cleanups in the <a href="https://www.kernel.org/doc/html/v7.0/gpu/drm-mm.html#the-translation-table-manager-ttm">TTM layer</a> and multiple small (but important!) fixes in the AMD, Intel and v3d drivers, as well as a fix for the framebuffer probing on the Valve Steam Deck.</p>

<h3 id="new-bpf-helpers-for-sched_ext-schedulers">New BPF helpers for sched_ext schedulers</h3>

<p>For the past couple of years, we’ve been consistently contributing to <a href="https://github.com/sched-ext/scx">sched_ext</a> and, in particular, to the <a href="https://github.com/sched-ext/scx/tree/main/scheds/rust/scx_lavd#scx_lavd">scx_lavd</a> scheduler to enhance the gaming experience in Linux, improving the latency and interactivity under gaming workloads.</p>

<p>In this release, we introduced a set of BPF helper APIs –<code class="language-plaintext highlighter-rouge">bpf_in_nmi()</code>, <code class="language-plaintext highlighter-rouge">bpf_in_hardirq()</code>, <code class="language-plaintext highlighter-rouge">bpf_in_serving_softirq()</code>, and <code class="language-plaintext highlighter-rouge">bpf_in_task()</code> – along with their corresponding self-tests. These helpers allow BPF programs to precisely detect their execution context. This capability is particularly valuable for sched_ext schedulers; for instance, a BPF scheduler like <code class="language-plaintext highlighter-rouge">scx_lavd</code> can now distinguish whether a task was woken up by another process or via an interrupt, enabling more informed scheduling decisions.</p>

<h3 id="small-fixes-to-rpi-pmdomain-and-vc4-fixes-for-rpi-3">Small fixes to RPi pmdomain and vc4 fixes for RPi 3</h3>

<p>In our ongoing effort to improve Raspberry Pi devices, we addressed several issues related to the RPi 4 power domain, fixing system hangs during power transitions and correcting a broken reset status read. Additionally, on the RPi 3, we resolved a couple of memory leaks, race conditions, and PM reference imbalances, improving overall reliability for RPi users.</p>

<h3 id="assorted-bug-fixes-and-maintainability-improvements">Assorted bug fixes and maintainability improvements</h3>

<p>As usual, we helped with the never-ending task of fixing bugs, this time clearing up a few of them in the Bluetooth stack and the DRM TTM.</p>

<p>We determined the root cause of two race conditions in the thermal subsystem’s core that could potentially cause a system crash, and developed synthetic reproducers for it. Even though the approach selected to address the issue was not our proposed fix, we contributed to its code review and testing with our specific understanding of the issue and synthetic reproducers, improving the overall quality of the fix.</p>

<p>Another important and often overlooked type of contribution is the refactoring of code to make it more maintainable. In this case, by replacing deprecated APIs and legacy macros. We submitted some patches to do this kind of update in parts of the DRM subsystem and the v3d driver.</p>

<h3 id="other">Other</h3>
<p>As with every release, we helped with assorted janitor tasks such as documentation fixes and cleanups — specifically improving the exportfs and DRM documentation — as well as the usual share of reviews and tests.</p>

<h2 id="authored-52">Authored (52)</h2>
<h3 id="alberto-garcia">Alberto Garcia</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=734eba62cd32cb9ceffa09e57cdc03d761528525">PM: hibernate: Drain trailing zero pages on userspace restore</a></li>
</ul>

<h3 id="andré-almeida">André Almeida</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5e7fa6bfa9b5ced6868fc652d5c40fe0eac154d9">exportfs: Fix kernel-doc output for get_name()</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fc76b5968a435894062ad4160c2e81c32cc4972e">exportfs: Mark struct export_operations functions at kernel-doc</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7a6f811e2c06d656996776771f0498df129a0cc2">exportfs: Complete kernel-doc for struct export_operations</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f9a6a3fec23a852851049847f2ba3be6eb6eb0b7">docs: exportfs: Use source code struct documentation</a></li>
</ul>

<h3 id="changwoo-min">Changwoo Min</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c31df36bd26a5ed8898bb3fcc8c37ea9157ba784">selftests/bpf: Introduce execution context detection helpers</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=221b5e76c1c6e8ad4fa7c95a689e44ff45daab1c">selftests/bpf: Add tests for execution context helpers</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cd77618c418254b827f2a807b4c27b97088fdb52">selftests/bpf: Make bpf get_preempt_count() work for v6.14+ kernels</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9badc2a84e688be1275bb740942d5f6f51746908">PM: EM: Fix NULL pointer dereference when perf domain ID is not found</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0c4a59df370bea245695c00aaae6ae75747139bd">sched_ext: Fix is_bpf_migration_disabled() false negative on non-PREEMPT_RCU</a></li>
</ul>

<h3 id="heitor-alves-de-siqueira">Heitor Alves de Siqueira</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=21e4271e65094172aadd5beb8caea95dd0fbf6d7">Bluetooth: purge error queues in socket destructors</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8a768552f7a8276fb9e01d49773d2094ace7c8f1">usb: usbtmc: Flush anchored URBs in usbtmc_release</a></li>
</ul>

<h3 id="helen-koike">Helen Koike</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b6552e0503973daf6f23bd6ed9273ef131ee364f">Bluetooth: L2CAP: Fix null-ptr-deref on l2cap_sock_ready_cb</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3822743dc20386d9897e999dbb990befa3a5b3f8">ext4: reject mount if bigalloc with s_first_data_block != 0</a></li>
</ul>

<h3 id="maíra-canal">Maíra Canal</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=eaba54b8a67bdec7f834d61ff6cf5f0f3f4ea5bc">drm/v3d: Consolidate CPU job validation in a function</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f5520a1a844342af7295a72c35cc9690b7a9fdd1">drm/v3d: Convert v3d logging to device-based DRM helpers</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=550bae2c0931dbb664a61b08c21cf156f0a5362a">pmdomain: bcm: bcm2835-power: Fix broken reset status read</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b826d2c0b0ecb844c84431ba6b502e744f5d919a">pmdomain: bcm: bcm2835-power: Increase ASB control timeout</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aaefbdde9abdc43699e110679c0e10972a5e1c59">drm/vc4: Release runtime PM reference after binding V3D</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f4dfd6847b3e5d24e336bca6057485116d17aea4">drm/vc4: Fix memory leak of BO array in hang state</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9525d169e5fd481538cf8c663cc5839e54f2e481">drm/vc4: Fix a memory leak in hang state error path</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=338c56050d8e892604da97f67bfa8cc4015a955f">drm/vc4: Protect madv read in vc4_gem_object_mmap() with madv_lock</a></li>
</ul>

<h3 id="melissa-wen">Melissa Wen</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5006505b19a2119e71c008044d59f6d753c858b9">drm/amd/display: fix wrong color value mapping on MCM shaper LUT</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0274a54897f356f9c78767c4a2a5863f7dde90c6">drm/amd/display: extend delta clamping logic to CM3 LUT helper</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1714dcc4c2c53e41190896eba263ed6328bcf415">drm/amd/display: remove assert around dpp_base replacement</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ff205dc95a897b4b8c093b665702e83bffd04dc9">drm/amd/display: expose plane blend LUT in HW with MCM</a></li>
</ul>

<h3 id="rodrigo-siqueira">Rodrigo Siqueira</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b9befc9a21bdeafb0f81b757c60df66e6e9feb17">drm/amdgpu: Expand kernel-doc in amdgpu_ring</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e0f90f184d18c70c1b04e8b03a5243e275ce86f4">Documentation/gpu: Add new glossary entries from UMR</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d68ba530ec79ec02c5432c3ae9c852081cc5ebb1">Documentation/gpu: Expand generic block information</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=03a48f07aa89ee72c2cfcc0be70858a745b2a573">Documentation/gpu: Add more information about GC</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=03dc0a6cb6dc8a2ca0201acf599adb26b8c9423b">Documentation/gpu: Add documentation about ring buffer</a></li>
</ul>

<h3 id="thadeu-lima-de-souza-cascardo">Thadeu Lima de Souza Cascardo</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=267f53140c9d0bf270bbe0148082e9b8e5011273">fpga: dfl: use subsys_initcall to allow built-in drivers to be added</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=91d7e9df42598af28ca440b95b16a4e51a408771">drm/ttm: Fix bo resource use-after-free</a></li>
</ul>

<h3 id="tvrtko-ursulin">Tvrtko Ursulin</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e85e9ccf3f8404007f62dff9a02273fcdeb44206">drm/panic: Report invalid or unsupported panic modes</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ee8721bee80150ed1e4ee5ebb6aaf070802ac81b">drm/ttm: Make ttm_bo_init_validate safe against ttm_operation_ctx re-ordering</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=feb065155bab2fabc3545bf57ae31e86d02df9a1">drm/ttm: Resource cannot be NULL in ttm_resource_intersects</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=802620f5a9cf7231933cfce61817577b3b6543d9">drm/ttm: Tidy ttm_operation_ctx initialization</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c06da4b3573a2d3c906c185450d0b1059d02820e">drm/ttm: Tidy usage of local variables a little bit</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6a99e91a6ca8fec5882450128fb128265f86b32a">drm/i915/display: Detect AuxCCS support via display parent interface</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bb2c941b3131437185e79c8f2a16469876664572">efi: sysfb_efi: Replace open coded swap with the macro</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=449b87e81f3561bd907d3b9a31cf69590132a2df">efi: sysfb_efi: Fix lfb_linelength calculation when applying quirks</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7f2f1fd6fc050be874afa9eb52a0ff974f379869">efi: sysfb_efi: Convert swap width and height quirk to a callback</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c7c7eb5ed5a3896e57019f7b33e3b7dcb4ab73b4">efi: sysfb_efi: Fix efidrmfb and simpledrmfb on Valve Steam Deck</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fec2c3c01f1ca0cd2706941e78b9972e7f9474c0">drm/syncobj: Convert syncobj idr to xarray</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a61bf068f1fe359203f1af191cb523b77dc32752">drm/xe: Fix ggtt fb alignment</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f7e06786512e730f750138b1221b6342bcf07859">drm/amdgpu/mes: Remove idr leftovers v2</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dda702172dc26e080fe048b8f170eaccb8097c1a">drm/amdgpu: Simplify sorting of the bo list</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=49abfa812617a7f2d0132c70d23ac98b389c6ec1">drm/amdgpu/userq: Fix reference leak in amdgpu_userq_wait_ioctl</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7b7d7693a55d606d700beb9549c9f7f0e5d9c24f">drm/amdgpu/userq: Do not allow userspace to trivially triger kernel warnings</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6e3f4514e3b432871ac81717d24f56b441857f77">drm/ttm: Fix ttm_pool_beneficial_order() return type</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=048c1c4e51715ffddd4189745c07f530f34fbe37">drm/amdgpu/userq: Consolidate wait ioctl exit path</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=06f4297134db37fb326047b1ed8194a23cdf057d">drm/syncobj: Fix xa_alloc allocation flags</a></li>
</ul>

<h2 id="reviewed-29">Reviewed (29)</h2>
<h3 id="christian-gmeiner">Christian Gmeiner</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a8fffbe7dec7d2dda19ed8c7cc13bed744546c05">drm/etnaviv: Add command stream definitions required for a PPU flop reset</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9934873be03c781e0be7b91168fb6a929b140cd1">drm/etnaviv: move some functions to a header to be able to use them externally</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9fcdece1a734bc71d2d9f9e3dd301cc9fff23327">drm/etnaviv: Add a new function to emit a series of states to cmd stream</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=85ba57ad88cf96b2fb4cf6c81639c7907bf3cd94">drm/etnaviv: Add PPU flop reset</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6a0b99e9fb45f403c3097a9047963d2dd5b0fab2">drm/etnaviv: Add module parameter to force PPU flop reset</a></li>
</ul>

<h3 id="gavin-guo">Gavin Guo</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=939080834fef3ce42fdbcfef33fd29c9ffe5bbed">mm/huge_memory: fix early failure try_to_migrate() when split huge pmd for shared THP</a></li>
</ul>

<h3 id="iago-toral-quiroga">Iago Toral Quiroga</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=eaba54b8a67bdec7f834d61ff6cf5f0f3f4ea5bc">drm/v3d: Consolidate CPU job validation in a function</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f5520a1a844342af7295a72c35cc9690b7a9fdd1">drm/v3d: Convert v3d logging to device-based DRM helpers</a></li>
</ul>

<h3 id="mauricio-faria-de-oliveira">Mauricio Faria de Oliveira</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=45b859b0728267a6199ee5002d62e6c6f3e8c89d">thermal: core: Address thermal zone removal races with resume</a></li>
</ul>

<h3 id="maíra-canal-1">Maíra Canal</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6e0b1b82017b9ba16b87685e1e4902cd9dc762d2">drm/gem: Add huge tmpfs mountpoint helpers</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f19f99bbaf9f91d0b0a95d760f4d6755758b913d">drm/v3d: Use huge tmpfs mountpoint helpers</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7cdf69d903759b81abde5973d703c93a742ddab7">drm/gem: Get rid of *_with_mnt helpers</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=70478348fc6d52d5bb7568a035d3cbe5bcc6af4c">Documentation/gpu/drm-mm: Add THP paragraph to GEM mapping section</a></li>
</ul>

<h3 id="melissa-wen-1">Melissa Wen</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c28b3ec3ca034fd1abc832fef46ce36eb13f8fad">drm/amd/display: Use mpc.preblend flag to indicate 3D LUT</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a4fa2355e0add57253468ef13bd08f11285f3b6e">drm/amd/display: Enable DEGAMMA and reject COLOR_PIPELINE+DEGAMMA_LUT</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=52289ce48ef1f8a81cd39df1574098356e3c9d4c">drm/amdgpu: Fix kernel-doc comments for some LUT properties</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b49814033cb5224c818cfb04dccb3260da10cc4f">drm/amd/display: Fix gamma 2.2 colorop TFs</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aaefbdde9abdc43699e110679c0e10972a5e1c59">drm/vc4: Release runtime PM reference after binding V3D</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f4dfd6847b3e5d24e336bca6057485116d17aea4">drm/vc4: Fix memory leak of BO array in hang state</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9525d169e5fd481538cf8c663cc5839e54f2e481">drm/vc4: Fix a memory leak in hang state error path</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=338c56050d8e892604da97f67bfa8cc4015a955f">drm/vc4: Protect madv read in vc4_gem_object_mmap() with madv_lock</a></li>
</ul>

<h3 id="rodrigo-siqueira-1">Rodrigo Siqueira</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=41af6215cdbcecd12920f211239479027904abf3">drm/amd/display: Reject cursor plane on DCE when scaled differently than primary</a></li>
</ul>

<h3 id="thadeu-lima-de-souza-cascardo-1">Thadeu Lima de Souza Cascardo</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=feb065155bab2fabc3545bf57ae31e86d02df9a1">drm/ttm: Resource cannot be NULL in ttm_resource_intersects</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c06da4b3573a2d3c906c185450d0b1059d02820e">drm/ttm: Tidy usage of local variables a little bit</a></li>
</ul>

<h3 id="tvrtko-ursulin-1">Tvrtko Ursulin</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=97f419848b1db69fc7ea99f385a7d2fa2b2ca454">dma-buf/selftests: drop the mock_wait implementation</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6419fc157e55665dc8680deb1737dc4c53c33f94">drm/panic: Ensure drm_panic_type is initialized to a valid value</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6abb6a0e1104279763d1561b8110c1db442c5fac">drm/panic: Fix expected string for QR_CODE in drm_panic_type_map</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=91d7e9df42598af28ca440b95b16a4e51a408771">drm/ttm: Fix bo resource use-after-free</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a13edf9b92fc4700b3020d7ea547a3d64dd33b63">drm/i915/gem: Drop check for changed VM in EXECBUF</a></li>
</ul>

<h2 id="tested-6">Tested (6)</h2>
<h3 id="helen-koike-1">Helen Koike</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b7cdc5a97d02c943f4bdde4d5767ad0c13cad92b">netfilter: nf_tables: Fix for duplicate device in netdev hooks</a></li>
</ul>

<h3 id="mauricio-faria-de-oliveira-1">Mauricio Faria de Oliveira</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=45b859b0728267a6199ee5002d62e6c6f3e8c89d">thermal: core: Address thermal zone removal races with resume</a></li>
</ul>

<h3 id="melissa-wen-2">Melissa Wen</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bb2c941b3131437185e79c8f2a16469876664572">efi: sysfb_efi: Replace open coded swap with the macro</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=449b87e81f3561bd907d3b9a31cf69590132a2df">efi: sysfb_efi: Fix lfb_linelength calculation when applying quirks</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7f2f1fd6fc050be874afa9eb52a0ff974f379869">efi: sysfb_efi: Convert swap width and height quirk to a callback</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c7c7eb5ed5a3896e57019f7b33e3b7dcb4ab73b4">efi: sysfb_efi: Fix efidrmfb and simpledrmfb on Valve Steam Deck</a></li>
</ul>

<h2 id="acked-4">Acked (4)</h2>
<h3 id="thadeu-lima-de-souza-cascardo-2">Thadeu Lima de Souza Cascardo</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ee8721bee80150ed1e4ee5ebb6aaf070802ac81b">drm/ttm: Make ttm_bo_init_validate safe against ttm_operation_ctx re-ordering</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=802620f5a9cf7231933cfce61817577b3b6543d9">drm/ttm: Tidy ttm_operation_ctx initialization</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e849ada70c6b1ee22e9f4f5c0e38231dcee53f04">char: misc: Use IS_ERR() for filp_open() return value</a></li>
</ul>

<h3 id="tvrtko-ursulin-2">Tvrtko Ursulin</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ff9e240212f6693c293f9e58ade05bc887297a1e">drm/i915: Fix BO alloc flags</a></li>
</ul>

<h2 id="maintainer-sob-6">Maintainer SoB (6)</h2>
<h3 id="christian-gmeiner-1">Christian Gmeiner</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a8fffbe7dec7d2dda19ed8c7cc13bed744546c05">drm/etnaviv: Add command stream definitions required for a PPU flop reset</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9934873be03c781e0be7b91168fb6a929b140cd1">drm/etnaviv: move some functions to a header to be able to use them externally</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9fcdece1a734bc71d2d9f9e3dd301cc9fff23327">drm/etnaviv: Add a new function to emit a series of states to cmd stream</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=85ba57ad88cf96b2fb4cf6c81639c7907bf3cd94">drm/etnaviv: Add PPU flop reset</a></li>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6a0b99e9fb45f403c3097a9047963d2dd5b0fab2">drm/etnaviv: Add module parameter to force PPU flop reset</a></li>
</ul>

<h3 id="maíra-canal-2">Maíra Canal</h3>
<ul>
  <li><a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9eb018828b1b30dfba689c060735c50fc5b9f704">drm/v3d: Set DMA segment size to avoid debug warnings</a></li>
</ul>]]></content><author><name>Igalia</name></author><category term="news" /><category term="igalia" /><category term="frontpage" /><category term="linux" /><category term="kernel" /><category term="graphics" /><category term="multimedia" /><category term="automotive" /><category term="embedded-linux" /><category term="mobile-devices" /><category term="silicon" /><category term="Linux" /><category term="Rust" /><category term="git" /><category term="Igalia" /><summary type="html"><![CDATA[Linux 7.0 Released The new kernel version is out, this time with an increased major number. As usual, despite the perceived importance of the version number, this is just one release more. That means no spectacular announcements; just consistent work, more features, more fixes, better support. A couple of non-technical changes stand out in this release: Rust is no longer considered experimental in the kernel, and there is now an official policy on tool-generated content. The kernel keeps evolving and this will surely pave the way for future development in the coming years. For a detailed list of changes, you can check the KernelNewbies ChangeLog. At Igalia, the Linux kernel is one of ever-present work areas and interests and we keep contributing to it on many fronts. Here’s our list of contributions and patches for this release. Igalia changelog Direct Rendering Manager improvements Our work on the DRM (Direct Rendering Manager) continues. Being one of our biggest areas of contribution, in this release we once again provided improvements. In the AMD display driver, we fixed unexpected color results reported by SteamOS/Gamescope users. These were related to incorrect mapping of color values made by the AMD color module when programming some color transformations into the hardware. We also improved the support for newer hardware families by exposing missing plane color blocks. Further, we provided many assorted patches to do various cleanups in the TTM layer and multiple small (but important!) fixes in the AMD, Intel and v3d drivers, as well as a fix for the framebuffer probing on the Valve Steam Deck. New BPF helpers for sched_ext schedulers For the past couple of years, we’ve been consistently contributing to sched_ext and, in particular, to the scx_lavd scheduler to enhance the gaming experience in Linux, improving the latency and interactivity under gaming workloads. In this release, we introduced a set of BPF helper APIs –bpf_in_nmi(), bpf_in_hardirq(), bpf_in_serving_softirq(), and bpf_in_task() – along with their corresponding self-tests. These helpers allow BPF programs to precisely detect their execution context. This capability is particularly valuable for sched_ext schedulers; for instance, a BPF scheduler like scx_lavd can now distinguish whether a task was woken up by another process or via an interrupt, enabling more informed scheduling decisions. Small fixes to RPi pmdomain and vc4 fixes for RPi 3 In our ongoing effort to improve Raspberry Pi devices, we addressed several issues related to the RPi 4 power domain, fixing system hangs during power transitions and correcting a broken reset status read. Additionally, on the RPi 3, we resolved a couple of memory leaks, race conditions, and PM reference imbalances, improving overall reliability for RPi users. Assorted bug fixes and maintainability improvements As usual, we helped with the never-ending task of fixing bugs, this time clearing up a few of them in the Bluetooth stack and the DRM TTM. We determined the root cause of two race conditions in the thermal subsystem’s core that could potentially cause a system crash, and developed synthetic reproducers for it. Even though the approach selected to address the issue was not our proposed fix, we contributed to its code review and testing with our specific understanding of the issue and synthetic reproducers, improving the overall quality of the fix. Another important and often overlooked type of contribution is the refactoring of code to make it more maintainable. In this case, by replacing deprecated APIs and legacy macros. We submitted some patches to do this kind of update in parts of the DRM subsystem and the v3d driver. Other As with every release, we helped with assorted janitor tasks such as documentation fixes and cleanups — specifically improving the exportfs and DRM documentation — as well as the usual share of reviews and tests. Authored (52) Alberto Garcia PM: hibernate: Drain trailing zero pages on userspace restore André Almeida exportfs: Fix kernel-doc output for get_name() exportfs: Mark struct export_operations functions at kernel-doc exportfs: Complete kernel-doc for struct export_operations docs: exportfs: Use source code struct documentation Changwoo Min selftests/bpf: Introduce execution context detection helpers selftests/bpf: Add tests for execution context helpers selftests/bpf: Make bpf get_preempt_count() work for v6.14+ kernels PM: EM: Fix NULL pointer dereference when perf domain ID is not found sched_ext: Fix is_bpf_migration_disabled() false negative on non-PREEMPT_RCU Heitor Alves de Siqueira Bluetooth: purge error queues in socket destructors usb: usbtmc: Flush anchored URBs in usbtmc_release Helen Koike Bluetooth: L2CAP: Fix null-ptr-deref on l2cap_sock_ready_cb ext4: reject mount if bigalloc with s_first_data_block != 0 Maíra Canal drm/v3d: Consolidate CPU job validation in a function drm/v3d: Convert v3d logging to device-based DRM helpers pmdomain: bcm: bcm2835-power: Fix broken reset status read pmdomain: bcm: bcm2835-power: Increase ASB control timeout drm/vc4: Release runtime PM reference after binding V3D drm/vc4: Fix memory leak of BO array in hang state drm/vc4: Fix a memory leak in hang state error path drm/vc4: Protect madv read in vc4_gem_object_mmap() with madv_lock Melissa Wen drm/amd/display: fix wrong color value mapping on MCM shaper LUT drm/amd/display: extend delta clamping logic to CM3 LUT helper drm/amd/display: remove assert around dpp_base replacement drm/amd/display: expose plane blend LUT in HW with MCM Rodrigo Siqueira drm/amdgpu: Expand kernel-doc in amdgpu_ring Documentation/gpu: Add new glossary entries from UMR Documentation/gpu: Expand generic block information Documentation/gpu: Add more information about GC Documentation/gpu: Add documentation about ring buffer Thadeu Lima de Souza Cascardo fpga: dfl: use subsys_initcall to allow built-in drivers to be added drm/ttm: Fix bo resource use-after-free Tvrtko Ursulin drm/panic: Report invalid or unsupported panic modes drm/ttm: Make ttm_bo_init_validate safe against ttm_operation_ctx re-ordering drm/ttm: Resource cannot be NULL in ttm_resource_intersects drm/ttm: Tidy ttm_operation_ctx initialization drm/ttm: Tidy usage of local variables a little bit drm/i915/display: Detect AuxCCS support via display parent interface efi: sysfb_efi: Replace open coded swap with the macro efi: sysfb_efi: Fix lfb_linelength calculation when applying quirks efi: sysfb_efi: Convert swap width and height quirk to a callback efi: sysfb_efi: Fix efidrmfb and simpledrmfb on Valve Steam Deck drm/syncobj: Convert syncobj idr to xarray drm/xe: Fix ggtt fb alignment drm/amdgpu/mes: Remove idr leftovers v2 drm/amdgpu: Simplify sorting of the bo list drm/amdgpu/userq: Fix reference leak in amdgpu_userq_wait_ioctl drm/amdgpu/userq: Do not allow userspace to trivially triger kernel warnings drm/ttm: Fix ttm_pool_beneficial_order() return type drm/amdgpu/userq: Consolidate wait ioctl exit path drm/syncobj: Fix xa_alloc allocation flags Reviewed (29) Christian Gmeiner drm/etnaviv: Add command stream definitions required for a PPU flop reset drm/etnaviv: move some functions to a header to be able to use them externally drm/etnaviv: Add a new function to emit a series of states to cmd stream drm/etnaviv: Add PPU flop reset drm/etnaviv: Add module parameter to force PPU flop reset Gavin Guo mm/huge_memory: fix early failure try_to_migrate() when split huge pmd for shared THP Iago Toral Quiroga drm/v3d: Consolidate CPU job validation in a function drm/v3d: Convert v3d logging to device-based DRM helpers Mauricio Faria de Oliveira thermal: core: Address thermal zone removal races with resume Maíra Canal drm/gem: Add huge tmpfs mountpoint helpers drm/v3d: Use huge tmpfs mountpoint helpers drm/gem: Get rid of *_with_mnt helpers Documentation/gpu/drm-mm: Add THP paragraph to GEM mapping section Melissa Wen drm/amd/display: Use mpc.preblend flag to indicate 3D LUT drm/amd/display: Enable DEGAMMA and reject COLOR_PIPELINE+DEGAMMA_LUT drm/amdgpu: Fix kernel-doc comments for some LUT properties drm/amd/display: Fix gamma 2.2 colorop TFs drm/vc4: Release runtime PM reference after binding V3D drm/vc4: Fix memory leak of BO array in hang state drm/vc4: Fix a memory leak in hang state error path drm/vc4: Protect madv read in vc4_gem_object_mmap() with madv_lock Rodrigo Siqueira drm/amd/display: Reject cursor plane on DCE when scaled differently than primary Thadeu Lima de Souza Cascardo drm/ttm: Resource cannot be NULL in ttm_resource_intersects drm/ttm: Tidy usage of local variables a little bit Tvrtko Ursulin dma-buf/selftests: drop the mock_wait implementation drm/panic: Ensure drm_panic_type is initialized to a valid value drm/panic: Fix expected string for QR_CODE in drm_panic_type_map drm/ttm: Fix bo resource use-after-free drm/i915/gem: Drop check for changed VM in EXECBUF Tested (6) Helen Koike netfilter: nf_tables: Fix for duplicate device in netdev hooks Mauricio Faria de Oliveira thermal: core: Address thermal zone removal races with resume Melissa Wen efi: sysfb_efi: Replace open coded swap with the macro efi: sysfb_efi: Fix lfb_linelength calculation when applying quirks efi: sysfb_efi: Convert swap width and height quirk to a callback efi: sysfb_efi: Fix efidrmfb and simpledrmfb on Valve Steam Deck Acked (4) Thadeu Lima de Souza Cascardo drm/ttm: Make ttm_bo_init_validate safe against ttm_operation_ctx re-ordering drm/ttm: Tidy ttm_operation_ctx initialization char: misc: Use IS_ERR() for filp_open() return value Tvrtko Ursulin drm/i915: Fix BO alloc flags Maintainer SoB (6) Christian Gmeiner drm/etnaviv: Add command stream definitions required for a PPU flop reset drm/etnaviv: move some functions to a header to be able to use them externally drm/etnaviv: Add a new function to emit a series of states to cmd stream drm/etnaviv: Add PPU flop reset drm/etnaviv: Add module parameter to force PPU flop reset Maíra Canal drm/v3d: Set DMA segment size to avoid debug warnings]]></summary></entry><entry><title type="html">Igalia at OSPM Summit</title><link href="https://www.igalia.com/2026/04/08/Igalia-at-OSPM-Summit.html" rel="alternate" type="text/html" title="Igalia at OSPM Summit" /><published>2026-04-08T00:00:00+00:00</published><updated>2026-04-08T00:00:00+00:00</updated><id>https://www.igalia.com/2026/04/08/Igalia-at-OSPM-Summit</id><content type="html" xml:base="https://www.igalia.com/2026/04/08/Igalia-at-OSPM-Summit.html"><![CDATA[<p>Next week we will be at the <a href="https://retis.santannapisa.it/ospm-summit/">Operating-System-Directed Power-Management (OSPM) Summit, VIII edition</a>, which will be held at Arm in Cambridge (UK), on April 14-16.</p>

<p><a href="https://www.igalia.com/team/changwoo">Changwoo Min</a> and <a href="https://www.igalia.com/team/gavinguo">Gavin Guo</a> will share lessons learned from evolving <code class="language-plaintext highlighter-rouge">scx_lavd</code> (Latency-Aware Virtual Deadline), a <code class="language-plaintext highlighter-rouge">sched_ex</code> scheduler, to support strict container isolation, complex server topologies, and energy-aware scheduling.</p>

<p>The talk will happen on the second day of the summit, on Wednesday, 15th April. We hope to see you there!</p>]]></content><author><name>Igalia</name></author><category term="news" /><category term="igalia" /><category term="frontpage" /><category term="linux" /><category term="kernel" /><category term="graphics" /><category term="multimedia" /><category term="automotive" /><category term="embedded-linux" /><category term="mobile-devices" /><category term="silicon" /><summary type="html"><![CDATA[Next week we will be at the Operating-System-Directed Power-Management (OSPM) Summit, VIII edition, which will be held at Arm in Cambridge (UK), on April 14-16. Changwoo Min and Gavin Guo will share lessons learned from evolving scx_lavd (Latency-Aware Virtual Deadline), a sched_ex scheduler, to support strict container isolation, complex server topologies, and energy-aware scheduling. The talk will happen on the second day of the summit, on Wednesday, 15th April. We hope to see you there!]]></summary></entry><entry><title type="html">Advancing the AT Protocol in Partnership with Eurosky</title><link href="https://www.igalia.com/2026/03/18/Advancing-the-AT-Protocol-in-Partnership-with-Eurosky.html" rel="alternate" type="text/html" title="Advancing the AT Protocol in Partnership with Eurosky" /><published>2026-03-18T00:00:00+00:00</published><updated>2026-03-18T00:00:00+00:00</updated><id>https://www.igalia.com/2026/03/18/Advancing-the-AT-Protocol-in-Partnership-with-Eurosky</id><content type="html" xml:base="https://www.igalia.com/2026/03/18/Advancing-the-AT-Protocol-in-Partnership-with-Eurosky.html"><![CDATA[<p>Igalia is pleased to announce that we will be helping to define and develop open social web infrastructure in partnership with <a href="https://eurosky.tech">Eurosky</a>, a non-profit public interest initiative of the <a href="https://www.modalfoundation.org">Modal Foundation</a>.</p>

<p>Eurosky’s mission is to establish independent social media infrastructure operating in Europe, where Igalia is headquartered, and governed by European law.  Our shared goal is to work together to develop core components and tools for the <a href="https://atproto.com">AT Protocol</a> and its overall ecosystem.  The fruits of this collaboration will be placed under an <a href="https://mit-license.org">MIT License</a>, ensuring that our work remains freely available for developers and organizations building on the open social web.</p>

<p>We at Igalia are excited to be a part of this effort and its vision of a more open, pluralistic, and resilient social web in which users, developers, and communities have genuine choice over the platforms and services they use.</p>

<h2 id="about-eurosky">About Eurosky</h2>

<p>Eurosky is a public interest, non-profit, technology organization working towards a thriving open social web for Europe. We build and maintain shared infrastructure on open protocols that enable European entrepreneurs, businesses, and organizations to launch social applications faster and more affordably. We build apps and solutions for people that prioritize interoperability, user control, and democratic values. All our technology solutions are hosted in Europe and governed by European law. Eurosky is an initiative of the Modal Foundation, a non-profit organization headquartered in the Netherlands.</p>

<h2 id="about-igalia">About Igalia</h2>

<p>Igalia is a leading open source consultancy with 25 years of experience, headquartered in Europe but operating with a global reach. As an organization deeply committed to the open source philosophy, Igalia has built its reputation on technical excellence and collaborative development, working with clients and partners across the world. Igalia is best known for the development of open web standards and browser engines, including Chromium, WebKit, and Gecko, where it stands out as the largest contributor to all major web engines second only to their primary developers. Beyond the browser, Igalia’s engineers are active contributors to a broad spectrum of technologies, including compilers, multimedia frameworks, graphics systems, and the Linux kernel, among others. Igalia is committed not just to any single technology, but to the health and advancement of the open source ecosystem as a whole.</p>]]></content><author><name>Igalia</name></author><category term="news" /><category term="igalia" /><category term="frontpage" /><category term="software-it" /><category term="open-source" /><category term="Igalia" /><category term="Chromium" /><category term="WebKit" /><category term="Gecko" /><category term="graphics" /><category term="Linux" /><summary type="html"><![CDATA[Igalia is pleased to announce that we will be helping to define and develop open social web infrastructure in partnership with Eurosky, a non-profit public interest initiative of the Modal Foundation. Eurosky’s mission is to establish independent social media infrastructure operating in Europe, where Igalia is headquartered, and governed by European law. Our shared goal is to work together to develop core components and tools for the AT Protocol and its overall ecosystem. The fruits of this collaboration will be placed under an MIT License, ensuring that our work remains freely available for developers and organizations building on the open social web. We at Igalia are excited to be a part of this effort and its vision of a more open, pluralistic, and resilient social web in which users, developers, and communities have genuine choice over the platforms and services they use. About Eurosky Eurosky is a public interest, non-profit, technology organization working towards a thriving open social web for Europe. We build and maintain shared infrastructure on open protocols that enable European entrepreneurs, businesses, and organizations to launch social applications faster and more affordably. We build apps and solutions for people that prioritize interoperability, user control, and democratic values. All our technology solutions are hosted in Europe and governed by European law. Eurosky is an initiative of the Modal Foundation, a non-profit organization headquartered in the Netherlands. About Igalia Igalia is a leading open source consultancy with 25 years of experience, headquartered in Europe but operating with a global reach. As an organization deeply committed to the open source philosophy, Igalia has built its reputation on technical excellence and collaborative development, working with clients and partners across the world. Igalia is best known for the development of open web standards and browser engines, including Chromium, WebKit, and Gecko, where it stands out as the largest contributor to all major web engines second only to their primary developers. Beyond the browser, Igalia’s engineers are active contributors to a broad spectrum of technologies, including compilers, multimedia frameworks, graphics systems, and the Linux kernel, among others. Igalia is committed not just to any single technology, but to the health and advancement of the open source ecosystem as a whole.]]></summary></entry><entry><title type="html">Temporal Reaches Stage 4</title><link href="https://www.igalia.com/2026/03/13/Temporal-Reaches-Stage-4.html" rel="alternate" type="text/html" title="Temporal Reaches Stage 4" /><published>2026-03-13T00:00:00+00:00</published><updated>2026-03-13T00:00:00+00:00</updated><id>https://www.igalia.com/2026/03/13/Temporal-Reaches-Stage-4</id><content type="html" xml:base="https://www.igalia.com/2026/03/13/Temporal-Reaches-Stage-4.html"><![CDATA[<p>TC39’s <a href="https://github.com/tc39/agendas/blob/main/2026/03.md">113th plenary</a> in New York closed this week with the <a href="https://tc39.es/proposal-temporal/">Temporal proposal</a> advancing to Stage 4. Temporal replaces JavaScript’s Date API, which has badly underserved developers since 1995.</p>

<p>Several current and former Igalians contributed to Temporal. <a href="https://www.igalia.com/team/ms2ger">Ms2ger</a> brought years of careful spec writing and vital review work; <a href="https://www.igalia.com/team/pchimento">Philip Chimento</a> and <a href="https://www.igalia.com/team/ryzokuken">Ujjwal Sharma</a> co-championed the proposal. <a href="https://www.igalia.com/team/asingh">Aditi Singh</a>, <a href="https://www.igalia.com/team/benallen">Ben Allen</a>, <a href="https://github.com/cjtenny">Cam Tenny</a>, <a href="https://github.com/littledan">Dan Ehrenberg</a>, <a href="https://www.igalia.com/team/emeyer">Eric Meyer</a>, <a href="https://www.igalia.com/team/gemont">Guillaume Emont</a>, Ioanna Dimitriou, <a href="https://www.igalia.com/team/jesse">Jesse Alama</a>, <a href="https://www.igalia.com/team/rcintra">Romulo Cintra</a>, <a href="https://github.com/sarahghp">Sarah Groff Hennigh-Palermo</a>, and <a href="https://www.igalia.com/team/tjc">Tim Chevalier</a> all contributed throughout the project’s life. <a href="https://bloomberg.com">Bloomberg</a>, whose collaboration with us first got us working on it, funded the work and contributed engineering directly.</p>

<p>Besides its default <a href="https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar">ISO 8601</a> calendar, Temporal also supports a number of regional calendars — Gregorian, Japanese, Hebrew, Persian, Chinese, Islamic, and others. To ensure these work consistently across implementations, a companion ECMA-402 proposal was also needed. The <a href="https://tc39.es/proposal-intl-era-monthcode/">Intl.era and Intl.monthCode proposal</a> specifies the details Temporal deliberately leaves open: the valid era codes, eraYear semantics, and monthCode values for each of those calendars. We worked on this as part of our long-running collaboration with Google’s i18n team, with <a href="https://www.igalia.com/team/benallen">Ben Allen</a>, <a href="https://www.igalia.com/team/pchimento">Philip Chimento</a>, and <a href="https://www.igalia.com/team/ryzokuken">Ujjwal Sharma</a> as the main contributors from our side.</p>

<p>Igalia also ended up working on <a href="https://datatracker.ietf.org/doc/rfc9557/">RFC 9557</a>, the Internet Extended Date/Time Format (IXDTF). Temporal needs a standard way to serialize timestamps with timezone and calendar information, but the conventions in wide use — like appending IANA timezone names to timestamps — had never been on a formal standards track. RFC 9557 fixes that, and also defines the new syntax for calendar annotations (<code class="language-plaintext highlighter-rouge">[u-ca=hebrew]</code> and similar) that Temporal requires for round-tripping dates across calendar systems.</p>

<p>Temporal adds immutable date/time types, explicit timezone handling, support for a variety of international calendars, and nanosecond precision. It ships with around 4,500 test262 tests — Date, for comparison, has 594. Firefox v139, Chrome v144, Edge v144, and TypeScript 6.0 beta already include it. If none of these are available, you may also use Temporal from a <a href="https://github.com/fullcalendar/temporal-polyfill">polyfill</a>, including <a href="https://github.com/js-temporal/temporal-polyfill">the reference polyfill</a> developed by the champions initially.</p>

<p>Back when Temporal reached Stage 3 in 2021, we recorded <a href="https://www.igalia.com/chats/Temporal">an Igalia Chat</a> on the proposal with Brian Kardell, <a href="https://igalia.com/team/pchimento">Philip Chimento</a>, Maggie Johnson-Pint (Moment.js), and Philipp Dunkel (Bloomberg). A lot has changed since then — and we just sat down together with Philip, <a href="https://igalia.com/team/nribaudo">Nicolò Ribaudo</a>, and Bloomberg’s Jason Williams to <a href="https://www.igalia.com/chats/temporal-stage-4">talk about the Stage 4 advancement</a>!</p>

<p>Congratulations to everyone who kept this moving. It took nine years and a lot of people, and hopefully will improve the lives of JavaScript developers. We’re looking forward to seeing more robust date handling deployed on the Web and beyond!</p>]]></content><author><name>Igalia</name></author><category term="news" /><category term="igalia" /><category term="frontpage" /><category term="software-it" /><category term="open-source" /><category term="browsers" /><category term="compilers" /><category term="TC39" /><category term="Temporal" /><category term="JavaScript" /><category term="ECMA" /><category term="Intl" /><category term="Igalia" /><category term="Firefox" /><category term="Web" /><summary type="html"><![CDATA[TC39’s 113th plenary in New York closed this week with the Temporal proposal advancing to Stage 4. Temporal replaces JavaScript’s Date API, which has badly underserved developers since 1995. Several current and former Igalians contributed to Temporal. Ms2ger brought years of careful spec writing and vital review work; Philip Chimento and Ujjwal Sharma co-championed the proposal. Aditi Singh, Ben Allen, Cam Tenny, Dan Ehrenberg, Eric Meyer, Guillaume Emont, Ioanna Dimitriou, Jesse Alama, Romulo Cintra, Sarah Groff Hennigh-Palermo, and Tim Chevalier all contributed throughout the project’s life. Bloomberg, whose collaboration with us first got us working on it, funded the work and contributed engineering directly. Besides its default ISO 8601 calendar, Temporal also supports a number of regional calendars — Gregorian, Japanese, Hebrew, Persian, Chinese, Islamic, and others. To ensure these work consistently across implementations, a companion ECMA-402 proposal was also needed. The Intl.era and Intl.monthCode proposal specifies the details Temporal deliberately leaves open: the valid era codes, eraYear semantics, and monthCode values for each of those calendars. We worked on this as part of our long-running collaboration with Google’s i18n team, with Ben Allen, Philip Chimento, and Ujjwal Sharma as the main contributors from our side. Igalia also ended up working on RFC 9557, the Internet Extended Date/Time Format (IXDTF). Temporal needs a standard way to serialize timestamps with timezone and calendar information, but the conventions in wide use — like appending IANA timezone names to timestamps — had never been on a formal standards track. RFC 9557 fixes that, and also defines the new syntax for calendar annotations ([u-ca=hebrew] and similar) that Temporal requires for round-tripping dates across calendar systems. Temporal adds immutable date/time types, explicit timezone handling, support for a variety of international calendars, and nanosecond precision. It ships with around 4,500 test262 tests — Date, for comparison, has 594. Firefox v139, Chrome v144, Edge v144, and TypeScript 6.0 beta already include it. If none of these are available, you may also use Temporal from a polyfill, including the reference polyfill developed by the champions initially. Back when Temporal reached Stage 3 in 2021, we recorded an Igalia Chat on the proposal with Brian Kardell, Philip Chimento, Maggie Johnson-Pint (Moment.js), and Philipp Dunkel (Bloomberg). A lot has changed since then — and we just sat down together with Philip, Nicolò Ribaudo, and Bloomberg’s Jason Williams to talk about the Stage 4 advancement! Congratulations to everyone who kept this moving. It took nine years and a lot of people, and hopefully will improve the lives of JavaScript developers. We’re looking forward to seeing more robust date handling deployed on the Web and beyond!]]></summary></entry><entry><title type="html">Introducing Moonforge: A Yocto-Based Linux OS</title><link href="https://www.igalia.com/2026/03/09/Introducing-Moonforge-A-Yocto-Based-Linux-OS.html" rel="alternate" type="text/html" title="Introducing Moonforge: A Yocto-Based Linux OS" /><published>2026-03-09T00:00:00+00:00</published><updated>2026-03-09T00:00:00+00:00</updated><id>https://www.igalia.com/2026/03/09/Introducing-Moonforge-A-Yocto-Based-Linux-OS</id><content type="html" xml:base="https://www.igalia.com/2026/03/09/Introducing-Moonforge-A-Yocto-Based-Linux-OS.html"><![CDATA[<p><img src="/assets/i/news/moonforge-logo.svg" alt="" style="max-width: 25%; float: right; margin-inline: 3em 0;" /></p>

<p>Today we are announcing the launch of <strong><a href="https://moonforgelinux.org">Moonforge</a></strong>, a new Linux distribution based on the Yocto and OpenEmbedded projects and designed to provide a fully open-source, production-ready foundation for building embedded and device operating systems.</p>

<p>Moonforge focuses on <strong>extensibility, flexibility, and long-term maintainability</strong>, enabling developers and system integrators to create custom operating system images while relying on well-established industry tooling and best practices.</p>

<p>The project is available as <a href="https://github.com/moonforgelinux">open-source on GitHub</a> and welcomes community contributions.</p>

<h2 id="building-production-ready-linux-systems-with-yocto">Building Production-Ready Linux Systems with Yocto</h2>

<p>Moonforge is an operating system framework for Linux devices that simplifies the process of building and maintaining custom operating systems.</p>

<p>It provides a curated collection of Yocto layers and configuration files that help developers generate <strong>immutable, maintainable, and easily updatable operating system images</strong>.</p>

<p>The goal is to offer the best possible developer experience for teams building embedded Linux products. Moonforge handles the complex aspects of operating system creation, such as system integration, security, updates, and infrastructure, so developers can focus on building and deploying their applications or devices.</p>

<p>Using Moonforge, developers can:</p>
<ul>
  <li>Build their own operating system by combining modular Yocto layers</li>
  <li>Rely on widely adopted industry standards</li>
  <li>Extend the system with additional features, hardware support, and integrations</li>
  <li>Maintain a clear separation between upstream and downstream components</li>
</ul>

<h2 id="design-goals">Design Goals</h2>

<p>Moonforge is designed around three core principles: <strong>balance, separation, and best practices</strong>.</p>

<h3 id="balance-between-turn-key-solutions-and-flexibility">Balance Between Turn-Key Solutions and Flexibility</h3>

<p>Creating a Linux distribution typically requires significant integration work: selecting components, configuring build systems, and aligning the system architecture. Moonforge reduces this duplicated effort by providing sensible defaults and core architectural decisions, while still allowing teams to customize and extend the system for their own products.</p>

<p>The project combines Yocto layers together with extensive use of <a href="https://github.com/siemens/kas">kas</a>, a tool for managing configuration in a declarative way using YAML. By assembling layers and configuration fragments, developers can easily create different operating system variants and product configurations tailored to their needs. This modular approach encourages reuse of common components while allowing teams to maintaine full control over the final system.</p>

<h3 id="clear-separation-of-components">Clear Separation of Components</h3>

<p>Moonforge is structured to maintain a clear separation between upstream and downstream components, making it easier for organizations to build derivative products. Existing Moonforge layers cover common use cases, while the Yocto layer architecture allows vendors and developers to add their own functionality when needed.</p>

<p>Kas configuration fragments are used to handle tasks such as:</p>
<ul>
  <li>Including required external repositories</li>
  <li>Activating the necessary layers within those repositories</li>
  <li>Managing dependencies between Moonforge components</li>
  <li>Applying downstream patches and configuration defaults</li>
</ul>

<p>This structure ensures predictable builds and simplifies release management for derivative systems.</p>

<h3 id="best-practices-for-modern-linux-systems">Best Practices for Modern Linux Systems</h3>

<p>Moonforge adopts established best practices for building Linux-based operating systems. It relies on proven tools and technologies like BitBake for image creation and kas for build configuration and reproducibility.</p>

<p>Modern development workflows are supported out-of-the-box by providing CI/CD pipelines to automatically build and publish:</p>
<ul>
  <li>OS images</li>
  <li>Over-The-Air update bundles</li>
  <li>Security reports</li>
  <li>Software Bill of Materials (SBOM) metadata</li>
</ul>

<p>Moonforge is also capable of integrating with different deployment and update mechanisms, like systemd, RAUC, or Mender.</p>

<p>The project is designed to support build environments across public cloud, private infrastructure, and local development systems, ensuring teams can adopt it within their existing workflows.</p>

<h3 id="an-open-project-for-the-embedded-linux-community">An Open Project for the Embedded Linux Community</h3>

<p>Moonforge is developed as an open-source project and aims to support a wide range of Linux devices and embedded products. Additional layers, features, and hardware platforms will continue to be added as the project evolves. Contributions from the community are encouraged.</p>

<p>Developers interested in building their own Linux operating systems or extending Moonforge can explore the project and contribute <a href="https://github.com/moonforgelinux">on GitHub</a>.</p>]]></content><author><name>Igalia</name></author><category term="news" /><category term="igalia" /><category term="frontpage" /><category term="embedded-systems" /><category term="mobile-devices" /><category term="silicon" /><category term="embedded-linux" /><category term="kernel" /><category term="Linux" /><category term="Yocto" /><summary type="html"><![CDATA[Today we are announcing the launch of Moonforge, a new Linux distribution based on the Yocto and OpenEmbedded projects and designed to provide a fully open-source, production-ready foundation for building embedded and device operating systems. Moonforge focuses on extensibility, flexibility, and long-term maintainability, enabling developers and system integrators to create custom operating system images while relying on well-established industry tooling and best practices. The project is available as open-source on GitHub and welcomes community contributions. Building Production-Ready Linux Systems with Yocto Moonforge is an operating system framework for Linux devices that simplifies the process of building and maintaining custom operating systems. It provides a curated collection of Yocto layers and configuration files that help developers generate immutable, maintainable, and easily updatable operating system images. The goal is to offer the best possible developer experience for teams building embedded Linux products. Moonforge handles the complex aspects of operating system creation, such as system integration, security, updates, and infrastructure, so developers can focus on building and deploying their applications or devices. Using Moonforge, developers can: Build their own operating system by combining modular Yocto layers Rely on widely adopted industry standards Extend the system with additional features, hardware support, and integrations Maintain a clear separation between upstream and downstream components Design Goals Moonforge is designed around three core principles: balance, separation, and best practices. Balance Between Turn-Key Solutions and Flexibility Creating a Linux distribution typically requires significant integration work: selecting components, configuring build systems, and aligning the system architecture. Moonforge reduces this duplicated effort by providing sensible defaults and core architectural decisions, while still allowing teams to customize and extend the system for their own products. The project combines Yocto layers together with extensive use of kas, a tool for managing configuration in a declarative way using YAML. By assembling layers and configuration fragments, developers can easily create different operating system variants and product configurations tailored to their needs. This modular approach encourages reuse of common components while allowing teams to maintaine full control over the final system. Clear Separation of Components Moonforge is structured to maintain a clear separation between upstream and downstream components, making it easier for organizations to build derivative products. Existing Moonforge layers cover common use cases, while the Yocto layer architecture allows vendors and developers to add their own functionality when needed. Kas configuration fragments are used to handle tasks such as: Including required external repositories Activating the necessary layers within those repositories Managing dependencies between Moonforge components Applying downstream patches and configuration defaults This structure ensures predictable builds and simplifies release management for derivative systems. Best Practices for Modern Linux Systems Moonforge adopts established best practices for building Linux-based operating systems. It relies on proven tools and technologies like BitBake for image creation and kas for build configuration and reproducibility. Modern development workflows are supported out-of-the-box by providing CI/CD pipelines to automatically build and publish: OS images Over-The-Air update bundles Security reports Software Bill of Materials (SBOM) metadata Moonforge is also capable of integrating with different deployment and update mechanisms, like systemd, RAUC, or Mender. The project is designed to support build environments across public cloud, private infrastructure, and local development systems, ensuring teams can adopt it within their existing workflows. An Open Project for the Embedded Linux Community Moonforge is developed as an open-source project and aims to support a wide range of Linux devices and embedded products. Additional layers, features, and hardware platforms will continue to be added as the project evolves. Contributions from the community are encouraged. Developers interested in building their own Linux operating systems or extending Moonforge can explore the project and contribute on GitHub.]]></summary></entry><entry><title type="html">March Conference News</title><link href="https://www.igalia.com/2026/03/05/March-Conference-News.html" rel="alternate" type="text/html" title="March Conference News" /><published>2026-03-05T00:00:00+00:00</published><updated>2026-03-05T00:00:00+00:00</updated><id>https://www.igalia.com/2026/03/05/March-Conference-News</id><content type="html" xml:base="https://www.igalia.com/2026/03/05/March-Conference-News.html"><![CDATA[<p>Spring is here and we’re excited to be out and about! This month we’ll be at four events around the world. Here’s where you can find us:</p>

<ul>
  <li><a href="https://www.csun.edu/cod/conference/sessions/"><strong>CSUN Accessibility Technology Conference</strong></a> from March 9th to 13th in Anaheim, CA, USA.</li>
  <li><a href="https://github.com/tc39/agendas/blob/main/2026/03.md"><strong>113th TC39 meeting</strong></a> from March 10th to 12th in New York, USA.</li>
  <li><a href="https://www.embedded-world.de/en"><strong>Embedded World Conference</strong></a> from March 10th to 12th in Nuremberg, Germany.  We’ll be in Hall 4, <a href="https://www.embedded-world.de/en/exhibitors/igalia-2461801">Booth Number 4-443</a>, as well as presenting two talks:
    <ul>
      <li>“Modern Yocto Linux Best Practices: Evolving Beyond the Basics” by <a href="https://www.igalia.com/team/marga">Marga Manterola</a></li>
      <li>“Web Engines for Embedded Devices: An Introduction to WPE WebKit” by <a href="https://www.igalia.com/team/msanchez">Mario Sanchez</a></li>
    </ul>
  </li>
  <li><a href="https://wasm.io/"><strong>Wasm I/O</strong></a>, from March 19th to 20th in Barcelona, Spain, where <a href="https://igalia.com/team/saul">Saúl Cabrera</a> will be presenting “Beyond Performance: 5 Years of Improving JavaScript on WebAssembly”, an exploration of the multidimensional problem of optimizing JavaScript on WebAssembly.</li>
</ul>

<p>We always enjoy talking with people, so if you find yourself at one of the above events, please take a moment to say hi! And if you have any questions regarding any of our talks, are interested in having an Igalian bring a talk to an upcoming event, or you’d just like to learn more about Igalia, please <a href="https://igalia.com/contact">feel free to reach out</a>.</p>]]></content><author><name>Igalia</name></author><category term="news" /><category term="igalia" /><category term="frontpage" /><category term="accessibility" /><category term="software-it" /><category term="browsers" /><category term="embedded-systems" /><category term="mobile-devices" /><category term="silicon" /><category term="multimedia" /><category term="compilers" /><category term="digital-tv" /><category term="graphics" /><category term="embedded-linux" /><category term="chromium" /><category term="kernel" /><category term="TC39" /><category term="Yocto" /><category term="Linux" /><category term="Web" /><category term="WPE" /><category term="WebKit" /><category term="Wasm" /><category term="JavaScript" /><category term="WebAssembly" /><category term="Igalia" /><summary type="html"><![CDATA[Spring is here and we’re excited to be out and about! This month we’ll be at four events around the world. Here’s where you can find us: CSUN Accessibility Technology Conference from March 9th to 13th in Anaheim, CA, USA. 113th TC39 meeting from March 10th to 12th in New York, USA. Embedded World Conference from March 10th to 12th in Nuremberg, Germany. We’ll be in Hall 4, Booth Number 4-443, as well as presenting two talks: “Modern Yocto Linux Best Practices: Evolving Beyond the Basics” by Marga Manterola “Web Engines for Embedded Devices: An Introduction to WPE WebKit” by Mario Sanchez Wasm I/O, from March 19th to 20th in Barcelona, Spain, where Saúl Cabrera will be presenting “Beyond Performance: 5 Years of Improving JavaScript on WebAssembly”, an exploration of the multidimensional problem of optimizing JavaScript on WebAssembly. We always enjoy talking with people, so if you find yourself at one of the above events, please take a moment to say hi! And if you have any questions regarding any of our talks, are interested in having an Igalian bring a talk to an upcoming event, or you’d just like to learn more about Igalia, please feel free to reach out.]]></summary></entry><entry><title type="html">Igalia 2026 Coding Experience Open for Applications</title><link href="https://www.igalia.com/2026/02/27/Igalia-2026-Coding-Experience-Open-for-Applications.html" rel="alternate" type="text/html" title="Igalia 2026 Coding Experience Open for Applications" /><published>2026-02-27T00:00:00+00:00</published><updated>2026-02-27T00:00:00+00:00</updated><id>https://www.igalia.com/2026/02/27/Igalia-2026-Coding-Experience-Open-for-Applications</id><content type="html" xml:base="https://www.igalia.com/2026/02/27/Igalia-2026-Coding-Experience-Open-for-Applications.html"><![CDATA[<p>Are you looking for your first open source experience in a professional environment? If so, we invite you to apply to the <a href="https://www.igalia.com/coding-experience/">2026 Coding Experience (CE) Program</a>. This year, we are accepting candidates to participate on one of the following five areas: Linux Packaging, Graphics, JavaScript DevTools, Multimedia and GStreamer, and Web Standards.</p>

<p>CE participants receive financial compensation of €7,000 for 450 hours of work time over a period of either 3 or 6 months, on a schedule that works best for you. Each CE participant is mentored by one of Igalia’s outstanding open source contributors, and acquire knowledge and skills that will benefit them well beyond the program. The Coding Experience is remote-friendly, in keeping with Igalia’s fully-remote structure.</p>

<p>Applicants to the program can be students enrolled in an official education program, such as a college degree program, or can be students in alternative learning itineraries (e.g., self-learning). The CE program is also open to people who are in a later stage of their professional career, do not have experience working in tech fields, and are willing to refocus.</p>

<p>Igalia welcomes all applicants regardless of their age, disability, gender, race, marital status, religion, sexual orientation, or any other marginalized identity. Due to our strong commitment to diversity and inclusion, we would like to expressly invite individuals from underrepresented communities in our industry to apply.</p>

<p>The application period is open through <strong>April 3rd, 2026</strong>, with applicants being informed of their acceptance status by mid-May. If you’re interested in learning more about the Coding Experience program or you are ready to apply, please visit the <a href="https://www.igalia.com/coding-experience/">Igalia Coding Experience page</a>.</p>]]></content><author><name>Igalia</name></author><category term="news" /><category term="igalia" /><category term="frontpage" /><category term="open-source" /><category term="software-it" /><category term="Linux" /><category term="JavaScript" /><category term="Multimedia" /><category term="GStreamer" /><category term="Web" /><category term="Standards" /><category term="Igalia" /><summary type="html"><![CDATA[Are you looking for your first open source experience in a professional environment? If so, we invite you to apply to the 2026 Coding Experience (CE) Program. This year, we are accepting candidates to participate on one of the following five areas: Linux Packaging, Graphics, JavaScript DevTools, Multimedia and GStreamer, and Web Standards. CE participants receive financial compensation of €7,000 for 450 hours of work time over a period of either 3 or 6 months, on a schedule that works best for you. Each CE participant is mentored by one of Igalia’s outstanding open source contributors, and acquire knowledge and skills that will benefit them well beyond the program. The Coding Experience is remote-friendly, in keeping with Igalia’s fully-remote structure. Applicants to the program can be students enrolled in an official education program, such as a college degree program, or can be students in alternative learning itineraries (e.g., self-learning). The CE program is also open to people who are in a later stage of their professional career, do not have experience working in tech fields, and are willing to refocus. Igalia welcomes all applicants regardless of their age, disability, gender, race, marital status, religion, sexual orientation, or any other marginalized identity. Due to our strong commitment to diversity and inclusion, we would like to expressly invite individuals from underrepresented communities in our industry to apply. The application period is open through April 3rd, 2026, with applicants being informed of their acceptance status by mid-May. If you’re interested in learning more about the Coding Experience program or you are ready to apply, please visit the Igalia Coding Experience page.]]></summary></entry><entry><title type="html">Interop 2026 Focus Areas Announced</title><link href="https://www.igalia.com/news/interop-2026.html" rel="alternate" type="text/html" title="Interop 2026 Focus Areas Announced" /><published>2026-02-12T00:00:00+00:00</published><updated>2026-02-12T00:00:00+00:00</updated><id>https://www.igalia.com/news/Interop-2026-Focus-Areas-Announced</id><content type="html" xml:base="https://www.igalia.com/news/interop-2026.html"><![CDATA[<p>The final selections for Interop 2026 have been announced, and this year total nineteen focus areas, three cleanup areas, and four investigation areas.  This annual cooperative campaign has brought a great deal of consistency and interoperability to the web since its beginnings in 2021, and this year looks set to continue that tradition.</p>

<p>The <a href="https://wpt.fyi/interop-2025">Interop 2025</a> results were outstanding, with the overall interoperability score of its focus areas climbing from <strong>28 to 95</strong> in the course of the year; this has further moved up to a score of <strong>97</strong> in the month since the end of 2025.  We’re excited about the prospect of similar improvements in this year’s focus areas!</p>

<h2 id="html">HTML</h2>

<p>At the markup layer, there wasn’t one proposal that stood out, but rather a collection of a few proposals related to dialogs and popovers — not just the <code class="language-plaintext highlighter-rouge">&lt;dialog&gt;</code> element and the <code class="language-plaintext highlighter-rouge">popover</code> attribute, but also the <code class="language-plaintext highlighter-rouge">:open</code> pseudo-class in CSS.  There were some things still missing in implementations, and others that weren’t handled consistently.  The Interop team combined the proposals into a single HTML focus area.</p>

<h2 id="css">CSS</h2>

<p>As is often the case, the presentation layer got a lot of attention from proposers, which led to eleven focus areas rooted in CSS.  These are:</p>

<ul>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1077">Advanced attr()</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1032">Container style queries</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1165">contrast-color() function</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1149">Custom highlights</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1003">Media pseudo-classes</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1033">Scroll-driven animations</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1134">Scroll snap</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1046">shape() basic shape function</a></li>
  <li>Anchor positioning (carryover from 2025)</li>
  <li>View transitions (carryover from 2025)</li>
  <li>CSS zoom (carryover from 2025)</li>
</ul>

<h2 id="javascript">JavaScript</h2>

<p>At the scripting layer, the Interop team chose these seven focus areas:</p>

<ul>
  <li>Fetch uploads and ranges (combined three separate proposals into one focus area)</li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1151">IndexedDB</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1093">JSPI for Wasm</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1178">Navigation API</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1027">Scoped custom element registries</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1101">WebRTC</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1121">WebTransport</a></li>
</ul>

<h2 id="web-compatibility">Web compat(ibility)</h2>

<p>While all of Interop can be considered a web compat effort, there are always a few areas where the amount of work to achieve full alignment is small, but worth taking on as official focus areas.  Sometimes, this can mean getting clarification from relevant W3C working groups, or doing origin trials to make sure the change is sufficiently low-impact.  This year, work will focus on web compatibility issues with:</p>

<ul>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1105">ESM module loading</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1126">The timing of scroll events relative to animation events</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1000">Unprefixing the -webkit-user-select property</a></li>
</ul>

<h2 id="investigation-areas">Investigation areas</h2>

<p>Each year, the Interop team chooses a small number of areas to investigate how to get the proposals into future Interop years.  This is usually done for proposals that lack the tests, or the testing infrastructure, to qualify as official focus areas.  The 2026 investigations will be:</p>

<ul>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1141">Accessibility testing</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/994">JPEG XL tests</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1145">Mobile testing</a></li>
  <li><a href="https://github.com/web-platform-tests/interop/issues/1161">WebVTT</a></li>
</ul>

<p>If you’d like to read more about Interop 2026, see the articles published today by <a href="https://webkit.org/blog/17818/announcing-interop-2026/">Apple</a>, <a href="https://web.dev/blog/interop-2026">Google</a>, <a href="https://blogs.windows.com/msedgedev/2026/02/12/microsoft-edge-and-interop-2026/">Microsoft</a>, and <a href="https://hacks.mozilla.org/2026/02/launching-interop-2026/">Mozilla</a>.</p>

<p>Igalia is proud to once again be part of the Interop process, and to champion a few proposals that are particularly close to our interests.  We look forward to seeing all the progress this year will bring.</p>]]></content><author><name>Igalia</name></author><category term="news" /><category term="igalia" /><category term="frontpage" /><category term="browsers" /><category term="Interop" /><category term="CSS" /><category term="JavaScript" /><category term="Wasm" /><category term="Web" /><category term="W3C" /><category term="Igalia" /><summary type="html"><![CDATA[The final selections for Interop 2026 have been announced, and this year total nineteen focus areas, three cleanup areas, and four investigation areas. This annual cooperative campaign has brought a great deal of consistency and interoperability to the web since its beginnings in 2021, and this year looks set to continue that tradition. The Interop 2025 results were outstanding, with the overall interoperability score of its focus areas climbing from 28 to 95 in the course of the year; this has further moved up to a score of 97 in the month since the end of 2025. We’re excited about the prospect of similar improvements in this year’s focus areas! HTML At the markup layer, there wasn’t one proposal that stood out, but rather a collection of a few proposals related to dialogs and popovers — not just the &lt;dialog&gt; element and the popover attribute, but also the :open pseudo-class in CSS. There were some things still missing in implementations, and others that weren’t handled consistently. The Interop team combined the proposals into a single HTML focus area. CSS As is often the case, the presentation layer got a lot of attention from proposers, which led to eleven focus areas rooted in CSS. These are: Advanced attr() Container style queries contrast-color() function Custom highlights Media pseudo-classes Scroll-driven animations Scroll snap shape() basic shape function Anchor positioning (carryover from 2025) View transitions (carryover from 2025) CSS zoom (carryover from 2025) JavaScript At the scripting layer, the Interop team chose these seven focus areas: Fetch uploads and ranges (combined three separate proposals into one focus area) IndexedDB JSPI for Wasm Navigation API Scoped custom element registries WebRTC WebTransport Web compat(ibility) While all of Interop can be considered a web compat effort, there are always a few areas where the amount of work to achieve full alignment is small, but worth taking on as official focus areas. Sometimes, this can mean getting clarification from relevant W3C working groups, or doing origin trials to make sure the change is sufficiently low-impact. This year, work will focus on web compatibility issues with: ESM module loading The timing of scroll events relative to animation events Unprefixing the -webkit-user-select property Investigation areas Each year, the Interop team chooses a small number of areas to investigate how to get the proposals into future Interop years. This is usually done for proposals that lack the tests, or the testing infrastructure, to qualify as official focus areas. The 2026 investigations will be: Accessibility testing JPEG XL tests Mobile testing WebVTT If you’d like to read more about Interop 2026, see the articles published today by Apple, Google, Microsoft, and Mozilla. Igalia is proud to once again be part of the Interop process, and to champion a few proposals that are particularly close to our interests. We look forward to seeing all the progress this year will bring.]]></summary></entry><entry><title type="html">Igalia’s Brian Kardell joins the W3C TAG</title><link href="https://www.igalia.com/2026/02/10/Igalias-Brian-Kardell-joins-the-W3C-TAG.html" rel="alternate" type="text/html" title="Igalia’s Brian Kardell joins the W3C TAG" /><published>2026-02-10T00:00:00+00:00</published><updated>2026-02-10T00:00:00+00:00</updated><id>https://www.igalia.com/2026/02/10/Igalias-Brian-Kardell-joins-the-W3C-TAG</id><content type="html" xml:base="https://www.igalia.com/2026/02/10/Igalias-Brian-Kardell-joins-the-W3C-TAG.html"><![CDATA[<p>The W3C’s <a href="https://tag.w3.org/">Technical Architecture Group</a> (or “TAG”), is a special group within the W3C with stewardship of the overall architecture. The mission of the TAG is to build consensus around principles of Web architecture and to interpret and clarify these principles when necessary, to resolve issues involving general Web architecture brought to the TAG, and to help coordinate cross-technology architecture developments inside and outside W3C. The Members of the TAG participate as individual contributors, not as representatives of their organizations. TAG participants use their best judgment to find the best solutions for the Web, not just for any particular network, technology, vendor, or user.</p>

<p>Following the TAG’s recent <a href="https://www.w3.org/news/2025/w3c-advisory-committee-elects-technical-architecture-group/">election results</a>, the W3C Team has chosen and the Advisory Board and Technical Architecture Group have ratified <a href="https://www.w3.org/news/2026/w3c-team-appointment-to-the-tag/">our very own <strong>Brian Kardell</strong> for the 2026-28 term</a> as one of the two appointments they will make for this term.</p>

<p><a href="https://igalia.com/team/bkardell">Brian</a>, who started hacking on the web as early as 1996, has well over a decade of experience working in web standards and core technologies, contributing to its continued development, whether it be through championing for important yet underappreciated features or through advocating for the platform at large.</p>

<p>All in all, we believe Brian will be an excellent addition to the group and a champion for a free and extensible web. Congratulations to Brian as well as the W3C TAG on this appointment!</p>]]></content><author><name>Igalia</name></author><category term="news" /><category term="igalia" /><category term="frontpage" /><category term="browsers" /><category term="open-source" /><category term="W3C" /><category term="Web" /><summary type="html"><![CDATA[The W3C’s Technical Architecture Group (or “TAG”), is a special group within the W3C with stewardship of the overall architecture. The mission of the TAG is to build consensus around principles of Web architecture and to interpret and clarify these principles when necessary, to resolve issues involving general Web architecture brought to the TAG, and to help coordinate cross-technology architecture developments inside and outside W3C. The Members of the TAG participate as individual contributors, not as representatives of their organizations. TAG participants use their best judgment to find the best solutions for the Web, not just for any particular network, technology, vendor, or user. Following the TAG’s recent election results, the W3C Team has chosen and the Advisory Board and Technical Architecture Group have ratified our very own Brian Kardell for the 2026-28 term as one of the two appointments they will make for this term. Brian, who started hacking on the web as early as 1996, has well over a decade of experience working in web standards and core technologies, contributing to its continued development, whether it be through championing for important yet underappreciated features or through advocating for the platform at large. All in all, we believe Brian will be an excellent addition to the group and a champion for a free and extensible web. Congratulations to Brian as well as the W3C TAG on this appointment!]]></summary></entry></feed>