buggNewSense GNU/Linux - Bugs: bug #28169, X11 is too slow

 
 

bug #28169: X11 is too slow

Submitter:  Robert Millan <robertmh>
Submitted:  Fri 04 Dec 2009 03:53:05 PM UTC
   
 
Category:  gNewSense 3 Severity:  4 - Important
Item Group:  mipsel Status:  Confirmed
Privacy:  Public Assigned to:  None
Open/Closed:  Open
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Sun 01 Jul 2012 08:51:38 PM UTC, comment #16: 


> - Bilinear/nearest scaling compositing functions for pixman, which are really important for Firefox performance


Some important bilinear compositing functions are now committed upstream (src_8888_8888, over_8888_8888, and over_8888_8_8888).

See
http://cgit.freedesktop.org/pixman/commit/?id=9209cd746b7a81d0536df6dadd6a0b0b983291cb
http://cgit.freedesktop.org/pixman/commit/?id=c43de364cbcd195f7d1d6881a6109cbb3d6b73b8
http://cgit.freedesktop.org/pixman/commit/?id=1ad6ae6ee8a350f6fe4f30ba928aacf44d04f86e

Matt Turner <mattst88>
Thu 24 May 2012 07:45:45 PM UTC, comment #15: 


> Unfortunately Xorg developers plan to completely remove XAA soon, so any optimization work should perhaps concentrate on EXA.


I don't have any plans at all to work on this.

> Also there is some optimizations for pixman here (with patches):
> http://www.anheng.com.cn/loongson2f/wheezy/pixman/
>If you haven't already, maybe you should take a look to gather some ideas.


I have seen it. Unfortunately the code is so messy that it wasn't a suitable starting point.

Matt Turner <mattst88>
Mon 21 May 2012 04:44:03 AM UTC, comment #14: 

Also there is some optimizations for pixman here (with patches):
http://www.anheng.com.cn/loongson2f/wheezy/pixman/
If you haven't already, maybe you should take a look to gather some ideas.

Roman Mamedov <romanrm>
Mon 21 May 2012 04:16:58 AM UTC, comment #13: 


> - There may be some way to improve XAA performance that's regressed a lot in the last few years, but I don't know if this is doable


Unfortunately Xorg developers plan to completely remove XAA soon, so any optimization work should perhaps concentrate on EXA.

Roman Mamedov <romanrm>
Sun 20 May 2012 11:49:07 PM UTC, comment #12: 

I've optimized pixman quite a bit with Loongson's multimedia instructions, using the existing MMX code. See http://mattst88.com/blog/2012/05/17/Optimizing_pixman_for_Loongson:_Process_and_Results/

They're available in pixman-0.25.6 and will be in the pixman-0.26.0 stable release.

Further optimization work includes
 - Bilinear/nearest scaling compositing functions for pixman, which are really important for Firefox performance
 - Optimized xf86XVCopyPacked for Xv performance. Really, I think pixman should grow support for all these YUV-type formats, and the code in the X server should go away
 - There may be some way to improve XAA performance that's regressed a lot in the last few years, but I don't know if this is doable

Then, there's the work of simply getting the upstream X server working on the Yeeloong..

It would help me if someone could tell me what the differences are between the upstream 1.7.6 siliconmotion driver and the 2.2.8 version -- and why the changes in the 2.2.8 driver aren't upstream?

Matt Turner <mattst88>
Wed 17 Nov 2010 05:57:07 PM UTC, comment #11: 

Bernie - Does it look like you'll be able to spend any time on this bug, and if so any estimate as to when?

Danny Clark <djbclark>
Wed 17 Nov 2010 05:56:01 PM UTC, comment #10: 

Re: samgee's comment:

> mattst88 = Matt Turner (X.Org, Gentoo?)


Yes; added him to this bug cc: list. He is currently busy with school but thought he may able to spend time on this after Dec 15th. He has a yeeloong now (donated by my company).
 

> leio = Mart Raudsepp (Gentoo)


Yes, and X.org I believe. Also added him to cc: list. But he's been really busy with other stuff, and it looks like his role will most likely be limited to advisory on Xorg stuff (but he's the one who found Matt, so yay! :-).

