AROS Exec

Development => Development (General) => Topic started by: NinjaCowboy on January 15, 2019, 04:13:15 PM

Title: Status of Raspberry Pi native support
Post by: NinjaCowboy on January 15, 2019, 04:13:15 PM
What is the current status of getting AROS up and running on the Raspberry Pi? I looked into this years ago, and some developer was having trouble getting the USB to work. I've done some bare metal programming for the Pi, and it would be fun to help improve hardware support. Can someone point me to documentation on compiling AROS, how the repository is organized, and driver development?
Title: Re: Status of Raspberry Pi native support
Post by: nikos on January 15, 2019, 04:27:38 PM
Mschulz. The father of AROS picked up the Pi port again a few months ago.
Seams he is very close to a AROS Pi native image where we can all play around with it.

https://www.patreon.com/michal_schulz/posts

The AROS night builds are here.

http://www.aros.org/nightly1.php

I don't see any arm build yet, but pretty sure it will show up soon. I can see Mschulz commited some code recently.

I'm sure he is very interested in help with drivers.

It is a very exiting project. It is for sure a platform AROS could be popular.
Title: Re: Status of Raspberry Pi native support
Post by: NinjaCowboy on January 15, 2019, 04:42:27 PM
That's great news! I thought the Raspberry Pi project had died.


In some ways, the Raspberry Pi is an ideal platform for AROS. It's inexpensive, popular with hobbyists, and has few hardware configurations to support compared to PCs.
Title: Re: Status of Raspberry Pi native support
Post by: nikos on January 15, 2019, 05:00:33 PM

In some ways, the Raspberry Pi is an ideal platform for AROS. It's inexpensive, popular with hobbyists, and has few hardware configurations to support compared to PCs.

Exactly. It is not very likely people would buy expensive hardware for this OS. AROS is, and will most likely always be a fun platform for multimedia, games.
I don't see the point being an Linux alternative. There are limitations in AROS regarding security, memory protection that are very hard to overcome.
That does not matter much as long as we focus at where we are good and what made the Amiga great in the first place. How boring is not the security part of Linux with sudo this and that. I don't see it welcome in AROS what so ever. That is at least how I think about this OS.

As you say the Pi is a specific hardware platform that does not need tons of different drivers. Everyone can afford it. It is small (does not take up much space)
Even sceners could be interested in this platform. What can you make out of a Pi :D
 
We can even put a Pi into a laptop. I know it's been done already :)

The CPU is not that powerfull, but it will be more powerfull in years to come.
The GPU is quite good. That is something we must take advantage of. Just like in the Amiga days with custom chips.

Do you know anything about the GPU in the Pi and how to program it?



 
Title: Re: Status of Raspberry Pi native support
Post by: dizzy on January 15, 2019, 05:42:58 PM
What is the current status of getting AROS up and running on the Raspberry Pi? I looked into this years ago, and some developer was having trouble getting the USB to work. I've done some bare metal programming for the Pi, and it would be fun to help improve hardware support. Can someone point me to documentation on compiling AROS, how the repository is organized, and driver development?

It's best to develop under Linux. AROS build system can make a cross compiler for your platform. Build system uses metamake, takes a bit to get used to, but it does it's job if not asked too much.

For driver development you should know how Exec works (library and device) and how messages are passed around. Then comes the AROS macros to actually define the LVO's...

There is only host mode support for USB, we have no VID/PID nor code in Poseidon (USB stack) for having it behave as a device. No OTG.

For USB driver development the USB specs are a source of good information... Poseidon drivers can be programmed with that information. There are the working PCIUSB driver (all nicely bundled together OHCI/UHCI/EHCI) and couple not so working examples of my conception (XHCI and somewhat working libusb based hosted implementation VUSBHCI, virtual usb host controller interface)
Title: Re: Status of Raspberry Pi native support
Post by: NinjaCowboy on January 16, 2019, 05:29:44 PM
I'm not familiar in-depth with the inner workings of AROS, but I do know quite a bit about how operating systems work in general.
As I understand it, AROS uses a microkernel called Exec, and all drivers run in userspace. I don't really know the architecture of the driver system, but they seem to use BOOPSI, or something like it for an object oriented approach. Poseidon seems to be the USB stack (Cute name, haha, since the USB logo looks like a trident), but I'm not sure exactly what functionality it provides over what the drivers do.

I have programmed the VideoCore, but that was just using Broadcom's closed source userspace libraries on Linux. Nothing bare metal. There does seem to be Gallium3D support for it, which is good news.
Title: Re: Status of Raspberry Pi native support
Post by: dizzy on January 16, 2019, 09:07:32 PM
Poseidons preference program is called Trident, it's not a coincidence.

For coding a driver you first need to understand Exec signals, messages, iorequests and lists.

For a driver (device normally) there are only a few "functions" DoIO, SendIO etc. The details are in the IO request fields. Take a look at the VUSBHCI driver. There's no hw stuff, only high level code for Poseidon driver and libusb.

VUSBHCI is also much more readable as I've put everything in plain sight in structures. You will recognize usb spec things in it and how things are passed around.
Title: Re: Status of Raspberry Pi native support
Post by: dizzy on January 16, 2019, 09:23:38 PM
Poseidon is the main USB code, it doesn't know by itself anything about the hardware. Driver code is attached to it. Poseidon takes care of all the preferences, classes and drivers. Drivers only try to satisfie higher level requests from Poseidon or it's classes more specificly.

Every driver has to have a roothub as per usb spec. Roothub represents your hw. Roothub has ports, these are the physical ports that the host controller has (doesn't have to be... You could also implement a virtual port and have virtual devices attach)

hub.class calls your roothub and your driver has to respond to roothub requests. It's all in the usb specs. Poseidon doesn't yeat know anything about usb 3.x requests. Driver also responds to requests to the physical device and conveys messages between the host and device.
Title: Re: Status of Raspberry Pi native support
Post by: NinjaCowboy on January 17, 2019, 05:15:19 PM
Thanks for the info. I'll try setting up a cross compiler on my Linux machine tonight. Should I be using ABI v0 or v1? Are the latest RPi developments on this branch? https://github.com/ezrec/AROS-mirror/tree/ABI_V1/AROS
Title: Re: Status of Raspberry Pi native support
Post by: nikos on January 17, 2019, 05:22:00 PM
Set up for abi v.1
It is always possible to backport to abi v.0 if needed.
Hopefully everything will be abi v.1 some day.
It is only for the x86 cpu we are still are using abi v.0
The reason for this is that we have a lot of software for that platform. Abi v.1 is not 100% ready either so it will be broken again and then another recompile of software is needed.
For arm, amd64, 68k it is all abi v.1
I don't think Mschulz have commited all the new stuff for Pi.
He come around here from time to time. Guess he is the best to answer that question.
Title: Re: Status of Raspberry Pi native support
Post by: NinjaCowboy on January 18, 2019, 01:28:58 AM
I tried compiling, but got this error.
Code: [Select]
Link failed: /home/user/programming/aros-rpi/bin/linux-x86_64/tools/crosstools/arm-aros-gcc /home/user/programming/aros-rpi/bin/raspi-arm/gen/developer/debug/test/misc/getcpuinfo.o -o /home/user/programming/aros-rpi/bin/raspi-arm/AROS/Developer/Debug/Tests/misc/getcpuinfo  -lpthread
There are undefined symbols in '/home/user/programming/aros-rpi/bin/raspi-arm/gen/developer/debug/test/misc/getcpuinfo':
         w __cxa_begin_cleanup  /home/user/programming/aros-rpi/bin/linux-x86_64/Ports/host/gcc/gcc-4.6.4/libgcc/../gcc/config/arm/unwind-arm.c:1094
         w __cxa_call_unexpected        /home/user/programming/aros-rpi/bin/linux-x86_64/Ports/host/gcc/gcc-4.6.4/libgcc/../gcc/config/arm/unwind-arm.c:1208
         w __cxa_type_match     /home/user/programming/aros-rpi/bin/linux-x86_64/Ports/host/gcc/gcc-4.6.4/libgcc/../gcc/config/arm/unwind-arm.c:1174
I can't find those functions anywhere in the code base. Apparently, they're generated by C++ code, even though getcpuinfo is written in C, not C++.
Title: Re: Status of Raspberry Pi native support
Post by: x-vision on January 19, 2019, 05:46:40 PM
https://www.patreon.com/posts/better-is-worse-24050291

New entry about the progress of the project. Not very good in the short term, but maybe great in the long one: having a good and robust FAT driver is very important.

Anyway it's also good to see it is still alive, progressing, and close to a 1st release. Interesting times ahead.
Title: Re: Status of Raspberry Pi native support
Post by: NinjaCowboy on January 19, 2019, 06:09:12 PM
Awesome. Looks like some nice progress. Why is big endian ARM targeted instead of little endian, which ARM traditionally uses? Is it to make it easier to emulate software for the Motorola 68k, which is also big endian?
Title: Re: Status of Raspberry Pi native support
Post by: Samurai_Crow on January 19, 2019, 09:14:36 PM
Awesome. Looks like some nice progress. Why is big endian ARM targeted instead of little endian, which ARM traditionally uses? Is it to make it easier to emulate software for the Motorola 68k, which is also big endian?
Exactly!  Now you get it!

It's reasons like this that MorphOS and AmigaOS 4 can JIT 68k code quickly and seamlessly while AROS x86 stumbles along with a UAE derivative emulator.  That and that many open source projects use AmosPro, AmiBlitz and AmigaE or other programming languages that don't run with little endian CPU support.
Title: Re: Status of Raspberry Pi native support
Post by: x-vision on January 19, 2019, 10:08:26 PM
Awesome. Looks like some nice progress. Why is big endian ARM targeted instead of little endian, which ARM traditionally uses? Is it to make it easier to emulate software for the Motorola 68k, which is also big endian?

It was explained in an old entry. Too long explanation and too little time for me right now to enter into detail again
Title: Re: Status of Raspberry Pi native support
Post by: nikos on January 20, 2019, 12:57:47 AM
If there is one thing that we need for the Pi port, it is the Amiga 68k stuff running.
 
Title: Re: Status of Raspberry Pi native support
Post by: NinjaCowboy on January 20, 2019, 02:53:36 PM
Awesome. Looks like some nice progress. Why is big endian ARM targeted instead of little endian, which ARM traditionally uses? Is it to make it easier to emulate software for the Motorola 68k, which is also big endian?
Exactly!  Now you get it!

It's reasons like this that MorphOS and AmigaOS 4 can JIT 68k code quickly and seamlessly while AROS x86 stumbles along with a UAE derivative emulator.  That and that many open source projects use AmosPro, AmiBlitz and AmigaE or other programming languages that don't run with little endian CPU support.

What does the PowerPC version of AROS use for emulation? While it's easier to use the same endianness, I doubt it's that big of a performance barrier. The only instructions affected are those that read and write to memory, and those are slow anyway because memory speed is always a bottleneck in modern computers. x86 also has fast byte swapping instructions that can be used.
Title: Re: Status of Raspberry Pi native support
Post by: wawa on January 20, 2019, 03:21:28 PM
aros has no tranparent emulation like morphos or os4 at this time. so far it is janus uae afaik, a version of winuae, with a mui frontend, (coorect me if im wrong). michal is inclined to add that transparent emu  layer, on pi since it would make sense on big endian host.
btw. are you compiling/building armeb (big endian taget)?
if you share your mail with me (pm?) i can invite you to the slack channel michal is monitoring. also you could get there other assistance what concerns aros concepts and details from experienced developers who might not post here.
Title: Re: Status of Raspberry Pi native support
Post by: Samurai_Crow on January 20, 2019, 07:47:13 PM
What does the PowerPC version of AROS use for emulation? While it's easier to use the same endianness, I doubt it's that big of a performance barrier. The only instructions affected are those that read and write to memory, and those are slow anyway because memory speed is always a bottleneck in modern computers. x86 also has fast byte swapping instructions that can be used.
To use a BSwap opcode on 486+ the JIT would have to be specially written to use it or a big endian version of x86 AROS using a custom C backend in GCC would have to be written.  Either would be difficult to maintain and would be noticeably slower than regular AROS.

AMD64 has byte swapping load and store opcodes. But they still don't support the reads built upon the CISC style addressing modes present so those wouldn't be faster than BSwap.

Having a global big endian mode like ARM7 and MIPS use are definitely advantageous in these situations.
Title: Re: Status of Raspberry Pi native support
Post by: cdimauro on January 20, 2019, 10:56:25 PM
AMD64 has no byte swapping load and store opcodes. If you refer to MOVBE, it was first introduced on Intel's Atoms, and then on subsequent Intel's processor. Later it was also implemented on AMD processors.

So, MOVBE isn't part of the standard AMD64 ISA, but only some processors have it (there's a CPU flag to check for its presence).

