AROS Exec

Distros => Icaros Desktop => Topic started by: paolone on October 04, 2019, 04:47:47 PM

Title: Icaros 64 PRE-ALPHA WIP
Post by: paolone on October 04, 2019, 04:47:47 PM
Hello, please use this topic to discuss about the Icaros 64 Pre-Alpha ISO on icarosdesktop.org
http://vmwaros.blogspot.com/2019/10/icaros-64-v000-pre-alpha-is-available.html

This topic is for:
- help requests
- hints
- suggestions
- workarounds
- bug reports


Thank you.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: salvo on October 04, 2019, 05:13:39 PM
ok download it, it's a great notice thank you paolone :D
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: AMIGASYSTEM on October 04, 2019, 10:51:39 PM
Paolo I use Win7 at 32Bit and your ISO at 64Bit starts without problems with VMWare, if instead I try to start the ISO of Nightly Builds 64Bit VMWare he tells me that I can't start it because I don't have a 64Bit system At least that's what I understand.

---- Italiano -----

Paolo io uso Win7 a 32Bit e la tua ISO a 64Bit si avvia senza problemi con VMWare, se invece provo ad avviare la ISO della Nightly Builds 64Bit VMWare mi dice che non posso avvialo perchè non ho un sistema a 64Bit almeno quello mi sembra di capire

Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: trekiej on October 05, 2019, 04:07:40 AM
cool
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: miker1264 on October 05, 2019, 05:38:58 AM
Mounted the ISO image and started the sh script to install on Linux...after several long minutes while text quickly scrolls down the AROS shell...

It suddenly appears!

No warning. No "Success!" message. It just appears on the screen. I kinda like the 64bit background image.

Now for testing. :-)
Well, it seems that the Shell works and it's fairly stable! But there's not much software to run...yet.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: trekiej on October 05, 2019, 08:06:37 AM
Is Fedora 30 WS a problem while using this?
edit:
I am downloading it at 02:00 to see how it will work this weekend.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: paolone on October 05, 2019, 04:52:20 PM
Is Fedora 30 WS a problem while using this?
edit:
I am downloading it at 02:00 to see how it will work this weekend.
As long as you know how to "translate" the Ubuntu-based scripts of Icaros Desktop, it won't be a problem. But if you're not enough skilled with the Linux shell, please download my Ubuntu VM instead. It will spare you a lot of headaches.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: miker1264 on October 05, 2019, 09:01:27 PM
@paolone

Is this a bug or a planned feature for Arosdev 64bit Environment?

When Linux goes to sleep after inactivity...the Screensaver Date is in Italian! :-)
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: paolone on October 06, 2019, 11:26:53 PM
@Miker
This is just to remember AROS coders to eat some pizza and play mandolino. Jokes apart, when installing Linux I had to choose a time zone and it seems Ubuntu takes the decision good also for other settings like name of days, measurement units, values formats and so on. Just change your Ubuntu settings to fix it.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: trekiej on October 06, 2019, 11:29:51 PM
I am rusty on the Scripting.
:(
I could install Ubuntu 18.04.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: miker1264 on October 07, 2019, 02:31:51 AM
@Miker
This is just to remember AROS coders to eat some pizza and play mandolino. Jokes apart, when installing Linux I had to choose a time zone and it seems Ubuntu takes the decision good also for other settings like name of days, measurement units, values formats and so on. Just change your Ubuntu settings to fix it.

I think it's cool. I might keep it that way. It keeps track of your time zone...and reminds me when it's time to eat pizza!
Title: Icaros 64 native Test run
Post by: aurabin on October 10, 2019, 05:38:30 PM
I gave the Icaros64 a test run on native Hardware. With my HP Z420 six Core XEON the boot Process halts.. the latest SMP ISO boots fine on this machine.
Then I tried a Core i5 and Icaros64 booted fine there.. I could even login to the AROS IRC Channel with AIRCOS.. and the RTL8169 Driver works fine!

I had no Sound with Soundblaster Live 5.1!

Keep up the good work!
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: paolone on October 11, 2019, 02:29:44 PM
@aurabin


Great to know! We need reports about what does not work... but also about what works!!! Thank you. :-)
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: miker1264 on October 15, 2019, 03:40:41 PM
I have a few bug reports for Icsros 64bit.

After opening a shell when starting to type the first char is always ' ( '

Maybe it's related to the next issue? Even after initial setup when restarting Icaros the keyboard layout reverts to "Italiana" and I have to constantly use Input Prefs to set it to American (default).

Lastly when using Wanderer in Icon Mode to drag-n-drop to copy Wanderer only copies one time. Each successive copy operation seems to fail. So I must use shell wth Copy From To for copying.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: miker1264 on October 15, 2019, 03:43:51 PM
Also I'm working on an App Launcher for the Unity Dock in Linux. The Launcher has an AROS Eye Icon and it is a *. desktop link to the ./icaros item.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: wawa on October 15, 2019, 06:52:50 PM
Any bug reports for 64bit are best tp direct at nick or maybe michal. Or create issue ib aros github
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: miker1264 on October 15, 2019, 07:54:26 PM
Ok. I mentioned it here because paolone set up this thread and bug reports was one of the items.

But I'll repirt it to Nick or Michal as you indicated.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: paolone on October 16, 2019, 10:19:08 AM
I have a few bug reports for Icsros 64bit.

After opening a shell when starting to type the first char is always ' ( '

Maybe it's related to the next issue? Even after initial setup when restarting Icaros the keyboard layout reverts to "Italiana" and I have to constantly use Input Prefs to set it to American (default).

Lastly when using Wanderer in Icon Mode to drag-n-drop to copy Wanderer only copies one time. Each successive copy operation seems to fail. So I must use shell wth Copy From To for copying.
Hi Miker, I must have left some unwanted input.prefs file somewhere with the Italian keyboard. I noticed the issue as well, but I thought (since I obviously always choose the italian layout) that - for some reason - there was some write lock on the preferecences file, maybe due to the initial copy operation from a readonly media. But, even in that case, I'd expect it to revert to default American, not italian. I will check it ASAP.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: paolone on October 16, 2019, 10:20:28 AM
Ok. I mentioned it here because paolone set up this thread and bug reports was one of the items.
And you did it right. Feel free to report strictly-AROS-related bugs to the AROS devs, while the keyboard one surely is my mistake.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: pjhutch1200 on October 19, 2019, 02:32:22 PM
Has anyone got any guidelines on converting or re-compiling programs to 64 bit?

I found this article for GCC
https://www.geeksforgeeks.org/compile-32-bit-program-64-bit-gcc-c-c/
and this
http://aros.sourceforge.net/documentation/developers/compiling.php#hosted-aros-i386-linux-or-aros-i386-freebsd

if interested.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: miker1264 on October 19, 2019, 02:52:40 PM
Has anyone got any guidelines on converting or re-compiling programs to 64 bit?

I found this article for GCC
https://www.geeksforgeeks.org/compile-32-bit-program-64-bit-gcc-c-c/
and this
http://aros.sourceforge.net/documentation/developers/compiling.php#hosted-aros-i386-linux-or-aros-i386-freebsd

if interested.

That's a good question. I think we are still discovering the process at the moment. There is some information available for conversion but 64bit and 32bit are completely different. I'm discovering that the hard way. I have a datatype that works fine for 32bit, but it refuses to work for 64bit. Now I have to go back to make sure all the methods I'm using in the datatype are safe for 64bit as well as 32bit. Then it works in both.

The main thing I get from the GeeksForGeeks article is that a ULONG in 32bit is 4 bytes. But a ULONG in 64bit addressing is 8 bytes. So if we use a lot of LONG or ULONG values that presents a potential problem converting 32bit to 64bit.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: Yannick on October 19, 2019, 07:50:57 PM
This needs to be corrected, ULONG is always 4 bytes on 32 and 64 bits AROS versions. Main issue converting to 64 bits is that ULONGs are often used to store pointers that are 4bytes on 32bits but 8bytes on 64bits systems. All those must be changed to IPTR (integer pointer) and integer long enough to store a pointer on any system, it will be 4bytes long on 32bit systems and 8bytes on 64bits systems.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: miker1264 on October 19, 2019, 09:20:24 PM
This needs to be corrected, ULONG is always 4 bytes on 32 and 64 bits AROS versions. Main issue converting to 64 bits is that ULONGs are often used to store pointers that are 4bytes on 32bits but 8bytes on 64bits systems. All those must be changed to IPTR (integer pointer) and integer long enough to store a pointer on any system, it will be 4bytes long on 32bit systems and 8bytes on 64bits systems.

That's a very good point. I misinterpreted what was being said. Thanks for the correction.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: pjhutch1200 on October 19, 2019, 11:35:59 PM
I C you should replace ULONG with uint32 or uint64 as defined in /usr/include/x86_64-linux-gnu/bits/types.h and recommended in the AmigaOS SDK documentation in https://wiki.amigaos.net/wiki/Migration_Guide#Type_Consistency .
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: Yannick on October 20, 2019, 07:31:36 AM
Or use AROS types like IPTR that ensures you that you can store a pointer in them under any architecture.
Changing to uint64 is not always going to work  if you compile with 32bit systems.
We also have QUAD and UQUAD that are 64bits intergers under any arch.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: o1i on October 20, 2019, 09:20:51 AM
I C you should replace ULONG with uint32 or uint64 as defined in /usr/include/x86_64-linux-gnu/bits/types.h and recommended in the AmigaOS SDK documentation in https://wiki.amigaos.net/wiki/Migration_Guide#Type_Consistency .

