<div dir="ltr"><div>I tend to agree with Marco: I am not sure there is a use case for swrast anymore, not even as a fallback. About the only thing it is useful for is glxgears. On real hardware you want the real driver without fallbacks, on qemu you want virgl.</div><div><br></div><div>I would rather replace swrast with virgl in the qemu machine configs. Currently it&#39;s pulled in implicitly via the megadriver package which has virgl included because it is enabled by default in the mesa recipe. From what I can see beaglebone etc. are not affected by this.<br></div><div><br></div><div>Alex<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 14 Jun 2019 at 14:35, Marco Felsch &lt;<a href="mailto:m.felsch@pengutronix.de">m.felsch@pengutronix.de</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 19-06-14 13:11, <a href="mailto:richard.purdie@linuxfoundation.org" target="_blank">richard.purdie@linuxfoundation.org</a> wrote:<br>
&gt; On Fri, 2019-06-14 at 14:04 +0200, Marco Felsch wrote:<br>
&gt; &gt; On 19-06-14 11:55, Richard Purdie wrote:<br>
&gt; &gt; &gt; On Thu, 2019-06-13 at 19:54 +0200, Marco Felsch wrote:<br>
&gt; &gt; &gt; &gt; Most of the time we are compiling for embedded targets which have<br>
&gt; &gt; &gt; &gt; dedicated hardware combinations. Enabling swrast by default isn&#39;t<br>
&gt; &gt; &gt; &gt; a<br>
&gt; &gt; &gt; &gt; good<br>
&gt; &gt; &gt; &gt; solution for such devices because if the hardware render node has<br>
&gt; &gt; &gt; &gt; an<br>
&gt; &gt; &gt; &gt; issue or doesn&#39;t support a special format/request Mesa will<br>
&gt; &gt; &gt; &gt; fallback<br>
&gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; the software renderer. This will make it harder to debug<br>
&gt; &gt; &gt; &gt; performance<br>
&gt; &gt; &gt; &gt; issues.<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; A better way is to let the user decide if a software renderer is<br>
&gt; &gt; &gt; &gt; needed e.g. if the system has no hardware renderer or to have<br>
&gt; &gt; &gt; &gt; such a<br>
&gt; &gt; &gt; &gt; fallback device. This way the user knows that the software<br>
&gt; &gt; &gt; &gt; renderer<br>
&gt; &gt; &gt; &gt; is<br>
&gt; &gt; &gt; &gt; enabled.<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; Signed-off-by: Marco Felsch &lt;<a href="mailto:m.felsch@pengutronix.de" target="_blank">m.felsch@pengutronix.de</a>&gt;<br>
&gt; &gt; &gt; &gt; ---<br>
&gt; &gt; &gt; &gt; v3<br>
&gt; &gt; &gt; &gt; - rebased on current master-next branch<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; I think this breaks the autobuilder:<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; <a href="https://autobuilder.yoctoproject.org/typhoon/#/builders/57/builds/694" rel="noreferrer" target="_blank">https://autobuilder.yoctoproject.org/typhoon/#/builders/57/builds/694</a><br>
&gt; &gt; <br>
&gt; &gt; thanks for covering that. Why didn&#39;t I get a email?<br>
&gt; <br>
&gt; The patchtest emails come from quick tests. This is a test of full<br>
&gt; builds on the autobuilder with batched together patches. The system has<br>
&gt; no real knowledge of which patch causes which failure so its a manual<br>
&gt; process. We don&#39;t have the infrastructure to run all patches through<br>
&gt; the full autobuilder tests individually.<br>
&gt; <br>
&gt; &gt;  Anyway thats<br>
&gt; &gt; interessting. IMHO it isn&#39;t a good solution to rely on that fact that<br>
&gt; &gt; the package have some &#39;random&#39; default enabled drivers. Should we fix<br>
&gt; &gt; the qemu configs or should I add:<br>
&gt; &gt; <br>
&gt; &gt; PACKAGECONFIG_append_qemuall = &quot; swrast&quot;<br>
&gt; <br>
&gt; The assumption is that swrast makes a good fallback and would be<br>
&gt; available in most cases.<br>
<br>
No I don&#39;t think that it is a good fallback, following my patch<br>
description. If you are on a embedded device you want the hw-renderer<br>
and not the sw one. A good example: After I updated my kernel, my<br>
hw-renderer wasn&#39;t available anymore and my application didn&#39;t start.<br>
Thats a very good indication that something went bad. With the swrast<br>
enabled I wouldn&#39;t see that immediately.<br>
<br>
&gt; I suspect qemuall might not fix beaglebone-yocto or some of the<br>
&gt; hardware BSPs.<br>
<br>
As I discribed in the patch description if you want that fallback you<br>
have to enable it. IMHO this is the better way instead of to be a<br>
&#39;smart&#39; package.<br>
<br>
&gt; Its also assumed these packages are shared amongst multiple machines<br>
&gt; which may need different drivers.<br>
&gt; <br>
&gt; I suspect this means the defaults should be on but I am happy to have<br>
&gt; more PACKAGECONFIG options to control things for people who want to<br>
&gt; customise/micro-optimise.<br>
<br>
Optimising wasn&#39;t my main motivation. Avoiding &#39;random&#39; performace<br>
issues after a upgrade (kernel, mesa) was my main motivation. Do you get<br>
me?<br>
<br>
Regards,<br>
  Marco<br>
<br>
&gt; Cheers,<br>
&gt; <br>
&gt; Richard<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; <br>
<br>
-- <br>
Pengutronix e.K.                           |                             |<br>
Industrial Linux Solutions                 | <a href="http://www.pengutronix.de/" rel="noreferrer" target="_blank">http://www.pengutronix.de/</a>  |<br>
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |<br>
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |<br>
-- <br>
_______________________________________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
</blockquote></div>