User Tools

Site Tools


fourier:patch_series

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

fourier:patch_series [2026/04/28 22:06] – fourier: patch series detail (chromium 4, qt6 3, kwin 2, firefox 4) markus_fritschefourier:patch_series [2026/04/29 04:16] (current) – fix HTML-entity over-escape (' -> ' ; " -> "); restores monospace markup markus_fritsche
Line 9: Line 9:
 mainline kernel 6.19.10 / KDE Plasma 6.6.4 Wayland. mainline kernel 6.19.10 / KDE Plasma 6.6.4 Wayland.
  
-  - ''enable-v4l2-decoder-default.patch'' — flip ''kAcceleratedVideoDecodeLinux'' default +  - ''enable-v4l2-decoder-default.patch'' — flip ''kAcceleratedVideoDecodeLinux'' default 
-  - ''wayland-allow-direct-egl-gles2.patch'' — re-allow direct EGL/GLES2 in ''WaylandSurfaceFactory'' +  - ''wayland-allow-direct-egl-gles2.patch'' — re-allow direct EGL/GLES2 in ''WaylandSurfaceFactory'' 
-  - ''nv12-external-oes-on-modifier-external-only.patch'' — pick ''GL_TEXTURE_EXTERNAL_OES'' for NV12 dmabufs whose modifier is ''external_only'' +  - ''nv12-external-oes-on-modifier-external-only.patch'' — pick ''GL_TEXTURE_EXTERNAL_OES'' for NV12 dmabufs whose modifier is ''external_only'' 
-  - ''v4l2-capture-pool-floor-at-16.patch'' — floor V4L2 capture pool at 16 buffers+  - ''v4l2-capture-pool-floor-at-16.patch'' — floor V4L2 capture pool at 16 buffers
  
-**Result on ohm:** ''bbb_1080p30_h264.mp4'' plays end-to-end on KDE Plasma+**Result on ohm:** ''bbb_1080p30_h264.mp4'' plays end-to-end on KDE Plasma
 6.6.4 Wayland, ~81 % combined chrome CPU vs ~131 % pre-patch baseline 6.6.4 Wayland, ~81 % combined chrome CPU vs ~131 % pre-patch baseline
 (~3.8× reduction). (~3.8× reduction).
  
-**Side-effect:** Brave's YouTube playback also feels markedly snappier on ohm —+**Side-effect:** Brave's YouTube playback also feels markedly snappier on ohm —
 patches 2 + 3 are not chromium-fourier-binary-specific, they help any patches 2 + 3 are not chromium-fourier-binary-specific, they help any
-Wayland Chromium-derived browser through the panfrost ''external_only''+Wayland Chromium-derived browser through the panfrost ''external_only''
 modifier path, and patch from the kwin layer (see below) helps every modifier path, and patch from the kwin layer (see below) helps every
-''wp_linux_dmabuf-v1'' client.+''wp_linux_dmabuf-v1'' client.
  
 Build: cross-compiled on **CT 220 chromium-builder-x86** (Proxmox container Build: cross-compiled on **CT 220 chromium-builder-x86** (Proxmox container
-on data) — see ''[[fourier:hosts|fourier:hosts]]''.+on data) — see ''[[fourier:hosts|fourier:hosts]]''.
  
 ===== qt6-base-fourier (3 patches, validated on ohm + fresnel) ===== ===== qt6-base-fourier (3 patches, validated on ohm + fresnel) =====
  
-Pure **spec-correctness fix**. OpenGL ES 3.0 deprecated ''GL_ALPHA'' as a +Pure **spec-correctness fix**. OpenGL ES 3.0 deprecated ''GL_ALPHA'' as a 
-''glTexImage2D'' internalFormat; Qt 6 was hard-coding it via the +''glTexImage2D'' internalFormat; Qt 6 was hard-coding it via the 
-''QT_CONFIG(opengles2)'' build branch with **no runtime ES-version check**.+''QT_CONFIG(opengles2)'' build branch with **no runtime ES-version check**.
 Affects every Qt 6 GLES3 client on Mali-class hardware. Affects every Qt 6 GLES3 client on Mali-class hardware.
  
-  - ''0001-qopengltextureglyphcache-pick-GL_R8-on-ES3.patch'' +  - ''0001-qopengltextureglyphcache-pick-GL_R8-on-ES3.patch'' 
-  - ''0002-qrhigles2-RED_OR_ALPHA8-pick-GL_R8-on-ES3.patch'' +  - ''0002-qrhigles2-RED_OR_ALPHA8-pick-GL_R8-on-ES3.patch'' 
-  - ''0003-qopengltextureuploader-pick-GL_R8-on-ES3.patch''+  - ''0003-qopengltextureuploader-pick-GL_R8-on-ES3.patch''
  
