CrossVcl is a set of tools for Delphi developers, which can create VCL applications for macOS and Linux with Embarcadero Delphi.
CrossVcl not an emulator, it is WinAPI implementation for other platform.
CrossVcl covers only UI side of WinAPI (except DirectX) requred by VCL. For non-UI part of application you should use cross-platform routines from RTL and other frameworks.
All thrid-party tools should be modified (at least changing shared library names from for example "user32.dll" to CrossVclLib). It depends on tools, some of them can be used with simple modification, other requires more.
All new Embarcadero Delphi compiler based on LLVM technology and called "nextgen" compiler. Nextgen compilers don't have support of AnsiString, ShortString, embedded asseembler code and use ARC model for all objects.
Install OpenGL on Linux - "sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev libglfw3-dev libgles2-mesa-dev"
Update Linux SDK in Delphi
CrossVcl supports only 256-colors, 24 and 32 bit format for TImageList
CrossVcl supports only 256-colors, 24 and 32 bit format for TBitmap
Unfortunatelly Delphi compiler for OSX and Linux doesn't support custom resources format. All custom resources should be RCDATA.