User:APX2600

From Hgames Wiki
Revision as of 16:27, 17 September 2024 by APX2600 (talk | contribs) (Added information regarding GPU support)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This information is provided to help people with Unity-related problems that has something to do with 3D API support or OS-level support. Due to the extreme variance of Windows in terms of hardware and software configuration, there might be certain edge cases where an API is stated to be supported but has severe glitches due to a faulty or partial implementation in the device driver or hardware implementation of the video controller. Sometimes, non-identical multi-GPU setups may also be a contributing factor in these problems and can be compounded by Windows' general inability to handle two or more different GPUs.

Starting with Windows 10, identical and non-identical multi-GPU setups are no longer as unpredictable as they were in older versions.

Windows support information for games built with the Unity game engine

Assume all versions mentioned have the latest hotfixes and service packs installed. Identification is done via kernel versions to keep things simple as multiple editions exist and are generally based on the same kernel. For example, NT 5.1 refers to Embedded Standard 2009, XP Professional, and XP Embedded.

API wrappers similar to WineD3D can be used to run newer versions of DirectX on older versions of Windows that has no support for it, although some games might not work properly or fail to start. If you want to run an OpenGL or Vulkan game but you're not sure if the video controller supports it, use GPU Caps Viewer to check for compatibility.

Some device drivers may resort to software acceleration to use APIs that are not supported by the hardware of the video controller. This is an extremely taxing load for the CPU, which means the framerate will be completely dependent on the CPU's single thread performance. If the API supports multi-threading in software rendering mode, the CPU will likely perform better in this case if it has multiple threads. Generally in most cases, software rendering via the CPU is extremely slow compared to hardware acceleration on the GPU and is not recommended for daily use apart from debugging purposes or solving strange compatibility issues.

Unity Player commands

If the game's shaders rely on a single graphics API with no support for the others, these options will throw a 'Failed to initialize unity graphics' error.

  • -adapter 1 (Replace 1 with the display panel's number)
  • -force-d3d9
  • -force-d3d11
  • -force-d3d11-no-singlethreaded
  • -force-d3d12
  • -force-glcore (Or specify 2 numbers for OpenGL version, from 3.2 to 4.6. Default is the latest supported by the video driver and OS)
  • -force-gles (Or specify 2 numbers for OpenGL ES version, from 3.0 to 3.2. Default is the latest supported by the video driver and OS)
  • -force-vulkan

Unity Player support

NT 4.0 and NT 6.0 were never officially supported by Unity. NT 3.51 and earlier are extremely unlikely to run any version of Unity.

3.4.2 - Last version to support NT 5.0
2017.2 - Last version to support NT 5.1
2017.3 - DirectX 9.0c support was removed
2022.3 - Possibly the last version to support NT 6.2 & 6.3
2023.1 - Last version to support NT 6.1

Kernel versions

There might be additional ISAs that some kernels are able to support, but generally these details are focusing on x86 ISA builds.

New Technology series

NT 4.0 - DirectX 3.0a, OpenGL support depends on video driver, Vulkan is not supported

  • Embedded
  • Workstation
  • Server (Standard, Terminal, Enterprise)

NT 5.0 - DirectX 9.0c, OpenGL support depends on video driver, Vulkan is not supported

  • 2000 Professional
  • 2000 Server (Small Business, Standard, Advanced, Datacenter)

NT 5.1 - DirectX 9.0c, OpenGL support depends on video driver, Vulkan is not supported

  • XP Embedded (Standard, for Point of Service, Fundamentals for Legacy PCs)
  • Embedded 2009 (Standard, POSReady)
  • XP (Starter, Home, Professional, Media Center, Tablet PC)

NT 5.2 - DirectX 9.0c, OpenGL support depends on video driver, Vulkan is not supported

  • XP (Professional x64)
  • Server 2003 R2 (Home, Web, Small Business, Standard, Enterprise, Datacenter, Compute Cluster)
  • Server 2003 R2 Storage (Express, Workgroup, Standard, Enterprise)

NT 6.0 - DirectX 11.0, OpenGL support dependent on video driver, Vulkan is not supported

  • Vista (Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate)
  • Server 2008 (Foundation, Web, Essential Business, Small Business, Standard, Enterprise, Datacenter, HPC)
  • Server 2008 Storage (Basic, Workgroup, Standard, Enterprise)

NT 6.1 - DirectX 11.1 (12.0 via D3D12On7), OpenGL support depends on video driver, Vulkan support depends on video driver

  • Embedded 7 (Standard E, Standard P, Standard C, POSReady, Thin PC)
  • 7 (Starter, Home Basic, Home Premium, Professional, Enterprise, Ultimate)
  • Server 2008 R2 (Foundation, Web, Home 2011, Small Business Essentials, Small Business Standard, Standard, Enterprise, Datacenter, Hyper-V, HPC)
  • Server 2008 R2 Storage (Essentials, Workgroup, Standard)
  • Server 2008 R2 MultiPoint (2010, 2011 Standard, 2011 Premium)

NT 6.2 - DirectX 11.1, OpenGL support depends on video driver, Vulkan support depends on video driver

  • Embedded 8 (Standard, Industry Professional, Industry Enterprise)
  • 8 (Home, Professional, Enterprise)
  • Server 2012 (Foundation, Essentials, Standard, Datacenter, MultiPoint 2012)

NT 6.3 - DirectX 11.2, OpenGL support depends on video driver, Vulkan support depends on video driver

  • Embedded 8.1 (Industry Professional, Industry Enterprise)
  • 8.1 (Home, Professional, Enterprise)
  • Server 2012 R2 (Foundation, Essentials, Standard, Datacenter)