Tiny Core Linux

Tiny Core Base => Raspberry Pi => Topic started by: gavinmc42 on October 24, 2016, 11:59:20 PM

Title: Browser support
Post by: gavinmc42 on October 24, 2016, 11:59:20 PM
Been playing around with latest Raspbian, Lubuntu etc to see if they make suitable Desktop replacements on a Pi3.
Surprisingly they are not bad now. You could use a Pi3 as a desktop PC.

So I did tce-load -wi TC.tcz  to get a desktop on a piCore Pi3.
Works fine, nice and fast etc.

Then I started checking what else I need to make a development desktop, editor, file manager, browser, pdf viewer.
Got as far as Dillo3, ok with text based pages, JS ones, forget it.
Any others in the repo?
And I found same problem with pcmanfm as beerstein did, no icon..

Why are JS browsers so big and clunky? rhetorical ;)
I did search for browsers on the forum, not much out there for piCore yet.

Is there a pdf viewer?

Will piCore 9 be 4.8.x kernel based?
Title: Re: Browser support
Post by: bmarkus on October 25, 2016, 12:13:45 AM
WEB browsers: I'm just testing midori which works fine on RPi3 including JS. Need some more testing and packing but will land in the repo soon. Just a site note, webkitgtk the rendering engine builds cca. one day on RPi3 :(

PCManFM lacks few dependencies will be added shortly, like hi-color icon theme, shared-mime-info and a GTK2 icon theme.

PiCore-9.0 no plan at the moment. Mainly it depends on what Raspbian is choosing and when. We need a custom version of the official Raspbian kernel to support RPi specific HW stuff which are missing in other kernel versions. 4.4 is an LTS version, so at the moment it is safe to stay with it.
Title: Re: Browser support
Post by: gavinmc42 on October 25, 2016, 01:30:31 AM
Thanks Bela, will look out for Midori in the repo.

I don't need Arm6(Pi B+) or Pi2 browser support, as the new ver Pi2 has the same 64bit chip as the Pi3.

Have not been keeping up with browsers but a comment Eric Arnholt made got me googling.
He was playing with Servo which is a browser made from Rust.
Rust is multicore cpu aware, so it should run fast on a Pi3.
https://www.youtube.com/watch?v=7q9vIMXSTzc

https://github.com/warricksothr/RustBuild

The is also a Rust based OS
https://www.redox-os.org/

Wonder if Rust compiler is multicore?

In a few years multicore 64 bit CPUs will be everywhere, no need to support single core 32bit boxes.
At least for the Desktop.
32bit single core Pi's are still useful for IoT;)


1 day webkitgtk compiles? ouch.
These days I use Ultibo for B+ gadgets, 10sec compiles 8)
Well, cross compiling on Windows, still waiting on native Pi support.
Pascal was always much faster than C.


Title: Re: Browser support
Post by: gavinmc42 on October 26, 2016, 12:29:15 AM
Just compiled the Servo browser on a Linux box, following instruction here.
http://wiki.freepascal.org/FPC_New_Features_Trunk

Very basic at this stage, no search, no tabs but it did work and it seemed fast.
I also suspect Rust compiles faster than C/C++.
Would it be a useful browser for piCore on the Pi3 in full 64bit Aarch64 mode?
I suspect it would not be bad, popping up lots of script errors etc form pages, so still a work in progress.

I have no idea how to port it to piCore.
1) get the Rust compiler to work?
2) Get Cairo (Rust package management)?
3) Compile Servo?

Toy browser in Rust
https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html

It also seems browsers won't get faster until they use the multi core cpus, which is happening.
Limitations now are also the single stream JS code, which has led to ParallelJS.

Anyway it will be interesting to try Midori on a Pi3, been a long time since I tried X11 stuff on a Pi, ie before Pi 2 and 3.

Wonder if Lazarus/FPC will work in PiCore?








Title: Re: Browser support
Post by: bmarkus on October 26, 2016, 12:57:37 AM
There are no 64-bit kernel for Pi3 yet, so 64-bit is not an option. Also, do not expect a big boost just running a 64-bit system.

For sure Lazarus/FPC can be ported to piCore but it is not on my todo list. But user contribution welcome, if someone makes it, I will be happy to add to the repo.

Current webkitgtk is significantly faster than previous versions but I had issue to build and the one day build time is paonful. So at the moment I use a stable previous release of webkitgtk to get browser working and later will try the latest again. As above, user contribution welcome.

