<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.asteroidos.org/index.php?action=history&amp;feed=atom&amp;title=Graphic_Stack</id>
	<title>Graphic Stack - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.asteroidos.org/index.php?action=history&amp;feed=atom&amp;title=Graphic_Stack"/>
	<link rel="alternate" type="text/html" href="https://wiki.asteroidos.org/index.php?title=Graphic_Stack&amp;action=history"/>
	<updated>2026-05-10T14:07:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://wiki.asteroidos.org/index.php?title=Graphic_Stack&amp;diff=77&amp;oldid=prev</id>
		<title>Beroset: add category</title>
		<link rel="alternate" type="text/html" href="https://wiki.asteroidos.org/index.php?title=Graphic_Stack&amp;diff=77&amp;oldid=prev"/>
		<updated>2023-06-17T22:11:42Z</updated>

		<summary type="html">&lt;p&gt;add category&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:11, 17 June 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Porters]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The AsteroidOS’s graphic stack is pretty similar to the one present in SailfishOS or WebOS-Ports. This page is a quick summary of what’s involved in showing an app.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The AsteroidOS’s graphic stack is pretty similar to the one present in SailfishOS or WebOS-Ports. This page is a quick summary of what’s involved in showing an app.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff::1.12:old-34:rev-77 --&gt;
&lt;/table&gt;</summary>
		<author><name>Beroset</name></author>
	</entry>
	<entry>
		<id>https://wiki.asteroidos.org/index.php?title=Graphic_Stack&amp;diff=34&amp;oldid=prev</id>
		<title>Beroset: added diagram</title>
		<link rel="alternate" type="text/html" href="https://wiki.asteroidos.org/index.php?title=Graphic_Stack&amp;diff=34&amp;oldid=prev"/>
		<updated>2023-06-17T16:41:12Z</updated>

		<summary type="html">&lt;p&gt;added diagram&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:41, 17 June 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Libhybris is used to re-use Android drivers from AsteroidOS, SailfishOS, NemoMobile, WebOS-Ports or Ubuntu Touch. It’s clearly a hack and not a perfect solution as it relies on some proprietary binary blobs but it’s often the only way to get reliable hardware acceleration on Android devices and it works really well. It’s worth noticing that Ubuntu Touch uses Mir instead of Wayland which is used by all the other projects, including AsteroidOS.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Libhybris is used to re-use Android drivers from AsteroidOS, SailfishOS, NemoMobile, WebOS-Ports or Ubuntu Touch. It’s clearly a hack and not a perfect solution as it relies on some proprietary binary blobs but it’s often the only way to get reliable hardware acceleration on Android devices and it works really well. It’s worth noticing that Ubuntu Touch uses Mir instead of Wayland which is used by all the other projects, including AsteroidOS.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[File:Graphic&lt;/ins&gt;-stack.jpg&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|center|frameless]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;img src=&amp;quot;{{assets}}/img/graphic&lt;/del&gt;-stack.jpg&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; style=&amp;quot;width:100%&amp;quot;/&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff::1.12:old-32:rev-34 --&gt;
&lt;/table&gt;</summary>
		<author><name>Beroset</name></author>
	</entry>
	<entry>
		<id>https://wiki.asteroidos.org/index.php?title=Graphic_Stack&amp;diff=32&amp;oldid=prev</id>
		<title>Beroset at 16:37, 17 June 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.asteroidos.org/index.php?title=Graphic_Stack&amp;diff=32&amp;oldid=prev"/>
		<updated>2023-06-17T16:37:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:37, 17 June 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;User apps, like asteroid-settings, are small software developed using QML and qml-asteroid. Behind the hood, Qt5 uses the QtWayland “QPA” module API for client windows to show up on screen. A communication is established via the “wayland-egl” protocol with the Wayland compositor. This means that user apps don’t necessarily have to be developed with Qt as long as the library supports the Wayland protocol.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;User apps, like asteroid-settings, are small software developed using QML and qml-asteroid. Behind the hood, Qt5 uses the QtWayland “QPA” module API for client windows to show up on screen. A communication is established via the “wayland-egl” protocol with the Wayland compositor. This means that user apps don’t necessarily have to be developed with Qt as long as the library supports the Wayland protocol.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Wayland compositor which by default is asteroid-launcher (and could be replaced by GlacierUI for example) is based on Lipstick from the Nemomobile project which allows us to quickly design an interface with QML and qml-asteroid. Behind the hood, two different modules are used: once again QtWayland but this time the compositor API is used which allows us to handle the wayland-egl communication with the client. The QPA module used by asteroid-launcher is qt5-qpa-hwcomposer which uses the &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; glibc binding provided by libhybris in &amp;lt;code&amp;gt;/usr/lib&amp;lt;/code.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Wayland compositor which by default is asteroid-launcher (and could be replaced by GlacierUI for example) is based on Lipstick from the Nemomobile project which allows us to quickly design an interface with QML and qml-asteroid. Behind the hood, two different modules are used: once again QtWayland but this time the compositor API is used which allows us to handle the wayland-egl communication with the client. The QPA module used by asteroid-launcher is qt5-qpa-hwcomposer which uses the &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; glibc binding provided by libhybris in &amp;lt;code&amp;gt;/usr/lib&amp;lt;/code&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; is only a front-end to the android’s &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; provided in &amp;lt;code&amp;gt;/system/lib/&amp;lt;/code&amp;gt; and imported from an Android Wear installation. The Android’s &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; can not be directly used by &amp;lt;code&amp;gt;qt5-qpa-hwcomposer&amp;lt;/code&amp;gt; because there is a libc incompatibility; Android libraries are linked against bionic instead of glibc so a compatibility layer is needed: that’s the job of libhybris. Finally this bionic &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; loads some proprietary binary blobs which are able to communicate with the GPU and to show something on-screen.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; is only a front-end to the android’s &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; provided in &amp;lt;code&amp;gt;/system/lib/&amp;lt;/code&amp;gt; and imported from an Android Wear installation. The Android’s &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; can not be directly used by &amp;lt;code&amp;gt;qt5-qpa-hwcomposer&amp;lt;/code&amp;gt; because there is a libc incompatibility; Android libraries are linked against bionic instead of glibc so a compatibility layer is needed: that’s the job of libhybris. Finally this bionic &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; loads some proprietary binary blobs which are able to communicate with the GPU and to show something on-screen.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff::1.12:old-31:rev-32 --&gt;
