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 04 Dec 2009 03:53:05 PM UTC  
 
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 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>
Project Member
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>
Project Member
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>
Project 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>
Project Member
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>
Project Member
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>
Project Member
Wed 16 Dec 2009 06:42:16 PM UTC, 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>
Project Member
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>
Project Member
Fri 04 Dec 2009 03:53:05 PM UTC, 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 14 Jul 2013 01:28:16 PM UTCsamgeeSeverity5 - Blocker=>4 - Important
      StatusIn Progress=>Confirmed
      Assigned todjbclark=>None
    Fri 18 Mar 2011 09:35:54 PM UTCromanrmCarbon-Copy-=>Added romanrm
    Wed 17 Nov 2010 05:53:34 PM UTCdjbclarkCarbon-Copy-=>Added -unavailable-
    Wed 17 Nov 2010 05:52:25 PM UTCdjbclarkCarbon-Copy-=>Added -unavailable-
    Wed 17 Nov 2010 05:52:02 PM UTCdjbclarkCarbon-Copy-=>Added -unavailable-
    Wed 17 Nov 2010 05:46:04 PM UTCdjbclarkCarbon-Copy-=>Added -unavailable-
      Carbon-Copy-=>Added -unavailable-
      Carbon-Copy-=>Added -unavailable-
    Thu 17 Jun 2010 11:03:54 PM UTCBeucAttached File-=>Added base_fps.c, #20772
    Wed 13 Jan 2010 07:33:17 PM UTCdjbclarkDependencies-=>Depends on bugs #28594
    Wed 13 Jan 2010 07:24:03 PM UTCdjbclarkStatusNone=>In Progress
      Assigned toNone=>djbclark
      Carbon-Copy-=>Added -unavailable-
    Mon 14 Dec 2009 06:13:11 PM UTCdjbclarkCarbon-Copy-=>Added djbclark
    Sat 12 Dec 2009 08:37:02 PM UTCrobertmhSeverity3 - Normal=>5 - Blocker
    Sun 06 Dec 2009 01:28:31 AM UTCkgoetzSummary[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