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

abhijit abhijitnaik27 at gmail.com
Thu Aug 17 08:37:57 UTC 2017


Hi All,

I am able to get the 3D graphic driver to run. Thank you very much for 
kind help.

Now I am trying to run some 2D application from freedreno. I saw that 
these applications use libC2D2.

I was able to get this library for UNIX, but I am not able to get 
libstlport for UNIX which is one of dependencies. I am concluding 
libC2D2 is specific to Andriod

I am planning to use MonkVG and run tiger application that comes with 
Khronos so that I can use 3D renderer for 2D.

I am falling back to OPEN GL ES 2.0, as OPENVG implementation is 
discontinued in Mesa

Please let me know your inputs on this

Regards,
    Abhijit

On Monday 07 August 2017 02:41 PM, abhijit wrote:
> 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