Re: Scratchbox apt-get update

2007-04-24 Thread Kalle Vahlman

2007/4/24, Leandro Melo de Sales [EMAIL PROTECTED]:

It seems that there is a error in the maemo armel repository since my
scratchbox installation can resolve repository.maemo.org, but can't
find Packages.gz due to the wrong URL **binary-arm** instand of
**binary-armel**. Please, let me know if I am wrong!


Ah, no. That's not the repository being wrong, it's your target that
is broken (most likely). Apt gets the architechture from dpkg, and
apparently it's reporting arm although it should be armel. You can
check this with dpkg-architecture.

So, it's a debian devkit problem, but as I don't know much about that,
I'm not sure about the cause...

--
Kalle Vahlman, [EMAIL PROTECTED]
Powered by http://movial.fi
Interesting stuff at http://syslog.movial.fi
___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Re: N800 Video playback

2007-04-24 Thread Siarhei Siamashka
On Friday 20 April 2007 10:39, you wrote:

 The primary conversion we do isn't planar - packed (this is a fallback
 for when the video is obscured), but from planar to another custom
 planar format.  It would be good to get ARM assembly for the fallback
 path, but most of the problem when using packed lies in having to
 transfer the much larger amount of data over the bus.

It is only a problem of definition :) Whatever it is, packed or planar, this
YUV420 format is not YV12. So it still needs conversion which is 
performed by only reordering bytes and is not much different from 
packed YUY2 (except that it requires less space and bandwidth).

 There's one optimisation that could be done for the YUV420 conversion
 (the custom planar format that Hailstorm takes), which removes a branch,
 ensures 32-bit writes always (instead of one 32-bit and one 16-bit per
 pixel), and unrolls a loop by half.  Might be interesting to see what
 effect this has, but I think it'll still be rather small.

My main performance concern is exactly about this 'omapCopyPlanarDataYUV420'
function. My experience from Nokia 770 video output code optimization shows
that optimization effect can be really huge (it was 1.5x improvement on Nokia
770 for unscaled YV12 - YUY2 conversion going from a simple loop in C to
optimized assembly code, I provided a link to the relevant code in my previous
post). But N800 code can be probably improved more because now it contains
unnecessary branch in the inner loop and branches are expensive on long
pipeline CPUs. Such color format conversion performance should be
comparable to that of memcpy if done right (it is about half memcpy speed on
Nokia 770 for unscaled YV12 - YUY2 conversion).

But only benchmarks can be a real proof, any premature speculations are
useless and even harmful. Do you remember the times when nobody from 
Nokia believed that ARM core could be good for video decoding on 770? ;-)

Testing with Nokia_N800.avi video on N800:
#  mplayer -benchmark -quiet -noaspect Nokia_N800.avi

BENCHMARKs: VC:  29,525s VO:  15,029s A:   0,453s Sys:  59,919s =  104,925s
BENCHMARK%: VC: 28,1390% VO: 14,3232% A:  0,4313% Sys: 57,1065% = 100,%
BENCHMARKn: disp: 2511 (23,93 fps)  drop: 0 (0%)  total: 2511 (23,93 fps)

Enabling direct rendering (avoids extra memcpy in mplayer, but requires to
disable OSD menu):
#  mplayer -benchmark -quiet -noaspect -dr -nomenu Nokia_N800.avi

BENCHMARKs: VC:  29,826s VO:  12,365s A:   0,437s Sys:  60,555s =  103,182s
BENCHMARK%: VC: 28,9058% VO: 11,9833% A:  0,4236% Sys: 58,6873% = 100,%
BENCHMARKn: disp: 2504 (24,27 fps)  drop: 0 (0%)  total: 2504 (24,27 fps)

Testing the same video on Nokia 770:
#  mplayer -benchmark -quiet -noaspect Nokia_N800.avi

BENCHMARKs: VC:  44,982s VO:   7,998s A:   0,884s Sys:  47,936s =  101,801s
BENCHMARK%: VC: 44,1862% VO:  7,8568% A:  0,8688% Sys: 47,0882% = 100,%
BENCHMARKn: disp: 2502 (24,58 fps)  drop: 0 (0%)  total: 2502 (24,58 fps)


