<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Epiphany – Linux und Ich</title>
	<atom:link href="https://linuxundich.de/tag/epiphany/feed/" rel="self" type="application/rss+xml" />
	<link>https://linuxundich.de</link>
	<description>Blog über Ubuntu, Linux, Android und IT</description>
	<lastBuildDate>Fri, 23 Oct 2026 14:33:34 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>WebKitGTK 2.54: Kleines Sternchen, großes Speicherleck</title>
		<link>https://linuxundich.de/webkitgtk-speicherleck-backdrop-filter/</link>
					<comments>https://linuxundich.de/webkitgtk-speicherleck-backdrop-filter/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 14:33:34 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Epiphany]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GNOME Web]]></category>
		<category><![CDATA[PlanetFOSS]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=48110</guid>

					<description><![CDATA[Bei der Arbeit an PlanetFOSS ist mir ein massives Speicherleck in WebKitGTK 2.54 begegnet: Ein harmloser Milchglas-Effekt per backdrop-filter treibt GNOME Web auf bis zu 9,8 GB. Firefox und Chrome lässt die gleiche Seite völlig kalt.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Firefox und Chrome gehören beim Bauen einer Website zum Pflichtprogramm, ein Blick in <a href="https://apps.gnome.org/de/Epiphany/">GNOME Web aka Epiphany</a> fällt dagegen gerne unter den Tisch. Bei mir nicht ganz, schließlich sitze ich auf einem GNOME-Desktop. Und so ist mir bei der Arbeit an <a href="https://planetfoss.net/">PlanetFOSS</a>, <a href="https://linuxundich.de/planetfoss-start-linux-nachrichten-buendel-supernova/">meinem kleinen Linux- und FOSS-Nachrichtensammler</a>, ein ausgewachsenes Speicherleck in <a href="https://webkitgtk.org/">WebKitGTK</a> vor die Füße gefallen.</p>



<p class="wp-block-paragraph">Die Startseite ließ Epiphany kurzerhand komplett einfrieren. Im Journal fand sich anschließend ein Speicherabzug des Webprozesses, und systemd hatte eine Speicherspitze von 5,8 GB notiert. Für eine Nachrichtenseite mit ein paar Kärtchen ist das in meinen Augen dann doch etwas viel. Ein Neustart brachte nichts: Epiphany stellt brav den PlanetFOSS-Tab wieder her und verschluckt sich prompt erneut.</p>



<h2 class="wp-block-heading">Auf Spurensuche</h2>



<p class="wp-block-paragraph">Ein Blick in die Paketchronik brachte den ersten Hinweis: Arch Linux hatte am 7. Oktober WebKitGTK, die Browser-Engine hinter Epiphany, auf Version 2.54 aktualisiert. Den Browser selbst konnte ich schnell entlasten. Der MiniBrowser, ein schlichter Testbrowser, der bei WebKitGTK mit dabei ist, lief mit der PlanetFOSS-Startseite innerhalb von Sekunden auf mehrere Gigabyte auf. Eine schlichte Beispielseite kommt dagegen mit 170 MB aus.</p>



<h2 class="wp-block-heading">Die Spur führt zum Sternchen</h2>



<p class="wp-block-paragraph">Bei der Fehlersuche hat mir eine KI unter die Arme gegriffen, die Eingrenzung lief dann ganz klassisch per Ausschlussverfahren. Ohne JavaScript hing die Seite weiterhin, ohne Stylesheet lief sie dagegen brav. Danach flog eine Gestaltungsregel nach der anderen raus, bis der Übeltäter feststand: <code>backdrop-filter</code>. Der <a href="https://developer.mozilla.org/de/docs/Web/CSS/Reference/Properties/backdrop-filter">zeichnet den Hintergrund hinter einem Element unscharf</a> und sorgt so für den beliebten Milchglas-Effekt.</p>



<p class="wp-block-paragraph">Den Effekt nutzt PlanetFOSS an mehreren Stellen, vor allem aber an den kleinen Merken-Sternchen oben links auf jeder Artikelkarte. Davon gibt es auf der Startseite 55 Stück, dazu acht Nachrichtenkarten und zehn Play-Symbole auf den Videos. Jedes dieser Elemente bekommt seine eigene Milchglas-Ebene. In der Masse geht WebKitGTK 2.54 dabei offenbar in die Knie. Kleines Sternchen, große Auswirkungen eben.</p>



<p class="wp-block-paragraph">Zur Gegenprobe habe ich mir eine Testseite mit lauter Kärtchen gebaut, jedes mit einem kleinen Milchglas-Element. Bei zehn bis 14 Karten blieb der Speicher im grünen Bereich, bei 18 Karten war schon rund ein Gigabyte belegt. Ab 22 Karten schoss der Verbrauch auf sieben bis acht Gigabyte. Irgendwo um die 20 Ebenen kippt die Sache also, ganz genau festnageln lässt sich die Grenze aber nicht.</p>



<p class="wp-block-paragraph">Spannend dabei: Am Weichzeichnen selbst liegt es gar nicht. Auch ein Milchglas ohne jede Unschärfe oder ein simpler Graufilter bläht WebKitGTK genauso auf. Das Problem steckt also darin, wie die neue Version solche Ebenen verwaltet. Schaltet man die Grafikbeschleunigung der Engine ab, bleibt die Testseite zwar schlank. Als Lösung taugt das aber nicht, schließlich kann ich meinen Besuchern schlecht vorschreiben, wie sie ihren Browser starten.</p>



<h2 class="wp-block-heading">Firefox und Chrome lässt das kalt</h2>



<p class="wp-block-paragraph">Bleibt die Frage, ob nur WebKitGTK betroffen ist. Dazu habe ich dieselbe Kopie der Startseite einmal mit der alten und einmal mit der neuen Gestaltung in verschiedenen Browsern geladen und jeweils den Speicherverbrauch gemessen. Das Ganze einmal auf meinem Arch-Notebook und einmal in einer virtuellen Maschine mit Ubuntu 26.04. Bilder und Texte waren in allen Durchgängen identisch.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adb722d45f95&quot;}" data-wp-interactive="core/image" data-wp-key="6adb722d45f95" class="wp-block-image size-large wp-lightbox-container"><img fetchpriority="high" decoding="async" width="1280" height="745" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/02-speicherverbrauch-1280x745.webp" alt="Balkendiagramm: Speicherbedarf von WebKitGTK, Epiphany, Firefox und Chrome vor und nach dem CSS-Fix auf Arch Linux und in einer Ubuntu-VM" class="wp-image-48106" srcset="https://linuxundich.de/wp-content/uploads/2026/10/02-speicherverbrauch-1280x745.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/02-speicherverbrauch-640x372.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/02-speicherverbrauch-768x447.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/02-speicherverbrauch-1536x894.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/10/02-speicherverbrauch.webp 1650w" sizes="(max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Nur WebKitGTK 2.54 bläht sich mit dem alten Stylesheet auf, Firefox, Chrome und WebKitGTK 2.52 bleiben gelassen.</figcaption></figure>



<p class="wp-block-paragraph">Das Ergebnis ist eindeutig. Firefox und Chrome zeigen vorher und nachher praktisch den gleichen Verbrauch. Auch die ältere WebKitGTK-Version 2.52 von Ubuntu bleibt mit rund 680 MB völlig gelassen. Nur die Version 2.54 explodiert: Auf meinem Notebook kletterte der Speicherbedarf in 40 Sekunden auf 9,8 GB, nach dem Umbau der Seite waren es gerade einmal 300 MB.</p>



<p class="wp-block-paragraph">In der VM lief Epiphany als Flatpak, das die neue Engine gleich mitbringt. Dort blähte sich der Browser in einer Minute auf 4,3 GB auf, bis von gut 5 GB Arbeitsspeicher gerade noch 300 MB frei blieben. In einem früheren Durchgang warf der Tab gleich ganz das Handtuch: <em>Hoppla! Beim Anzeigen dieser Seite ging etwas schief</em>. Mit der neuen Gestaltung blieb es bei 721 MB.</p>



<h2 class="wp-block-heading">Deckender Hintergrund statt Milchglas</h2>



<p class="wp-block-paragraph">Die Lösung auf Seiten von PlanetFOSS ist unspektakulär. Sternchen, Nachrichtenkarten und Play-Symbole verzichten jetzt aufs Milchglas, dafür ist ihr Hintergrund einfach etwas weniger durchsichtig. Den Unterschied sieht man eigentlich nur, wenn man beide Versionen direkt nebeneinanderlegt und ganz genau hinschaut. Für ein paar Gigabyte weniger Speicherhunger ist das in meinen Augen ein mehr als fairer Tausch.</p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6adb722d464fe&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">

<figure data-wp-context="{&quot;imageId&quot;:&quot;6adb722d47afa&quot;}" data-wp-interactive="core/image" data-wp-key="6adb722d47afa" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" width="1280" height="738" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="48107" src="https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-vorher-1280x738.webp" alt="Ausschnitt der PlanetFOSS-Startseite mit Lupe auf dem Merken-Stern einer Artikelkarte, alte Version mit Weichzeichner" class="wp-image-48107" srcset="https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-vorher-1280x738.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-vorher-640x369.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-vorher-768x443.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-vorher-1536x886.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-vorher.webp 1560w" sizes="(max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Vorher: Hinter dem Sternchen liegt ein Weichzeichner per backdrop-filter, damit bläht sich WebKitGTK 2.54 auf bis zu 9,8 GB auf.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adb722d48d6c&quot;}" data-wp-interactive="core/image" data-wp-key="6adb722d48d6c" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" width="1280" height="738" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="48108" src="https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-nachher-1280x738.webp" alt="Ausschnitt der PlanetFOSS-Startseite mit Lupe auf dem Merken-Stern einer Artikelkarte, neue Version ohne Weichzeichner" class="wp-image-48108" srcset="https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-nachher-1280x738.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-nachher-640x369.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-nachher-768x443.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-nachher-1536x886.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-nachher.webp 1560w" sizes="(max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Nachher: Ein deckenderer Hintergrund ersetzt den Weichzeichner, das Sternchen wird nur etwas dunkler, und WebKitGTK braucht 300 MB.</figcaption></figure>

</figure>



<p class="wp-block-paragraph">Seit ein paar Tagen ist die Änderung live, und der MiniBrowser kommt mit der echten Startseite wieder mit 213 MB aus. Den Milchglas-Effekt in der aufklappenden Rubrikenleiste und an den Quellen-Links im Aufmacher habe ich behalten. Das sind nur eine Handvoll Ebenen, und die bringen WebKit nicht aus dem Tritt. Auch linuxundich.de nutzt den Effekt nur an zwei Stellen und war deshalb nie betroffen.</p>



<p class="wp-block-paragraph">Alles in allem steckt das Problem klar in WebKitGTK 2.54 und nicht in meinem Stylesheet. Betroffen sind wohl alle Seiten, die genügend Elemente mit <code>backdrop-filter</code> verwenden. Von daher mein Rat an alle, die Websites bauen: Milchglas lieber sparsam dosieren und die Seite auch mal in Epiphany laden. Einen Fehlerbericht samt Testfall habe ich im WebKit-Bugzilla <a href="https://bugs.webkit.org/show_bug.cgi?id=328065">eingereicht</a>. Hoffentlich habe ich niemandem die Browsersitzung gekillt.</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/webkitgtk-speicherleck-backdrop-filter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
