Sharedgl Versions Save

An OpenGL implementation built for shared memory and networks, enabling 3D acceleration in virtual machines and across devices on LAN

v0.4.1

8 months ago

Patches:

  • Fixed spinlock on Windows; frame glitches remain, however command garbling should no longer occur.

Refer to release v0.4.0 for full changelog.

v0.4.0

8 months ago

Change log:

  • Server:
    • Added multi client support
      • Linux: Works
      • Windows: Works with modified virtio driver, located in ../sharedgl/kernel/windows/
        • Clients are still compatible with VirtIO's IVSHMEM driver, but will lack multiclient functionality
    • Added colored output to the terminal
    • Notify user whenever there isn't enough memory allocated
    • Made overlay transparent
    • Added memory usage to overlay
    • Seg faults now output the current command before exiting
  • Client:
    • Fixed glGen... functions
    • Fixed gl...Pointer functions

Included in this release:

  • sharedgl-v0.4.0-linux.zip: Contains server (sglrenderer) and OpenGL client for Linux (The kernel module required for Linux VMs is not included and must be compiled in the guest)
  • sharedgl-v0.4.0-linux-optimized.zip: Contains the same as above but compiled with optimization (recommended)
  • sharedgl-v0.4.0-windows.zip: Contains OpenGL installable client for Windows
  • sharedgl-v0.4.0-windows-driver.zip: Contains a modified IVSHMEM driver for multiclient support on Windows (10, x64) (not required)
    • If you use this custom driver, VirtIO's IVSHMEM must be uninstalled and test signing must be enabled

v0.3.1

8 months ago
  • Changes to linux:

    • Server renamed to sglrenderer to avoid confusion
  • Changes to windows client:

    • Removed WGL overrides
    • Removed GDI hooks
    • Reduced binary size
    • Client renamed to sharedglXX.dll
      • 32-bit and 64-bit is now supported
    • Client is now an ICD, must be installed rather than dropped in as a replacement for opengl32.dll
      • Install library by running wininstall.bat
      • Uninstall library by running winuninstall.bat

It is strongly recommended that if you still have SharedGL's opengl32.dll that you remove it, as it will introduce instability and incompatibility.

v0.3.0

9 months ago
  • Most/all functions up to OpenGL 2.1 have been implemented
    • By default, SharedGL will now report 2.1
    • Draw functionality is still a bit buggy, prone to crashing
  • Fixed GL_RGB8 with textures
  • Added GL_LUMINANCE_ALPHA support for textures
  • Fixed glGenVertexArrays where parameter GLsizei n now gets handled by the client instead of being passthroughed
  • Added glBindFragDataLocation
  • Added additional GLX functions/functionality for comptability
  • Added client-side environment variables
    • Users may now specify GLX_VERSION_OVERRIDE=X.X, GL_VERSION_OVERRIDE=X.X, and GLSL_VERSION_OVERRIDE=X.X for version control on the client side (otherwise, use whatever the server reports, which can also be changed with -g X.X)
    • Overriding the GLSL version can only be done on the client side
  • Added support for 1D and 3D textures
  • Added glGetBooleanv and glGetDoublev

v0.2.0

9 months ago
  • Library has been renamed to libGL.so.1 on linux, requires LD_LIBRARY_PATH instead of LD_PRELOAD
    • Removed linux hooks
    • GLFW works once again, except for profile requests regardless of GL version (error is GLX_ARB_create_context_profile is unavailable)
  • Added 8 OpenGL extensions
  • Added an independent GLX implementation
  • Added vectored functions
  • Fixed glDrawElements from causing common crashes
  • Improved performance

v0.1.0

9 months ago
  • Initial release
  • Kernel modules not included
  • The OpenGL binary on linux (libsharedgl.so) must be preloaded