Separably from this bug he's helping to get yeeloong / loongson2f / n32 ABI support into mainline Gentoo, and doc'ing that,  which from my POV is valuable not only for itself but because it will make it easier for Ututo to do a yeeloong port, thus giving the FSF a possible second software configuration that would be approvable for the resepects your freedom campaign.

Danny Clark <djbclark>
Sun 14 Nov 2010 03:02:58 PM UTC, comment #9: 

<djbclark> graziano: mattst88 (mainly) leio bernie currently have some interest in Xorg on yeeloong.

mattst88 = Matt Turner (X.Org, Gentoo?)
leio = Mart Raudsepp (Gentoo)

Sam Geeraerts <samgee>
Group administrator
Sun 22 Aug 2010 08:26:05 AM UTC, comment #8: 

For a long detailed page about this issue please look here:

http://gnu.org.ve/~octavio/lemote/doku.php?id=siliconmotiondriver

Graziano <graziano>
Fri 18 Jun 2010 03:34:32 PM UTC, comment #7: 

If it's the older stuff being faster is expected - there are several older versions of Xorg hacked specifically for the yeeloong that do have some optimizations, but (according to others) are too ugly / version-specific to get in mainline Xorg or be easily forward-ported to current Xorg.

There also hasn't been anyone with both the interest and skill to do either another round of ugly yeeloong-specific patches or the work nicely so far yet, as far as I am aware.

Danny Clark <djbclark>
Fri 18 Jun 2010 07:21:09 AM UTC, comment #6: 

(Bernie, remember to post on the tracker rather than by mail)

On Thu, Jun 17, 2010 at 10:02:10PM -0400, Bernie Innocenti wrote:

> On X11, SDL uses a combination of pixmaps, MIT-SHM (shared
> memory), XVideo (for video playback)
> and GLX (if the application uses OpenGL).
>
> So throughput should be entirely dependent on the X server
> and its video driver.


In this case the application uses basic SDL command, so it's MIT-SHM - basic memory copy to the video card buffer.
SDL uses the framebuffer if ran from a text console - I didn't try that.


The "default distro" I got was Debian-based with /etc/debian_version "lenny/sid" apparently installed in 2009-01, with a classic Gnome desktop and this background:
http://www.beuc.net/tmp/lemote/desktop.jpg

I kept a copy of the system before reinstalling it so here are some files:

Here's the /boot:
http://www.beuc.net/tmp/lemote/boot/

The xorg.conf:
http://www.beuc.net/tmp/lemote/xorg.conf

And the siliconmotion drivers:
http://www.beuc.net/tmp/lemote/usr-lib-xorg-modules-drivers/

Sylvain Beucler <Beuc>
Fri 18 Jun 2010 01:48:55 AM UTC, comment #5: 

I'm note sure what you mean by "Default Distro" - I've seen them come preloaded both with something called "Lemote Loonux" (really old linux, but somewhat optimized for the yeeloong), and a pretty stock Debian Squeeze install. It would be interested to try your SDL test with gNewSense, but running the version of Linux in the "Default Distro" - as I think SDL uses the framebuffer, which should mostly (or perhaps totally) be dependant on the Linux (Kernel) version.

Danny Clark <djbclark>
Thu 17 Jun 2010 11:03:55 PM UTC, comment #4: 

I'd like to note that the default distro was apparently much faster that gNewSense.

I attach a simple SDL test (install 'libsdl1.2-dev' to compile) that measures the number of time the 640x480 window can be forcefully entirely refreshed.

I got 70 FPS on the default disto and 15 FPS on gNewSense, with or without xserver-xorg-video-siliconmotion 2.2.8.
(and I get 300 FPS on a more traditional desktop with a radeon 9660)

What driver does the default distro use?

(file #20772)

Sylvain Beucler <Beuc>
Wed 13 Jan 2010 07:24:03 PM UTC, comment #3: 

bernie has made some progress on this, but says his changes aren't yet ready for anyone to look at yet. He may be able to work on this some from the 3-month OLPC XO / Sugar Labs deployment he's leaving for today in $third-world-country.

Danny Clark <djbclark>
Wed 16 Dec 2009 06:42:16 PM UTC, comment #2: 
Danny Clark <djbclark>
Mon 14 Dec 2009 06:30:30 PM UTC, comment #1: 

Here is a plan for people to comment on based on IRC conversations.

First, the problem statement:

(a) There are changes in the version of X in debian squeeze /  xserver-xorg-video-siliconmotion that fix a lot of problems / allow the accelerated graphics to work. People feel that this change is required for the yeeloong to be really usable.

(b) There are changes specific to lemote in the older version of xorg on the dev.lemote.com/debian repository that make xv work. xv is an X extention that makes video playback nicer by allowing a defined part of the screen to be used with a different color depth and type. This xv support should be forward ported to the X from debian squeeze using quilt, dpatch or simular to do the actual change in the source package). This change is nice to have, but lower priority than just having accelerated X graphics work.

Suggested steps towards a solution:

(a) Install Debian Squeeze on a yeeloong to verify that xserver-xorg-video-siliconmotion does in fact work well. Torture test in various ways (xperf, changing between X and VTs a lot, etc.)

(b) If (a) goes well, backport the squeeze packages to gnewsense metad, using the gentoo patches at (1) http://qurl.com/ztrlk (2) http://qurl.com/q1v63 (3) http://qurl.com/lzfhd to make it work under mipsel.

(c) Forward port xv patches to squeeze version of xorg packages in the most expediant way possible / include in .debs with quild / dpatch / whatever.

(d) Forward port xv patches to squeeze version of xorg packages in a way that is likely to be included by upstream xorg developers, and then work to do that.

Status:

djbclark and bernie working on (a) at the moment. Please coordinate in #gnewsense-dev or via this ticket if you can help.

Danny Clark <djbclark>
Fri 04 Dec 2009 03:53:05 PM UTC, original submission:  

Possible solution: backport xserver-xorg-video-siliconmotion

Robert Millan <robertmh>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #20772:  base_fps.c added by Beuc (772B - text/x-csrc)

 

Digest:
   bug dependencies.

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by romanrm (Posted a comment)
  • -email is unavailable- added by mattst88 (Posted a comment)
  • -email is unavailable- added by romanrm
  • -email is unavailable- added by djbclark (Adding you as you have expressed interest in this bug in other forums.)
  • -email is unavailable- added by djbclark (Adding you as you have expressed interest in this bug in other forums.)
  • -email is unavailable- added by djbclark (Adding you as you have expressed interest in this bug in other forums.)
  • -email is unavailable- added by djbclark (Adding you as you have expressed interest in this bug in other forums.)
  • -email is unavailable- added by djbclark (Adding you as you have expressed interest in this bug in other forums.)
  • -email is unavailable- added by djbclark (Adding you as you have expressed interest in this bug in other forums.)
  • -email is unavailable- added by samgee (Posted a comment)
  • -email is unavailable- added by graziano (Posted a comment)
  • -email is unavailable- added by Beuc (Updated the item)
  • -email is unavailable- added by djbclark
  • -email is unavailable- added by djbclark (Posted a comment)
  • -email is unavailable- added by djbclark
  • -email is unavailable- added by robertmh (Submitted the item)
  •  

    Follow 20 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-07-14 samgee Severity5 - Blocker 4 - Important
        StatusIn Progress Confirmed
        Assigned todjbclark None
    2011-03-18 romanrm Carbon-Copy- Added romanrm
    2010-11-17 djbclark Carbon-Copy- Added -email is unavailable-
    2010-11-17 djbclark Carbon-Copy- Added -email is unavailable-
    2010-11-17 djbclark Carbon-Copy- Added -email is unavailable-
    2010-11-17 djbclark Carbon-Copy- Added -email is unavailable-
        Carbon-Copy- Added -email is unavailable-
        Carbon-Copy- Added -email is unavailable-
    2010-06-17 Beuc Attached File- Added base_fps.c, #20772
    2010-01-13 djbclark Dependencies- Depends on bugs #28594
    2010-01-13 djbclark StatusNone In Progress
        Assigned toNone djbclark
        Carbon-Copy- Added -email is unavailable-
    2009-12-14 djbclark Carbon-Copy- Added djbclark
    2009-12-12 robertmh Severity3 - Normal 5 - Blocker
    2009-12-06 kgoetz CategoryNone gNewSense 3
        Item GroupNone mipsel
        Summary[yeeloong] X11 is too slow X11 is too slow

    Back to the top

    Powered by Savane 3.13-54b4.
    Corresponding source code