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

 
 

You are not allowed to post comments on this tracker with your current authentification level.

bug #28169: X11 is too slow

Submitted by:  Robert Millan <robertmh>
Submitted on:  Fri Dec 4 15:53:05 2009  
 
Category: gNewSense 3Severity: 4 - Important
Item Group: mipselStatus: Confirmed
Privacy: PublicAssigned to: None
Open/Closed: Open

(Jump to the original submission Jump to the original submission)

Sun Jul 1 20:51:38 2012, 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 May 24 19:45:45 2012, 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 May 21 04:44:03 2012, 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 May 21 04:16:58 2012, 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 May 20 23:49:07 2012, 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 Nov 17 17:57:07 2010, 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 Nov 17 17:56:01 2010, 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 Nov 14 15:02:58 2010, 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>
Project Administrator
Sun Aug 22 08:26:05 2010, 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 Jun 18 15:34:32 2010, 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 Jun 18 07:21:09 2010, 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 Jun 18 01:48:55 2010, 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 Jun 17 23:03:55 2010, 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 Jan 13 19:24:03 2010, 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 Dec 16 18:42:16 2009, comment #2:

bernie is starting work on this today.

Some possibly useful threads to look at:

http://groups.google.com/group/loongson-dev/browse_thread/thread/e44bc9216b2e324e?pli=1

http://cinnamonpirate.com/2009/02/blame-sparse-updates-on-yeeloong-repo/

Danny Clark <djbclark>
Mon Dec 14 18:30:30 2009, 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 Dec 4 15:53:05 2009, original submission:

Possible solution: backport xserver-xorg-video-siliconmotion

Robert Millan <robertmh>

 

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
  • -unavailable- added by romanrm (Posted a comment)
  • -unavailable- added by mattst88 (Posted a comment)
  • -unavailable- added by romanrm
  • -unavailable- added by djbclark (Adding you as you have expressed interest in this bug in other forums.)
  • -unavailable- added by djbclark (Adding you as you have expressed interest in this bug in other forums.)
  • -unavailable- added by djbclark (Adding you as you have expressed interest in this bug in other forums.)
  • -unavailable- added by djbclark (Adding you as you have expressed interest in this bug in other forums.)
  • -unavailable- added by djbclark (Adding you as you have expressed interest in this bug in other forums.)
  • -unavailable- added by djbclark (Adding you as you have expressed interest in this bug in other forums.)
  • -unavailable- added by samgee (Posted a comment)
  • -unavailable- added by graziano (Posted a comment)
  • -unavailable- added by Beuc (Updated the item)
  • -unavailable- added by djbclark
  • -unavailable- added by djbclark (Posted a comment)
  • -unavailable- added by djbclark
  • -unavailable- added by robertmh (Submitted the item)
  •  

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 20 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun Jul 14 13:28:16 2013samgeeSeverity5 - Blocker=>4 - Important
      StatusIn Progress=>Confirmed
      Assigned todjbclark=>None
    Fri Mar 18 21:35:54 2011romanrmCarbon-Copy-=>Added romanrm
    Wed Nov 17 17:53:34 2010djbclarkCarbon-Copy-=>Added -unavailable-
    Wed Nov 17 17:52:25 2010djbclarkCarbon-Copy-=>Added -unavailable-
    Wed Nov 17 17:52:02 2010djbclarkCarbon-Copy-=>Added -unavailable-
    Wed Nov 17 17:46:04 2010djbclarkCarbon-Copy-=>Added -unavailable-
      Carbon-Copy-=>Added -unavailable-
      Carbon-Copy-=>Added -unavailable-
    Thu Jun 17 23:03:54 2010BeucAttached File-=>Added base_fps.c, #20772
    Wed Jan 13 19:33:17 2010djbclarkDependencies-=>Depends on bugs #28594
    Wed Jan 13 19:24:03 2010djbclarkStatusNone=>In Progress
      Assigned toNone=>djbclark
      Carbon-Copy-=>Added -unavailable-
    Mon Dec 14 18:13:11 2009djbclarkCarbon-Copy-=>Added djbclark
    Sat Dec 12 20:37:02 2009robertmhSeverity3 - Normal=>5 - Blocker
    Sun Dec 6 01:28:31 2009kgoetzSummary[yeeloong] X11 is too slow=>X11 is too slow
      Item GroupNone=>mipsel
      CategoryNone=>gNewSense 3

    Back to the top


    Powered by Savane 3.1-cleanup