Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Questions and Answers for AROS AMIGA OS

Modern Browser for ApolloOS Based On Webkit ?page  1 2 3 

Tito Amigang

Posts 7
13 Mar 2022 06:58


Hello Apollo team

What do you think of the new version of the Wayfarer browser on Morphos, based on recent Webkit engine ?

Is it possible to imagine a similar project or port for Aros68k?

GCC11 improved support for m68k, with libnix, etc., and allows modern cross-compilation from Linux. But some necessary libraries are missing?

Thank you for your comments and reviews... :)


Gunnar von Boehn
(Apollo Team Member)
Posts 6197
13 Mar 2022 08:15


I agree that a modern browser for Amiga would be nice.
The current Amiga browser like Ibrowse,Aweb,Voyager,Netsurf are lacking a lot and can only currently show a limited number of pages.
The genuine Amiga browser are not designed to display modern HTML versions - and this is not something you can easily upgrade. So any hope for "some fixes" to them to get them able to do so is not realistic.
 
Also we need to mind that modern browser are huge beasts and their developer are used to use gigabytes of memory so they are bloated and demanding in resources. So porting such beast will result and something very slow and big.  ... I think they will run not fast on any Amiga.
 


Tito Amigang

Posts 7
13 Mar 2022 10:50


Sure. Webkit engine is the only realistic and sustainable way

Sure this needs lot of ram and cpu

But for Wayfarer browser on Morphos , the minimum required is PPC 400 MHz with 150 Mo RAM ...

Seems not so far of Vampire 4 capacity !?

But without talking about performance, is this porting technically possible?  GCC11 cross-compilation from linux to Aros m68k of this browser : what's missing? which library is missing on Aros68k or gcc-m68k today? why is it more complicated on Aros than on Morphos ?

who can answer ? the Wayfarer browser 's author ? the Aros team ? Aweb / Ibrowse / Voyager authors ? some advised reader of this forum :) ?




Gunnar von Boehn
(Apollo Team Member)
Posts 6197
13 Mar 2022 11:20


What are the requirements?
I think the recall that official requirement was
"Wayfarer will work on any machine running the brand new MorphOS 3.14 with at least 1GB of RAM. A 1.5GHz or faster CPU is recommended."



Tito Amigang

Posts 7
14 Mar 2022 19:32


hello Gunnar
   
yes the recommended config is high, it's true
   
Another question please : where can I find a C SDK on Linux for Aros68k-ApolloOS , if exists ?
   
and or documentation that explains how to install and compile from linux PC to Aros68k-ApolloOS ?
   
I would like to write an article in French (which may be published in Boing Magazine France) which explains:
  - how to test Apollo OS on WinUAE (it's done, it's easy)
  - how to code and port in C under Linux with GCC and cross compil to Apollo OS / Aros 68k, then test the binary on ApolloOS / WinUAE
  - and in conclusion, how to buy a Vampire 4 to test and enjoy on real m68k harware ;)
   
I'm agree , code in assembler on ApolloOS is good solution. The best for games and demos.
   
But for the "C only" developpers community , or for projects logiciels with zune-mui for user interface, or for games project with lib SDL (that coders can easy port and distribute on more plateform for more people), or for some other reasons I'll find soon... :)  , I read than cross compil from linux is good solution.
   
why cross compil from linux PC to Aros68k ?
   
"Building under a slow emulation with obsoleted versions of build tools or on real m68k hardware make the job painful. It makes more sense to create a gnu m68k-amiga cross compiler environment under GNU-Linux or FreeBSD or windows and try building for Aros m68k-amiga target. Transfer files over and test out compatibility with UAE or amiga-forever."
EXTERNAL LINK     
   
I can found lot of puzzle piece on this website but perhaps you have other solution more easy to install and configure this SDK ?
   
Perhaps with GCC 11 ?
EXTERNAL LINK     
 
thanks


Nick Fellows

Posts 176
15 Mar 2022 17:32


Sounds like an amazing goal!


John William

Posts 563
15 Mar 2022 22:00


You are aware even if you managed by some miracle get 100% super fast speed and port it with all the obstacles of gcc, compiler, cpu, blah blah blah... You are still stuck with the obstacle of RAM. V4 (variations) only have 512 MB. The hardware is static and non-upgradeable. You need V5 or V6 before we can even speak.
 
  V4 is ELITE gaming machine and 512 MB is ALL YOU NEED for endless gaming experience. Why not focus on porting awesome games that don't need more than 512 MB of RAM? Why not port cool adventure/rpg games? Why focus on the impossible now? Maybe port applications (useful one) that don't need more than 512 MB? Better email applications...similar to outlook in terms of features and strength? Let us focus on porting a great word processing application that is up to date and can be used with our daily activities or OfficeSuite that don't need more than 512 MB?
 
  Maybe develop a discord like app? Skype like app? All these don't need more than 512 MB. Maybe improve on twitter app with better GUI system? Develop facebook app that allows you to do everything in website facebook, even watch media?