MOVBE is definitely MUCH better than BSWAP, because it allows to load and store BE data using any x86/x64 addressing modes, which is a vast improvement over the BSWAP. And performances gained much more benefits compared to the latter.
Title: Re: Status of Raspberry Pi native support
Post by: NinjaCowboy on January 21, 2019, 12:49:34 AM
Well, I meant that you can still use any of your x86 load/store instructions within whatever addressing mode. The only difference would be that you'd insert a bswap/xchg instruction before storing and after loading. There's no reason to modify GCC or anything, as this would only occur in the code generated by the JIT in the m68k emulator.

Back on topic, I think making the Pi version big endian is quite interesting, since I don't think anyone has ever run a big endian OS on the Pi before.
Title: Re: Status of Raspberry Pi native support
Post by: mschulz on January 21, 2019, 02:55:36 PM
Quote
Well, I meant that you can still use any of your x86 load/store instructions within whatever addressing mode. The only difference would be that you'd insert a bswap/xchg instruction before storing and after loading. There's no reason to modify GCC or anything, as this would only occur in the code generated by the JIT in the m68k emulator.

No you can't. This has been discussed many many times on different forums already. Since any Amiga-like OS shares its all internals with all running programs you have to use the same endianness for both the OS and applications. Because of that you cannot make BigEndian m68k emulation layer for LittleEndian x86 AROS, because you never know what kind of access you are translating and if there is a need for endian swap or not. Besides your translated binaries would be lost if they would fetch data as multiplies of the type size (e.g. 4 UBYTEs fetched as one ULONG).
Title: Re: Status of Raspberry Pi native support
Post by: nikos on January 22, 2019, 10:39:14 AM
Update again :)
Now USB works as should :)

https://www.patreon.com/posts/c-standard-and-24108999
Title: Re: Status of Raspberry Pi native support
Post by: dizzy on January 22, 2019, 12:47:30 PM
Great!  :) Could a well placed volatile make a difference how GCC treats things?
Title: Re: Status of Raspberry Pi native support
Post by: NinjaCowboy on January 22, 2019, 04:05:04 PM
Quote
Well, I meant that you can still use any of your x86 load/store instructions within whatever addressing mode. The only difference would be that you'd insert a bswap/xchg instruction before storing and after loading. There's no reason to modify GCC or anything, as this would only occur in the code generated by the JIT in the m68k emulator.

No you can't. This has been discussed many many times on different forums already. Since any Amiga-like OS shares its all internals with all running programs you have to use the same endianness for both the OS and applications. Because of that you cannot make BigEndian m68k emulation layer for LittleEndian x86 AROS, because you never know what kind of access you are translating and if there is a need for endian swap or not. Besides your translated binaries would be lost if they would fetch data as multiplies of the type size (e.g. 4 UBYTEs fetched as one ULONG).

Yeah, I thought about it more, and realized that wouldn't work in unioned fields that are read both in words and bytes. It wouldn't be a problem if the m68k code was emulated in isolation (like UAE), but it wouldn't work for memory that's accessed by both the native x86 and emulated m68k code.
Title: Re: Status of Raspberry Pi native support
Post by: NinjaCowboy on January 22, 2019, 04:59:04 PM
Congrats on getting Poseidon running! Making the pointer volatile should prevent the use of ldm. I think the best solution would be to use _attribute_((aligned(4))) where that buffer is defined in order to force the compiler to align it to a 4 byte boundary. Unaligned access is still a performance penalty even though the hardware supports it. If that's not possible (due to a packed struct or something where the field absolutely cannot be aligned) then volatile should work, or maybe a macro that assembles a long from individual bytes if you want to be more portable.
Title: Re: Status of Raspberry Pi native support
Post by: mschulz on January 22, 2019, 07:00:52 PM
Quote
Making the pointer volatile should prevent the use of ldm.

Since preventing from fetch merge through ldm is just a side effect of volatile, I will avoid overusing it as much as possible. It's not what volatile is meant for.

Quote
I think the best solution would be to use _attribute_((aligned(4))) where that buffer is defined in order to force the compiler to align it to a 4 byte boundary

That would not help. Originally it has even better alignment since the memory area comes from AllocMem call, but unfortunately IFF is internally packet to 2 byte boundary so it wouldn't help at all.

