Hi, Yes. We will be testing these days and we will come back with more details.
Two more questions: - Is minheadlessVM now integrated in the regular VM binary or are the two different artifacts? - Also are the platforms from https://github.com/pharo-project/opensmalltalk-vm/tree/pharo/platforms representative for minheadlessVM? Cheers, Doru > On Aug 12, 2019, at 9:11 AM, [email protected] wrote: > > Hi Doru, > can you give us more insight of the errors? Because there should > 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. > > Cheers, > Pablo. > > On Sun, Aug 11, 2019 at 9:04 PM Tudor Girba <[email protected]> wrote: >> >> Hi, >> >> >> >>> On Aug 11, 2019, at 5:29 PM, ducasse <[email protected]> wrote: >>> >>> >>> >>>> On 11 Aug 2019, at 13:19, Tudor Girba <[email protected]> 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, [email protected] 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. > [email protected] > -- feenk.com "What is more important: To be happy, or to make happy?"