Cairo is in the repo, it is used by many other programs.

No idea what is Rust, never seen. As it is in GitHub, most likely can be used on RPi. See comments above :)
Title: Re: Browser support
Post by: bmarkus on October 26, 2016, 01:02:13 AM
Hm.....

Quote
Rust won the first place for Most Loved Programming Language of 2016 in the Stack Overflow Developer Survey.

Will try it
Title: Re: Browser support
Post by: bmarkus on October 26, 2016, 10:23:19 AM

And I found same problem with pcmanfm as beerstein did, no icon..


pcmanfm.tcz updated, please try.
Title: Re: Browser support
Post by: gavinmc42 on October 26, 2016, 08:21:26 PM
Thanks Bela, will try pcmanfm will I get home.

Editors, file manager and browser are important for a development box.
Cannot do stuff with dependencies at work due to firewall :'(

Rust compiled Servo pretty quick on old Linux box and Servo is much smaller than Midori.
Think it is a different Cairo, but it comes when you install rustc.
Servo it still a toy browser, Mozilla guys are playing with it still.
But if Samsung are looking at it as well then it should be good becuase they are porting to Android and ARM which means it should be optimized for 64bit multicore ARM+NEON.
Which just happens to be the new rev Pi2 and Pi3 8)

Not worried about 64bit kernel yet, but want to use the NEON/SIMD stuff in the future on the Pi 3 for Neural networks, machine learning, vision etc.
I think these registers are easier to use in 64bit mode, ie ARM8/Aarch64.
Using a 32bit kernel is like a sprint race where you are only allowed to use one foot ;D

Title: Re: Browser support
Post by: gavinmc42 on October 26, 2016, 08:44:39 PM
https://github.com/servo/servo/wiki/Building-on-ARM-desktop-Linux

Could be a problem if it needs 2GBs of RAM to compile

Maybe they will do builds for Pi's?
https://download.servo.org/
Title: Re: Browser support
Post by: bmarkus on October 27, 2016, 12:06:19 AM
Rust / Servo looks interested, but at the moment it is a low priority interest as there are many other thing to do with piCore. If you can build and submit it, I will be happy to add to repo :)
Title: Re: Browser support
Post by: gavinmc42 on October 27, 2016, 10:03:38 PM
Will learn Rust first and see if I can get that working.
rustc is the compiler.

Servo can wait, it's still a work in progress.
I want at least a search bar and tabs ;)
It looks like Mozilla are adding bits of Rust compiled stuff slowly to Mozilla anyway.

Got pcmanfm to work, had to manually add pcmanfm.tcz to onboot list.

Is there any colour syntax editors in the Repo? MC is a bit clunky for coding.
Geany is my preferred, but it's lot lots of dependencies?
Title: Re: Browser support
Post by: bmarkus on October 27, 2016, 11:55:49 PM

Is there any colour syntax editors in the Repo? MC is a bit clunky for coding.
Geany is my preferred, but it's lot lots of dependencies?

Try bluefish
Title: Re: Browser support
Post by: gavinmc42 on October 28, 2016, 01:32:42 AM
Haha, did not even notice it.
Been doing SSH and CLI too long.

Thanks Bela.
Title: Re: Browser support
Post by: bmarkus on October 28, 2016, 09:32:34 PM
Is there any colour syntax editors in the Repo? MC is a bit clunky for coding.
Geany is my preferred, but it's lot lots of dependencies?

geany added to repo.
Title: Re: Browser support
Post by: gavinmc42 on October 29, 2016, 09:58:29 PM
Thanks again Bela,

Could not get Bluefish working :( but Geany works fine and is also rustc code aware :D

Rust seems to be the "in" language at the moment, found Leaf which is a Deep Learning AI that is Rust based.
http://autumnai.com/
For hackers not boffins 8)

Got Rust going on my Linux Mint PC and Raspbian Pi3, did not actually take long to compile.
Still trying to figure out rust/cairo/crates etc.

Currently installing OpenCV on Mint box, more bloatware, knew there was a reason I stayed away from it.
VC Pi camera stuff works, tested it previously

Is there a USB webcam app that would allow me to take images to do vision stuff on?
V4L is very old piCore 3?
Got plenty of Sony PS3 eyecams for $2 each.