Quote
or maybe a macro that assembles a long from individual bytes if you want to be more portable.

This is exactly what I did as you can read on my Patreon page :) Actually I have not used a macro but rather static inline function.
Title: Re: Status of Raspberry Pi native support
Post by: Argo on July 12, 2019, 07:09:55 AM
Ping!
Now that there is a new Pi out getting the shake down
Title: Re: Status of Raspberry Pi native support
Post by: mschulz on July 13, 2019, 02:44:59 PM
Quote
Now that there is a new Pi out getting the shake down

Hi! Sorry for no actual status reports. So far I have spent a lot of time fighting with AROS ABI for ARM. I'm at a stage where I have real executable files with all information I need inside, but the GNU's linker has some issues making a bootstrap binary from them. Apart from that I have fixed ARM crosscospiler build - the gcc 9.1, and at the moment I am adapting compiler flags in order to let the ARM port behave the same as x86/x86_64/m68k.

And yes, I have RasPi4 on my desktop. Good news there - it does not use the DWC2 OTG usb controller which brought me sleepless nights and headaches. Instead, they have there XHCI controller on one PCIe lane.
Title: Re: Status of Raspberry Pi native support
Post by: ntromans on July 14, 2019, 09:40:04 PM
That really is fantastic news - over the last couple of weeks I've been looking at putting an RPi 4 system togeter to replace my aging x86 laptops (and it's going to be reasonably straighforward as there's an embarassment of screens, power supplies and, well, everything for those boards) and it's great to know I might have an alternative to having to run Raspian.

Cheers,
Nigel.
Title: Re: Status of Raspberry Pi native support
Post by: nikos on July 15, 2019, 02:17:57 PM
Great to hear there is progress. Does this meen that AROS Pi will first of all be for Pi 4?
I guess it is no point fighting more with the USB interface on the older Pies.   
Title: Re: Status of Raspberry Pi native support
Post by: BSzili on August 08, 2019, 01:34:19 PM
I'm thinking about getting a Raspberry Pi for AROS, but I'm not quite sure which models will be supported. I don't really need the performance (or the heat  ;D) of the RPi 4 so an RPi 2B would be better for me, if AROS will run on it. Any advices?
Title: Re: Status of Raspberry Pi native support
Post by: nikos on August 08, 2019, 04:21:04 PM
I'm thinking about getting a Raspberry Pi for AROS, but I'm not quite sure which models will be supported. I don't really need the performance (or the heat  ;D) of the RPi 4 so an RPi 2B would be better for me, if AROS will run on it. Any advices?

I would go for model 4. There are something with the USB hardware on earlier models that are very difficult to deal with.
I know Mschulz have model 4 now. It is still best to hear it from him. He have not said anything official about it.
I'm also looking forward to the Pi port. It is the most exiting Amiga like project in my opinion. Let's hope it will be a success.
Title: Re: Status of Raspberry Pi native support
Post by: BSzili on August 08, 2019, 05:25:30 PM
I know about the USB ordeal, I was following the Patreon updates about it. According to this post it's almost there, so it would make no sense to throw it all away because of the Pi 4 is there:
https://www.patreon.com/posts/raspi-code-in-24407450
This is why I'd like to know which versions of the Pi will be supported.
Title: Re: Status of Raspberry Pi native support
Post by: nikos on August 08, 2019, 06:49:55 PM
BSzili: I sent message to Mschulz. He say there will be AROS for Pi4.  It will be much faster than previous Pi versions too. From what we know maybe there will never be AROS for more early Pi versions cause of the problem with the USB controller. It is a no brainer if you ask me.
Title: Re: Status of Raspberry Pi native support
Post by: BSzili on August 08, 2019, 11:38:10 PM
Then there's no question, I have to get a Pi4 for AROS. I'll wait for the new Flirc case is released for it, because it doubles as a heatsink, so you don't need any additional fans. I hope it won't dampen the WiFi signal too much, although I have a pretty beefy router at home.
Title: Re: Status of Raspberry Pi native support
Post by: nikos on August 09, 2019, 01:15:31 AM
Then there's no question, I have to get a Pi4 for AROS. I'll wait for the new Flirc case is released for it, because it doubles as a heatsink, so you don't need any additional fans. I hope it won't dampen the WiFi signal too much, although I have a pretty beefy router at home.

Does Pi4 generate much more heat than previous versions?
Title: Re: Status of Raspberry Pi native support
Post by: Argo on August 09, 2019, 06:42:31 AM
Yeah, the Pi4 has thermal throttling issues under heavy loads   Even with the recent patch to adjust voltages
Quite a few YT videos on it
Title: Re: Status of Raspberry Pi native support
Post by: BSzili on August 09, 2019, 01:11:08 PM
How much memory will the native Pi port of AROS support? Since the 68k integration is planned, will it be limited to 31-bit addressing (2 GB), like MorphOS?
Title: Re: Status of Raspberry Pi native support
Post by: nikos on August 09, 2019, 03:20:24 PM
How much memory will the native Pi port of AROS support? Since the 68k integration is planned, will it be limited to 31-bit addressing (2 GB), like MorphOS?

That is a good question. As you say for classic integration it must be 31-bit.
Title: Re: Status of Raspberry Pi native support
Post by: x-vision on August 10, 2019, 09:21:10 AM
How much memory will the native Pi port of AROS support? Since the 68k integration is planned, will it be limited to 31-bit addressing (2 GB), like MorphOS?

Hope that doesnt happen. 68k apps will run fine through the 64bits emulator (specially if it has jit) for most cases, so it would be an absurd to throw away 2gb just to run old apps a tiny bit faster.

