From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Tue, 09 Nov 2021 16:42:44 +0100 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1mkTGm-00063U-7D for lore@lore.pengutronix.de; Tue, 09 Nov 2021 16:42:44 +0100 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1mkTGl-0004vE-PU; Tue, 09 Nov 2021 16:42:43 +0100 Received: from ptx.hi.pengutronix.de ([2001:67c:670:100:1d::c0]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mkTGA-0004v3-Tw; Tue, 09 Nov 2021 16:42:06 +0100 Received: from mol by ptx.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1mkTGA-0003Uv-Ch; Tue, 09 Nov 2021 16:42:06 +0100 Date: Tue, 9 Nov 2021 16:42:06 +0100 From: Michael Olbrich To: Christian Melki Message-ID: <20211109154206.GO22301@pengutronix.de> Mail-Followup-To: Christian Melki , ptxdist@pengutronix.de References: <20211108130304.GL22301@pengutronix.de> <9007ddc4-36fe-b33e-32c0-3f088623335e@t2data.com> <25725d78-9185-200e-c116-dda70751a16f@t2data.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <25725d78-9185-200e-c116-dda70751a16f@t2data.com> X-Sent-From: Pengutronix Hildesheim X-URL: http://www.pengutronix.de/ X-IRC: #ptxdist @freenode X-Accept-Language: de,en X-Accept-Content-Type: text/plain X-Uptime: 16:36:49 up 264 days, 19:00, 140 users, load average: 0.09, 0.30, 0.29 User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [ptxdist] mesalib 2021.11 broken kmsro driver? X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: ptxdist@pengutronix.de Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false On Mon, Nov 08, 2021 at 03:28:39PM +0100, Christian Melki wrote: > On 11/8/21 15:08, Lucas Stach wrote: > > Am Montag, dem 08.11.2021 um 14:37 +0100 schrieb Christian Melki: > >> On 11/8/21 14:03, Michael Olbrich wrote: > >>> Hi, > >>> > >>> On Mon, Nov 08, 2021 at 11:16:11AM +0100, Christian Melki wrote: > >>>> The kmsro driver doesn't seem to create any .so files. > >>>> According to people on #dri-devel it's builtin in other .so files? > >>>> So the idea of kmsro library names to copy will fail in the current .make. > >>> > >>> What exactly is broken? > >> > >> ptxdist: error: missing gallium driver armada-drm_dri.so > >> > >>> In general, all gallium drivers are built into a > >>> single file. 'make install' creates hardlinks for all drivers that are > >>> built. In ptxdist we just create one gallium_dri.so and symlinks for all > >>> drivers. > >>> The 'kmsro' argument for the meson 'gallium-drivers' options just means, > >>> build all KMS only drivers. So the list of hardlinks/softlinks ist > >>> different. That's why we have the '$(subst kmsro, ....'. > >> > >> kmsro doesn't create any library hardlinks named according to whatever > >> list ptxdist has. Actually, adding kmsro doesn't change built number of > >> objects or generated library hardlinks at all. > >> > >> with kmsro: > >> Gallium drivers: kmsro virgl r600 nouveau swrast svga > >> > >> [1621/1621] Linking target src/mesa/drivers/dri/libmesa_dri_drivers.so > >> > >> $ ls -1gG platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/* > >> -rwxr-xr-x 2 94331520 nov 8 14:25 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/i965_dri.so > >> -rwxr-xr-x 12 127009440 nov 8 14:25 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/kms_swrast_dri.so > >> -rwxr-xr-x 12 127009440 nov 8 14:25 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/nouveau_dri.so > >> -rwxr-xr-x 12 127009440 nov 8 14:25 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/r600_dri.so > >> -rwxr-xr-x 12 127009440 nov 8 14:25 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/swrast_dri.so > >> -rwxr-xr-x 12 127009440 nov 8 14:25 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/virtio_gpu_dri.so > >> -rwxr-xr-x 12 127009440 nov 8 14:25 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/vmwgfx_dri.so > >> > >> > >> without kmsro: > >> Gallium drivers: virgl r600 nouveau swrast svga > >> > >> [1621/1621] Linking target src/mesa/drivers/dri/libmesa_dri_drivers.so > >> $ ls -1gG platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/* > >> -rwxr-xr-x 2 94331520 nov 8 14:34 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/i965_dri.so > >> -rwxr-xr-x 12 127009440 nov 8 14:34 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/kms_swrast_dri.so > >> -rwxr-xr-x 12 127009440 nov 8 14:34 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/nouveau_dri.so > >> -rwxr-xr-x 12 127009440 nov 8 14:34 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/r600_dri.so > >> -rwxr-xr-x 12 127009440 nov 8 14:34 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/swrast_dri.so > >> -rwxr-xr-x 12 127009440 nov 8 14:34 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/virtio_gpu_dri.so > >> -rwxr-xr-x 12 127009440 nov 8 14:34 > >> platform-secplatform/packages/mesa-21.2.3/usr/lib/dri/vmwgfx_dri.so > >> > >> .. or something else that's apparently magic is happening. > > > > kmsro just wraps around other drivers that support the render GPU being > > different from the scanout GPU. From the list above you have not > > enabled any of those drivers (e.g. etnaviv, freedreno, panfrost, ...), > > so there isn't anything to wrap around for kmsro, so you don't get any > > libraries built. > > > > In that case ptxdist makes a static assumption that libraries are being > built and named, regardless what is selected? > Problem is that $(firstword) from the GALLIUM_LIBS is expected to exist > if kmsro is selected? > > MESALIB_DRI_GALLIUM_LIBS-y = \ > $(subst kmsro, \ > armada-drm \ > exynos \ > hx8357d \ > ili9225 \ > ili9341 \ > imx-dcss \ > imx-drm \ > ingenic-drm \ > mali-dp \ > mcde \ > mediatek \ > meson \ > mi0283qt \ > mxsfb-drm \ > pl111 \ > repaper \ > rockchip \ > st7586 \ > st7735r \ > stm \ > sun4i-drm \ So I looked into this: 'kmsro' is listed as a possible option for '-Dgallium-drivers='. But that's actually ignored. Instead, we have: with_gallium_kmsro = with_gallium_v3d or with_gallium_vc4 or with_gallium_etnaviv or with_gallium_panfrost or with_gallium_lima or with_gallium_freedreno So kmsro is only built when at least on of the drivers listed here is built. If that is the case, then all the kmsro hardlinks (for armada-drm etc.) are created. In your case: just disable MESALIB_DRI_KMSRO. You don't need it. I'll turn it into a noprompt option with the correct dependencies to avoid this in the future. Michael -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de