* [ptxdist] mesalib 2021.11 broken kmsro driver? @ 2021-11-08 10:16 Christian Melki 2021-11-08 13:03 ` Michael Olbrich 0 siblings, 1 reply; 7+ messages in thread From: Christian Melki @ 2021-11-08 10:16 UTC (permalink / raw) To: ptxdist Hi. 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. Regards, Christian _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [ptxdist] mesalib 2021.11 broken kmsro driver? 2021-11-08 10:16 [ptxdist] mesalib 2021.11 broken kmsro driver? Christian Melki @ 2021-11-08 13:03 ` Michael Olbrich 2021-11-08 13:37 ` Christian Melki 0 siblings, 1 reply; 7+ messages in thread From: Michael Olbrich @ 2021-11-08 13:03 UTC (permalink / raw) To: Christian Melki; +Cc: ptxdist 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? 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, ....'. 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [ptxdist] mesalib 2021.11 broken kmsro driver? 2021-11-08 13:03 ` Michael Olbrich @ 2021-11-08 13:37 ` Christian Melki 2021-11-08 14:08 ` Lucas Stach 0 siblings, 1 reply; 7+ messages in thread From: Christian Melki @ 2021-11-08 13:37 UTC (permalink / raw) To: ptxdist 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. > Michael > > _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [ptxdist] mesalib 2021.11 broken kmsro driver? 2021-11-08 13:37 ` Christian Melki @ 2021-11-08 14:08 ` Lucas Stach 2021-11-08 14:28 ` Christian Melki 0 siblings, 1 reply; 7+ messages in thread From: Lucas Stach @ 2021-11-08 14:08 UTC (permalink / raw) To: ptxdist, christian.melki 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. Regards, Lucas _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [ptxdist] mesalib 2021.11 broken kmsro driver? 2021-11-08 14:08 ` Lucas Stach @ 2021-11-08 14:28 ` Christian Melki 2021-11-09 15:42 ` Michael Olbrich 0 siblings, 1 reply; 7+ messages in thread From: Christian Melki @ 2021-11-08 14:28 UTC (permalink / raw) To: ptxdist 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 \ > Regards, > Lucas > _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [ptxdist] mesalib 2021.11 broken kmsro driver? 2021-11-08 14:28 ` Christian Melki @ 2021-11-09 15:42 ` Michael Olbrich 2021-11-09 15:46 ` Christian Melki 0 siblings, 1 reply; 7+ messages in thread From: Michael Olbrich @ 2021-11-09 15:42 UTC (permalink / raw) To: Christian Melki; +Cc: ptxdist 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [ptxdist] mesalib 2021.11 broken kmsro driver? 2021-11-09 15:42 ` Michael Olbrich @ 2021-11-09 15:46 ` Christian Melki 0 siblings, 0 replies; 7+ messages in thread From: Christian Melki @ 2021-11-09 15:46 UTC (permalink / raw) To: ptxdist On 11/9/21 4:42 PM, Michael Olbrich wrote: > 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. > Thanks for looking into it. > Michael > _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-11-09 15:46 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-11-08 10:16 [ptxdist] mesalib 2021.11 broken kmsro driver? Christian Melki 2021-11-08 13:03 ` Michael Olbrich 2021-11-08 13:37 ` Christian Melki 2021-11-08 14:08 ` Lucas Stach 2021-11-08 14:28 ` Christian Melki 2021-11-09 15:42 ` Michael Olbrich 2021-11-09 15:46 ` Christian Melki
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox