https://forum.world.st/ANN-Pharo-Headless-Beta-Actually-what-is-between-Alpha-and-Beta-tp5102089p5102206.html
not be changes in the behavior of the VM. Maybe there are issues, we
have used the Pharo tests as a guarantee and we are laking some tests.
Pablo.
>
> Hi,
>
>
>
> > On Aug 11, 2019, at 5:29 PM, ducasse <
[hidden email]> wrote:
> >
> >
> >
> >> On 11 Aug 2019, at 13:19, Tudor Girba <
[hidden email]> wrote:
> >>
> >> Excellent news!
> >>
> >> I should say that for GT we are currently using the minheadlessVM (Ronie’s work) out of the opensmalltalk-vm repo (
https://bintray.com/opensmalltalk/vm/cog) and it works remarkably well.
> >>
> >> We started to play with your minheadlessVM. So far it looks like there are differences, although I am sure they are not large.
> >
> > like what?
>
> I do not know yet, but running GT in headless opens the window with the one from opensmalltalk-vm, but not with the new one. We did not yet look into details, but we will.
>
> Cheers,
> Doru
>
>
> >> So, what is the difference between the minheadlessVM built by you versus the one from opensmalltalk-vm?
> >>
> >> Cheers,
> >> Doru
> >>
> >>
> >>> On Aug 8, 2019, at 9:53 AM,
[hidden email] wrote:
> >>>
> >>> TL;DR;
> >>> ======
> >>>
> >>> For the anxious, you can get real headless vm and image from zero-conf.
> >>>
> >>> $ wget get.pharo.org/64/80+vmHeadlessLatest | bash
> >>>
> >>> Zero conf scripts remain unchanged for users.
> >>>
> >>> However, if you are launching the VM by hand from the executable
> >>> instead of the launcher scripts (pharo and pharo-ui) as in
> >>>
> >>> $ ./pharoexecutable Pharo.image
> >>>
> >>> the image will launch in headless mode and will not open a window.
> >>> To launch it in headfull, you can use the --interactive argument after
> >>> the image, which will make the image open a window using SDL2.
> >>>
> >>> $ ./pharoexecutable Pharo.image --interactive
> >>>
> >>> Long version
> >>> ============
> >>>
> >>> Hi, this mail is the happy intermediate result of the work that us,
> >>> the Pharo Consortium Team, has been doing in the last couple of
> >>> months.
> >>> Our main objective is to have a real headless implementation of Pharo
> >>> where all the responsibility to open or not a World window (or other)
> >>> is handled by the image.
> >>> For doing so we have done a series of modifications in the image and
> >>> the VM side.
> >>> We consider this is the path that Pharo 8 and following versions
> >>> should follow, as it will severely improve server-side and command
> >>> line Pharo and in building custom desktop applications.
> >>>
> >>> These modifications are available only in 64-bits machines (Windows,
> >>> OSX, and Linux).
> >>> ARM32 and 64bits headless is in the roadmap, but it is delayed because
> >>> we have prioritized our three major platforms for this first couple of
> >>> months.
> >>>
> >>> All this work is based in Opensmalltalk-VM and Ronnie's initial work
> >>> on headless.
> >>> We are really grateful to all the contributors in the history of this
> >>> nice product.
> >>> To achieve a real headless VM we have brought modifications in the
> >>> source tree because most of the platform code to open and manipulate
> >>> windows is not required anymore.
> >>> Instead, we use the SDL2 library that implements a nice layer on top
> >>> of the OS and allows us to manage on the image side through FFI.
> >>>
> >>> So this mail is now an open call for (beta?)testing.
> >>> The sources of the current VM we are building are in the headless branch in
> >>>
https://github.com/pharo-project/opensmalltalk-vm> >>> And we have set up a CI that is both building and testing the VM in
> >>>
https://ci.inria.fr/pharo-ci-jenkins2/job/pharo-vm/job/headless/> >>>
> >>> For the future we have a lot of ideas, that will wait for another long
> >>> email or a beer-talk @ESUG.
> >>> We want to hear your ideas!!
> >>>
> >>> Image-Side Improvements
> >>> =======================
> >>>
> >>> - The image handles the creation or not of the main world window.
> >>> - We incorporated the idea of World renderer, where different backends
> >>> are used to render the world.
> >>> - We have 3 backends: VM support (compatibility with non-headless
> >>> VMs), and OSWindow with two backends: SDL and GTK3+.
> >>> - The modifications in the image are fully backward compatible with
> >>> the non-headless VM and are pushed since weeks in the latest 8.0
> >>> image.
> >>> - We move the handling of events to the image side when using SDL and
> >>> GTK3+, opening the door to a richer set of events and finer-grained
> >>> control over them.
> >>> - SDL and GTK versions are implemented using FFI calls.
> >>>
> >>> VM-Side Improvements
> >>> ====================
> >>>
> >>> - VMMaker code migrated to Tonel thanks to Feenk and included in the
> >>> repository of the VM.
> >>> - Making VMMaker execute in Pharo 7 and 8.
> >>> - Removing GPL code from the VM repository (GDB).
> >>>
> >>> - Slowly adding new tests for the JIT / Slang and VMGeneration.
> >>> - Restructuring of the source code.
> >>> - A new simpler CMake build.
> >>> - Generate VM code from Slang on each build.
> >>> - A CI process to validate (including the run of the tests in Pharo
> >>> and the ones adding to the VM).
> >>> - Simplification of the codebase.
> >>>
> >>> - Maximize the reuse of code between the platforms (preferring the
> >>> standard versions over the platform-specific).
> >>> - Cleaning up duplicated code.
> >>> - All the plugins are now external plugins.
> >>> - The VM is now a dynamic library. This is a first step towards
> >>> embedding Pharo into other applications.
> >>> - The main executable is a thin frontend (you can change it or
> >>> implement your own).
> >>>
> >>> - Removing unused plugins.
> >>> - Improved crash dump. Especially the crash dump works now in Windows 64bits.
> >>> - Dummy implementation of Security plugin (it is going away.... eventually).
> >>> - Cleanup of SSL, UUID, and Socket plugin.
> >>>
> >>> - Cleanup of conditional code (Still to improve).
> >>> - Improving the types used in the functions (we have to be neat to be
> >>> multiplatform/multi-arch).
> >>> - Improving the lookup of modules
> >>> - Improving the logging of the VM
> >>> - Improving the handling of VM arguments
> >>>
> >>>
> >>> Thanks a lot for reading so long!!
> >>> We hope you enjoy the VM and please tell us all the problems you find!!
> >>>
> >>> Pablo, Guille, and Esteban
> >>>
> >>
> >> --
> >> feenk.com
> >>
> >> "Being happy is a matter of choice."
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >
> >
> >
>
> --
> feenk.com
>
> "Speaking louder won't make the point worthier."
>
>
Pablo Tesone.