https://forum.world.st/ANN-Pharo-Headless-Beta-Actually-what-is-between-Alpha-and-Beta-tp5102089p5102198.html
> I should say that for GT we are currently using the minheadlessVM (Ronie’s work) out of the opensmalltalk-vm repo (
) 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.
>
> 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."
>
>
>
>
>
>
>