We are always saying that Pi must be reference platform for Aros, so it would be a bad referece distro.
Title: Re: Status of Raspberry Pi native support
Post by: nikos on August 10, 2019, 11:50:44 AM
The problem here is that is if we want to run classic stuff as it was native. That was the plan, but I don't know if Mschulz have taken any final desition about this. As we all know classic stuff can also be hit and miss regarding different amiga models, extra ram, more powerfull 68k CPU and so on. All this can be adjusted within the GUI of some emulator. Sure the binary compatible AROS arm version could also have some emulator where these things can be adjusted. What I'm afraid of is as everything go 64-bit it will be difficult to port future Amiga emulators.
There are hit and miss for any options. Loosing 2GB memory is not as bad as loosing 3 cores.
Even if AROS has proven to run multicore it will break most compatibility with software from what I learned.

The way I see it.

1. Be binary compatible with Amiga classic + easy to recompile NG Amiga software. Will have limitation of max 1 core + 2 GB memory.
2. Fork AROS and start something new. Will be 64-bit, multicore and maybe even have memory protection. Run classic in an emulator like WinUAE and maybe it would even be possible with some AROS classic emulator.
3. Use AROS-64 as is with limitation of 1 core.

Option 2
We might atract a lot of intrest from outside Amiga land. I still think the development time before we have something usefull will be years. It is for sure more future proof.

Option 1
More safe. We will have lot's to play with from day 1.

Option 3
Same as Option 1 but not binary compatible with classic. 

I'm pretty sure we could make a poll and Mschulz will take that into consideration.

Personaly I think I'm for option 3 with a port of recent WinUAE to run classic. Someone with enought knowledge like Mschulz should explain the technical advantages, disadvantages.

If option 1 could run most classic. games, demos, programs like native I'm for that one. 

I understand people want different things from AROS. Some want it to be everything OS like Linux or Windows.
For me I like it to be a fun platform like Amiga was. Trackers, pixel gfx and old school games. Not realy any need
for multicore or 4GB of ram for any of that.
8MB of ram is plenty to run any whdload game from Amiga 1200 ;)
Most Amiga games every made ran on 500k memory :D

I know things changed but even today 2GB of memory will do for most. I don't see that as a huge limitation ;)
 
Title: Re: Status of Raspberry Pi native support
Post by: x-vision on August 10, 2019, 02:41:19 PM
The problem here is that is if we want to run classic stuff as it was native. That was the plan, but I don't know if Mschulz have taken any final desition about this.

First of all, althought the poll thing is a good idea, I won't go for any option, because we are just talking, while very smart people is programming it, so I will respect their decision (agreeing to it or not). I just wanted to remember to take some perspective and express my dissapointment if we are not taking into account what Aros really is, and what purpose an eventual Pi4 version could serve.

I understand people want different things from AROS. Some want it to be everything OS like Linux or Windows.
For me I like it to be a fun platform like Amiga was. Trackers, pixel gfx and old school games. Not realy any need
for multicore or 4GB of ram for any of that.
8MB of ram is plenty to run any whdload game from Amiga 1200 ;)
Most Amiga games every made ran on 500k memory :D

I know things changed but even today 2GB of memory will do for most. I don't see that as a huge limitation ;)

We have already a very powerful and superfunny Amiga on Pi with Amiberry

https://www.youtube.com/watch?v=A3DRZQHZMPw

Which drive us again to my previous question: What will be the point in porting an Aros version which will offer very little advantages and a lot of inconveniences against that?? it's kind of pointless.

We said a thousand times that Pi 4 can be a platform to attract new developers to Aros, but it will not attract any new developer if you tell them: No, you cannot use all the memory. No, you cannot use all the cores. No, you have these and those limits. And also this list of issues. And this and that is 90s stuff. Imagine what they will think and do...

Now that the work on ABI 1, 64 bits and multicore (and even OpenGL) is going somewhere, it seems like the perfect moment to create a "clean" version of Aros with all these features, with a minimal distro as base to start porting apps, which surely will take some effort, but not too much, and soon will have a lot of the already existing software ported. With a decent IDE and a browser, it will be the ONLY way to attract new developers (or returning old ones) and users.
Title: Re: Status of Raspberry Pi native support
Post by: BSzili on August 10, 2019, 06:56:22 PM
Let me turn that question back at you: what would your "clean" AROS port that has virtually no software available offer compared to Linux? People with nostalgia would play around with it a bit, and then go back to Linux and Amiga emulation. An x64 port of MorphOS would face the same issue. On the other hand, if it offers the same level of 68k integration as MOS or OS4 currently on PPC, then you have an NG Amiga OS that can run system friendly Amiga programs out of the box, and could potentially offer more features for native software (access to more memory, set the processor affinity for threads, etc.). This is why Michal decided to target big endian ARM to begin with.
Title: Re: Status of Raspberry Pi native support
Post by: nikos on August 10, 2019, 07:09:56 PM
Let me turn that question back at you: what would your "clean" AROS port that has virtually no software available offer compared to Linux? People with nostalgia would play around with it a bit, and then go back to Linux and Amiga emulation. An x64 port of MorphOS would face the same issue. On the other hand, if it offers the same level of 68k integration as MOS or OS4 currently on PPC, then you have an NG Amiga OS that can run system friendly Amiga programs out of the box, and could potentially offer more features for native software (access to more memory, set the processor affinity for threads, etc.). This is why Michal decided to target big endian ARM to begin with.

+1

You can not make a new 64-bit system supporting multi-core etc. etc. and think that you can port back any classic software like DOpus. A fork of AROS "Amiga OS structure" would require new development suite, it would require so many developers and time that it will not very likely ever be a success.

Amiberry is nothing more than a classic 68k emulator that sucks. At least compared to WinUAE.