&lt;/table&gt;</summary>
		<author><name>Beroset</name></author>
	</entry>
	<entry>
		<id>https://wiki.asteroidos.org/index.php?title=Graphic_Stack&amp;diff=31&amp;oldid=prev</id>
		<title>Beroset: initial version of graphics stack page</title>
		<link rel="alternate" type="text/html" href="https://wiki.asteroidos.org/index.php?title=Graphic_Stack&amp;diff=31&amp;oldid=prev"/>
		<updated>2023-06-17T16:36:47Z</updated>

		<summary type="html">&lt;p&gt;initial version of graphics stack page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The AsteroidOS’s graphic stack is pretty similar to the one present in SailfishOS or WebOS-Ports. This page is a quick summary of what’s involved in showing an app.&lt;br /&gt;
&lt;br /&gt;
User apps, like asteroid-settings, are small software developed using QML and qml-asteroid. Behind the hood, Qt5 uses the QtWayland “QPA” module API for client windows to show up on screen. A communication is established via the “wayland-egl” protocol with the Wayland compositor. This means that user apps don’t necessarily have to be developed with Qt as long as the library supports the Wayland protocol.&lt;br /&gt;
&lt;br /&gt;
The Wayland compositor which by default is asteroid-launcher (and could be replaced by GlacierUI for example) is based on Lipstick from the Nemomobile project which allows us to quickly design an interface with QML and qml-asteroid. Behind the hood, two different modules are used: once again QtWayland but this time the compositor API is used which allows us to handle the wayland-egl communication with the client. The QPA module used by asteroid-launcher is qt5-qpa-hwcomposer which uses the &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; glibc binding provided by libhybris in &amp;lt;code&amp;gt;/usr/lib&amp;lt;/code.&lt;br /&gt;
&lt;br /&gt;
This &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; is only a front-end to the android’s &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; provided in &amp;lt;code&amp;gt;/system/lib/&amp;lt;/code&amp;gt; and imported from an Android Wear installation. The Android’s &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; can not be directly used by &amp;lt;code&amp;gt;qt5-qpa-hwcomposer&amp;lt;/code&amp;gt; because there is a libc incompatibility; Android libraries are linked against bionic instead of glibc so a compatibility layer is needed: that’s the job of libhybris. Finally this bionic &amp;lt;code&amp;gt;libhardware.so&amp;lt;/code&amp;gt; loads some proprietary binary blobs which are able to communicate with the GPU and to show something on-screen.&lt;br /&gt;
&lt;br /&gt;
Libhybris is used to re-use Android drivers from AsteroidOS, SailfishOS, NemoMobile, WebOS-Ports or Ubuntu Touch. It’s clearly a hack and not a perfect solution as it relies on some proprietary binary blobs but it’s often the only way to get reliable hardware acceleration on Android devices and it works really well. It’s worth noticing that Ubuntu Touch uses Mir instead of Wayland which is used by all the other projects, including AsteroidOS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;{{assets}}/img/graphic-stack.jpg&amp;quot; style=&amp;quot;width:100%&amp;quot;/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Beroset</name></author>
	</entry>
</feed>