2D/3D Graphic stack questions/status report

154 views
Skip to first unread message

Jon Doe

unread,
Apr 9, 2011, 2:29:40 PM4/9/11
to pandaboard
Hi,

Ok, got my Panda today, installed Ubuntu 10.10, and installed omap4-
extras packages. Desktop 2D graphics is somewhat snappier, but nothing
spectacular. Firefox scrolling is still dog slow.

Can someone please explain to me how the Panda's (Ubuntu) Linux
graphic stack fits together? The extras package installs some SGX EGL
and GLES acceleration libraries (which I presume is the proprietary
secret sauce), a dkms pvrsrvkm.ko kernel module, and pvr_drv.so X
driver.

As I understand it, pvrsrvkm.ko is just a shim, passing drawing
operations on to the EGL/GLES libraries where the magic is supposed to
happen. Is this correct?

Some logs mention a missing omap_gpu kernel module which was
interesting. Apparently there exists another X fb driver for omap
(http://cgit.pingu.fi/xf86-video-omapfb/) as well. Is it any good?

What SGX driver developments are on the horizon, and should we expect
accelerated 2D X on the Panda any time soon?

Best regards
Jon




Jon Doe

unread,
Apr 10, 2011, 6:26:07 AM4/10/11
to pandaboard
Update:

Today I updated Ubuntu 10.10 with the ppa:tiomap-dev/omap-trunk
repository as described in http://omappedia.org/wiki/Ubuntu_OMAP_trunk.
Graphics performance still sucks. pvrsrvkm.ko seems to have been
replaced with omap_gpu.ko and I now have to sudo bash -c "echo -n
performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
because the ondemand governor scales down to 300 MHz, which is SLOW.

/var/log/Xorg.0.log still complains:

8.497] (EE) AIGLX error: dlopen of /usr/lib/dri/pvr_dri.so failed (/
usr/lib/dri/pvr_dri.so: cannot open shared object file: No such file
or directory)
[ 8.497] (EE) AIGLX: reverting to software rendering
[ 8.497] (II) AIGLX: Screen 0 is not DRI capable
[ 8.583] (II) AIGLX: Loaded and initialized /usr/lib/dri/
swrast_dri.so

Does this mean that X is using software rendering (swrast_dri.so)?

Also, there's a lot of:

24.588] sgxComposite: failed to do composition
[ 24.653] sgxComposite: failed to do composition
[ 35.175] sgxComposite: failed to do composition
[ 35.217] sgxComposite: failed to do composition
[ 157.877] sgxComposite: failed to do composition
[ 181.139] sgxComposite: failed to do composition
[ 181.998] sgxComposite: failed to do composition
[ 195.861] sgxComposite: failed to do composition
[ 196.984] sgxComposite: failed to do composition
[ 197.300] sgxComposite: failed to do composition
[ 208.053] sgxComposite: failed to do composition
[ 210.479] sgxComposite: failed to do composition
[ 335.997] sgxComposite: failed to do composition

Best regards
Jon

Ricardo Salveti

unread,
Apr 10, 2011, 5:56:31 PM4/10/11
to panda...@googlegroups.com, Jon Doe
On Sun, Apr 10, 2011 at 7:26 AM, Jon Doe <ffpl...@gmail.com> wrote:
> Update:
>
> Today I updated Ubuntu 10.10 with the ppa:tiomap-dev/omap-trunk
> repository as described in http://omappedia.org/wiki/Ubuntu_OMAP_trunk.
> Graphics performance still sucks. pvrsrvkm.ko seems to have been
> replaced with omap_gpu.ko and I now have to  sudo bash -c "echo -n
> performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
> because the ondemand governor scales down to 300 MHz, which is SLOW.
>
> /var/log/Xorg.0.log still complains:
>
>  8.497] (EE) AIGLX error: dlopen of /usr/lib/dri/pvr_dri.so failed (/
> usr/lib/dri/pvr_dri.so: cannot open shared object file: No such file
> or directory)
> [     8.497] (EE) AIGLX: reverting to software rendering
> [     8.497] (II) AIGLX: Screen 0 is not DRI capable
> [     8.583] (II) AIGLX: Loaded and initialized /usr/lib/dri/
> swrast_dri.so
>
> Does this mean that X is using software rendering (swrast_dri.so)?

Nops, this is fine, it's just related with AIGLX. The xdriver supports
EXA and DRI2.

Cheers,
--
Ricardo Salveti de Araujo

Stehle, Vincent

unread,
Apr 11, 2011, 4:44:15 AM4/11/11
to panda...@googlegroups.com, Ricardo Salveti, Jon Doe
On Sun, Apr 10, 2011 at 11:56 PM, Ricardo Salveti <rsal...@rsalveti.net> wrote:
>
> Nops, this is fine, it's just related with AIGLX. The xdriver supports
> EXA and DRI2.

Hi,

EXA acceleration is used based on thresholds (number of pixels). You
may want to "tune" those EXA thresholds with the following X driver
options:

    SoftEXA              true/false
    SoftSolidAlways      true/false
    Soft2DCopyLimit      <int> (default: 0)
    Soft2DSolidLimit     <int> (default: 0)
    Soft2DCompositeLimit <int> (default: 1024)

Best regards,

V.

Jon Doe

unread,
Apr 11, 2011, 5:22:21 AM4/11/11
to pandaboard
Hi,

Found this at jkridner.s3.amazonaws.com/esc/ESC-341_Dompe.pdf :

"Since the existing composite window managers for X (like compiz-
fusion) relay on the AIGLX
architecture that requires GLX, is currently not possible to bring
this type of X acceleration to a
platform running OpenGL ES."

This was written in 2008 for the BeagleBoard. Is this still relevant?

Best regards
Jon

On Apr 11, 10:44 am, "Stehle, Vincent" <v-ste...@ti.com> wrote:

Jon Doe

unread,
Apr 11, 2011, 1:42:00 PM4/11/11
to pandaboard
Option "Soft2DCompositeLimit" "0" does seem to slightly improve
performance.

On Apr 11, 10:44 am, "Stehle, Vincent" <v-ste...@ti.com> wrote:

Rob Clark

unread,
Apr 12, 2011, 2:26:04 AM4/12/11
to panda...@googlegroups.com, Jon Doe
I don't think you'd need AIGLX.. you just need compiz which supports
GLES (which is being worked on)..

BR,
-R

Rob Clark

unread,
Apr 12, 2011, 2:33:28 AM4/12/11
to panda...@googlegroups.com, Stehle, Vincent, Ricardo Salveti, Jon Doe

the default thresholds are not terribly good.. in fact they are
actually quite bad. On a branch we have some more intelligent
thresholds (ie. based on whether it would stall the GPU.. but still
experimental) and other optimizations.. along with some other good
stuff like xrandr/kms. Hopefully some of it sees the light of day
soon ;-)

BR,
-R

Han Hartgers

unread,
Apr 14, 2011, 9:36:37 AM4/14/11
to panda...@googlegroups.com
Dear all,

I am using also ubuntu 10.10 on my pandaboard and the overall (graphical) performance looked very slow to me as well.

I first installed ubuntu as mentioned on the wiki http://www.omappedia.org/wiki/PandaBoard_Ubuntu_Pre-built_Binaries_Guide
Including the  ubuntu-omap4-extras package.

And after that I upgraded to the trunk version as described here http://omappedia.org/wiki/Ubuntu_OMAP_trunk

That did not improve the graphical performance much.

But then I noticed suddenly that I got an error when I started the eglinfo program:
Couldn't load library libGLES_CM.so: libGLES_CM.so: cannot open shared object file: No such file or directoryCouldn't load library libGLESv1_CM.so: libGLESv1_CM.so: cannot open shared object file: No such file or directoryCouldn't load library libGLESv2.so: libGLESv2.so: cannot open shared object file: No such file or directoryCouldn't load library libOpenVG.so: libOpenVG.so: cannot open shared object file: No such file or directory
(After this error the program spits just good looking output on the screen.)

These libraries should come from the packages libgles2-sgx-omap4 and libopenvg1-sgx-omap4
I have installed version 1.7~git0f0b25f.3-1 /
But that forgets to "ln -s" the mentioned libraries.
I did this manual and now is the system much more responsive..
And I have the impression that the demo programs xgles1test1 and xgles2test1 are also working more smooth/fast after this change.

Can it be that you have the same problem?

Changing to xubuntu makes the system also more responsive.  I have to see what using a hard disk instead of the MMC card is doing.

 Greetings,

Han



Jon Doe

unread,
Apr 15, 2011, 12:15:18 PM4/15/11
to pandaboard
Hi,

Can you suggest better default thresholds?

Regards
Jon

Jon Doe

unread,
Apr 15, 2011, 12:11:54 PM4/15/11
to pandaboard
Hi,

xgles1test1 and xgles2test1 works better for me also, but I don't see
much change in desktop apps. Firefox scrolling is still quite jerky
and dragging windows around still paint a white refresh tail. Did you
make any other changes except soft linking linking libOpenVG.so,
libGLES_CM.so and libGLESv2.so?