AROS for Pi will be a mix of classic and NG. 
Title: Re: Status of Raspberry Pi native support
Post by: x-vision on August 10, 2019, 10:44:58 PM
Let me turn that question back at you: what would your "clean" AROS port that has virtually no software available offer compared to Linux? People with nostalgia would play around with it a bit, and then go back to Linux and Amiga emulation. An x64 port of MorphOS would face the same issue. On the other hand, if it offers the same level of 68k integration as MOS or OS4 currently on PPC, then you have an NG Amiga OS that can run system friendly Amiga programs out of the box, and could potentially offer more features for native software (access to more memory, set the processor affinity for threads, etc.). This is why Michal decided to target big endian ARM to begin with.

Are you comparing with Linux? really there was no better answer than that?? that option is always there, but I didn't mean that the first version it is aimed at new users, and the porting of apps is not so hard, as Paolo is already proving and doing. ;)

But Aros is precisely for people who don't like linux for many reasons, because there are reasons for that, but you have to offer a viable alternative. Something kind of serious. It was said so many times here that a lot of users could like it for their Pi because its ease of use against the demanding knowledge of linux. And it could even compete in responsiveness.

Or ok: forget it. Let's stick forever behind everything else and being always supporting ancient features with ancient solutions until we get completely dissolved in computing history, as it is already happening. I say there is a chance for having a future, you say there is no future, let it die peacefully.
Title: Re: Status of Raspberry Pi native support
Post by: BSzili on August 10, 2019, 11:38:37 PM
Or ok: forget it. Let's stick forever behind everything else and being always supporting ancient features with ancient solutions until we get completely dissolved in computing history, as it is already happening. I say there is a chance for having a future, you say there is no future, let it die peacefully.
That's exactly what my goal is, so I'm glad we agree at least on this point  ;)
Title: Re: Status of Raspberry Pi native support
Post by: nikos on August 10, 2019, 11:49:38 PM
x-vision:  Why do you think porting of apps. is not so hard? It is cause it is from other Amiga ports that we are compatible with. No offence to Paolo but he did not port any advanced stuff.
At once we break Amiga compatibility it is very hard porting software from anything. Even how powerfull AROS have been compared to other Amiga like platform it is not we took huge advantage of it. Why you think Amiga classic is way more popular than any Amiga NG system? It is cause it have lot's of good software and games. I don't even see the need for so up to date hardware. Greatest update to PC hardware the last years been SSD unless you like to play the most advanced games.

Regarding Pi we will have a very cheap NG Amiga system. If people like BSzili will use it I'm sure he will port lot of stuff to it as he already done to AROS. That will at least make me happy. It is something for fun. Whatever Amiga system will die when we are gone. I agree ;)
Title: Re: Status of Raspberry Pi native support
Post by: cavemann on August 11, 2019, 04:26:57 AM
Personally I have no interest in Pi, but it's obvious there is enough interest for AROS to explore that direction. Although, I'll bet that some out there would prefer to see Os4 on Pi.   ::)
Title: Re: Status of Raspberry Pi native support
Post by: nikos on August 11, 2019, 01:03:41 PM
Personally I have no interest in Pi, but it's obvious there is enough interest for AROS to explore that direction. Although, I'll bet that some out there would prefer to see Os4 on Pi.   ::)

I would prefer i386, amd64 as well. The problem is that it is not a success. Where can we be more successfull and why are we not more successfull already?

First and foremost software is everything. OS without software is nothing. We have a lot of software for AROS but most are no good. The ones that are good you can also find on other platforms except Zune tools like Zunepaint and Zuneview.
Since AROS is an Amiga clone I'm sure integration with classic is very important and where never good enough. Integration in Amiga NG and MorphOS where better and felt more like native. That might change with Pi.
Pi is also cheap and future proof with arm onboard. We will probably never see anything new from PPC unless something fpga but that is not very likely.
   
Title: Re: Status of Raspberry Pi native support
Post by: aurabin on August 11, 2019, 05:31:19 PM
PowerPC is not dead..

There is the Power9 Processor from IBM and a very Powerfull Workstation System with Power9 CPU
https://www.raptorcs.com/TALOSII/
Title: Re: Status of Raspberry Pi native support
Post by: Samurai_Crow on August 11, 2019, 09:21:16 PM
PowerPC is not dead..

There is the Power9 Processor from IBM and a very Powerfull Workstation System with Power9 CPU
https://www.raptorcs.com/TALOSII/
...it's just on life support.

Let's try to stay on topic.
Title: Re: Status of Raspberry Pi native support
Post by: x-vision on August 12, 2019, 11:41:53 PM
x-vision:  Why do you think porting of apps. is not so hard? It is cause it is from other Amiga ports that we are compatible with. No offence to Paolo but he did not port any advanced stuff.
At once we break Amiga compatibility it is very hard porting software from anything. Even how powerfull AROS have been compared to other Amiga like platform it is not we took huge advantage of it.
Advanced stuff is never easy to port, but once GCC is in good condition, porting to 64 bits won't be specially complicated. If you said making something multicore, or translating all the graphic tasks taking advantage of latest OpenGL, etc... I would maybe agree. But worrying too much about 64bits sounds like a lame excuse.

Why you think Amiga classic is way more popular than any Amiga NG system? It is cause it have lot's of good software and games. I don't even see the need for so up to date hardware. Greatest update to PC hardware the last years been SSD unless you like to play the most advanced games.
NOSTALGIA. Just that. I won't even comment on the pc hardware statement because it so... :facepalm:

Regarding Pi we will have a very cheap NG Amiga system. If people like BSzili will use it I'm sure he will port lot of stuff to it as he already done to AROS. That will at least make me happy. It is something for fun. Whatever Amiga system will die when we are gone. I agree ;)
I disagree. I am AGAINST that. So I think you better suit to OS3 or OS4 fans than Aros, because with that attitude Aros would have never been done. Apple would have never move from MacOS 8 to X, etc, etc... I could keep bringing examples for ages.

