On 07/10/15 01:44, aTc wrote:
On 10/06/2015 10:56 PM, Grazvydas Ignotas wrote:
Hi,
For the general problem of slow X, we might be able to still use fbturbo on top of omapdrm's fb emulation. That was working at last year's gamescom, on TI's old 3.8 kernel.
I've done a bit of research on using glamor, and there's not a lot of info out there. Apart from a mention of "GLES2 port on PVR545 platform" on the glamor site, there weren't any details on what and how they were using it.
I did find a bit of info on using it on the rpi, where they seem to run it on top of xserver-xorg-video-modesetting (Driver "modesetting" in the xorg.conf), so I decided to give that a try. Glamor doesn't seem to work out of the box with the version in debian, but using the modesetting driver alone turned out to be a lot more usable then the omap one, without massive lag when dragging a window.
I've done a bit of benchmarking using the last few tests of x11perf ( x11perf -comppixwin500 -getimagexy500 -shmgetxy500 -shmputxy500 -putimagexy500 -deepcopyplane500 -copyplane500 -copypixpix500 -scroll500 )
Probably not that useful, but it does give a slightly more objective indication of the speed of the various drivers.
omap/modeset/turbo running on the 4.2 hns drm kernel, turbo4.3 on the normal 4.3-rc4
results are ops/sec 500x500 omap modeset turbo turbo4.3 Scroll 182.0 186.0 4110.0 4190.0 Copy Pixmap 115.0 4670.0 5020.0 4970.0 Copy 1bit 420.0 758.0 768.0 806.0 Copy nbit 30.9 310.0 257.0 260.0 PutImage 1.0 1.0 22.2 22.4 ShmPutImage 1.0 21.6 21.1 20.7 ShmGetImage 1.3 1.3 21.4 21.5 GetImage 1.3 1.3 19.9 20.3 Composite 165.0 1540.0 2060.0 2070.0
It's interesting that omap and modeset drivers has such different results. Well, the omap driver hasn't really been maintained for a long time, but still. I would presume things like "copy pixmap" is done in the same way with CPU. I think the results point to some kind of bug in the omap driver.
In any case, a generic (maintained) KMS driver sounds much better to me than the omap specific driver. The only additional thing the omap driver really offers is the support for rotation with TILER.
And, well, the omap driver also uses a HW plane for cursor, but that's not working very well. Then again, that's something that a generic KMS driver could also do (but doesn't, with a quick glance). Although with the legacy non-atomic-modesetting API, it will never work very well.
I just compiled modeset driver (0.9.0) for my buildroot setup, and unfortunately it crashes when I start a window manager =(. You didn't see any issues?
fbturbo seems to be fast, but as I said in the other mail, I presume it doesn't support any of the nice features offered by DRM. Someone should write modeset-turbo =). Well, probably only porting the NEON parts would be already enough.
Tomi