NetSurf with framebuffer - super fast browsing


14 posts
by maribu » Sun Jan 13, 2013 12:03 am
Hi, there!

One thing which annoyed me most about the poor X performance on the Pi was the fact, that there was no fast internet browsing experience with the Pi. Ever since I heard of NetSurf beeing able to write directy to the framebuffer I wanted to try it out. And now I have done> The speed is unbelieveble. I using NetSurf right now to write this text.

There are a few things which aren#t working perfectly for me right now, but it is definetly the best alternative I#ve tested so far. These things don#t work for me at the moment..
* Improper keyboard layout> I can#t write "special" characters, like you already have noticed.
* The "window" is not full size right now
* I have to call netsurf with "netsurf -b 16", because NetSurf does not detect the color depth (which defaults to 16 on the Raspberryp PI) correctly
* The framebuffer backend is not as feature-rich as the other backends. For example there is no blinking cursor and I have a lot of trouble correcting my words without knowing the exakt position of the cursor. Well, I just found out that setting the position of the cursor using the mouse does work perfectly.

I will upload the PKGBUILDs so you can try it out yourself. Let me hear what you think about it. And if you found a solution to one of the problems, please let me know.

A hint for builing the packages> A lot of the dependencies of netsurf-fb are already in the packages repository.

Regards,
Maribu
User avatar
Posts: 143
Joined: Mon Feb 13, 2012 9:56 pm
by malakai » Sun Jan 13, 2013 12:08 am
For the keyboard run

sudo raspi-config

It's default is UK keyboard layout.
http://www.raspians.com - always looking for content feel free to ask to have it posted. Or sign up and message me to become a contributor to the site. Raspians is not affiliated with the Raspberry Pi Foundation. (RPi's + You = Raspians)
User avatar
Posts: 1383
Joined: Sat Sep 15, 2012 10:35 am
by maribu » Sun Jan 13, 2013 12:11 am
Here you can find my binary packages and the PKGBUILDS:
https://www.dropbox.com/sh/hivimpscbpgd9iu/RsMvVDg_WT

You may also want to have a look hat jfbview for viewing PDF files. Works perfectly and PKGBUILD is provided in AUR :-)

Regards,
Maribu
User avatar
Posts: 143
Joined: Mon Feb 13, 2012 9:56 pm
by grimpirate » Sun Jan 13, 2013 12:37 am
surf from suckless.org is an extremely low resource browser that also has javascript support. It's not very user-friendly as you have to learn the various keyboard commands and there is no tabbed browsing, but it does solve the resource management issue.
Posts: 38
Joined: Fri Oct 19, 2012 6:16 pm
by drirr » Sun Jan 13, 2013 7:18 pm
maribu wrote:* Improper keyboard layout> I can#t write "special" characters, like you already have noticed.

Regarding the keyboard layout, have you configured your layout in /etc/vconsole.conf?
Raspberry Pi (rev 000f, 512MB RAM) with heatsinks and a modmypi case running Arch Linux ARM (armv6h) hooked up to a 750GB 2.5" USB-harddrive
Posts: 54
Joined: Sun Sep 09, 2012 8:06 am
by maribu » Sun Jan 13, 2013 11:24 pm
Hi, there!

Thanks for the replys!

(At)Malakei> I guess raspi-config is a raspbian specific tool. And I also guess that it only sets up !etc!vconsole.conf for you (! is a "slash", which also is missing in my keyboard layout).

(At)drirr> Good idea, but I have set up all systemd config files properly and in the virtual console (tty1-6) the keyboard layout does work perfectly. The problem exists just in netsurf with framebuffer backend, where I have a mixed layout between an english keyboard layout and the german one with a few of totally unfunctional keys. I guess this problem is sdl specific.

(At)grimpirate> I will have a look at surf for my x86 machine. It does sound very interesting. But on the Pi I really want something not using X. And in fact most of the time I don~t want Javascript to be enabled. I almost only use javascript for watching flash movies, which wouldn~t work anyway.

But for those those who really need js, there also is experimental support for Java Script in netsurf. I~ll try to cook a netsurf package with javascript enabled and see how got it works when I have a few free minutes next week.