So Nokia 770, having slower CPU, slower memory and using less efficient 
output format (16bpp vs. 12bpp), still requires less time for video output
than N800 (7,998s vs. 12,365s). Graphics bus performance is unrelated here 
as it is asynchronous operation and it is fast enough. Surely N800 also has
some extra overhead because of interprocess communication with xserver, but
looks like YV12 - YUV420 conversion is quite a bottleneck here too.

It should be noted that while Nokia_N800.avi video has low resolution and 
N800 has no problems decoding and displaying it, our goal is higher resolution 
videos such as 640x480. Getting to higher resolutions will increase color
format conversion overhead. As it can be seen from these benchmarks, video
output on N800 takes quite a significant time when compared with time needed
for decoding (29,826s for decoding, 12,365s for video output).

I can make an assembly optimized code for YV12 - YUV420 conversion. Is there
any chance that such optimization could be also integrated into xserver in one
of the next firmware updates if it really provides a significant performance
improvement?

N800 is almost able to play VGA resolution videos properly, it only needs a
bit more optimizations. Color format conversion performance for video output
is one of the important things that can be improved.

  So for any performance optimizations experiments which result in
  immediate video performance improvement, either direct framebuffer access
  should be used again or it would be very nice if xserver could provide
  direct access to framebuffer (video planes) in yuy2 and that custom
  yuv420 format in one of the next firmware updates. The xserver itself
  should not do any excess memory copy operations as they degrade
  performance (and it does such copy for yuy2 at least).

 'Direct framebuffer access'?  As in, just hand you a pointer to a
 framebuffer somewhere and let you write straight to it?  As this would
 require a firmware update anyway, I don't really see how 

Re: Xterm display issue

2007-04-24 Thread Eero Tamminen
Hi,

ext maldar mateen wrote:
 Yesterday i installed osso-xterm . I installed it successfully..
 when i try to lauch it from the Extras Menu. It says loading xterm and 
 after a second the screen goes off (exits the xterm) with the following error 
 at the console.
 
 maemo_af_desktop[4647]: We could not read lowmem page
 stats.
 execl: No such file or directory
 execl: No such file or directory

$ man execl
...
  execl, execlp, execle, execv, execvp - execute a file
...

Something (task navigator? D-BUS?) tries to execute something (xterm?),
but it doesn't exist where specified or is not executable.


 this error is for the following reason i suppose 
 
 error is triggered by the hildon code (hn-wm-memory.c)
 trying to open lowmem_allowed_pages and lowmem_used_pages in
 /proc/sys/vm, which are not there.

This should not be not serious, AFAIK all allocs / app launching
are allowed if these proc files are not found.


 i don't know wht exactly is missing in the xterm to launch it proerly..
 
 if anyone has better solution or faced the same kind of issue plz let me know.

Check what the .desktop file states and check whether you can run
the specified executable directly.  Or if there's a dbus service
specified instead, whether it exists in the D-BUS services and
can be executed.


- Eero
___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Re: Instructions cache flush on ARM

2007-04-24 Thread Eero Tamminen
Hi,

ext Siarhei Siamashka wrote:
 You are right. gcc has function
 void __clear_cache (char *BEG, char *END)
 which should be more portable.
 It should, but it still has the problem of emitting an OABI syscall
 due to our old gcc.

 You could use syscall(2) and __ARM_NR_cacheflush instead.
 
 Yes, but __clear_cache(char *BEG, char *END)  works fine with the 
 current combination of gcc and kernel in maemo. So I guess it's the best 
 option if portability is desired.
 
 If you decide to drop support for old ABI from kernel without upgrading
 gcc, that would be a bug in maemo platform :-)
 
 By the way, do you have any plans for upgrading toolchain? Either I'm
 extremely unlucky, or current toolchain is really very buggy.

You can see the known issues from the GCC bugzilla.
There are a few bugs in C++ support which have been fixed
in gcc 3.4.6 (Maemo toolchain is 3.4.4) or 4.x.


 It does not support -pg option properly (for profiling with gprof),

