hojnikb Posted September 10, 2016 Posted September 10, 2016 I wonder if any work is being done in that direction. Every browser i tried has some sort of issues, that makes it less than usable on H3 devices. -epiphany/midori: both work decently, but lock up after some time with 25% cpu usage (could be a webkit1 issue ?) -chromium: slow and apparently absent from repos -firefox: works ok, but quite slow -net surf: very fast and stable, but not up to date for web standards (probably what makes it fast in the first place) Am i missing any browsers here ? I propose we optimize one of those, that would work best on out allwinner devices in a similar fashion of what raspberry team did with epiphany. I'm sure lots of folks would find more use for cheap fruit computers with better web browsing capabilities (kiosks ?)
tkaiser Posted September 10, 2016 Posted September 10, 2016 -firefox: works ok, but quite slow Care to accept the real issue? Random I/O? 'Browsing the web' with Firefox means opening a bunch of databases that constantly sync their contents to 'disk'. If disk is an average SD card (looooooow random IO performance) then this will be slow as hell. Further readings: At first, I ran Ubuntu from a cheap SD Card, and the desktop was rather sluggish, but I still decided to launch Libre Office 3 Writer… and it took over 5 minutes! So I decided to copy the Ubuntu image to the eMMC module. Ubuntu become more responsive, and Libre Office 3 Writer launched within 20 to 45 seconds the few times I tested A google search for 'places.sqlite' https://www.reddit.com/r/firefox/comments/2379lw/minimizing_firefox_disk_io/ https://wiki.mozilla.org/Performance/Avoid_SQLite_In_Your_Next_Firefox_Feature 'Desktop Linux' means you need fast random IO. That's why you can use ODROID-C1/C1+/C2 as a desktop replacement when you ordered the eMMC but not when you saved the costs and try the same running on the average horribly slow SD card. Apart from that regarding H3 and any sort of 'acceleration' so many are asking for: AFAIK at least Chromium could use OpenGLES acceleration but would need a higher Mali driver version than what is available. We have some sort of 2D acceleration but nothing else. So the other key performance factor with a Linux desktop environemnt is to minimize as much effects as possible (especially everything that involves transparency). BTW: You could 'H3' also replace with 'A64'. CPU cores are a bit faster but problems the same. 1
hojnikb Posted September 10, 2016 Author Posted September 10, 2016 MAybe it would make sense to dump places.sqlite into a ram cache for the time firefox runs and dump it to flash before it closes. And any other IO heavy file for that matter. Btw, can firefox use 2d accelaration ?
arox Posted September 10, 2016 Posted September 10, 2016 Firefox means opening a bunch of databases that constantly sync their contents to 'disk'. I dont care for functionalities that make software unusable. Browsers are designed for use on 3 GHz multicore processors, and so are also web pages with "experience improving" sniffing javascript abuses. So I use a privoxy/polipo front-end to purge pages and I disbled local cache. (At least, you should use local filter extensions). Firefox DBs are another problem : I donnot want firefox were out my SD card or even use a costly SD card just for "improving my experience". I dont save work files in local but on an NFS server. I approve at 110% tkaiser's advice on using eMMC. But in the meantime, I currently use an A20/bpi1 as desktop and deported home and firefox gigacache on NFS, which is a bottleneck (even with no document cache). The ideal solution would be to use a ram FS, but what would be the best solution ? 1
tkaiser Posted September 10, 2016 Posted September 10, 2016 can firefox use 2d accelaration ? Maybe (X11 Windows benefits from '2D acceleration' through xf86-video-fbturbo acceleration) but why should that matter? When I use Firefox (on a quad-core i7 with an OS where even window compositing is already moved to the GPU cores through OpenCL and with the fastest SSD I ever measured simply because Apple now glues flat SSDs into their MacBooks and you can't decide what you get) even then Firefox stalls from time to time (which is one of the reasons I use it only to access security relevant admin interfaces and do everything else in Safari). To be honest: I would not even think about using Firefox on those tiny H3 gems -- IMO those are made for something else If anyone has luck with that (and is not just fooling himselve proving that 'web experience' on a RPi 3 is the same as with a 3GHz PC since it was just such a good deal) congratulations and keep on the good work. I really doubt it.
rodolfo Posted September 10, 2016 Posted September 10, 2016 Every browser i tried has some sort of issues, that makes it less than usable on H3 devices. Firefox is as good as it gets on OPI ONE/LITE with stock Armbian. Forget infotainment and the usual octacore gigaterror "web experience". Smart web applications run very nicely on H3. If you need the "web experience" - go buy a gadget designed for it ( Cupertino and Redmond will help you with the yearly upgrade ). Want REALLY FAST browsing for your $10 OPI ONE ? http://forum.armbian.com/index.php/topic/1044-remote-desktop-fun-with-armbian/#entry8049 Fast browsing = fast cpu, fast storage and most importantly - enough bandwidth. You will get that from any cheap virtual cloud server. Install x2go server and access it from x2goclient on your OPI ONE/LITE.
hojnikb Posted September 13, 2016 Author Posted September 13, 2016 I'm very well aware, that H3's CPU is not very powerful. This doesn't change the fact, that with an optimized browser, experience would improve for those, that wanted to use it. If only midori/epiphany would work properly, that would definitely be an improvement. Sadly, it segfaults randomly.
manuti Posted September 13, 2016 Posted September 13, 2016 For me, the best H3 web browsing experience is with Firefox on a Beelink X2 using Armbian on the internal NAND. The difference between Beelink X2 (1GB RAM + armbian on NAND) vs Orange Pi One (512MB RAM + Samsung EVO) is very significant, is not like my core i5 with 4GB of RAM but is more or less decent. 1
tkaiser Posted September 13, 2016 Posted September 13, 2016 For me, the best H3 web browsing experience is with Firefox on a Beelink X2 using Armbian on the internal NAND. I would call it eMMC instead (since from a technical point of view there are some severe differences between raw NAND on older boards and eMMC -- technically like soldered SD card but usually magnitudes faster especially regarding random IO and this is the most important factor here). We have to be careful relying on individual results (since Beelink exchanged the WiFi chip also on X2 in the meantime) but at least the eMMC in my X2 is pretty fast: http://forum.armbian.com/index.php/topic/990-testers-wanted-sd-card-performance/?p=10745 If you compare with an average SD card this eMMC is probably 50 times faster and this is why your browsing experience doesn't suck that much (and this is why ODROID-C1/C1+/C2 with eMMC are so nice here since those eMMC really rocks). @hojnikb: Agree with you regarding an optimized browser but fear that here no browser developers are active (I also don't believe that any of Armbian's core team members access the web from an SBC desktop -- we need to get things done (fast) so why even trying that?). The only advise I can give is to improve random IO performance then 'web experience' will suck less. BTW: I had to realize that the first time at a customer maybe 3 years ago. There some app developer monkeys moved everything from the backend (running in Unix which they were not familiar with) to the frontend (insane crap only able to run in Internet Exploder) just to realize the whole application almost stalled. Upgrading 300 PCs with SSDs was less expensive than fixing the 'software design' in the end.
zador.blood.stained Posted September 13, 2016 Posted September 13, 2016 @hojnikb: Agree with you regarding an optimized browser but fear that here no browser developers are active (I also don't believe that any of Armbian's core team members access the web from an SBC desktop -- we need to get things done (fast) so why even trying that?). The only advise I can give is to improve random IO performance then 'web experience' will suck less. From time to tome I read this forum, GitHub, IRC log and even some "heavy" sites like Reddit from Chrome on Android running on Odroid C2. Since it has good web browser (if you tweak it a little), SSH client, GMail client and some other useful apps, I can call this an SBC based desktop. If you compare with an average SD card this eMMC is probably 50 times faster and this is why your browsing experience doesn't suck that much (and this is why ODROID-C1/C1+/C2 with eMMC are so nice here since those eMMC really rocks). Fast storage won't help you if you experience lags when scrolling "heavy" pages or use web site with tons of JS and CSS animated crap. Amount of RAM, CPU power and GPU assisted rendering contributes to good browsing experience as much as fast storage IMO, but storage is the only thing of this list you can improve by yourself on SBC. 1
arox Posted September 13, 2016 Posted September 13, 2016 If only midori/epiphany would work properly, that would definitely be an improvement. Sadly, it segfaults randomly. Its not just a question of stability. When you browse the web, you want to be able to display every pages. The browser has to implement most of the moronic standards in use to format and style pages and execute javascript code. And even then, if the browser respects standards, you will only have a usable browser if websites test their pages against that browser. So, you have firefox or chromium. I never could use chromium because of memory leaks (the tabs where killed). You have to do with firefox : - use the card with the fastest CPU and huge heatsink (mulicore not usable with ff - 2 cores usable for sys/net/io/display AND js) - go in preference and "about:config" to disable all that is not needed - install extension to filter pubs and sniffing js (uBlock, disconnect, noscript ...) or use some frontend proxy like privoxy. - assure you have fast disk io for .mozilla and .cache - forget about video and perhaps remove pluggins or block them - compile it from source with optimization and disable what you can - wait for a multi-threaded stable version Edited on a BPI M1 (A20 2x1 GHz 1Go DDR3) - web filtered against js abuse. Quiet usable (but I browse youtube with another machine : atom 1.6 GHz and ff compiled with gentoo) 1
manuti Posted September 14, 2016 Posted September 14, 2016 Sorry to everybody for confusing NAND and eMMC on Beelink X2, every day you can learn something. Anyway, for my a killer switch is deactivate the "Smooth scroll" on "Advance settings" in Firefox.
hojnikb Posted September 14, 2016 Author Posted September 14, 2016 would it be possible to make a ramdisk script, that would dump the whole firefox install on to ram and run it from there ? After the browser closes, every change gets dumped back to sd card. Just so non emmc users get a better experience. edit: Looks like there is a way on archlinux https://wiki.archlinux.org/index.php/Firefox_on_RAM
manuti Posted September 14, 2016 Posted September 14, 2016 would it be possible to make a ramdisk script, that would dump the whole firefox install on to ram and run it from there ? After the browser closes, every change gets dumped back to sd card. Just so non emmc users get a better experience. In theory, yes. You can find a lot of literature about this: https://wiki.archlinux.org/index.php/Firefox_on_RAM https://fixmynix.com/speed-up-firefox-with-ram-cache-and-tmpfs-linux/ I do not have a clear opinion about using RAM in this way when you don't have a lot of RAM for the rest of the OS and the Web browser. But maybe if you go deep you can share your experiences.
tkaiser Posted September 14, 2016 Posted September 14, 2016 Just so non emmc users get a better experience. Non eMMC users might think about that it's still just about random IO here. And when you compare this with that (look at numbers from Igor's EVO 32GB and from my EVO 64GB) you might end up here. BTW: I bought a couple EVO 64GB a few days ago for 13,-€ each (VAT and shipping included)
rodolfo Posted September 14, 2016 Posted September 14, 2016 I do not have a clear opinion about using RAM in this way when you don't have a lot of RAM for the rest of the OS and the Web browser. Running OS, browsers and all in RAM only is a valid technology with IPXE-booted X86 kiosks. Some 2G RAM and disabled caching did the trick. To burden our tiny gems with all the sophisticated workarounds is a bit too much. I'd go with @tkaiser and make sure you use suitable storage and take meaningful measures to not let firefox be abused by the usual "web experience"
hojnikb Posted September 16, 2016 Author Posted September 16, 2016 Non eMMC users might think about that it's still just about random IO here. And when you compare this with that (look at numbers from Igor's EVO 32GB and from my EVO 64GB) you might end up here. BTW: I bought a couple EVO 64GB a few days ago for 13,-€ each (VAT and shipping included) Can you point me to where you bought EVO cards for 13€ ??
tkaiser Posted September 16, 2016 Posted September 16, 2016 Can you point me to where you bought EVO cards for 13€ ?? http://geizhals.de/samsung-sdxc-evo-64gb-mb-sp64d-eu-a1206094.html -- since I needed 4 and shipping is free above 50€ I ended up with those 13€. I always check this portal for flash sales and stuff like that, a few of those dealers also have an office here in town so if it's 'en route' the next days I order there and have nothing to pay for shipping.
Recommended Posts