Regards,
Maribu
User avatar
Posts: 143
Joined: Mon Feb 13, 2012 9:56 pm
by sdjf » Sun Jan 13, 2013 11:49 pm
I seem to have missed something here. netsurf is available in the package repository. Is this a different netsurf? Unfortunate that two browsers have the same name, if that is the case.
FORUM TIP: To view just one person's posting history, sign in, click on their user name, then click on "Search User's Posts." || This Pi owner is running Arch on 512MB Model B.
Posts: 1297
Joined: Fri Mar 16, 2012 5:20 am
Location: California
by maribu » Mon Jan 14, 2013 1:34 pm
Hi, sdjf!

You are correct, there is a package for NetSurf already in the repositorys. NetSurf does support multiple operating systems (Linux, RiscOS, BSD, ...) and also multiple backends. The NetSurf package in the repository is compiled with the gtk backend and therefore needs X. My package uses the framebuffer (sdl) backend, and can be run right from the command line (e. g. tty1).

The gtk backend has more features (tabbed browsing, a clean way to exit the browser, Downloads, ...), but the framebuffer version is super fast and super small.

Regards,
Maribu
User avatar
Posts: 143
Joined: Mon Feb 13, 2012 9:56 pm
by pepedog » Mon Jan 14, 2013 2:54 pm
I tried it, v fast with limitations you mentioned, biggest is not able to place cursor within URL and edit, also not able to download files from links, or right click context
Posts: 980
Joined: Fri Oct 07, 2011 9:55 am
by sdjf » Mon Jan 14, 2013 4:06 pm
Hi Maribu,

Ah, you might want to consider slighly modifying the name of your NetSurf so people installing both will know which is which, and discussions about the two versions will be more clear.

I am still struggling to get online access for my Pi, dealing with a combination of necessary software tweaks and external hardware issues. But how does your netsurf compare to plain old lynx? What is the advantage of it? Does it run on commandline without a display or would I need to access it via VNC on a headless Pi?

Cheers!
FORUM TIP: To view just one person's posting history, sign in, click on their user name, then click on "Search User's Posts." || This Pi owner is running Arch on 512MB Model B.
Posts: 1297
Joined: Fri Mar 16, 2012 5:20 am
Location: California
by maribu » Mon Jan 14, 2013 6:22 pm
Hi, sdjf!

My package is named netsurf-fb, the gtk version is named netsurf. But I have forgotten to modify the package description. Also I have no uploaded the package and also libnsfb to the aur, so you now can install it simply by>

yaourt -S netsurf-fb

I haven~t updated the packages in my dropbox. But if your getting there you~ll likely have read this forum. And then you~ll already now, that you~ll get the framebuffer version.

By the way> Has anyone found out a way to close netsurf(questionmark)
At the moment I just switch to an other terminal and use killall. But a clean way to close a program seems to be that important, that even this early version of the framebuffer backend would have this implemented.

Regards,
Maribu
User avatar
Posts: 143
Joined: Mon Feb 13, 2012 9:56 pm
by dliloch » Mon Apr 29, 2013 9:20 am
hello,
has anyone successfully compiled netsurf v3.0 yet?? If so I would be interested
in directions on how to do it.. I am currently stuck with all the dependencies ..ie.
libcss .. can't get that to make successfully .. I am using raspbian .. thanks..
User avatar
Posts: 115
Joined: Wed Jun 27, 2012 6:28 pm
Location: cleveland, ohio usa
by RediJedi » Mon Apr 29, 2013 9:53 pm
Hi, I have compiled it on arch recently, here's how i did it. After getting the source and extracting it I then entered the following in a terminal.

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

export PKG_CONFIG_PATH

then I installed these libs:

libnsbmp, libnsgif, libcss, libdom, lcms, libmng, libpng,

then I compiled it without a problem.

this should help with shared libs not being configured properly but has to be done before you compile. If you have a recent rpi backup try rolling back to that before trying, then try the above.

Again this is on Arch not rasbian but shouldn't be any different.

edited had it in the wrong order.
Posts: 45
Joined: Sun Apr 21, 2013 9:56 am
by dliloch » Tue Apr 30, 2013 9:02 am
thanks for the reply.. I'm working on the supporting packages you listed... stuck on
libcss .. no package for that so had to compile from source .. the make . command
does not seem to work .. gets..
/libcss-0.2.0/build $ make .
make: *** No targets specified and no makefile found. Stop.
User avatar
Posts: 115
Joined: Wed Jun 27, 2012 6:28 pm
Location: cleveland, ohio usa