Hm.  The toolchain might not be built with -pg support.
As to using gprof, that produces fairly unreliable results.
I'd recommend building Oprofile kernel and latest oprofile
user-space tools.


 also I encountered at least one internal compiler error and a couple of
 invalid code generation bugs already.

C++ code generation?  Or C? (GCC bugzilla mentions only C++
code generation issues)

ICE you can get around by trying another optimization level
(sometimes -Os or -O3 works where -O2 doesn't).


 One more question is about the kernel, ARM11 seems to support unaligned 
 memory access in hardware, but this feature is not enabled on N800.

What the seems, to support and feature enabled mean in
the above clause?  Seems how?  And what is result? Enabled what?

ARM CPU is able to trap them?  Kernel could SIGBUS the co. processes?
(as unaligned access has AFAIK undefined results on ARM, is often
coding error and fixing those accesses on kernel side has definitive
performance penalty)


 Is it done for consistency with Nokia 770?


- Eero

___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Re: How to Run the Cosole based Application in Maemo

2007-04-24 Thread pancake
following the thread...would be cool to implement a dbus service for the
osso-xterm to emulate the '-e' flag of the rest of the xterms (or just
implement -e).

--pancake

 chetan nanda wrote:
 I am new to this platform and i have done some thread programming and
 socket programming and now i want to run that on maemo. so how can i run
 it ...

 Install xterm-osso and some kind of ssh, e.g. dropbear. Then you can scp
   your application to the device (you don't need a .deb file) and
 execute it inside a xterm.


___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Re: N800 Video playback

2007-04-24 Thread Daniel Stone
On Tue, Apr 24, 2007 at 09:46:52AM +0300, ext Siarhei Siamashka wrote:
 On Friday 20 April 2007 10:39, you wrote:
  There's one optimisation that could be done for the YUV420 conversion
  (the custom planar format that Hailstorm takes), which removes a branch,
  ensures 32-bit writes always (instead of one 32-bit and one 16-bit per
  pixel), and unrolls a loop by half.  Might be interesting to see what
  effect this has, but I think it'll still be rather small.
 
 My main performance concern is exactly about this 'omapCopyPlanarDataYUV420'
 function. My experience from Nokia 770 video output code optimization shows
 that optimization effect can be really huge (it was 1.5x improvement on Nokia
 770 for unscaled YV12 - YUY2 conversion going from a simple loop in C to
 optimized assembly code, I provided a link to the relevant code in my previous
 post). But N800 code can be probably improved more because now it contains
 unnecessary branch in the inner loop and branches are expensive on long
 pipeline CPUs. Such color format conversion performance should be
 comparable to that of memcpy if done right (it is about half memcpy speed on
 Nokia 770 for unscaled YV12 - YUY2 conversion).

Right, the branch is a problem, and as I said, the branch can be avoided
and the writes optimised to be three 32-bit writes for two macroblocks,
instead of two 32-bit writes and two 16-bit writes.

However, I don't think the lessons from the 770 are necessarily
_directly_ applicable to the N800: on the 770, our bottleneck is
decoding speed.  The bottleneck on the N800 is exactly the opposite:
video output.

 But only benchmarks can be a real proof, any premature speculations are
 useless and even harmful. Do you remember the times when nobody from 
 Nokia believed that ARM core could be good for video decoding on 770? ;-)

Actually, I don't, since I've always mainly worked on the N800. ;)  But
still, if there's dedicated hardware we can use to remove load from the
ARM and let it get on with tasks, and it can perform to an adequate
level, there's no reason to avoid it.

 So Nokia 770, having slower CPU, slower memory and using less efficient 
 output format (16bpp vs. 12bpp), still requires less time for video output
 than N800 (7,998s vs. 12,365s). Graphics bus performance is unrelated here 
 as it is asynchronous operation and it is fast enough. Surely N800 also has
 some extra overhead because of interprocess communication with xserver, but
 looks like YV12 - YUV420 conversion is quite a bottleneck here too.

