AxRuntime

deadwood · 6259

deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 985
    • Karma: +103/-0
on: May 06, 2020, 07:22:19 PM
Hello,

I wanted to share with you something I've been working on for some time. The project is called AxRuntime and it allows re-compiling existing Amiga/MorphOS/AROS software as Linux applications.

The runtime allows developers to continue developing Amiga applications in unmodified way while at the same time being able to utilize modern development tools available on Linux like IDEs, debuggers, profilers, etc.

This solution lets developers compile their Amiga API-based applications as Linux binaries. Once the features are implemented, tested and optimized using the runtime on Linux, developers re-compile their applications for their Amiga-like system of choice and perform final quality checking.

Applications created with AxRuntime can be distributed to the Linux community giving developers a much broader user base and a possibility to invite developers from outside general Amiga community to contribute to the application.


Here are some videos of AROS applications running under Linux:

Wanderer: https://www.axrt.org/media/axrt-Wanderer.mp4
MPlayer: https://www.axrt.org/media/axrt-MPlayer.mp4

More images in gallery: https://axrt.org/index.php?tab=gallery

Download & Instructions
====================

https://axrt.org/index.php?tab=download

Release notes
====================

AxRuntime v41.2 - 2022-04-04

This release uses bases components of AROS ABIv11 release 20220318-1.

See AROS ABIv11 20220318-1 release notes for details.

Code: [Select]

AxRuntime 41.2 changes:

  Functionalities:
    Updated to use the same ABI as AROS x86_64. (deadwood)

        This resulted in updating the major version string from 2.0 to 4.0.
        Note that both major versions of AxRuntime can be installed
        side-by-side.

    Enabled execution of AmigaDOS shell scripts (deadwood)
    Enabled using native AROS x86_64 libraries (deadwood)
    Enabled running native AROS x86_64 programs directly under Linux (deadwood)
    Adjustements needed to allow developing AxRuntime programs using Pascal (deadwood)
    Support passing command line arguments to AxRuntime programs (deadwood)
    Moved configuration required for compilation and linking to specs file (deadwood)
    User can now customize configuration via USERSYS:S/User-Startup (deadwood)
    Exposed functions to control Amiga to Host path conversion (deadwood)

  Fixes:
    Debian packages are now standard compliant (deadwood)
    Expose only few required symbols from binaries instead of all symbols (deadwood)
    Improvements to Amiga to Host path conversion (deawdood)

Application changes:

  MPlayer 1.1
    Re-compiled for 4.0 major version. (deadwood)

  WookieChat 3.2
    Nick provided during initial setup is user for pre-configured channels. (deadwood)
    Re-compiled for 4.0 major version. (deadwood)

  AROS-Shell 41.3
    Initial release allowing AmigaDOS scripts to interact with complete Linux filesystem. (deadwood)

  Final Writer 7-Demo
    Initial release. (Final Writer Development Team, deadwood)

« Last Edit: April 05, 2022, 10:10:34 AM by deadwood »



deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 985
    • Karma: +103/-0
Reply #1 on: May 06, 2020, 07:24:28 PM
I will keep updating the first post as new release happen. Please post your questions, comments, suggestions below.



salvo

  • Legendary Member
  • *****
    • Posts: 1731
    • Karma: +20/-4
  • Peace an Love
Reply #2 on: May 06, 2020, 09:16:22 PM
this deadwood thing is very interesting, but i'm not a programmer, let's hope someone benefits :)


deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 985
    • Karma: +103/-0
Reply #3 on: June 13, 2020, 11:25:43 AM
Hi All,

I released a new version of AxRuntime.

Major highlights are:
- Introduce network support (bsdsocket.library)
- New version of MPlayer with updated ffmpeg and audio driver fixes
- First version of WookieChat


More information in first post.



x-vision

  • Junior Member
  • **
    • Posts: 50
    • Karma: +5/-2
Reply #4 on: June 15, 2020, 01:07:51 AM
Brilliant idea! just the kind of solution that can help Aros. Hope it encourages more developers to port apps or develop new ones.

Congratulations for you fantastic job as usual, Deadwood.



deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 985
    • Karma: +103/-0
Reply #5 on: February 04, 2022, 05:35:33 PM
Hi All,

I'm currently working on refreshing of AxRuntime. If you are using Linux, it would be helpful if you tried building current version. I extended build instructions with building Linux-native Wanderer. Please let me know how this works for you:

https://github.com/deadw00d/AROS/blob/alt-runtime/INSTALL.md



amigamia

  • Junior Member
  • **
    • Posts: 91
    • Karma: +45/-0
    • AROS World
Reply #6 on: February 04, 2022, 09:21:22 PM
Hi All,

I'm currently working on refreshing of AxRuntime. If you are using Linux, it would be helpful if you tried building current version. I extended build instructions with building Linux-native Wanderer. Please let me know how this works for you:

https://github.com/deadw00d/AROS/blob/alt-runtime/INSTALL.md

Code: [Select]
/home/vinny/myrepo/AROS/AROS/rom/exec/./newaddtask.c:76: undefined reference to `pthread_yield'
/usr/bin/ld: warning: creating DT_TEXTREL in a shared object
collect2: error: ld returned 1 exit status
make[1]: *** [mmakefile:1575: /home/vinny/myrepo/AROS/alt-runtimelinux-x86_64-d/bin/runtimelinux-x86_64/AROS/boot/runtimelinux/Libs/exec.library] Error 1
[MMAKE] make --no-print-directory TOP=/home/vinny/myrepo/AROS/alt-runtimelinux-x86_64-d SRCDIR=/home/vinny/myrepo/AROS/AROS CURDIR=rom/exec TARGET=kernel-exec --file=mmakefile kernel-exec failed: 512
[MMAKE] Error: Error while running make in rom/exec: No such file or directory
make: *** [Makefile:121: all] Error 10




deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 985
    • Karma: +103/-0
Reply #7 on: February 05, 2022, 07:13:46 AM
Thanks! What Linux are you using?



deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 985
    • Karma: +103/-0
Reply #8 on: February 05, 2022, 08:25:59 AM
I made some change, please refresh your repo

Code: [Select]
$ cd myrepo/AROS
$ git pull --rebase origin alt-runtime
$ cd ..

and then run

Code: [Select]
$ ./rebuild.sh

again



amigamia

  • Junior Member
  • **
    • Posts: 91
    • Karma: +45/-0
    • AROS World
Reply #9 on: February 05, 2022, 07:12:30 PM
Thanks! What Linux are you using?

Pop!_OS 21.10 x86_64
Kernel: 5.15.15-76051515-generic
gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0


deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 985
    • Karma: +103/-0
Reply #10 on: February 05, 2022, 07:32:57 PM
Ok, that's quite new gcc, but should be ok. Let me know if the changed fixed the build for you.



amigamia

  • Junior Member
  • **
    • Posts: 91
    • Karma: +45/-0
    • AROS World
Reply #11 on: February 05, 2022, 07:49:24 PM
I made some change, please refresh your repo

Code: [Select]
$ cd myrepo/AROS
$ git pull --rebase origin alt-runtime
$ cd ..

and then run

Code: [Select]
$ ./rebuild.sh

again

Quote
      |                                     ^~~~
make[1]: *** [mmakefile:176: /home/vinny/Documents/projects/myrepo/alt-runtimelinux-x86_64-d/bin/runtimelinux-x86_64/gen/arch/all-hosted/filesys/emul_handler/emul/arch/emul_host.o] Error 1
[MMAKE] make --no-print-directory TOP=/home/vinny/Documents/projects/myrepo/alt-runtimelinux-x86_64-d SRCDIR=/home/vinny/Documents/projects/myrepo/AROS CURDIR=arch/all-unix/filesys/emul_handler TARGET=kernel-fs-emul-runtimelinux --file=mmakefile kernel-fs-emul-runtimelinux failed: 512
[MMAKE] Error: Error while running make in arch/all-unix/filesys/emul_handler: No such file or directory
make: *** [Makefile:121: all] Error 10



deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 985
    • Karma: +103/-0
Reply #12 on: February 05, 2022, 08:25:42 PM
Ok, exec problem has been solved. Can you paste some more (previous) output from build - I need to see previous errors.



amigamia

  • Junior Member
  • **
    • Posts: 91
    • Karma: +45/-0
    • AROS World
Reply #13 on: February 06, 2022, 02:19:22 PM
Ok, exec problem has been solved. Can you paste some more (previous) output from build - I need to see previous errors.

Do you know if it is kept in a log somewhere? I can then attach the whole file perhaps.


deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 985
    • Karma: +103/-0
Reply #14 on: February 06, 2022, 04:00:44 PM
It might be in alt-runtimelinux-x86_64-d/bin/runtimelinux-x86_64/gen/errors