Title: Re: Browser support
Post by: bmarkus on October 29, 2016, 10:30:30 PM

Could not get Bluefish working :( but Geany works fine and is also rustc code aware :D


What is wrong with Bluefish? It was updated recently. Did you try the latest in the repo?

Is there a USB webcam app that would allow me to take images to do vision stuff on?
V4L is very old piCore 3?
Got plenty of Sony PS3 eyecams for $2 each.

I'm not familiar with webcams :(
Title: Re: Browser support
Post by: gavinmc42 on October 29, 2016, 11:56:35 PM
Must have done something wrong with the Bluefish install, still getting the hang of TC X11 apps.
Deleted the tcz with MC and reinstalled it today, it is working now :D
Did it a few days ago, old version?
Now got two editors :P

Don't know much about webcams either :(
In Linux/Raspbian I use Cheese, QtV4L2 test, FSwebcam etc
Need something lower level to just take a bmp, might try a pascal, python or Lua library.

V4L2 is what most use for that, but it looks complex.
https://en.wikipedia.org/wiki/Video4Linux.
Hmm gstreamer, ffmpeg, might try installing them first.
Ok,  they are big too.

Finally with Internet access at home I can get xxx.tcz's with dependencies  and start doing development in piCore.
Need compiletc.tcz first?

Last week I was playing with a $20,000 Ximea USB multispectral camera 8)
It just worked in Windows/Linux/Raspbian, but they are too bloated for single purpose gadgets.
Just lucky i only had to get the hardware working, software is someone else's problem at the moment ;D



Title: Re: Browser support
Post by: tomster on January 16, 2017, 11:51:45 AM
Hi Béla!

Any news on a Midori package yet? It would come in reeeaaally handy at this point in time...
Regards,
Tom
Title: Re: Browser support
Post by: bmarkus on January 16, 2017, 02:09:54 PM
Hi Béla!

Any news on a Midori package yet? It would come in reeeaaally handy at this point in time...
Regards,
Tom

I must find some time to deal with it :(
Title: Re: Browser support
Post by: polikuo on March 02, 2017, 09:36:15 PM
For experimental purpose only.
Porting firefox from debian.  :)

Download firefox-esr armhf from https://packages.debian.org/jessie/firefox-esr (https://packages.debian.org/jessie/firefox-esr)
Download language pack if you need it.
Extract it with
Code: [Select]
busybox ar vx filename.deb
tar xf data.tar.xz

Create custome tczs (firefox_download.tcz, language_pack.tcz)

Use this script if you need to merge firefox and it's language pack together
http://forum.tinycorelinux.net/index.php/topic,20709.msg129934.html#msg129934 (http://forum.tinycorelinux.net/index.php/topic,20709.msg129934.html#msg129934)
1. prepare firefox_download.tcz, language_pack.tcz, language_pack.tcz.dep
2. put your firefox_download.tcz language_pack.tcz language_pack.tcz.dep into your /ets/sysconfig/tcedir/optional
3. run deps-merge.sh -i language_pack.tcz -o firefox-esr.tcz

*** Make sure you have UTF-8 fonts in /usr/share/fonts NOT /usr/local/share/fonts ***

Create a dep file
Code: [Select]
dbus-glib.tcz
gtk2.tcz
hunspell.tcz
libXt.tcz
libasound.tcz
libevent.tcz
startup-notification.tcz

The newly created firefox-esr.tcz icon won't show up on your wbar
You'll need to modify the extension
copy usr/share/applications/firefox-esr.desktop  to usr/local/share/applications/firefox-esr.desktop
Append this line to the latter
Code: [Select]
X-FullPathIcon=/usr/share/pixmaps/firefox-esr.png

Tested on Raspberry Pi 3 model B with piCore-8.1.5.
Watching youtube can be lagging but acceptable.
Audio works with alsa.
Viewing PDF is a bit slow.
Overall, it's not a bad idea for general browsing.  ;D
Title: Re: Browser support
Post by: tomster on March 08, 2017, 04:17:05 PM
Thx polikuo!
I will get into this as soon as sparetime permits.
Being able to setup TCL-Raspis (maybe even on PiCorePlayer-images) with a usable browser in kiosk mode that could be powered-down the "hard way" would come in really handy for my purposes. 
Title: Re: Browser support
Post by: Juanito on March 08, 2017, 09:11:43 PM
the fifth browser is also available in the piCore repos.
Title: Re: Browser support
Post by: curaga on March 09, 2017, 12:39:13 AM
Was the rebuild more stable?
Title: Re: Browser support
Post by: Juanito on March 09, 2017, 12:43:09 AM
It's only crashed a couple of times in a week of use and only on the tinycore site  :(

