Skip to content

Releases: dmaivel/sharedgl

SharedGL v0.8.0

29 Jul 01:12
Compare
Choose a tag to compare

Change log:

  • Removed environment variable SGL_SHARED_MEMORY_DIRECT
  • Significantly improved performance
  • Fixed frames appearing on other clients when running more than one client
  • Fixed VBOs with non-zero strides
  • Added many ARB/EXT functions, allowing older applications to run
  • Bumped default memory allocation from 16 to 32 MiB
  • Added new overlay font
  • Added support for modern WGL context creation
  • Added implementations of glMapBuffer, glMapNamedBuffer, glGetTexImage
  • Fixed glShaderSource
  • Added 6 new extensions
  • Fixed glColorPointer not handling GL_RGBA/GL_BGRA properly
  • Fixed glNormalPointer possibly passing an incorrect size

SharedGL v0.7.2

12 Jul 19:48
Compare
Choose a tag to compare

Change log:

  • Introduced SGL_SHARED_MEMORY_DIRECT for Windows and Linux clients, allowing applications to run at maximum performance when it is expected to be the only program running with acceleration
    • By default, this is set to true. Set to false to disable
  • Improved performance by removing unnecessary command buffer submits, added persistent map buffer

SharedGL v0.7.1

11 Jul 05:49
Compare
Choose a tag to compare

Change log:

  • Fixed client pointers implementation
  • Fixed server not being able to allocate above 4 GiB
  • Environment variable SGL_RUN_WITH_LOW_PRIORITY is now false by default

SharedGL v0.7.0

10 Jul 04:10
Compare
Choose a tag to compare

Change log:

  • Version bumped up to OpenGL 4.6
  • Added functionality required for WineD3D's DirectX wrapper
  • Introduced SGL_WINED3D_DONT_VFLIP for Windows, which ensures that DirectX applications running via WineD3D will have their framebuffers properly oriented.
    • By default, this is set to false. Set to true to enable.
  • Added support for window resizing
  • Renderer/vendor strings now pass through the hosts strings
    • GL_RENDERER = SharedGL using HOST
    • GL_VENDOR = SharedGL and HOST
  • Improvements to texture upload functionality
  • Bumped extensions from 52 to 81
  • Added glActiveTextureARB, glClientActiveTextureARB
  • Fixed crashes related to glTexCoordPointer
  • Fixed glTexImage1D incorrectly pushing SGL_CMD_TEXIMAGE3D
  • Fixed glTexImage2/3DMultisample incorrectly pushing SGL_CMD_TEXIMAGE2/3D
  • Fixed crashes related to overlay
  • Fixed SGL_CMD_BUFFERSTORAGE incorrectly calling glBufferData
  • Removed unused sgldxumd from source code

SharedGL v0.6.0

09 Jun 02:36
Compare
Choose a tag to compare

Change log:

  • Implementation
    • Version bumped up to OpenGL 3.3
    • Fixed Windows ICD, applications should run now
    • Fixed several GL functions
    • Introduced SGL_RUN_WITH_LOW_PRIORITY for Windows, allowing applications to run much more smoothly on systems with older CPUs
      • By default, this is set to true. Set to false to disable.

SharedGL v0.5.0

30 May 01:31
Compare
Choose a tag to compare

Change log:

  • Implementation
    • Version bumped up to OpenGL 3.1
    • Compiles on ARM architectures (no ARM binaries currently provided)
  • Server:
    • Added support for using network protocol instead of shared memory
      • Added command line arguments:
        • -n: enables networking
        • -p [PORT]: override default port of 3000
      • Server will output the IP and port for LAN usage
  • Client:
    • Added environment variable for communication across a network
      • SGL_NET_OVER_SHARED=address:port
    • Fixed crashes from glBufferData
    • Added framebuffer configs to GLX backend

SharedGL v0.4.1

10 Sep 23:50
Compare
Choose a tag to compare

Patches:

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

Refer to release v0.4.0 for full changelog.

SharedGL v0.4.0

06 Sep 00:31
Compare
Choose a tag to compare

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

SharedGL v0.3.1

21 Aug 03:08
Compare
Choose a tag to compare
  • 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

SharedGL v0.3.0

14 Aug 03:37
Compare
Choose a tag to compare
  • 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