Tito Amigang

Posts 7
16 Mar 2022 09:55


@John : Yes of course. I am okay.
   
1/ My first question was about porting a modern web browser. Vampire 4 is ok for "very minimal" system requirements, not "normal" ones. Ok.
But my question was theoretical, development case study: what software or lib is missing today for the same port on Aros68k .
 
   
.
2/ Now the second question :
   
How to get a C SDK Dev Pack for any project , for C Developer people would like to write C code for Aros68k-ApolloOS from PC. 
   
Not just porting, although a lot of software and games on Aros Depot don't need a lot of RAM , as you said.
   
Some people prefer to code directly on real hardware, prefer assembler vs C. Good.
Some people prefer to code on PC linux or windows, because they use Atom editor, GCC 6+, SDL , or native intuition library ( i found a sdl 68k ammx optimized ). Good. It's my case :)
   
I seek from days on web sites,  can't find easy and recent explains to do It.  Seek on this forum, not found.
   
For example read this topic : a GCC dev pack , aros 68k hosted, 2016 with links broken :
CLICK HERE 
.
So my purpose is to write an article to explain how you can do it now, on linux : install modern C SDK dev pack , write code , cross compile to Aros68k-ApolloOS.  Old C coders can be interessed :)
 
   
I progress : this morning I can compile an Amiga Intuition window "hello world" on debian 11
   
.
Amiga C Code :
   
    #include <proto/exec.h>
    #include <exec/libraries.h>
    #include <dos/dos.h>
    #include <proto/intuition.h>
    #include <intuition/intuition.h>
   
    struct IntuitionBase *IntuitionBase;
   
    int main(int argc, char *argv[])
    {
     
        struct EasyStruct es = {      sizeof(struct EasyStruct), 0UL,      "Requester", "Hello World!", "Ok"    };
     
        IntuitionBase = (struct IntuitionBase *)OpenLibrary("intuition.library", 36);
   
        if (!IntuitionBase)  return RETURN_FAIL;
   
        EasyRequestArgs(NULL, &es, NULL, NULL);
        CloseLibrary((struct Library *)IntuitionBase);
   
        return RETURN_OK;
    }
 
   
.
Compile this code on Linux debian 11 :
   
  m68k-aros-gcc test2.c -o ztest2
 
.
Check :
   
  file ztest2
 
  ztest2: ELF 32-bit MSB relocatable, Motorola m68k, 68000, version 1 (AROS Research Operating System), not stripped
   
   
.
Copy this fresh binary to my share directoy mounted on WinUAE / Apollo OS 8 :
   
  scp root@vps:/root/aros/ztest2  /nextcloud/amiga-echange/
   
.
Test it on Apollo OS :
  EXTERNAL LINK 
   
   


Nick Fellows

Posts 176
16 Mar 2022 12:23


I for one want to see your idea come to fruition as I too would also like to code this way. I hope you get the support you need, thankyou for your work so far and i hope to test this out soon!
 
  Brilliant work , keep it up!


Tito Amigang

Posts 7
10 Aug 2022 06:15


Programming language: Amiga C/C++ Visual Studio Code Extension 1.5.0

Bartman', member of the demo group 'Abyss', provides with 'amiga-debug' a 'Visual Studio Code' extension for "compiling, debugging and profiling Amiga C/C++ programs compiled by the bundled gcc 11.2 with the bundled WinUAE"

overview and download : https://github.com/BartmanAbyss/vscode-amiga-debug#overview

video youtube : EXTERNAL LINK 


Samuel Crow

Posts 424
13 Aug 2022 06:04


Bartman's compiler lacks C++17 runtime libraries used by WebKit.  Bebbo's GCC 6.5b compiler has better C++ support but is not a new enough compiler for WebKit.

I think John's earlier idea to make a dedicated forum/messenger app is much more promising.  I considered writing such an app in Hollywood using the Hurl and MUI Royale extensions.  The current version of Royale doesn't support clickable inline objects but I pointed out some documentation to Andreas Falkenhahn about adding it to the next version.

The other limitation is that the forum you want to interface with needs to have a complete ReST interface.  Discourse has this but has steep requirements for up-to-date browsers outside the custom app (if that even matters).  The reason I mentioned Discourse is that the browser support accesses the server exclusively through a ReST interface.


Gunnar von Boehn
(Apollo Team Member)
Posts 6197
21 Aug 2022 07:59


tito amigang wrote:

programs compiled by the bundled gcc 11.2

Is the 68K code generation of GCC 11.2 better or worse than code generation of Bebbos GCC 6.5?

As you know the quality of 68k code generation did massively degrade after GCC 2.9. Bebbo fixed this partly on his branch.



Peter Persson

Posts 12
21 Aug 2022 08:32


To be honest guys. The 080 is massively faster than previous (controversial wording there) 68k generations. And certain things can be optimised as hell using the new ISA.

