Friday, November 22, 2019

More changes to hosted MyWorkspace

by on Friday, November 22, 2019
With the precious help by Nicola Scendoni, we are trying to enhance the integration between AROS and Linux when running Icaros Desktop in hosted mode. Many things are changing, with one of them being how current MyWorkspace subdirectories and their ASSIGNs will be handled. Back in 2009, when I decided to add the 'MyWorkspace' drawer to Icaros environment, I wanted to mimic how Linux "/home" and Windows "\users" directories behave, placing also some nice subdirectories inside, for Documents, Pictures, Videos, Music and Downloaded files (let's call them 'user projects'). More recently, with the addition of Magellan, also a Desktop directory was made, to let people store their files (and not only aliases) on the workbench. This makes sense on a native installation, because these folders do not exist on AROS. But on hosted installations, where user project folders already exist, there is no need to create them again.

There wouldn't even be the need for MyWorkspace at all, since we have Home: for the same purpose. And, inside Home:, all Ubuntu-derived distributions already place the same subdirectories for user projects, so there is really no need to recreate them. So, starting with Icaros 2.3.0, hosted installations will use these folders instead. Unluckily, changing some ASSIGNs is not enough, because Linux and Windows behave differently and, worst of all, directory names change when setting a different locale. So, for instance, your $HOME/Pictures directory becomes $HOME/Immagini when switching to italian language. This means that if you change language in Linux, your Icaros installation has to reflect your change immediately or, at least, at the very next session. 


This is, exactly, what I am working on these days and, after a lot of scripting, it's what I'm getting right now on my development machine. I still have to decide if this will lead to some new ability also for native users: after all, once the gears are there for a more dyamic management of MyWorkspace on hosted, it shouldn't be difficult to give native users - at least - the chance to modify names for the same directories. 

By the way, our integration effort goes far beyond this. I can not officially announce or anticipate anything at the moment, but if you follow our facebook channel, you may see some very exciting screenshots released from time to time... Like these ones:



Friday, October 25, 2019

No more AmiStart settings overwrite

by on Friday, October 25, 2019
There are many little changes I should have really made long ago. One of these is changing the way AmiStart preferences are handled. You should know that Icaros Desktop provides three different settings for its lower side application dock:

1. Compact - the default one, at the center of the screen, with selected applications and no task management on the bar (window management is available, though, in the "Start menu" on the left corner)

2. Full - almost the same application shortcuts on the left, followed by tasks list populating when opening windows and programs

3. Custom - ideally, your own customizations that should be accepted and kept like they are. In theory, because this setting never worked and was somehow a "keep it like it is" option in Icaros Settings.

Well, this implementation has always been really poor, due to my very basic skills when done. The ugliest consequence was the fact that your customizations to the bar were lost every time I decided to change the default applications shown within the icons bar. This happened because I went for an even uglier solution: inside the System/Amistart directory, you would find the following ones:

AmiStart - the program itself
AmiStart.info - its icon
AmiStartCompact - ready to be used icon for the compact layout
AmiStartFull - ready to be used icon for the full layout
sm.prefs - preferences file for the full layout
smlite.prefs - preferences file for the compact layout

A mess. And Icaros Settings handled these files in a very dumb way, renaming the proper info file into AmiStart.info, so that either AmiStartCompact+smlite.prefs or AmiStartFull+sm.prefs were used by AmiStart. This was, and please accept my apologies, plain stupid. A far smarter solution would have been keeping a single icon file (so: AmiStart.info only) and change sm.prefs according to your selected behavior. Luckily, from now on this will change. First of all, starting with Icaros 2.3, there won't be all those files anymore, but I created the /shape/sm directory in AmiStart's one, populanting it with three different settings: full (as usual), lite (the compact one) and... well, "Hosted", a new setting which includes also host applications imported with HostBridge. Since AmiStart.info's tooltypes will now point to Envarc:Icaros/sm.prefs, settings will survive to updates. Unless you decide to change behavior with Icaros Settings, obviously: in this this case, your current settings will be (obviously) overwritten.

Friday, October 11, 2019

Icaros Desktop 2.3.0 mid-term preview for testers and supporters

by on Friday, October 11, 2019
We know you're all thrilled about the future 64 bit releases of Icaros Desktop but, as you may have noticed, there is still too much to do before a user-friendly release. In the meanwhile, mainstream 32-bit Icaros Desktop continues to mature. We have still many amazing projects for this version of the distribution and we would like to give you a glimpse of the recent additions. Beta testers and supporters on Patreon should have already got the download links but, if you wish to try yourself, you can become a Icaros supporter on Patreon too!

Office program LEU is opening and editing XLS and ODT streadsheets on AROS

VERSION 2.2.9 OR 2.3.0?

It was the first decision to take, and this is a mid-term preview of Icaros Desktop 2.3.0. What does this mean? Basically, that we've made some relevant changes on paths used by Icaros programs and made some different decisions about contents to include in the Live! and Light edition. The immediate consequence is that, if you'd try to update files like you're accustomed to, you would probably end up in a little mess of duplicated programs, here and there. So, you're now supposed to install it onto a clean environment: a new virtual machine, a different directory of your hosted setup, and so on. You can also install this version on your hardware like you did with the older ones, obviously, but we can't assure changes are over: when the final release of Icaros Desktop 2.3.0 will be uot, you might be required to install from zero again. We have some very interesting plans for the near future (I will surely talk about these later), so maybe I would have saved the 'point release' for something else, however... Stay tuned!

WHAT'S NEW

I've been quite silent in the latest weeks, but this does not mean I stopped development of Icaros Desktop. many things changed since version 2.2.8 and it's time to make a little recap. 

NEW PROGRAMS
- updated fpc and components to latest release
- added LEU 0.07 to system/Utilities
+ replaced Leu icon with a new one from Icaros Desktop
+ added Spreadsheet filetype to Magellan
+ edited Spreadsheet def_info file to open them with LEU

This is really interesting. ALB42 created a tool we really missed so much: a program that could read spreadsheets from modern office applications like Microsoft Excel and LibreOffice. And the best new is: it can also modify them! Yes, you can enter fields, change values and see applied formulas updating results in real time. Obviously, the program is still at its first stages, but simple spreadsheets will work flawlessly. I haven't called it a 'complete spreadsheet program' because the current interface includes just the most common tools, but LEU has great potential. 


CHANGED FUNCTIONS
- updated DOpus5 Magellan to v5.92 (latest available nightly build)
- added LUA Scripts filetype to Magellan
+ removed duplicated DOpus manuals to save space
+ removed pointless double check when deleting files
- changed behaviour of Magellan's "Archive" button
+ destination archive filename now requested to user
+ fixes former single-files compression errors

DOpus 5 Magellan has been updated to the latest available nightly build for i386 AROS, which should improve its stability. I have also corrected a long-standing issue with the Archive button in our interface, which was not able to handle single files being compressed. With the old implementation, you had to select at least two files and left or right click to create a LHA or a ZIP archive including both. The functionality has then been extended to TAR archives using the central button, but the real news is that these actions will now ask you the name of the resulting archive, letting you save it where you prefer, and you can now compress single files as well. 

- removed DigiClock from WBstartup, now running from Commodities
- cleaned up DigiClock directory, sources now in Extras/Documentation
- updated Icaros Settings to add options for calendar and clock

DigiClock is a commodity and should stay with other commodities. There were many unneeded files included with Icaros Desktop (mainly executables for other operating systems) and they have been deleted to save space. All distributed files have been included in the archive provided with Extras/Documentation which is, by the way, the place to find the sources for included programs, when available. Icaros Settings has been updated to reflect the change, with a new tab handling user-interface related programs being launched at startup.  

ICAROS KEEPS TRACK OF YOUR MEETINGS
- added LilCalendar to Utilities
+ Icaros now loads LilCalendar at startup to follow your schedule
+ added LilCalendar hide/show script in S:, with icon in AmiStart

This required an incredible lot of work. I've been in contact with Nathan Hesterman, author of LilCalendar, since the day he uploaded it to aminet. I've helped him finding bugs and ironing out the user interface, begging him with feature requests. He's been incredibly friendly and let me fullfit a need I felt for many many years: a program which would start with Icaros and remind my schedule when needed. But, in order to keep the workbench clean, I had to set up a quite complex mechanism using the Activatewin utility. When Icaros Desktop starts, Lilcalendar is hidden to your sight, but it's working in the background. You can obviously change this behavor with Icaros Settings, which has been updated to handle this. 

QUICKLY CREATE YOUR ICONS
- added IconPoser to Tools
- moved IconEditor from Utilities to Extras/Design

Quickly create your double-state, PNG icons using IconPoser, which was originally created to help develop this distribution... but it can be handful also to Icaros users!


ENHANCEMENTS FOR HOSTED ENVIRONMENT
- backport from Icaros 64: updated icaros launcher for linux hosted mode
- modified Linux installation script to allow 32bit Icaros run on a 64bit system
- fixed Linux installation script to install ifconfig command, if missing
- backport from Icaros 64: MyWorkspace management scripts
- updated windows and linux hosted setup scripts to reflect changes

There were many issues found by hosted Icaros users that have been addressed in the new version. First of all, if you installed hosted Icaros on a 64bit Linux distribution, it didn't work until you installed also some 32-bit libraries. This has been handled with the installation script, which now downloads them from your Linux distribution repository and installs them automatically. Moreover, modern distros are not providing the ifconfig command anymore, which is still used by our scripts. This has been handled as well. Please remember our scripts are tailored for Ubuntu and Ubuntu derived distributions only, you will have to adapt them to other distributions by yourself.

You can spot even the first backports from Icaros 64. Yes: some of these features were originally developed for the 64bit edition and then ported back to the mainstream one. While the rework of MyWorkspace is much a 'under the hood' thing, the new ./icaros script for Linux hosted Icaros is a great addition to this distribution. It now behaves like a command, so you can give it arguments to customize your next Icaros session as you wish. Here's a little summary of new options:

./icaros             starts Icaros Desktop
./icaros -q | -s   shutdown running sessions of icaros desktop
./icaros -r         restarts icaros desktop
./icaros -v  variable value     changes value of envarc/icaros/variable
./icaros -a  variable value     adds a envarc/icaros/variable and its value
./icaros -l          lists available variables and values
./icaros -f          force fullscreen for this session
./icaros -x         stops ./icaros execution (used in combination with -a and -v)

OTHER ADDITIONS
There are also many other little/great additions and enhancements here and there, like the following:

- added Saga to Extras/Games
- added deark to sys/C
- updated EasyRPG-Player to v0.6.1
- updated SQLMan to latest release
- updated Timekeeper to v1.09
- updated MCC TextEditor to v15.53 beta (i386 and M68K)
+ This version is setting RPTAG_PenMode for AROS in every situation
- added/replaced many missing icons (shell, AAEDT and others)
- created a new directory in Extras, "Trackers" for all audio trackers
- moved all trackers out of Extras/MediaEditors, changed description
- moved Protrekkr to Extras/Trackers: no more available in Light edition
- created the new alias 'ltasks' to replace broken TaskList command
- created S:ctask to check if a specific task is running
- fixed a bug in LiveUpdater not copying new Icaros settings in Env-Archive

As you can see, many new programs and potential additions aren't included here. Please understand, we've been very busy with 64-bit version, hosted enhancements and other developments I will surely talk you about in the future (for now, let me give our welcome to Nicola Scendoni, and thank him for his precious help). Final version of Icaros 2.3.0 will also include AmiFish, StockFish all the other AROS software which could not make it in this preview. Please also remember this is just a beta: you can already use it instead of your old 2.2.8 installation, but there might be still some little issues to address. Let us know what you think in our forum @Aros-Exec!

DOWNLOAD

Outside of the beta-testers and developers community, download links are available for supporters only. Supporters are our $15+/month patrons on Patreon.com. You can find the page here:



Friday, October 4, 2019

Icaros 64 v0.0.0 pre-alpha is available for download

by on Friday, October 04, 2019
Yes, you've read it right. It's time to enter the 64-bit Amiga era by the front door, taking advantage of modern x86-64 processors like Core and Ryzen. But beware: this is pre-alpha, un-stable, un-finished, un-reliable software. It's good to see it in action, to check what's working and what's not, to get familiar with latest AROS development, but it's definitely no good yet for everyday's use (which also means that if you didn't consider 32-bit Icaros Desktop ready for this scope... well, this is even worse).

DOWNLOAD ICAROS 64 PRE-ALPHA WIP ISO
(785 MB, .zip file format)

PLEASE NOTICE THAT...

Status of 64bit AROS and Icaros software - is this available? Discover here!

1. you can't install it natively onto a hard drive. Or, better, you can, if you manually run InstallAROS from a shell (icon has been removed to avoid temptation). Problem is that it won't boot afterwards.

2. you can install it onto a 64bit Ubuntu/like distribution. Just sh linux-hosted-install.sh from the Linux shell. For now, we've limited memory size to 8 GB. Edit the environment variable Icaros/hostedmem to add more memory.

3. Many programs, drivers, games etc won't run. Or they will crash. Or produce weird errors. Remember: x86-64 AROS is still work-in-prog alpha software, with some parts barely mantained

4. gcc isn't working at this stage. I know you're eager to compile your software for 64bit AROS, but the only way to do this, for now, is using the AROS build system on a Linux machine.

5. We need help. We absolutely need help. We disperately need help. Please, don't send flowers, but help improving 64 bit AROS and 64 bit software ports as much you can. I talk expecially to you, my brave coders!

6. Have I told you we need your help? For the rest... Enjoy!

SPECIAL THANKS

I (Paolo Besser) would like to thank everyone who helped me reaching this stage, which include all AROS and 3rd party developers I bugged and asked help for. They patiently explained me how to compile, how to use AROS build system's metamakes, they fixed my mmakefile.src files when I could not understand what to do, they even patiently built their programs and sent them to me for inclusion. ALB42 sent me a working executable of Leu this morning. Without your help, I wouldn't be writing these lines.

PROBLEMS?

Please head to this topic on AROS-EXEC if you need to file a bug report or to ask help for this pre-alpha release:
> Icaros 64 PRE-ALPHA WIP discussion

Tuesday, October 1, 2019

A pre-configured development machine for AROS

by on Tuesday, October 01, 2019
One of the best (and also most scaring) features of AROS is its own build environment, which is driven by metamake files and can be a little difficult to understand. But, even before playing with the develoment system, the simplier need to install Linux and configure it for AROS development can be a show-stopper to many people. Well, no more: here you can find an already configured Linux machine based on Ubuntu 18.04: just download, unpack, add run it with VMware Player.

DOWNLOAD AROS Development Environment .vmx
(4.5 GB, .7z file format)


In order to run it, you need

- VMware Worksation/Player 15 for Linux or Windows (or Fusion for MacOS X)
- A dual core (or better) processor
- 4 GB (or more) RAM
- 20-50 GB of disk space (*)
- Internet connection

VirtualBox: The machine has been created for VMware, but it's been reported to work correctly on VirtualBox as well. To run it with VirtualBox, create a new virtual machine and attach the provided .vmdk file as disk drive. Use the suggested specs for CPU, RAM, etc.

(*) The virtual machine is configured with a 40 GB vmdk hard disk image in thin provisioning. This means that it will initially take about 18 GB of space, but it will grow with time. The VM is configured to use 2 GB of memory and a single core processor, but you're encouraged to update these settings to 2 CPUs and 3 GB of RAM. Moreover, no hardware virtualization is initially set: please add "Intel VT-x/EPT or AMD-V/RVI" virtualisation and "CPU performance counters" virtualisation to increase performances. If your system supports it, add IOMMU virtualisation as well.

AROS x86-64 being compiled on Linux
The machine provides a bare Linux 64bit installation with development stuff, AROS sources (updated to Sept. 30th, 2019) and VMware Tools. The initial screen resolution is 1440x900, but it can be easily adjusted resizing its window. The VM already supports clipboard sharing and drag'n'drop of files to transfer files between the host and the guest operating system. Pre-configured user is called 'arosdev' with password 'arosdev': please change the latter as soon as possible, to enhance security.

COMPILING AROS

We have already configured AROS to build for the x86-64 ABIv1 target. This means we have also downloaded all necessary stuff (which would normally require another GB of downloads) and placed it in a separate directory. To begin with, you only need to know that:

~/sources  includes AROS source tree, the one you can get with git from the following address: https://github.com/aros-development-team/AROS.git

~/portsrc  includes package needed when compiling AROS (portsources). You'd normally be supposed to download them every time you build AROS from scratch

~/x86-64  is the directory you must build AROS from. You will find instructions on your desktop.

So, if you want to compile AROS for x86-64, you only need to start a shell and enter:

cd x86-64
make

NOTE: on this virtual machine we've already given the needed configure and make commands, which would have been:
../sources/configure --target=pc-x86_64 --enable-ccache --with-gcc-version=9.1.0 --with-binutils-version=2.32 --with-portssources=~/portsrc 
make -j 2 && make -j 2 distfiles
otherwise, you'd be assumed to compile at least once the whole sources, before doing anything else!

COMPILING AROS FOR DIFFERENT ARCHITECTURES

You are encouraged to create also different directories from /home/arosdev with different AROS targets, for instance ~/m68k or ~/arm, and use them to build your sources also for different CPU architectures. Remember: once you start using the AROS build system for your sources, you can easily build them for several targets on the same Linux machine. Just remember to specify --with-portssources=~/portsrc when configuring. For instance, let's assume you wish to create the linux hosted version of 64bit AROS. First of all, open a shell and be sure you're in your home directory

cd ~

then, create a ~/linux-64 directory

mkdir linux-64

now move into your newly-created directory

cd linux-64

and configure AROS sources for the new target

../sources/configure --target=linux-x86_64 --enable-ccache --with-gcc-version=9.1.0 --with-binutils-version=2.32 --with-portssources=~/portsrc

and then you can build

make -j 2

You may need to install other required components. Please remember to keep a internet connection alive while building. Required commands and switches may vary for different targets, please join AROS developers team for further information. 

NOTE: x86-64 AROS is using a work-in-progress version of ABI v1, while 32bit Icaros Desktop is still bound to AROS ABIv0. This development environment IS NOT suited for compiling to ABIv0 i386. If you wish to release your apps for current 32bit version of Icaros, please learn how to adapt and compile on aros.sourceforge.net.

HOW TO COMPILE YOUR APPLICATIONS

If you're going to write applications for AROS, you have several available options: writing your program inside AROS directly and using AROS gcc to compile it, using a crosscompiler on Linux and, last but not least, letting the AROS build environment to manage your sources. Currently, you must use the build system (since 64bit AROS gcc does not work at the moment). This means you must learn how to use its metamake system. This will take some extra time but it will be well spent.  Why? For two very simple reasons:

1. you integrate your sources once, and you can compile it forever (or, at least, until something else inside AROS breaks your code...)

2. you can compile the same sources for several AROS target and, believe in me, if you wish to release your app for x86, x64, 68k and ARM, this can be extremely useful

As already explained, for Icaros 64 we are using the AROS build system. We have created a /icaros subdirectory inside our local source repository with, inside, every application we need to be ready-to-compile for the distribution. For now, mainly shell utilities we use in our shell scripts, but nothing prevents us from integrating also more complex stuff, once we'll get the proper metamake.src file.

IMPORTANT: you are only supposed to keep AROS sources updated. Either configuring git on the Linux Development Environment or by simply downloading them from https://github.com/aros-development-team/AROS.git with a browser, and then overwriting older files with newer ones: x86-64 is a moving target, some times the ABI will change breaking binary compatibility with formerly compiled programs. Just update sources, reconfigure, make and let your programs work again!

ADDING YOUR SOFTWARE


Now that we have a working AROS build system, it's time to use it to compile your software. You will do this providing both source files and a metamake script called 'mmakefile.src'. One for each project you need. Metamake scripts are a sort of recipe that tells the crosscompiler what to do. Unluckily, I am not able to tell you how to correctly write one, but I can give you at least a vague idea. Inside of ~/sources, create a 'personal' drawer for your programs.

md personal

and, inside of ~/sources/personal, create a different 'projectname' subdirectory for each program, for instance ~/sources/personal/myproject

Now, let's imagine you have a myproject.c and myproject.h files for your program: you should place them into ~/sources/personal/myproject and create a mmakefile.src script in the same directory, for instance:


include $(SRCDIR)/config/aros.cfg

#MM local-personal-myproject : includes linklibs

FILES := myproject    ← myproject.c without .c
EXEDIR := $(AROS_CONTRIB)/$(AROS_DIR_DEVELOPER)/Build    ← destination path for binary file
NOWARN_FLAGS := $(NOWARN_FORMAT)
USER_CFLAGS := $(NOWARN_FLAGS)

%build_prog mmake=local-personal-myproject \
progname=myproject targetdir=$(EXEDIR) \   ← executable name
files=$(FILES)

%common

Pay attention to the first line (#MM local-personal-myproject : includes linklibs), the bold part is the one you will call with the make command, from the root of the target directory

cd ~/x86-64

make local-personal-myproject


If you need further information, please read also the following resources:

The AROS build system, and how MetaMake works on aros.org

Aros/Developer/BuildSystem on Wikibooks.org

"How I compiled deark for 64bit AROS" on this site.

NEED HELP?


Unluckily we can't provide user support on this virtual machine. But we have a discussion topic already set up for this on AROS-EXEC. Please ask your question there:

> Discussion about the Dev Env on AROS-EXEC.org

Thursday, September 26, 2019

Another chess game finds its way to AROS

by on Thursday, September 26, 2019
A couple of days ago I've been contacted by Domenico Lattanzi, author of AmiFish, "a chess program made to play chess with the Amiga, exploiting the power of one of the most powerful chess engines of the world: Stockfish". The program was originally released for AmigaOS 4, but Domenico wrote it with portability in mind and wished to release it also for AROS. He successfully compiled AmiFish for x86 and its GUI popped up on his computer:


There was just a little issue, as you may notice above: the only way to play with AROS AmiFish was Human vs Human, since the chess engine used for the computer opponent, StockFish 5, was missing. So Domenico asked me for help: maybe I knew someone who would convert StockFish for AROS, and I decided that I would give it a go by myself, before asking to someone else. Luckily, I found that sources used for AmigaOS 4 version worked nicely for i386 AROS too. I only had to discover what compiler flags were preventing them to build correctly on our platform and, with great luck, I quickly found a procedure that worked. Once I got the executable, I ran some tests suggested by Domenico:

 
All of them completed successfully, so I sent the binary file to Domenico, who confirmed that AmiFish can now play against you on AROS, too:


And this also means that AmiFish for AROS will be published on the Archives and on Icaros Desktop. By the way, StockFish is free software released under the terms of the General Public License. This means that we cannot distribute the binary alone. No problem: I have already packed the binary with its sources and a brief explanation how-to build it. They will appear soon in the Archives

Translate