Regards
Jon

On Apr 14, 3:36 pm, Han Hartgers <han.hartg...@gmail.com> wrote:
> Dear all,
>
> I am using also ubuntu 10.10 on my pandaboard and the overall (graphical)
> performance looked very slow to me as well.
>
> I first installed ubuntu as mentioned on the wikihttp://www.omappedia.org/wiki/PandaBoard_Ubuntu_Pre-built_Binaries_Guide
> Including the  ubuntu-omap4-extras package.
>
> And after that I upgraded to the trunk version as described herehttp://omappedia.org/wiki/Ubuntu_OMAP_trunk

Han Hartgers

unread,
Apr 16, 2011, 11:42:44 AM4/16/11
to panda...@googlegroups.com, Jon Doe
On Sat, Apr 16, 2011 at 1:11 AM, Jon Doe <ffpl...@gmail.com> wrote:
Hi,

xgles1test1 and xgles2test1 works better for me also, but I don't see
much change in desktop apps. Firefox scrolling is still quite jerky
and dragging windows around still paint a white refresh tail. Did you
make any other changes except soft linking linking libOpenVG.so,
libGLES_CM.so and libGLESv2.so?


No  this is the only thing I did. (I also had to re-link libOpenVGU.so)

And now are also all demo programs (see https://wiki.ubuntu.com/ARM/OMAP/Graphics and get http://neuvoo.org/neuvoo/distfiles/SGX-3.01.00.07-SDK.tar.gz)
working. (Except one OGLESCamelonMan, so maybe there is still something  wrong....)

Xubuntu (the xcfe window manager) is also faster / more comfortable to work with compared with the normal gnome based window manager.

But still the performance disappoints me when I compare it with a beagleboard.

Greetings,

Han

Rob Clark

unread,
Apr 16, 2011, 12:30:18 PM4/16/11
to panda...@googlegroups.com, Han Hartgers, Jon Doe
On Sat, Apr 16, 2011 at 10:42 AM, Han Hartgers <han.ha...@gmail.com> wrote:
>
>
> On Sat, Apr 16, 2011 at 1:11 AM, Jon Doe <ffpl...@gmail.com> wrote:
>>
>> Hi,
>>
>> xgles1test1 and xgles2test1 works better for me also, but I don't see
>> much change in desktop apps. Firefox scrolling is still quite jerky
>> and dragging windows around still paint a white refresh tail. Did you
>> make any other changes except soft linking linking libOpenVG.so,
>> libGLES_CM.so and libGLESv2.so?
>>
>
> No  this is the only thing I did. (I also had to re-link libOpenVGU.so)
>
> And now are also all demo programs (see
> https://wiki.ubuntu.com/ARM/OMAP/Graphics and get
> http://neuvoo.org/neuvoo/distfiles/SGX-3.01.00.07-SDK.tar.gz)
> working. (Except one OGLESCamelonMan, so maybe there is still something
> wrong....)
>
> Xubuntu (the xcfe window manager) is also faster / more comfortable to work
> with compared with the normal gnome based window manager.

fwiw, metacity in compositing mode performs nicely, at least on the
newer 1.7 ddk (what is going into natty.. not sure if someone build
packages for maverick).. on 1.6 ddk it was quite unstable, but the
stability issues have been ironed out..

> But still the performance disappoints me when I compare it with a
> beagleboard.

the xorg driver in maverick was quite young, and had a lot of room for
improvement in terms of performance/functionality/stability.. there
has been a lot of work ongoing to improve performance (~10x),
stability is much improved, and some missing features like xrandr have
been implemented.. although I would guess that not all of this has
made it into packages in the PPA yet. But should real soon now..

BR,
-R

> Greetings,
>
> Han
>

Siarhei Siamashka

unread,
Apr 28, 2012, 6:42:15 PM4/28/12
to panda...@googlegroups.com, Ricardo Salveti, Jon Doe
Are these options documented somewhere? Also PixmapPoolSizeMB seems to
be missing from this list, but it is rather important if one wants to
avoid errors like "(EE) sgxAllocateDeviceMem: PVR2D_Ext_AllocExpMem
failed" and
X Error of failed request: BadAlloc (insufficient resources for operation)
Major opcode of failed request: 53 (X_CreatePixmap)
when trying to run any non-trivial X applications.

--
Best regards,
Siarhei Siamashka
Reply all
Reply to author
Forward
0 new messages