Personally I have no interest in Pi, but it's obvious there is enough interest for AROS to explore that direction. Although, I'll bet that some out there would prefer to see Os4 on Pi.   ::)

I would prefer i386, amd64 as well. The problem is that it is not a success. Where can we be more successfull and why are we not more successfull already?

First and foremost software is everything. OS without software is nothing. We have a lot of software for AROS but most are no good. The ones that are good you can also find on other platforms except Zune tools like Zunepaint and Zuneview.
Since AROS is an Amiga clone I'm sure integration with classic is very important and where never good enough. Integration in Amiga NG and MorphOS where better and felt more like native. That might change with Pi.
Pi is also cheap and future proof with arm onboard. We will probably never see anything new from PPC unless something fpga but that is not very likely.
   

Always looking to the past eh? PPC, really?? I have some news: old software is not important anymore. Even Directory Opus is not important anymore, and even rejected by many users, as Paolo recently found out. Run Amiga software? sure, but it is not the most important feature anymore. A good emulation layer it's more than enough. It is more important to take care of the present and the future, as Aros developers always knew (when they thought they would have to support new hardware, new features, and improve already ancient features, they needed to create new ones) this day would come. Keeping always stuck in the past is more comforting, but it is also the path to death.

If you don't risk, you'll never win. ;)
Title: Re: Status of Raspberry Pi native support
Post by: nikos on August 13, 2019, 02:38:16 AM
X-vision:  So what software for AROS is so important to run? Software development take years to bring to perfection. There are some ports from SDL and very few native apps. Classic have lots of games, scene productions and apps. that are really good. Not found on other platforms. I'm not using classic Amiga cause it bring back memories. I don't like that much the games released  anymore. There are some like Dirt Rally 1 and 2 + Rocket league but I enjoy mostly older games. Recently I played R-type Delta on PS1 a lot. Even new consoles bring back old titles and they start to sell Nintendo and Super Nintendo hardware again. Problem is that it look mostly crap on digital display, but that most don't understand.
On classic there are many quality releases, mostly from the scene. www.pouet.net
Last year we got a great Amiga 500 commercial game called Worty. This year Amiga 1200 game Reshoot R.
AROS have a chance to be a bridge between classic and new. That is in my opinion the only way it can be successful. It will never be mainstream.
Title: Re: Status of Raspberry Pi native support
Post by: OlafS3 on August 13, 2019, 11:15:31 AM
Let me turn that question back at you: what would your "clean" AROS port that has virtually no software available offer compared to Linux? People with nostalgia would play around with it a bit, and then go back to Linux and Amiga emulation. An x64 port of MorphOS would face the same issue. On the other hand, if it offers the same level of 68k integration as MOS or OS4 currently on PPC, then you have an NG Amiga OS that can run system friendly Amiga programs out of the box, and could potentially offer more features for native software (access to more memory, set the processor affinity for threads, etc.). This is why Michal decided to target big endian ARM to begin with.

Are you comparing with Linux? really there was no better answer than that?? that option is always there, but I didn't mean that the first version it is aimed at new users, and the porting of apps is not so hard, as Paolo is already proving and doing. ;)

But Aros is precisely for people who don't like linux for many reasons, because there are reasons for that, but you have to offer a viable alternative. Something kind of serious. It was said so many times here that a lot of users could like it for their Pi because its ease of use against the demanding knowledge of linux. And it could even compete in responsiveness.

Or ok: forget it. Let's stick forever behind everything else and being always supporting ancient features with ancient solutions until we get completely dissolved in computing history, as it is already happening. I say there is a chance for having a future, you say there is no future, let it die peacefully.

Compete with Linux? What drugs do you take? I want them too  ;D

Seriously Aros cannot compete with mainstream platforms (and Linux is mainstream too)

And "future" is a big word, you certainly define "future" different than other people

Even if Aros would be modern in todays sense (full memory protection, SMP, 64bit and so on) it would still be a small exotic platform and not get new software, even worse all existing software would no longer run on it. A new platform without software and money behind it, looks like a success  :D

BTW you are always mentioning "we" in your posts

Who is the group you are talking for?

Everyone here is talking for himself. You do do not like RPi? No problem you do not need to use it. You want to add new features to Aros? No problem Aros is open source. If you cannot do that because of no knowledge then you have to accept whatever direction others are heading with Aros.
Title: Re: Status of Raspberry Pi native support
Post by: x-vision on August 13, 2019, 11:59:23 AM
Let me turn that question back at you: what would your "clean" AROS port that has virtually no software available offer compared to Linux? People with nostalgia would play around with it a bit, and then go back to Linux and Amiga emulation. An x64 port of MorphOS would face the same issue. On the other hand, if it offers the same level of 68k integration as MOS or OS4 currently on PPC, then you have an NG Amiga OS that can run system friendly Amiga programs out of the box, and could potentially offer more features for native software (access to more memory, set the processor affinity for threads, etc.). This is why Michal decided to target big endian ARM to begin with.

Are you comparing with Linux? really there was no better answer than that?? that option is always there, but I didn't mean that the first version it is aimed at new users, and the porting of apps is not so hard, as Paolo is already proving and doing. ;)

But Aros is precisely for people who don't like linux for many reasons, because there are reasons for that, but you have to offer a viable alternative. Something kind of serious. It was said so many times here that a lot of users could like it for their Pi because its ease of use against the demanding knowledge of linux. And it could even compete in responsiveness.

Or ok: forget it. Let's stick forever behind everything else and being always supporting ancient features with ancient solutions until we get completely dissolved in computing history, as it is already happening. I say there is a chance for having a future, you say there is no future, let it die peacefully.

Compete with Linux? What drugs do you take? I want them too  ;D

Seriously Aros cannot compete with mainstream platforms (and Linux is mainstream too)