However. Running a browser on it isn't even remotely fair. It doesn't do the machine justice.

I'll probably get a public beating for saying this, but... It'd make more sense to have like a slave CPU, a slot for a raspberry PI or something with a dual port memory or similar, just for web rendering. Or wait for the 32 core 090 ASIC implementation and lots of gigs of RAM (I know of the 2 gig limitation in AmigaOS, but still).

Then again, things could perhaps change if we get a version of GCC that can actually take advantage of the new register set and instructions. I don't know.

Sorry for pooping the party; of course I want a web browser. I'm just thinking out loud.


Stephan Hamers

Posts 22
21 Aug 2022 17:20


No worries mate, I myself was thinking of a raspberry implementation of JUST the video out(replacing the Denise chip) to a DIGITAL-VIDEO output. :)
Or maybe integrating a hardware version of whatever a browser has to do on the FPGA if there's any room left.
And for that memory usage, if the amount of gfx that you cache doesnt go way beyond the 450MB or so, you can't convince me that the core of the browser really needs to be that big.
Or something in all those years has changed that makes code also hundreds of megabytes........
Please correct me if I'm waaaay off... :)

GreetZ!


Gunnar von Boehn
(Apollo Team Member)
Posts 6197
21 Aug 2022 17:34



Either run it on Amiga on 68k or just use your windows for surfing!




Roy Gillotti

Posts 517
21 Aug 2022 19:43


Honestly I just used twinVNC to remote to my Linux machine with a modern browser, It's a capable VNC client and network speeds of the Vampire is good enough for a decent browsing experience. Also file sharing with SMB mount makes it nice for transferring files back to the Amiga.


Fred Cahill

Posts 1
11 Dec 2022 18:05


Tito, it maybe possible if you focus making it based on the limitations, such as not having tabs. Only 1 view, could store bookmarks, make it incognito only so as not store junk. Block pop up’s from cross sites, only add exceptions for allowing for login via google, Facebook etc, but a limited list. The hardest part would me making it support modern JavaScript, if you create an optimized JavaScript engine I think you will be mostly there. Then for playing media, would be another large task, if you can get a team together to work on it I think it maybe possible but develop based on limitation of resources.


Steve Ferrell

Posts 424
12 Dec 2022 00:25


Even if the programming difficulties could be overcome and a Webkit-based browser was created for 68K, it would be painfully and ridiculously slow on a CPU running at 200 MIPS.  Just load Opera or one of the early versions of FireFox that still run under Windows 98 or XP on a 200 MIPS Intel CPU and you'll quickly understand why no one will even attempt a WebKit port to 68K.  Pages literally take minutes to load, not seconds and it isn't due to any network bottlenecks.  A 200 MIPS CPU simply doesn't have the horsepower to browse the modern internet unless you're wanting to visit the simplest of pages such as Amiga.org or this forum as examples.  If the Apollo core ever gets ASIC status, then yes, it might make sense.  But as it stands now at 200 MIPS, no programmer in his right mind is even going to attempt a WebKit port to 68K.


Gunnar von Boehn
(Apollo Team Member)
Posts 6197
12 Dec 2022 09:36


Hello Folks,

For Amiga we do have three native browsers.
A) Aweb
B) Voyager
C) Ibrowse

All three of them are very good for browsing light sites like this forum or Aminet.

All three of them are fast and slim and run perfectly swift on Amigas.

Aweb and Voyager are both OpenSource meanwhile and could be improved by the Amiga Community.
Ibrowse is not open source.

Another opensource option is Netsurf. Netsurf comes originally from Achimedes.




Samuel Crow

Posts 424
12 Dec 2022 19:06


Adding to what has been said here, modern web apps even on modern systems are recognizing that web browsers are the source of huge bottlenecks and bloat.  Dart's Flutter framework uses WebGL or WebGPU to render its GUIs because the DOM is so inefficient.  Now Google has written an LLVM backend called Dart native that generates native GTK GUIs on my Linux box.  The simple example included with Dart compiled to a 20kbyte executable under Dart Native.

I mentioned before that Hollywood's MUI Royale plugin would be getting the ability to embed GUI widgets in version 2.0 inside word-wrapped text gadgets.  Even Hollywood is bloatware compared to the native code generated by Dart Native now.

Having used Wayfarer on my PPC Mac Mini with a 1.5 GHz G4, I can tell you that WebKit needed a shoehorn to fit into even 1 gig of RAM.  Wayfarer has interpreted Javascript only.  The JIT in WebKit_GTK is easily half the code in the library, as compiled on x64 Haiku.

I can say with a high degree of confidence that the best way to support Amigas on the internet is to ditch the web browser.  Make native internet apps in AmigaE.  Also, ditch modern C++ in favor of an easier language.  Both CppFront (Microsoft) and Carbon (Google) are attempts at replacing the cryptic C++20 syntax with something easier to learn.

posts 45page  1 2 3