Note that I haven't re-built for armv7, as opposed to armv8, as yet.
Title: Re: Browser support
Post by: PDP-8 on April 10, 2017, 02:44:37 PM
An odd thought about Fifth ..

For now, I use another machine / browser for major online interaction, BUT love using the Fifth browser for all my own javascript learning / coding while offline.

Seems stable enough, but then again, I'm not pushing it hard with my own simplistic javascript.  Mostly just a big html/css/javascript local terminal if you will.

I was wondering if a (secondary) Fifth extension could be made even smaller / stabler by removing things that are not needed for online interaction... like a "Fifth-offline.tcz"

Random back-burner thought...
Title: Re: Browser support
Post by: curaga on April 11, 2017, 01:43:58 AM
Those are tiny. You would save maybe less than 50k if you managed to remove curl (plus the size of libcurl).
Title: Re: Browser support
Post by: PDP-8 on April 12, 2017, 08:45:29 PM
Ah, ok no major savings.

The GREAT news for me is that on piCore, the Fifth browser is totally stable on this forum by deactivating images.  I don't know how I missed that since I believe it was mentioned before.

And, gave the video gpu a little boost on my RPI2 in config.txt (gpu_mem=256), and this seems to have given it a little bit more headway.
Title: Re: Browser support
Post by: gavinmc42 on April 15, 2017, 05:12:38 AM
Fifth is not bad, not sure how to get youtubes working or is that the point.
But as general browser in the TC desktop I'm impressed, next, try it on a Zero :P
I don't have time to watch video, this is fine as it is for me.
Since that's all the kid watches, putting piCore on the TV Pi3, might get the wife's tablet back.

Interesting, if I slide the mouse along the video time line I see thumbnails.
Under Setting /Advanced/Programs it is set to use mplayer to stream videos.
Is there a mplayer.tzc? or is it better to use omxplayer?
Then to get audio going?

Might have mess about with GPU memory?
Can I ditch Raspbian yet?
 I think I am up to 37MB in the tce folder, lucky I increased it to 100MB ::)
Title: Re: Browser support
Post by: PDP-8 on April 18, 2017, 02:02:56 AM
The Fifth browser is kind of NOT about being a multi-faceted media consumption program - if you want that then leave that to external programs.

In my case, I have other devices if I want to watch web tv in hd. :)

But for research, I love what the Fifth is all about.  Occasionally I'll save an image and view/manipulate it with ImageMagick.  Call it retro-computing if you will, but I find it totally refreshing..
Title: Re: Browser support
Post by: gavinmc42 on April 19, 2017, 01:34:55 AM
Quote
Call it retro-computing if you will, but I find it totally refreshing..

Yep the way browsers should work, before bandwidth hogging.
Makes me want to built that Pi tablet, kid won't pinch it becuase it won't play Youtubes :P
Make an ebook that is internet aware and less than 100MB including boot partition.

Wonder what it looks like on a 5"800x480 TFT?
Title: Re: Browser support
Post by: PDP-8 on April 19, 2017, 02:14:41 PM
The Fifth browser really makes it apparent how much junk you are downloading - which for me is super important as I'm on a limited cellphone data plan for my internet needs - by choice.  But that's not the main reason I'm using TinyCore, but sure is convenient.

Thing is, know your audience.  Perhaps a turn-key Chromebook would suit his needs better, and when he outgrows it, you can put it into dev-mode, and do what I'm about to do:

Put TC on an Asus M004U ChromeBOX.  Here we go .....
Title: Re: Browser support
Post by: polikuo on June 25, 2017, 07:54:29 PM
For experimental purpose only.
Porting firefox from debian.  :)

Download firefox-esr armhf from https://packages.debian.org/jessie/firefox-esr
...

Updates for firefox-esr (52.2.0)  :D
New dep file should look like this:
Code: [Select]
dbus-glib.tcz
gtk3.tcz
hunspell.tcz
libXt.tcz
libasound.tcz
libevent.tcz
startup-notification.tcz

Tested on Raspberry Pi 3 model B with piCore-9.0.3
Youtube audio works with alsa.tcz