Wednesday, June 12, 2019

Enhancing hosted configuration

Today I decided it was time to rework Icaros installation and launch scripts for hosted modes. In fact, there were at least three areas I could improve. First of all, the network behaviour under Linux was quite awful: according to the Icaros manual, once you set up the AROS network, you end up having a script called in your Icaros directory, which is meant to be run once per Linux session. This will bring up the aros0 network interface, which is mandatory for AROS to enter the Internet through the Linux host. Every time hosted Icaros was started, it checked for the aros0 interface and for the script: if it found the latter, but not the former, it asked the user if it had to start the aros0 interface as well. It was a good feature (I always forget to run the script), but it could be better. In my opinion, if you decided to set up the network when you installed Icaros, it means that you also want it to run every time as well. So, asking the user wether to run or not every time was quite pointless; Icaros will now behave differently: if it finds the script, but not the aros0 interface, it starts it automatically (still asking for your user password, since this operation requires root priviledges), unless you disable AROSTCP from the AROS side. It makes much more sense.

The second change regards memory reserved to Icaros Desktop. Previously, you could decide the amount of RAM during installation only. The value was then 'hardcoded' in the Icaros launch script and the only way to change this value was editing it with a text editor. Not a great hassle to be honest, however it was ugly and definitely needed a change. The memory value is now written into a new variable which is read by the Icaros startup script. This will work for both Windows and Linux. The memory can now be managed using the (improved) Hosted preference program:


If you modify the memory amount, however, you will also be required to shut down the current Icaros session and start it again, since the Icaros startup script must be executed again to reflect changes. AROS hosted memory can't change dynamically. As you may notice, the Hosted program also features a new option: "Attempt full screen". What does this mean? Basically, that Icaros will also try to run in fullscreen mode, but success will depend on your Linux distribution and window manager of choice. I can assure you that Icaros will go full screen on Linux Mint 19 with Xfce, but maybe it will not work the same way on other distributions:

Icaros Desktop hosted full screen on Linux Mint 19, 32 bit, with Xfce
There is a limitation, though: once AROS takes enters full screen mode, it practically steals the output to other Linux applications, which will still run on the background, but will also be impossible to see (not good for HostBridge). I still have to find a way to minimize AROS in this case, so maybe you can help me on this! :-) the way...

while we are at it, I have another screenshot to show you about Deadwood's secret project. Someone thought I showed Wanderer running 'somehow hosted' on Linux, but that's not the case (please look the shell commands and output). I will raise the bar a little with ZuneFIG running on 64-bit Ubuntu Linux. Isn't it lovable?