And "future" is a big word, you certainly define "future" different than other people

Even if Aros would be modern in todays sense (full memory protection, SMP, 64bit and so on) it would still be a small exotic platform and not get new software, even worse all existing software would no longer run on it. A new platform without software and money behind it, looks like a success  :D

First of all: Respect. We are trying to have a constructive discussion here, no need to make this forum a new Moobunny or Ann.lu

Second: maybe instead of asking for new drugs, you need to remove some (or ask for) what is affecting your eyes, because I never said Aros can compete with linux (just maybe, and I remark maybe, in responsiveness, nothing more). I just remembered that lots of people don't like Linux and prefer alternatives if they are available, and there were around 10 million Amiga users at some moment, many of them technology geeks who buy Raspberry Pis, and would love to try an Amiga system on them. This is a great target audience for Aros, so we should not miss it offering a capped system (no memory, no multicore, etc...).

But all this seems like a pointless discussion also because there is already an ongoing m68K JIT emulator in ARM Aros being developed by M.Schulz (https://www.patreon.com/posts/always-remember-24683131) and he is aware of how troublesome is trying to stay BigEndian, so the only future proof path is to properly support all the available resources of the hardware, not trying to cut our wings again and again and once more, just for nostalgic reasons.

I don't even see the point of all this already: old software and games were not ready for: hd install, 3d hardware supported graphics, audio hardware different from paula, even some behave bad when the processor runs higher than 7 Mhz, so, what should we do? stick to that? or create patches and emulation layers to support old software, but from a modern system? it is obvious we cannot keep stuck to 30 yo hardware, and code which in some cases just run in hardware which is not even supported anymore.
Title: Re: Status of Raspberry Pi native support
Post by: dizzy on August 13, 2019, 12:07:08 PM
I have a Pi Zero and one of the first Pi's ever made, I don't have real use for them. I bought Pi3 I think for my 10 year old son (He likes to run the old game emulator on it, NES and such... Or atleats when he gets of dicking around with Unity. There's some insane shit he does with it, I have no glue. I blame Brackeys for it, https://www.youtube.com/user/Brackeys/videos) That's my retirement plan... It's that or Formula 1 or icehockey, not much to choose from.

Pi's are really slow running a Linux desktop, painfully slow. AROS/AmigaOS shell beats that in a heartbeat, not to mention Workbench. Pi's aren't used or can't be used for replacement of Linux running on multicore and fast GPU... It's just too slow for it and still it has a gigahertz CPU and decent GPU... Distros of Pi OS are also huge...

Pi's seem to run mostly some scripts and network stuff, you know, internet of things... We could make that less painfull atleast for the scripting part? I have no idea what scripts are run when I fire up my Fedora 30. Also as I've done some USB serial things with my stm32 endevour I had to remove Bluetooth from Linux... It always tried to communicate with my serial device... AT commands what?!? Where are they coming from?!? Why?!? I seem to have no control over my machine... Everything needs privileges even if they are physically connected to my computer and I specificly run a certain program... Let's wait until the keyboard and mouse needs privileges, that's a no no regarding security...

Even the baremetal guys are cooking up some sort of OS for their OS'less systems, maybe we can tap into that niche?
Title: Re: Status of Raspberry Pi native support
Post by: salvatore on August 13, 2019, 01:13:47 PM
b-plan didn't succeed with morphos either years ago, and yet the systems were perfomant, server side linux says a lot on the mainstream side, many use windows to play "I'd say a lot", macos is a platform for software side professionals, I use aros because in the past I used to use amiga, and who uses these systems I think they did like me once.
"What's the worry?", I think we'll have the x86_64 bit version and later it will support multicore:
"the software?"
we will never have adobe suites, you have to be realistic, but maybe updated owb and some other utility software.
I can make music with aros, I'm not a professional but I can carry on my hobby quietly.

Translated with www.DeepL.com/Translator
Title: Re: Status of Raspberry Pi native support
Post by: paolone on August 13, 2019, 02:36:49 PM
I'd prefer x86-64 related things being kept outside of a Raspberry Pi discussion.

But, since I've been mentioned, I would like to make these clear:
1. I am no coder at all and I am NOT porting anything. I am only trying, from time to time, to COMPILE sources that others have written, using the AROS build environment.
2. PORTING and COMPILING are two very different kind-of efforts. PORTING would mean handling the sources and modifying them to follow rules and best practices I don't even know about. For instance, if I have correctly understood, replacing all 32-bit only structures (LONG?) with 64bit friendly ones. COMPILING just means let those sources build with a 'make' command. The former is a far more difficult operation than the latter.

3. If a program compiles at first, I am happy. If a program does not compile and I can fix this by editing a mmakefile.src file, I'm less happy but more proud of the result. But if a program does not compile due to 64bit incompatibilities, or to other language specific mistakes, or to unknown options (flags?) I should pass the crosscompiler... well... I simply stop and ask more skilled people to do that instead of me.

Do not underestimate the effort needed to PORT a big project from an architecture to another. I wonder how many years it will take, for instance, to port Magellan to x86-64. And, on the contrary of what I've read here, it *IS* a important program to me, since it's the default GUI of my operating environment. Moreover, most of Icaros goodies are available only if Magellan is the working GUI of the system. I'm really not so interested in people "rejecting" it.
Title: Re: Status of Raspberry Pi native support
Post by: nikos on August 13, 2019, 03:01:53 PM
Yes. DOpus from version 4 and up is why many use or used AmigaOS. It is a true workbench replacement if you like. I know some don't like it but that is how it is with everything. Personaly I love it. AmigaOS or Amiga like OS is not the same without it.
Like Paolo say it might be a nightmare to port to 64-bit. Maybe that is another reason to stay 32-bit with Pi version.