mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Christian Melki <christian.melki@t2data.com>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] mesalib 2021.11 broken kmsro driver?
Date: Tue, 9 Nov 2021 16:46:14 +0100	[thread overview]
Message-ID: <45fe1007-c422-21cc-5635-7d35302687bb@t2data.com> (raw)
In-Reply-To: <20211109154206.GO22301@pengutronix.de>



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


      reply	other threads:[~2021-11-09 15:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-08 10:16 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 message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45fe1007-c422-21cc-5635-7d35302687bb@t2data.com \
    --to=christian.melki@t2data.com \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox