Re: Soft and hard float

2012-09-10 Thread Javier S. Pedro
On Sat, 08 Sep 2012 17:48:01 +0200, Marcin Mielniczuk wrote:
 Thanks,
 Is the lib Adobe-written or is it something public?

You cannot really write a generic soft-hardfp (without PLT trickery) 
bridge unless you plan to pre-specify the set of functions your hardfp 
binaries will call. 

Personally, I think that it would be easier for you to, instead of 
contaminating Fremantle with lots of Harmattan-ABI-compatible libraries, 
to just create a Harmattan chroot.

 How can we check whether an app is hardfp/softfp?

You'll find some pretty good explanations if you google a bit about 
readelf and hardfp/softfp.

Javier.

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


Re: Soft and hard float

2012-09-10 Thread Javier S. Pedro
2012/9/10 Marcin Mielniczuk marmis...@linux.pl:
 Hardfp seems to not be the problem. I checked two apps segfaulting on
 0x and 2 apps running ok.
 readelf -A gives the same output (attatched) for all of them

 The apps were: segfaulting MeegoQQ and AccuWeather (wxapp),
 working allegro and QToDo.

 What may cause the segfaults? filebox for N9 causes this kind of fault too.
 I'm using cssu testing (not thumb flavor)

Note that the dynamic loader will happily link two binaries using hard
and softfp. Therefore, problems of this nature will seemingly appear
randomly, depending on where and when an app does floating point
calls. It does not matter if you link hard with softfp if neither is
doing any function call containing floating point parameters / return
types. As soon as one such call is made, then things MAY go wrong, and
in ways you'd never expect.

As usual when you approach the undefined behavior area, whatever you
experience might be caused by this, or might be caused by the phase of
the moon (aka something entirely different, unrelated, and often
totally unexpected :) ).

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


Re: [Fremantle] Compositing is disabled in fullscreen

2010-09-09 Thread Javier S. Pedro
Luca Donaggio wrote:
 I know that compositing is disabled in fullscreen, as some 
composited
 widget (for example the fullscreen button in hildon-extras) are 
shown with
 a black background instead of a semi-transparent one.
 But I noticed one thing: if a hildon-banner appears in fullscreen 
when one
 of such widgets is on the screen, the window manager turns 
compositing on
 (the translucid background of the other widget is shown), just to 
turn it
 off when the banner disappears.
 
 Is there a way to trick the window manager to act the same for 
arbitrary
 widgets as for hildon-banners?
 

The window manager will keep compositing if it finds certain window 
types present when entering full screen mode. For example, the 
banner window, or a Hildon Animation Actor. Since you can easily 
create the latter (hildon_animation_actor_*), I would use that to keep 
the window manager from switching.

On the other side, you should check if you really need to keep 
compositing enabled if you're not using any window needing it. AFAIK, 
the fullscreen hildon-extras is not actually using composition but 
some other strategy.

Javier.


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


Re: Non-experimental QT versioning in Autobuilder (was: QT Packages, Repositories and PR1.2)

2010-05-24 Thread Javier S. Pedro
Attila Csipa wrote:

 A single #ifdef can break such a setup, and
 these things might not be apparent at first (as some of the changes
 involve property names and values, so might even compile with the wrong
 version, but will simply not work as desired - the most common case
 exhibiting this problem IMO being finger scrolling, for example).

You mean a #define being X in 4.5 and Y in 4.6, with X != Y? This is probably
the cause for the missing guarantees in current Maemo Qt versions ABI
compatibility.

As for runtime stuff (for ex. a flag that does nothing in 4.5 but is
implemented in 4.6) packager would need to add forced depedencies on 4.6 if
he does not want 4.5 users to install the package (much like the current
problem I have with certain hildon-desktop atoms only implemented in
PR1.1/PR1.2 but the package being marked as PR1.0 compatible
by autobuilder -- because of course atom names are not symbols).

Javier.

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


Non-experimental QT versioning in Autobuilder (was: QT Packages, Repositories and PR1.2)

2010-05-23 Thread Javier S. Pedro
Attila Csipa wrote:

 In theory you just depend on the proper version of libqt4-dev, but it's
 tricky as you might indirectly reference libs that are also newer in the
 SDK/new PR so end up with a 4.6 dependency (or broken build)

Seems that we need to follow on this, as it is clearly desirable that
developers could make use of Qt 4.5 on Extras packages _now_.
(And Qt 4.6 if we ever update again the autobuilder to 4.7;
not that I am saying we should).

Basically, these are the problems I've heard that happen when targeting
libqt4-dev and submitting to the autobuilder:
1. Even though your application does not use Qt 4.6 API, autobuilder
creates a dependency to Qt 4.6 instead of Qt 4.5. A possible explanation
is that some macros, templates, MOC, etc. when using QT 4.6 headers expand
to Qt 4.6 newly introduced symbols thus causing the final binary to have
dependencies to Qt 4.6 libs.
2. There's at least one package that uses only 4.5 functions save for one
single network-related function which comes from 4.6. Thus the final
dependencies are detected as: libqt4-core = 4.5, libqt4-gui = 4.5, ... 
libqt4-network = _4.6_ . This could cause potential problems with certain 
very Maemo specific ;) package manager's algorithms.
3. Qt Desktop guarantees that an application built under Qt 4.5 headers
is binary compatible with Qt 4.6 libs. I'd like to know if we can guarantee
that an application built under Qt 4.6 headers but using no Qt 4.5 introduced
APIs would work under Qt 4.5 libs.

If we can find fixes for all the above problems, we could use the same system
we currently use for versioning Gtk+ packages dependencies for Qt applications
(aka squeeze devkit .symbols files). 
Problem 2 at least seems to have a relatively easy workaround.

Comments? Extra problems? WORKSFORME? Rants? Everything welcome.

Javier.

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


Re: Howto grab all Maemo5 zoom key events in SDL/SDL_gles app?

2010-05-04 Thread Javier S. Pedro
Frantisek Dufka wrote:
 I am not sure why there are three X windows in info.info.x11 structure
 (fswindow, wmwindow and window). From brief look into SDL sources it
 seems to me like the 'window' is  used when SDL is initialized with not
 owned pre-created window passed to SDL via SDL_WINDOWID variable,
 otherwise wmwindow and fswindow are used depending of full screen state.
 In case you are not using SDL_WINDOWID maybe setting wmwindow and
 fswindow would help you with volume keys?

WMwindow and FSwindow are containers for window (aka gfxwindow) which is
the one where images are pushed into. On the Fremantle SDL, WMwindow and
FSwindow are alternatively mapped when changing from windowed to fullscreen
mode and viceversa -- on a normal SDL, WMwindow is always mapped.

Also, 
gfxdisplay - window (gfxwindow)
display - wmwindow,fswindow

Else you will get permission errors when you start trying to do more
complicated things.

-- 
Javier

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


Re: Garage project takeover

2010-04-28 Thread Javier S. Pedro
Sorry for bumping this again, but...

Niels Breet wrote:
 The project is completely empty and doesn't seem to be used since it has
 been created on 2007-12-08.
 
 I can set you as admin for that project as you seem to be a lot more
 active than the current admin.
 
 I'd like to get an OK from the council so we all agree on this. If there
 had been data in the project it was a more difficult decision, but now
 it seems completely empty.

Two months have passed -- time for takeover? If the original admin comes 
back, I'll give him the project. It's not like I am 100% active either.

-- 
Javier

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


Re: Squeeze devkit to be installed to autobuilder

2010-04-28 Thread Javier S. Pedro
Niels can confirm that it is in fact one of my primary directives ;) to
allow for all stuff we deploy on the autobuilder to be replicated on
local SDK setups (including official and SDK+).

In fact my initial post (last paragraph) included instructions for
Scratchbox 1 setups (not step by step, though).

Marcin Juszkiewicz wrote:
 1. Setup
 2. FREMANTLE_ARMEL
 3. cs2007q3-glibc2.5-arm7
 4. debian-squeeze
 5. none (as CPU-transparency method)
 6. do not extract rootstrap
 7. installed default set of files to target

You should configure the _ARMEL target this way:
Compiler: cs2007q3-glibc2.5-arm7
Devkits: perl doctools git qemu svn debian-squeeze
CPU-transparency: /scratchbox/devkits/qemu/bin/qemu-arm-sb
(do not extract rootstrap; no need to install files)

Also, inside the target, you need to install:
maemo-sdk-symbols, dh-make, cdbs, and quilt 
(if you used them; you most probably did).

-- 
Javier

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


Re: Squeeze devkit to be installed to autobuilder

2010-04-16 Thread Javier S. Pedro
Aniello Del Sorbo wrote:

 Of all the updated only Mapper is not installable due to hildon1 =
 2.2.10 (and libpixman-1-0 = 0.15.16) dependencies...

Because it seems to be overloaded, I cannot fetch the package from the
repository atm; however, the package was built succesfully under the test 
autobuilder ([1]) with the more accurate libhildon1 (= 2.2.0-1~rc8+0m5)
dependency (~PR1.0).

I have also rebuilt it in my local machine with same results.

So I guess it's a temporary problem...

[1] 
https://garage.maemo.org/builder/.fremantletest/maemo-mapper_3.0+beta4/results/

-- 
Javier

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


Re: Squeeze devkit to be installed to autobuilder

2010-04-15 Thread Javier S. Pedro
Graham Cobb wrote:
 By the way, has the change been well tested? With real packages built
 with the modified SDK and installed on all existing firmware releases? 
 We don't want to do all this and discover it doesn't fix the problem.

We built quite a lot of packages [1], checked sanity of dependencies
and I also tested a few on my device (1.1.1). It fixes the problem. 
Feel free to test some of them :)

We expect most of the issues to appear in the building stage, and testing
seems to prove this.

[1] https://garage.maemo.org/builder/.fremantletest/__packages__/

-- 
Javier

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


Squeeze devkit to be installed to autobuilder

2010-04-14 Thread Javier S. Pedro

Hello all,

As part of the plan to fix the PR1.2 SDK dependency issues in the 
autobuilder [1], we plan to upgrade the Debian devkit in the Fremantle
autobuilder to the Squeeze version [2] (from the current etch one), and start
using improved shlibdeps [3] (a.k.a. .symbols files) to version
dependencies on a much more granular basis (minimal required version of
libraries will be calculated per symbol instead of per library). We plan to
ship .symbols files for most of the SDK libraries [4].

This means that packages built in the PR1.2 SDK using no PR1.2-introduced
functions will work on a PR1.1 device and even on a 1.0 device.

Unfortunately, this approach doesn't include Qt packages as there are more
problems to that, but we hope the Qt API to be more stable in future
releases.

Of course, upgrading to Squeeze _will_ cause compatibility problems to some
packages. We have been rebuilding many of them in a test environment [5, 6]
and analyzed the common issues -- in fact, we have talked to a few 
maintainers about those. If your package doesn't build when we move the
autobuilder to Squeeze and you don't know how to fix it, don't hesitate to
ask. We find that most of the compatibility problems are caused by stricter
checks, and that is always a Good Thing (TM).

If you want to swap your local SDK to squeeze, you have to
1. Install the squeeze devkit from [2] 
2. Replace debian-etch devkit with debian-squeeze in scratchbox target
3. Inside target, apt-get install maemo-sdk-symbols cdbs man-db dpatch

[1] http://wiki.maemo.org/Task:PR1.2_autobuilder
[2] 
http://scratchbox.org/debian/dists/stable/main/binary-i386/scratchbox-devkit-debian-squeeze_1.0.3_i386.deb
[3] http://wiki.debian.org/Projects/ImprovedDpkgShlibdeps
[4] http://maemo.org/packages/view/maemo-sdk-symbols/
[5] https://garage.maemo.org/builder/.fremantletest/
[6] https://garage.maemo.org/builder/.fremantletest/__packages__/

-- 
Javier

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


Re: PR1.2 SDK for Extras-devel: how to solve?

2010-04-07 Thread Javier S. Pedro
Andrew Flegg wrote:

 Hi,
 
 The number of issues being caused by the deployment of PR1.2 SDK to the
 fremantle autobuilder is becoming critical. It doesn't even matter when
 PR1.2 is released, as we should have a way of dealing with this in-place
 for the next upgrade.

I've copied the contents of your message to the wiki:
http://wiki.maemo.org/Task:PR1.2_autobuilder

I have also added some stuff about dpkg-shlibdeps that we have been discussing
on IRC a few minutes ago. 

Feel free to add any extra options or cons of existing ones.

-- 
Javier

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


GSoC2010 proposal: Gtk+ Input Method Plugin for the Harmattan Input Method Framework

2010-04-05 Thread Javier S. Pedro
After much deliberation, I've finally decided to present my GSoC proposal.

I've decided to develop mdamt's idea about a Gtk+ IM plugin for the 
Harmattan Qt based input framework. I think it's basically a _must_ for MeeGo,
I haven't seen much activity around it, and also feel that I'm now an
experienced person for this project, having played with the Hildon Input
Method framework quite a lot while doing SDL_him (an API to use HIM from SDL
1.2 apps).

You can see my full proposal here:
http://socghop.appspot.com/gsoc/student_proposal/show/google/gsoc2010/javispedro/t127051361417

I will be thankful for any comment, opinion, or rant you have about it. :)

-- 
Javier

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


Re: Howto configure borderless 4:3 tv-out on n900?

2010-03-23 Thread Javier S. Pedro
Till Harbaum / Lists wrote:

 The problem is the horizontal stretch. You can't write to
 /sys/devices/platform/omapdss/overlay2/input_size and by checking what
 the media player does i found out that it actually changes this to
 640x480 when playing a 4:3 video. Unfortunately the /sys interface
 doesn't allow to write these, so i'll have a look at the ioctls next.

Yes, the ioctls will allow you to change the fb size, thus implicitly
change the associated overlays' input_size. There's a nice cmd line 
utility (fbset) to do this (which is not packaged but I plan to do), 
and we've been toying with this for emus (see IRC).

Unfortunately, I doubt you can change the SGX framebuffer size without
restarting the SGX or crashing hildon-desktop at least. So this is 
limited to programs that have the extra framebuffer device in mind.

-- 
Javier

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


Re: promote libs in user/* cathegory

2010-03-23 Thread Javier S. Pedro
Till Harbaum / Lists wrote:
 although Javier already removed zeemote support
 from DrNokSnes to avoid this issue to have an influence on its
 promotion.

I did it because you asked me :) When you think it's ready,
(no hurries here) ping me and I'll reenable it.

-- 
Javier

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


Re: Howto configure borderless 4:3 tv-out on n900?

2010-03-19 Thread Javier S. Pedro
Attila Csipa wrote:

 Can you (or anyone with intimate knowledge) chip in with some comments
 of how playing with these can (not) affect the devices (or what gets
 attached to them) ? I would like to play with this a bit, but don't want
 to burn down my DDP N900 with some weird video sync setting (been bitten
 by some unrelated hardware happily setting parameters that burned the
 video out down :)

Curiously enough, this very Monday I discovered that we could use the dispc
for scaling (in emulators, etc) and have been doing tests for the entire
week. You can do weird things like cloning the fb0 (the fb where the sgx
renders) to multiple overlays while resizing one of them, and up so far
everything still works normally after reboot.

I wouldn't touch the lcd timings, and, as fanoush said, you can only
write pal or ntsc to the tv-out device timings field.


Now that the topic has been raised, I'd like to share what I've been
considering for usage of the dispc in 2d games:
- The system seems to use fb0 for sgx, and fb1 for xv surfaces.
- The system seems to use overlay0 as the base overlay, overlay1 for xv
apps: camera, media player (still have to check what happens when a 
single app has more than one xv surface, if that's even possible), and
overlay2 for resizing the tv output.
- Thus, when the system is not connected to tv-out, an app could 
potentially use some ioctls to initialize fb2, then use sysfs to connect it
to overlay2 and draw it scaled on the lcd (and also, much like xv, use a
special transparent color key on fb0).
When the system is connected to tv-out, this app could save overlay2
state and push his own settings when foregrounded, then restore the
previous ovly2 state when backgrounded.

It could even work :), or so I think.

-- 
Javier

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


Re: GSoC project - aGLESory

2010-03-19 Thread Javier S. Pedro
2010/3/19 Thomas Perl th.p...@gmail.com
 I *think* the idea behind aGLESory is to make it easier to start
 creating projects utilizing OpenGL ES for Maemo/MeeGo. Right now, if
 one was to use Xlib to create a Hello World-ish GL ES app, it would
 look like this:

 http://wiki.maemo.org/SimpleGL_example

 There's too much boilerplate code (setting up the X window, etc..)
 which makes it hard (or a copy'n'paste job) to start a new project
 utilitzing OpenGL ES.

Shameless promotion: SDL-gles, which removes quite a lot of the boilerplate
and doesn't require patches to the upstream SDL nor the maemo one. It's
already in -devel and in use by at least one game.

2010/3/19 Valerio Valerio wrote:
 These idea came from TMO, but I've already contacted the author. My
 understanding of the idea is a bit different, I think is basically a
 wrapper from OpenGL to OpenGL ES, in order to easily port OpenGL
 games/apps to Maemo.

I agree, the wording makes it sound that way.

-- 
Javier

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


Re: Garage project takeover

2010-02-25 Thread Javier S. Pedro
Graham Cobb wrote:
 I suggest a formal email from Niels, in the name of the council,
 notifying him that someone else wants to take over his project and that
 the council agrees.
 
 As the project is currently empty, and so nothing will be lost, I would
 give him 1 more week to respond to that email.

Note that I clicked Garage's be a maintainer link a few months ago, as 
any Garage admin would be able to tell (I guess ;P).

But I agree with the general idea -- the first email could get lost in some
spam filter. Garage has no ability to resend it, so I sent him an email
from my own mail address but he may be ignoring that (spambox account
 with aggressive filtering?).

Ideally, could we send him a mail from some official @maemo.org address?

-- 
Javier

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


Garage project takeover

2010-02-23 Thread Javier S. Pedro
Hello,

I am currently doing some maintainance work on DOSBox for Maemo (and
I am the author of the current package in -devel). In order to fulfill
the extras QA bugtracker requeriment and my own need for a VCS repo, 
I considered registering a new project in Garage, but found that the
project was already registered.

Quite a few months ago I contacted the maintainer, but he hasn't answered yet,
and the Garage interface won't let me spam him again until he accepts or 
declines the current request. So, a week ago, I sent him an email, with
still no reply. 

I could register a dosbox2 project, or just ignore Garage and go straight to
a b.m.o component and a gitorius project, but since the Garage project already
exists and is virtually empty, I'd like to know if there's any policy about 
takeover of empty/abandoned Garage projects by new maintainers, or to 
kickstart discussions about one if it does not exist yet.

DOSBox garage link: https://garage.maemo.org/projects/dosbox

-- 
Javier

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


Re: Problem on INotify

2010-02-12 Thread Javier S. Pedro
Torello Querci wrote:
 I'm trying to compile mono for MAEMO.
Thanks for the effort!

 Any suggestion is welcome.

I'd say try to guess what inotify is used for in Mono (my guess is 
some obscure part of System.IO), and if it's not really needed for building
a bootstrapping capable toolchain, then just write the required empty 
inotify stubs.

If that's not acceptable, you may also want to implement the syscall wrappers
yourself (see the glibc code).

If you patch sbox's glibc, distributing it will be a nightmare.

Javier.

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


Re: Problem on INotify

2010-02-11 Thread Javier S. Pedro
Torello Querci wrote:
 The source C code compile well on X86 and ARMEL target but on
 HOST environment get this error:
 
 undefined reference to `inotify_rm_watch'

Remember that HOST target doesn't use the host GNU C Library, but scratchbox's
own, which is rather outdated and most probably doesn't contain the inotify
syscalls.

I suggest you reconsider if you really need to create your own devkit. Most 
if not all software development for Maemo doesn't need custom devkits, and
they are not supported in the autobuilder.

If you _really_ need to create a devkit, you can patch scratchbox's glibc
but it's not going to be a quick job.

Javier

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


Re: Maemo5 SDK slow performance

2010-02-02 Thread Javier S. Pedro
Ville M. Vainio wrote:
 Yeah, Xephyr is using software rendering.

In fact I've assume since forever that Xephyr with the Mesa libraries as
shipped with the SDKs are just incapable of any indirect acceleration.
On the other side it seems to work for some people

I just use VMGl. A pain to install, but works flawlessly and fast (well,
save for the background blurry, which doesn't work due to missing extensions).

-- 
Javier

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


Re: Build Server Configuration

2010-01-27 Thread Javier S. Pedro
Marcin Juszkiewicz wrote: 
 Is there something needed other then rebuilding all lib packages to
 generate such informations? 

According to this [1], it seems so. Then again you could generate the 
first version automatically, but for subsequent versions we need some work
from the packager.

[1] http://wiki.debian.org/Projects/ImprovedDpkgShlibdeps

-- 
Javier

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


Where are the N900 too much time at 600Mhz safeguards?

2010-01-27 Thread Javier S. Pedro
When I got my N900, one of the first things I noticed is that (as measured by
powertop) I could never get a 100% ratio at 600 Mhz, but more like 95%. I 
quickly assumed this was the safeguard for the issue Igor Stoppa talked about
at the Maemo Summit.

However, I've noticed today (as suggested by a tmo post) that the above is not
caused by any special modification in the kernel, but rather because of the
CPU idling while waiting for the SGX / some other hw (so, testing methodology
failure on my part :) ).

Thus, given any task bounded by raw CPU throughput, the device will happily
clock itself at 600Mhz, even for hours. Doesn't that contradict what Igor said
at the summit?

-- 
Javier

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


Re: Build Server Configuration

2010-01-26 Thread Javier S. Pedro
Marcin Juszkiewicz wrote:debehlp
 Can you look at how Debian uses library symbols to handle versioned
 dependencies? Having this in autobuilder should solve this app require
 pr1.1 just because we upgraded sdk problems. Will probably also help to
 chinook/diablo packagers.

This is more a source packages issue than an autobuilder one. 
The autobuilder needs only updated debhelper; but all lib source
packages need package.symbols file with each symbol and version.

-- 
Javier

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


HildonRemoteTexture tearing/flicker

2010-01-12 Thread Javier S. Pedro
Hi all,

I am doing some experiments on using HildonRemoteTexture from a bare
X11/SDL app -- basically to get sgx accelerated scaling in apps that
wouldn't otherwise use the sgx for anything else. It works, but there
seems to be some race condition where the compositor is reading the
shared memory area _before_ I send the damage client event to the
remote texture X window. This of course cause visible tearing or even
flicker if the texture is drawn while (for example) the SNES emulator
is just in the middle of rendering any of the background layers, which
tends to happen often depending on CPU load / framerate.

Note I'm using HildonRemoteTexture instead of AnimationActor because I
need no rotation nor any of the actor features and using H-R-T is
slightly simpler -- no need to use any of the MIT-SHM functions. But I
have to wonder, seeing how the H-R-T API is falling behind if it is
going to be deprecated in the future.

Feel free to comment on whether this is a good approach or not, too.

Eero wrote:
 hildon-desktop automatically switches to composited mode when needed.

Hopefully this includes having a child animation actor / remote texture :)

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


Re: Bad Xephyr OpenGL performance

2009-12-08 Thread Javier S. Pedro
I opened a t.m.o thread asking a similar question a few days ago: 
http://talk.maemo.org/showthread.php?t=35790

I believe _no one_ is really getting accelerated GL in Xephyr+SDK. 
I'm not getting any acceleration (unless I use VMGL). No one I asked to in the 
Barcelona Long Weekend had accelerated GL in Xephyr+SDK either.

I'd say the shipped libGL is the mesa sw-only one. Though, someone in that tmo 
thread just said he has accelerated GL, so...  maybe only super-recent builds 
of Xephyr get indirect accelerated GLX? 


Btw, 1500fps in glxgears is hardly accelerated OpenGL these days, which only 
adds to my suspicions.
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: git push problem at git.maemo.org

2009-09-28 Thread Javier S. Pedro
 Please let me know if you experienced problems (except speed) when
 pushing code changes to git.maemo.org. Also please let me know if you
 read or heard about workarounds in case git (or actually curl) returns
 with error code 18 [2] following push.

Hi,

Since a few days, I've not been able to push to drnoksnes repo in git.m.o due 
to the that same error code 18.

Unfortunately, I don't remember doing anything special to break it, so I 
guess I can't help with debugging the issue.

Thanks for the work, though. :)
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Jazelle working (was: Java acceleration/Jazelle)

2009-07-14 Thread Javier S. Pedro
Hi everyone,

as Simon correctly deduced, mostly all that is missing from his
experiments is actually enabling Jazelle.

This can be done by setting the JE bit in the Jazelle Main Control
Register, aka:

mov r0, #1
mcr p14, 7, r0, c2, c0

This part is now fully documented in the ARM Architecture Manual. No
need to mess with the automated Japanese translation and its Java
Hypothetical Machine ;)

The other missing part to make Jazelle work is the register
assignment; up so far I've discovered that:
r0-r4: stack top cache.
r5: pointer to handlers table.
r5's lower 5 bits: some internal Jazelle status. might indicate which
registers are being used as stack top cache.
r6: stack pointer. grows downwards.
r14: before invoking bxj, this must contain pointer to first opcode
I've discovered this mostly by experimentation. As for the rest of
registers, I can only make wild guesses so far. As you can see, r0-r4
are used for stack and not only r0-r3 as previously said.

The BXJ instruction takes an argument which is the absolute address of
the instruction to branch to if, for any reason, Jazelle is not
enabled. So, again, as Simon deduced, BXJ acts like a plain BX if the
JE bit is not set. If JE is enabled, I'm yet to see what this
parameter is used for (I believe nothing at all).

The handlers table must contain 256 pointers to handler functions.
Each unhandled opcode will bx to the corresponding handler (1:1
mapping). Opcode 255 incredibly enough seems to be actually handled,
and just hangs indefinitely (gdb will say $pc is the one with 255
opcode and loop forever). The only handler I've written so far is for
the breakpoint opcode, which successfully halts the execution.

The breakpoint opcode has the nice added benefit that somehow
flushes the stack to memory, so, fortunately, there's no need to
fiddle with r0-r4 and r5's lower bits (which I still don't understand,
even though there are only 2^5 possible combinations so it should be
easy to hardcode).

Here is some code that successfully runs the following Java program:
iconst_4
iconst_4
iconst_4
iconst_4
iconst_4
iconst_4
iadd
(breakpoint)

then prints the resulting stack, which of course is 8,4,4,4,4 (right = oldest)

Source code and binary:
http://cosas.javispedro.com/jaz/

Specially read http://cosas.javispedro.com/jaz/jas.s since it is the
one containing the main logic (GNU assembler file), and I've tried to
at least comment it a bit.

I know I'm being a bit late (2 years :P and with the N900 not having
full Jazelle DBX this may be not that useful) but either way I did
this as fun project (and to get familiarized with arm assembly, since
I knew x86 only). Check IRC's log for today
http://mg.pov.lt/maemo-irclog/%23maemo.2009-07-14.log.html
 .

A teaser: :D

$ ./j
r5 (statehandlers): 36864=0x9000
r6 (stack): 70960=0x11530
r7 (vars?): 70992=0x11550
r8 (cpool?): 71024=0x11570
r12 (not enabled handler): 34156=0x856c
r14 (next opcode): 35840=0x8c00
stack: (at 0x11530, size=8)
  0=0x0
  0=0x0
  0=0x0
  0=0x0
  0=0x0
  0=0x0
  0=0x0
  0=0x0
r5 (statehandlers): 36864=0x9000
r6 (stack): 70980=0x11544
r7 (vars?): 70992=0x11550
r8 (cpool?): 71024=0x11570
r12 (not enabled handler): 0=0x0
r14 (next opcode): 33712=0x83b0
stack: (at 0x11530, size=8)
  4=0x4
  4=0x4
  4=0x4
  4=0x4
  8=0x8
  0=0x0
  0=0x0
  0=0x0

Thank you all for your research.

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


Re: libicd-network-wpa

2009-03-12 Thread Javier S. Pedro
2009/3/12 Patrik Flykt patrik.fl...@nokia.com:
 Hmm, interesting. They should request icd2 once a second for the updated
 status, which would make icd2 query your network module. Maybe there's a
 bug/feature when the network has a different type from WLAN_*...

Some built-in apps are doing just that (strcmping network_type with
WLAN_). That's not a problem (I can choose a new network_type easily)
but applications explicitly looking for WLAN_INFRA are (e.g. 'grep
WLAN_INFRA /usr/bin/modest.launch' matches).

I will later try switching the module's network_type to WLAN_WPA or
something like that, and get a full list of applications with
hardcoded WLAN_INFRA/WLAN_ADHOC.

 Thanks again. Putting sane values there fixed a problem I had with icd
 retrying the connection forever.

 Also interesting. Those should not have anything to do with retrying a
 connection. Could you file a hopefully detailed bug report to Bugzilla?

My fault -- I originally put some _really_ large timeout there, so
even after having been disconnected, icd thought the network was still
there, and tried to connect again. I believe this is reasonable icd
behavior according to the description you gave me.



Thank you all for your answers -- the NIT is now a much more useful
device for me :) . I will open an ITT thread with install/usage
instructions for this someday.
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: libicd-network-wpa

2009-03-10 Thread Javier S. Pedro
2009/3/3 Patrik Flykt patrik.fl...@nokia.com:
 One thing you should add to the code: if you already have a WLAN
 connection ongoing and icd2 calls the link up function again, make the
 module reply with the ICD_NW_TOO_MANY_CONNECTIONS icd network status in
 the callback.

Hey, thanks! icd2 never tried to call link_up while the connection was
up during my so far two week field test, but good to be on the safe
side.

 and I'm
 having problems with the link_status callback. May I ask for better
 documentation on this?

 Please tell what more information you need.


I noticed the problem is that the UI is not calling the status
function upon clicking on the icd status bar icon. The connection
status application does indeed call my status function, but neither
the status bar tooltip nor the connection status application show
the signal bar.

Minor problem tough.

 Search lifetime is the time in seconds the network is kept cached by
 icd2, search interval is the time in seconds after which a new network
 scan is to be triggered by icd2.

Thanks again. Putting sane values there fixed a problem I had with icd
retrying the connection forever.



Right now the whole thing seems to work (I've been using it for two
weeks -- my biggest gripe is modest not autodownloading mail) but It's
difficult to distribute/install, as it requires replacing cx3110x.ko
a.k.a. flashing the initfs. I guess it would be possible to hack
wpa_supplicant (yet again) so that it works with the pristine
cx3110.ko, but I'm not a wireless-extensions guru.
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


libicd-network-wpa

2009-03-02 Thread Javier S. Pedro
Long story short: I'm releasing under the GPL an alpha-quality icd
network plugin which uses wpa_supplicant. Code is at
http://svn.javispedro.com/libicd-network-wpa/trunk/ .


After having bought a N810, I got hit very hard with #1635 (
https://bugs.maemo.org/show_bug.cgi?id=1635 , Eduroam (EAP-TTLS+PAP)
WiFi auth; apologies for my desperate message there) -- seeing it was
a low priority request by then, I decided I would try and fix this
by myself.
Searching through this list, I found a cx3110x patch which made it
compatible with wpa_supplicant, and some GPL-released icd headers
which made it possible to write a icd module.

What the module is doing:
- It replaces libicd-network-wlan  libicd-network-eap (I've defined a
new network_type, WPA, whose only modules are wpa, ipv4 and ipv6) .
It does not replace wlancond though, I'm using it for powersaving.
- While searching, it initiates a wlancond-managed active ssid scan to
each of the configured networks.
- On link_up, it calls wlancond 'settings_and_connect' d-bus method to
initialize the interface and enable powersaving features.
- On post_link_up, it spawns wpa_supplicant, then uses settings from
gconf to configure it via D-Bus, then waits for it to enter state
COMPLETED (aka connected).
- On pre_link_down, it kills wpa_supplicant.
- On link_down, it calls wlancond's 'disconnect'.
- If It gets a DISCONNECTED event from wpa_supplicant, It sets up a
100 second timeout. If wpa_supplicant goes up again (roaming?) then
the timeout is removed. If it doesn't, then it tells icd to close the
connection.

How:
-Patched cx3110x. It is only partially patched so that it does still
work with libicd-network-wlan.
-Patched/borked wpa_supplicant. It now works with the partially
patched cx3110x, and also does active ssid scans OK.
-Patched wlancond. I needed a I'm already reading wireless events by
myself, no need to bother me with d-bus events and no need to take
down the wireless interface for me, just set powersave mode, which I
implemented.
- libicd-network-wpa.so .

Right now the code is on my private repository, at
http://svn.javispedro.com/libicd-network-wpa/trunk/ ,
but I might later create a garage project for it.
I'm new to Maemo (and glib, d-bus) development, with my previous
coding experience being mostly PalmOS development, so please pardon me
if my code is a mess. It was also born as (and it still mostly is) a
hack.

Now, the questions:
- Does this design seem OK to you?
- Some maemo applications seem to have WLAN_ADHOC  WLAN_INFRA
network_types hardcoded, and won't auto-download on connect event if
the current network_type is not one of those. The built-in mail
application comes to mind.
- I've yet to come with the right rssi - signal formula, and I'm
having problems with the link_status callback. May I ask for better
documentation on this? I also don't understand what search_lifetime
and search_interval on network_api.h are for.

And I guess that's all I wanted to ask for. Thank you for your time.
Hope I didn't botch anything, and sorry for grammar issues.
And thanks Quim for looking at #1635 (at least Harmattan will get PAP
support out of the box!).
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers