mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [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