[Freedreno] Whether A200 driver is supported by Linux Mainline Kernel

abhijit abhijitnaik27 at gmail.com
Mon Aug 7 09:11:39 UTC 2017


Hi Rob,

Thank you very much for information. Actually I am not constrained to 
use X server.

But can you please let me know what are the components that may be 
needed for testing freedreno test applications, apart from libdrm and mesa?

I thought X may be needed for graphic drawing.

Sorry if the questions are too basic. Actually I am getting overwhelmed 
with lot of options available and I am not getting what is the right way 
to proceed...

I will try get something to work with GBM though

Regards,
    Abhijit

On Sunday 06 August 2017 04:32 PM, Rob Clark wrote:
> On Thu, Aug 3, 2017 at 8:23 AM, abhijit <abhijitnaik27 at gmail.com> wrote:
>> Hi All :)
>>
>> Finally I am able to get freedreno_drv.so and xserver ABI version to get
>> matched.
>>
>> I am using buildroot to get the proper package dependency and build.
>>
>> Currently our target has following binaries,
>>     $(ROOT_DIR)/usr/lib/xorg/modules/drivers/freedreno_drv.so
>>     $(ROOT_DIR)/usr/lib/dri/msm_dri.so
>>     $(ROOT_DIR)/usr/lib/libdrm_freedreno.so
>>
>> I also loaded msm_kgsl_core.ko and msm_adreno.ko
>>
>> But my xinit is giving following output
>>   "[   233.794] (WW) Falling back to old probe method for freedreno"
>>   "[   233.831] (II) No msm DRM/KMS, fallback to fbdev/kgsl"
>>
>
> I guess that it is failing to find the old kgsl shim drm driver, which
> enabled allocation of GEM buffers for pixmaps.  I know Wladimir played
> a bit with this on imx5, but I think he was just using gbm/kms and not
> x11.  I guess he was using imx-drm for GEM buffer allocation?
>
> BR,
> -R
>
>>   "[   234.801] (II) UnloadModule: "freedreno""
>>   "[   234.801] (II) Unloading freedreno"
>>
>> Referring to freedreno architecture, I interpreted kgsl must be enabled in
>> the libdrm and enabled same. But still freedreno module is getting unloaded
>>
>> I will be grateful if any body can give lead on this.
>>
>> Regards,
>>    Abhijit
>>
>>
>> On Friday 14 July 2017 05:28 PM, Rob Clark wrote:
>>>
>>> On Fri, Jul 14, 2017 at 6:52 AM, abhijit <abhijitnaik27 at gmail.com> wrote:
>>>>
>>>> Hi all,
>>>>
>>>> Running xinit load freedreno_drv.so file after adding configuration in
>>>> /etc/X11/xorg.conf,
>>>>
>>>> Section "Server Flags"
>>>>              Option               "IgnoreABI"
>>>> EndSection
>>>>
>>>> Section "Device"
>>>>     Identifier     "Device0"
>>>>     Driver         "freedreno"
>>>>     VendorName     "Freedreno "
>>>>     BoardName      "SoC"
>>>> EndSection
>>>>
>>>> But I am getting segmentaion fault and following is snippet of
>>>> /var/log/Xorg.0.log
>>>>
>>>> [  6587.058] (II) No msm DRM/KMS, fallback to fbdev/kgsl
>>>> [  6587.059]
>>>> [  6587.059] Backtrace:
>>>> [  6587.059]
>>>> [  6587.059] Segmentation fault at address 0x3
>>>> [  6587.059]
>>>> Fatal server error:
>>>> [  6587.059] Caught signal 11 (Segmentation fault). Server aborting
>>>>
>>>> Please let me know how I can go about debugging it
>>>>
>>>
>>> well, IgnoreABI is more than a bit scary.. the old downstream msm
>>> fdbdev driver wasn't a bit non-standard, so there might be issues w/
>>> xf86-video-freedreno working w/ a different fbdev driver (not to
>>> mention the non-KMS codepaths probably haven't been exercised in a
>>> while).  But I suspect an ABI mismatch between xf86-video-freedreno is
>>> likely to cause more problems.
>>>
>>> BR,
>>> -R
>>>
>>>
>>>>
>>>> On Friday 14 July 2017 01:13 PM, abhijit naik wrote:
>>>>>
>>>>>
>>>>> Hi Ilia,
>>>>>
>>>>> Thank you very much for your reply.
>>>>>
>>>>> I am able to create msm_dri.so file with options you provided
>>>>>
>>>>> Even after that, soft pipe is being used for rendering.
>>>>>
>>>>> I am suspecting that glxinfo will use driver depending on _drv.so being
>>>>> detected by xinit
>>>>>
>>>>> Now I have freedreno_drv.so too. But still soft pipe is being used. I am
>>>>> trying to solve this puzzle.
>>>>>
>>>>>  Warm Regards,
>>>>>         Abhijit
>>>>>
>>>>>> On 10-Jul-2017, at 8:25 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>>>>>>
>>>>>>> On Mon, Jul 10, 2017 at 10:53 AM, abhijit <abhijitnaik27 at gmail.com>
>>>>>>> wrote:
>>>>>>> Hi Rob,
>>>>>>>
>>>>>>> Thank you very much for your reply.
>>>>>>>
>>>>>>> I ensured that --enable-freedreno-kgsl is enabled in libdrm build and
>>>>>>> the
>>>>>>> same is copied to target
>>>>>>>
>>>>>>> The issue seems to be in mesa build
>>>>>>>
>>>>>>> I observed that there are two mechanism in which application can
>>>>>>> interact
>>>>>>> with underlaying DRM,
>>>>>>>    1. With DRI ($MESA_INSTALL_PATH/src/mesa/drivers/dri)
>>>>>>>    2. With Gallium driver ($MESA_INSTALL_PATH/src/gallium/drivers)
>>>>>>>
>>>>>>> Freedreno driver is present only in Case 2. For that reason I
>>>>>>> disabled dri
>>>>>>> in Mesa build and enabled gallium-xlib intreface, which will enable
>>>>>>> case 2
>>>>>>
>>>>>>
>>>>>>
>>>>>> You absolutely need --enable-dri. Gallium drivers are also DRI
>>>>>> drivers. The "src/mesa/drivers/dri" drivers are "classic" drivers,
>>>>>> while the others are "gallium" drivers. However they're all DRI
>>>>>> drivers.
>>>>>>
>>>>>> You can build mesa --with-dri-drivers=""
>>>>>> --with-gallium-drivers="freedreno", but you have to leave DRI(3)
>>>>>> enabled.
>>>>>>
>>>>>>  -ilia


More information about the Freedreno mailing list