No. Use IPTR and APTR. Linux headers are not useful for AROS. Neither is any AmigaOS SDK, which is totally useless for 64bit migration. Doing like described there will cause a lot of trouble for any 64bit migration.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: miker1264 on October 20, 2019, 09:55:09 AM
I C you should replace ULONG with uint32 or uint64 as defined in /usr/include/x86_64-linux-gnu/bits/types.h and recommended in the AmigaOS SDK documentation in https://wiki.amigaos.net/wiki/Migration_Guide#Type_Consistency .

No. Use IPTR and APTR. Linux headers are not useful for AROS. Neither is any AmigaOS SDK, which is totally useless for 64bit migration. Doing like described there will cause a lot of trouble for any 64bit migration.

I'm using APTR and IPTR.  But I haven't used them consistently. 64bit is more demanding. So I'll use them more consistently. Thanks.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: lm on October 20, 2019, 11:03:50 AM
Last time I checked, Lunapaint wasn't present in 64 bit Aros contrib.
Does it compile now ?
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: wawa on October 20, 2019, 01:08:18 PM
has been long time, but afair lunapaint has been moved from aros ports to contrib by matze on my request quite a while ago. that was since i intended to work on it in order to get it working for m68k, because i have already once had it compiling and almost working years earlier for afa os. i have did certain amount of work on it, so that it should at least display the gui on m68k (mostly trying to get correct hooks and dispatcher macros afair, which simply doesnt matter on i386, it works there anyway). but i kinda left the work undone when i discovered that lunapaint was a program storing and working on images internally with 64 bit. this made it potentially too heavy for m68k anyway and therefore less priority for me. i dont remember, but i dont think i tried or was even able to compile 64bit version at that time, still using 32bit host. today id be willing to look back at it and try to help in an effort to have that source fixed for all target platforms. x64 included.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: wawa on October 20, 2019, 01:19:39 PM
il look at aros sources later today and may give more detailed feedback today evening.

for now the sources of lunapaint are here:
https://github.com/aros-development-team/contrib/blob/master/gfx/lunapaint/mmakefile.src
looking at mmakefile.src the compilation is currently only enabled for i386 and arm.
i can actually enable it for x86_64 as well and see if it compiles and so on, its pretty easy.
you simply need to add another line
#MM- contrib-gfx-x86_64 : contrib-gfx-lunapaint
to the makefile somewere along the other targets.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: wawa on October 20, 2019, 08:56:38 PM
actually i just compiled lunapaint for x86_64 and it works. i think ill try to see if i can get ppc build up and tested, i havent used quemu in a while and then make pull request for the main repo to enable it for all platforms even if m68k doesnt properly work yet.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: wawa on October 20, 2019, 09:05:48 PM
just verified that linapaint opens all right on m68k. just i cant actually paint anything yet..
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: lm on October 21, 2019, 10:00:56 AM
actually i just compiled lunapaint for x86_64 and it works.
...


If so, it should be in x86_64 contrib; that compilation flag for x86_64 should be enabled by default.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: wawa on October 21, 2019, 10:49:06 AM
there is no separate contrib source, the contribs usually compile to extras. but probably you know this. ill probably simply enable all targets and pr it to the main repo soon, because it compiles for everything i have thrown it on.
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: wawa on October 22, 2019, 09:41:06 PM
still waiting to have changes approved..
Title: Re: Icaros 64 PRE-ALPHA WIP
Post by: magorium on October 31, 2019, 05:09:18 AM
o1i already provided an excellent reply to this
I C you should replace ULONG with uint32 or uint64 as defined in /usr/include/x86_64-linux-gnu/bits/types.h and recommended in the AmigaOS SDK documentation in https://wiki.amigaos.net/wiki/Migration_Guide#Type_Consistency (https://wiki.amigaos.net/wiki/Migration_Guide#Type_Consistency) .
... but wanted to add by writing that by differentiating between these two types it would just makes matters worse. The whole point of the issues when porting is tht the 32-bit software uses a 32 bit specific type in order to f.e. use pointermath and which does not hold up when compiled for 64-bit.

One could argue this is a oversight from the (original) programmer (but to be fair at that point in time there probably wasn't any 64-bit future) and simply takes a lot of time to go over the source-code and detect these pitfalls (and which then need to be addressed).

Would you stick to differentiating between 32/64 bit types then you would have to either use a macro (that eventually leads to) or make use of conditional compilation in order to solve that.

Using an APTR or IPTR right from the start will make sure the actual type size will change automatically according to the bitness it was compiled for. That way no (other) source-related changes are needed. If there was to be a 128-bit AROS target then such fixed source-code would also work for this new bitness (provided no other pitfalls comes provided by using a new 128-bit target, alignment comes to mind).