-Zero ''GL_INVALID_VALUE'' in journal post-relogin. Cleanly+Zero ''GL_INVALID_VALUE'' in journal post-relogin. Cleanly
 upstream-targetable to bugreports.qt.io + Gerrit; submission body is upstream-targetable to bugreports.qt.io + Gerrit; submission body is
 written and parked in written and parked in
-''upstream-submissions/qt6-base-fourier/qt-bug-report.md''.+''upstream-submissions/qt6-base-fourier/qt-bug-report.md''.
  
 ===== kwin-fourier (2 patches — one shipped, one staged) ===== ===== kwin-fourier (2 patches — one shipped, one staged) =====
  
-  - ''0001-transaction-bypass-watchDmaBuf-fence-wait.patch'' — diagnostic bypass; this is what //identified// the bug +  - ''0001-transaction-bypass-watchDmaBuf-fence-wait.patch'' — diagnostic bypass; this is what //identified// the bug 
-  - ''0002-transaction-poll-dmabuf-fd-directly-upstream-shape.patch'' — the actual upstream-bound shape: poll the dmabuf fd directly instead of going through ''EXPORT_SYNC_FILE'' ''QSocketNotifier'' round-trip; validated on ohm+  - ''0002-transaction-poll-dmabuf-fd-directly-upstream-shape.patch'' — the actual upstream-bound shape: poll the dmabuf fd directly instead of going through ''EXPORT_SYNC_FILE'' ''QSocketNotifier'' round-trip; validated on ohm
  
 Both are shaped to address the per-frame Both are shaped to address the per-frame
-''DMA_BUF_IOCTL_EXPORT_SYNC_FILE'' overhead in KWin's compositor scheduling +''DMA_BUF_IOCTL_EXPORT_SYNC_FILE'' overhead in KWin's compositor scheduling 
-path. **Side-effect benefit:** every ''wp_linux_dmabuf-v1'' client (chrome,+path. **Side-effect benefit:** every ''wp_linux_dmabuf-v1'' client (chrome,
 brave, mpv, VLC) feels markedly snappier on Mali-class hardware. brave, mpv, VLC) feels markedly snappier on Mali-class hardware.
  
-The discovery story is in ''arch/chromium-fourier/KWIN_PIVOT.md'' in +The discovery story is in ''arch/chromium-fourier/KWIN_PIVOT.md'' in 
-gitea/marfrit-packages — see also ''[[fourier:journey]]''.+gitea/marfrit-packages — see also ''[[fourier:journey]]''.
  
-The upstream-shape patch's submission body is at +The upstream-shape patch's submission body is at 
-''upstream-submissions/kwin-fourier/kde-mr-body.md''.+''upstream-submissions/kwin-fourier/kde-mr-body.md''.
  
 ===== firefox-fourier 150.0.1 (4 patches, partial validation on fresnel) ===== ===== firefox-fourier 150.0.1 (4 patches, partial validation on fresnel) =====
Line 67: Line 67:
  
 Today (2026-04-28) the runtime defect on patch 3 was identified via Today (2026-04-28) the runtime defect on patch 3 was identified via
-''MOZ_LOG'': patch 3 only walked the **generic codec's** ''hw_configs''.+''MOZ_LOG'': patch 3 only walked the **generic codec's** ''hw_configs''.
 libavcodec on ALARM registers v4l2_request as **separate AVCodec libavcodec on ALARM registers v4l2_request as **separate AVCodec
-entries** (''h264_v4l2request'' etc.). Patch 3 has been corrected to +entries** (''h264_v4l2request'' etc.). Patch 3 has been corrected to 
-**probe by name first**, falling back to ''hw_configs''. Rebuild pending+**probe by name first**, falling back to ''hw_configs''. Rebuild pending
 on **boltzmann**. on **boltzmann**.
  
 ===== Where to find sources ===== ===== Where to find sources =====
  
-  * Public: [[https://github.com/marfrit/fourier|github.com/marfrit/fourier]] — ''chromium-fourier/''''qt6-base-fourier/''''kwin-fourier/''''docs/''''tools/'' +  * Public: [[https://github.com/marfrit/fourier|github.com/marfrit/fourier]] — ''chromium-fourier/''''qt6-base-fourier/''''kwin-fourier/''''docs/''''tools/'' 
-  * Local: [[https://git.reauktion.de/marfrit/marfrit-packages|gitea/marfrit-packages]] — ''arch/{chromium,qt6-base,kwin,firefox}-fourier/''+  * Local: [[https://git.reauktion.de/marfrit/marfrit-packages|gitea/marfrit-packages]] — ''arch/{chromium,qt6-base,kwin,firefox}-fourier/''
  
fourier/patch_series.1777414012.txt.gz · Last modified: by markus_fritsche