Bear in mind that, unless you explicitly disable it (the Xv attribute is
something like XV_OMAP_VSYNC), the X server _will_ flush all pending
writes before the next frame is put through.  Else you get tearing,
because you can be halfway through an update, and writing the next frame
to the framebuffer, so which frame is being picked up, changes halfway
through.

Try forcing XV_OMAP_VSYNC (or whatever it is) to 0, and comparing the
results.

 I can make an assembly optimized code for YV12 - YUV420 conversion. Is there
 any chance that such optimization could be also integrated into xserver in one
 of the next firmware updates if it really provides a significant performance
 improvement?

Yeah, if there's measurable benefit, I'll include it.

 N800 is almost able to play VGA resolution videos properly, it only needs a
 bit more optimizations. Color format conversion performance for video output
 is one of the important things that can be improved.

I don't believe it's on the critical path.  The optimisation I mentioned
before will bring us up to the point where any improvement that we can
make in that conversion will be eclipsed by the time taken to send it
over the bus, I believe.  But I can't prove that.

  Which Epson docs?
 
 The one mentioned by Frantisek. Well, it was just a comment 
 for 'omapCopyPlanarDataYUV420' function wrong and misleading, 
 nevermind :-) Now everything is clear.

Hmm, is it?  Because, unless I was _really_ tired at the time I wrote it
(which is entirely possible), that's what the code does, and it works,
so ...

Cheers,
Daniel


signature.asc
Description: Digital signature
___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


how to make install package for applications written in python

2007-04-24 Thread Xi Chen
Hi,

 

Could tell me how to make debian package for python applications? I
developed my application using python and not in scratchbox environment.
directly edit file and test it in real device. Following the tutorial from
maemo.org, I found command dh_make isn't there in device.

 

Thanks in adv.

 

Xi 

 

___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


RE: how to make install package for applications written in python

2007-04-24 Thread Karoliina.T.Salminen
Hello,
 





From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of ext Xi Chen
Sent: 24 April, 2007 13:11
To: maemo-developers@maemo.org
Subject: how to make install package for applications written in
python



Hi,

 

Could tell me how to make debian package for python
applications? I developed my application using python and not in
scratchbox environment... directly edit file and test it in real device.
Following the tutorial from maemo.org, I found command dh_make isn't
there in device... 

 

Are you editing the file directly on the device then?

I think you can create the package on your Linux machine as it does not
include executable binary files, to my understanding it does not require
scratchbox, so I think you can run the dh_make on your PC without
scratchbox.

 

From current sources, you could take some configuration package (which
does not include executable binary files) as an example and

do the same thing in your package.

 

Best Wishes,

Karoliina

http://www.karoliinasalminen.com/blog

 

 

Thanks in adv.

 

Xi 

 

___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Need a help --- osso-xterm running problem in scratchbox

2007-04-24 Thread chetan nanda
Hi,

This is chetan.I am new to the maemo and i have developed one console based 
programs of simple threads its works fine in linux and now i want to run same 
program in maemo. So  i have installed osso-xterm package in scratchbox and got 
the X terminal option in maemo's Extras menu.

Now whenever i click that  x terminal option .  its lauches the x terminal and 
within a fraction it disappears. and the foolowing error shows on the screen.

maemo_af_desktop[4647]: We could not read lowmem page
stats.
execl: No such file or directory
execl: No such file or directory

I searched everywhere and try all possible solution but still i am not able to 
sort out this problem.

so can anyone  help me to sort out this problem

chetan
   
-
 Check out what you're missing if you're not on Yahoo! Messenger ___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


problems with wxWidgets installation

2007-04-24 Thread Daniil Ivanov

Hello!

I'm trying to build an application, which uses wxWidgets.
I have certain problems with proper installation
of wxWidgets (N800):
http://maemo.org/maemowiki/LibraryCatalog#head-a
it says they must be in /usr/lib
however the wx-config is the symlink to /usr/local/lib/..
If I install everything into /usr/local/ wxrc fails with code 1.

Thanks, Daniil.
___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Re: problems with wxWidgets installation

2007-04-24 Thread Daniil Ivanov

Hello,

 And if everything is in /usr/lib and /usr/bin with manually corrected
 symlink, a configure script is unable to find headers for XRC.
 wxrc still fails with code 1.

Thanks, Daniil.

On 24/04/07, Daniil Ivanov [EMAIL PROTECTED] wrote:

Hello!

 I'm trying to build an application, which uses wxWidgets.
 I have certain problems with proper installation
 of wxWidgets (N800):
 http://maemo.org/maemowiki/LibraryCatalog#head-a
 it says they must be in /usr/lib
 however the wx-config is the symlink to /usr/local/lib/..
 If I install everything into /usr/local/ wxrc fails with code 1.

Thanks, Daniil.


___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Re: Instructions cache flush on ARM (was: N800 Video playback)

2007-04-24 Thread Guillem Jover
On Mon, 2007-04-23 at 21:09:26 +0300, ext Siarhei Siamashka wrote:
 On Monday 23 April 2007 16:49, Guillem Jover wrote:
   You are right. gcc has function
   void __clear_cache (char *BEG, char *END)
   which should be more portable.
 
  It should, but it still has the problem of emitting an OABI syscall
  due to our old gcc.
 
  You could use syscall(2) and __ARM_NR_cacheflush instead.
 
 Yes, but __clear_cache(char *BEG, char *END)  works fine with the 
 current combination of gcc and kernel in maemo. So I guess it's the best 
 option if portability is desired.

That it works fine now does not mean it's the correct solution. Also I
disagree on the premise that it's more portable, both solutions are
quite non-portable, either you'll have to check if that function is
present in autoconf or similar, or you'll have to check for the presence
of the syscall NR on arm.

 If you decide to drop support for old ABI from kernel without upgrading
 gcc, that would be a bug in maemo platform :-)

No, because as this is coming from gcc it gets embedded in the actual
object, so it would need a recompilation, I wouldn't say that's a bug
in maemo, you have hardcoded OABI calls in your object files.

Also that makes it more difficult for people to flash their own new
kernel.

regards,
guillem
___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Re: how to make install package for applications written in python

2007-04-24 Thread Ian
Ola,
 Could tell me how to make debian package for python applications? I
 developed my application using python and not in scratchbox environment. 
 directly edit file and
 test it in real device. Following the tutorial from maemo.org, I found 
 command dh_make isn't
 there in device.

did you mean this? :
http://maemo.org/platform/docs/pymaemo/python_maemo_howto.html

You need to write a Makefile to act as an interface between the Debian package 
system and your
setup.py
[]'s
Ian


-- 

.''`.
   : :'  :
   `. `'`
 `- Orgulhoso ser MetaRecicleiro

http://ianlawrence.info
http://manaus.metareciclagem.org/

Jabber: [EMAIL PROTECTED]

___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Re: libcairo 1.4.4 and poppler 0.5.4 available

2007-04-24 Thread Daniel Amelang

On 4/23/07, Eduardo Lima [EMAIL PROTECTED] wrote:

Hi all,

The packages for libcairo[1] and poppler[2] are available in the
extras repository for both OS2007 (bora) and and OS2006 (gregale). If
you find any bugs, please mail me. More to come soon. :)


This is great news! It's nice to see cairo become a first-class
citizen of Maemo. This will definitely open up some new possibilities
for application developers. A cairo-based hildon theme would be fun,
too.


Best regards, Etrunko.

[1] http://cairro.freedesktop.org
[2] http://poppler.freedesktop.org


That's http://cairo.freedesktop.org, not 'cairro', obviously.
http://cairographics.org works too.

Dan
___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Re: libcairo 1.4.4 and poppler 0.5.4 available

2007-04-24 Thread Eduardo Lima

On 4/24/07, Daniel Amelang [EMAIL PROTECTED] wrote:


 [1] http://cairro.freedesktop.org
 [2] http://poppler.freedesktop.org

That's http://cairo.freedesktop.org, not 'cairro', obviously.
http://cairographics.org works too.

Dan



Indeed. Thanks for the correct link. :)

--
Eduardo de Barros Lima
INdT - Instituto Nokia de Tecnologia
[EMAIL PROTECTED]
___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers