Wednesday, December 7, 2005

New Version of Evince Package for Nokia 770

After a long time trying to have a full functional, "all-in-one" (that includes all dependencies) and application installer ready Evince package for Maemo platform, i decided to change the plans.

Evince has by default two backends: One for PDF files, that uses libpoppler and the other one for PS files, using ghostscript. When the first package was released, i was not able to test the PS backend, and finally when i tested, it was not working at all.

So I started to study a way to have the PS backend working, an then i faced some important issues:


  • First: ghostscritpt depends on gsfonts package, and these fonts are registered in the system by defoma during the installation. Until now, everything was going fine, but then i figured out defoma scripts are not available in 770 software image, just in the SDK image. I thought i could use the scripts from the SDK image, but for some reason Nokia guys changed the script for a single line: "echo 'This script does nothing.'". But even with defoma scripts running, there is no way to do it automatically with the current application installer.

  • Second: Evince uses mime magic to recognize the file types but mime for PS files is not included in Maemo mime database by default. Again, there is no way to update the database automatically with the current application installer.


Finally, I left behind the idea of having ghostscript working on Maemo platform for a while and decided to fragment that huge package in 2 smaller packages:
  1. libgnomeprintui: this package include libgnomeprintui and its dependencies (libgnomeprint, libgnomecanvas and libart). This library is needed for other applications, such as Gnumeric and Abiword, so i thought it was a good idea to have it as a separated package.

  2. Evince: Now compiled without support to PS files, the package only includes Evince, libpoppler and libglade as dependencies.


The result is a smaller, but smaller package if compared to the first one. I suspect most people were afraid of the size of it. The debian file had almost 9 MB, and after installed, Evince and all its dependencies were using almost 20 MB of the available space. Now it uses less than 5 MB.

Installation Instructions:
  1. Download libgnomeprintui and evince packages here.

  2. Install libgnomeprintui first.

  3. Finally, install Evince.


TODO: Create pixmaps for some actions, such as rotate right, rotate left, view fullscreen and view as presentation.

Please post comments with your feedback. Hope you all enjoy!

UPDATE: The link above for download the packages is not active anymore. Does anyone have a web space to host the files? Thanks in advance.

23 comments:

Fred said...

I juste tried you packages & I can't install them ... (I'm on 45-8)

Anonymous said...

The only reason why probably I'm going to buy the 770 this Christmas is the chance to read my *.pdf files.

Many thanks for your work.

Paul Anderson said...

Hi,
just tried the new split Evince, it's fantastic, much faster and more responsive when paging, a great improvement over the built in PDF reader.
Admittedly I have also just implemented 32M of swap (blogginf on that later this evening) this has changed the 770 fundimentally, now i can open 3 browsers, file manager, notes and email with no drop in performance. was using 10M of swap and fwt no pauses due to swapping.
I did "feel" Evince slowing a little after a period of moving around the 3 page document I was testing, I have 1 650 page IBM manual that I'll test with later on.
Brilliant work, thank you, did you try -Os when compiling, is that option available for ARM?

Paul

Paul Anderson said...

Hi,
Well the 650 page IBM manual was fine amazing considering the limitations of the device. The sawp partition seemed to cause soome issues after many hours of usage, i'm trying to clarify things now.

P.S. is anyone porting dillo?

Konttori said...

Fantastic stuff! Thanks Etrunko!

dating service said...

John, hope all is well with your" IM" search.
Maybe you can find looking for "ADVICE" at www.directmatch4free.com
Just make sure you come back to this site to let us know how you are doing!

Roberto said...

I've tried your Evince package, wonderful work, I was expecting something like this (i like continuous scrolling and customizable zoom in particular). Anyway, I've found that the application rapidly eats all available maemory after few minutes, forcing a shut down of the device.
Someone had similar exepriences? May be there is some problem with the particular pdf file I tried ?

Roberto said...

I added 16M of swap space. It helps a lot (in general, not only with Evince)

Anonymous said...

http://evolutum.gotdns.com/~indt/evince doesn't work.

Etrunko said...

Hi,

Thank you all for the feedback. Paul and Roberto, i am specially interested in this swap scheme. You could send the instructions to maemo-developers mail list.

Best Regards.

Anonymous said...

Hi, Where can I download the evince packages from? http://evolutum.gotdns.com/~indt/evince doesn't seem to work currently (404 error).

Roberto said...

Etrunko,
Instructions for making swap area on mmc are already on maemo-developers list!
See here.
Anyway, they are only standard commands :) wonderful 770.

Roberto said...

Sorry, wrong link syntax; the post was about porting Asterisk on 770 ...

Michel said...

Hi,

I can host the packages if you want, just send them to michel DOT salim AT gmail.com.

Hopefully it won't go over my bandwith quota - but it's a good time to try running a Torrent I guess

Etrunko said...

Hi Michel,

I have a new space to host the packages, but i did not upload them yet (firewall stuff). But anyhow, I will send you the packages.

Best Regards, Etrunko.

mazesloup said...

Hi,
can you say me how i can get your package ?
Tk's

goff said...

Hi,
sorry for nagging but I would like to try evince too - could you provide a new download link?

It just took 5 minutes for the built in pdf viewer to show a PDF with three pages and 5 pictures ... I'd like to get rid of that as fast as possible.

mfg

Etrunko said...

Hi all,

The evince package is available at:

http://bgran.net/etrunko/

Best Regards, Etrunko.

mazesloup said...

Thk's for the link

nchip said...

..But where are the sources? :) I can also organize some permanent well-bandithed hosting space.

Etrunko said...

Hi nchip,

I would appreciate it very much. Please send an email to eblima(at)gmail(dot)com regarding your ideas.

Best Regards, Etrunko.

jurop88 said...

Hi,
I had the same problem of running out of memory with huge pdfs (>1000 pages). My 770 is hard customized, with the script on maemo-wiki that let the device use MMC as main storage and the swap, too, but evince inesorably eats all the available RAM and - worst! - kept the ARM processor at 100% for more than 5 minutes (and the baby warmed a little, thing that made me afraid...)
Perhaps all this works is due to the necessity to render all the thumbnails, or to pre-render other pages? I noticed that moving between pages is rather fast when compared to the original pdf reader shipped by Nokia.
The best thing in evince is the chance to personalize the zoom, so to optimize viewing.
If the slowness and the eating-memory is due to some pre-rendering, could be possible to limit it to the previous/next page, and limit the thumb-viewer?
Great work, indeed!!!
Rgds and thx
Michele

pixelmonkey said...

I have to second jurop88's comments. Works great, except when PDFs are big. Then it can crash your device. Need to limit pre-fetching to 1 page front and back.