From d43b7ec88b4a10072d114bc1d82bf8408ca284a7 Mon Sep 17 00:00:00 2001 From: GeoRon Date: Wed, 6 Sep 2023 15:39:36 +0200 Subject: [PATCH 1/2] enabled vGPU profile for instant clones Signed-off-by: GeoRon --- .../VMware.Hv.Helper/VMware.HV.Helper.psm1 | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 index 14f4245..e2c2727 100644 --- a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 +++ b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 @@ -3925,18 +3925,26 @@ function New-HVPool { [boolean]$enableHTMLAccess = $false, # DesktopPCoIPDisplaySettings - #desktopSpec.desktopSettings.logoffSettings.pcoipDisplaySettings.renderer3D + #desktopSpec.desktopSettings.DisplayProtocolSettings.pcoipDisplaySettings.renderer3D [Parameter(Mandatory = $false,ParameterSetName = 'INSTANT_CLONE')] [Parameter(Mandatory = $false,ParameterSetName = "LINKED_CLONE")] [Parameter(Mandatory = $false,ParameterSetName = 'MANUAL')] [ValidateSet('MANAGE_BY_VSPHERE_CLIENT', 'AUTOMATIC', 'SOFTWARE', 'HARDWARE', 'DISABLED')] [string]$renderer3D = 'DISABLED', - #desktopSpec.desktopSettings.logoffSettings.pcoipDisplaySettings.enableGRIDvGPUs + #desktopSpec.desktopSettings.DisplayProtocolSettings.pcoipDisplaySettings.enableGRIDvGPUs [Parameter(Mandatory = $false,ParameterSetName = "LINKED_CLONE")] [Parameter(Mandatory = $false,ParameterSetName = 'MANUAL')] + [Parameter(Mandatory = $false,ParameterSetName = 'INSTANT_CLONE')] [boolean]$enableGRIDvGPUs = $false, + #desktopSpec.desktopSettings.DisplayProtocolSettings.pcoipDisplaySettings.VGPUGridProfile + [Parameter(Mandatory = $false,ParameterSetName = "LINKED_CLONE")] + # [Parameter(Mandatory = $false,ParameterSetName = 'MANUAL')] + [Parameter(Mandatory = $false,ParameterSetName = 'INSTANT_CLONE')] + [ValidateSet('grid_m10-0b','grid_m10-1b','grid_m10-2b','grid_m10-0q','grid_m10-1q','grid_m10-2q','grid_m10-4q','grid_m10-8q')] + [string]$VGPUGridProfile = $null, + #desktopSpec.desktopSettings.logoffSettings.pcoipDisplaySettings.vRamSizeMB [Parameter(Mandatory = $false,ParameterSetName = "LINKED_CLONE")] [ValidateRange(64,512)] @@ -4658,6 +4666,7 @@ function New-HVPool { if ($null -ne $jsonObject.DesktopSettings.displayProtocolSettings.pcoipDisplaySettings) { $renderer3D = $jsonObject.DesktopSettings.displayProtocolSettings.pcoipDisplaySettings.renderer3D $enableGRIDvGPUs = $jsonObject.DesktopSettings.displayProtocolSettings.pcoipDisplaySettings.enableGRIDvGPUs + $VGPUGridProfile = $jsonObject.DesktopSettings.DisplayProtocolSettings.PcoipDisplaySettings.VGPUGridProfile if ($jsonObject.DesktopSettings.displayProtocolSettings.pcoipDisplaySettings.vRamSizeMB) { $vRamSizeMB = $jsonObject.DesktopSettings.displayProtocolSettings.pcoipDisplaySettings.vRamSizeMB } @@ -4981,6 +4990,17 @@ function New-HVPool { $desktopPCoIPDisplaySettings.setRenderer3D($renderer3D) #setEnableGRIDvGPUs is not exists, because this property cannot be updated. $desktopPCoIPDisplaySettings.getDataObject().EnableGRIDvGPUs = $enableGRIDvGPUs + $desktopPCoIPDisplaySettings.getDataObject().EnableGRIDvGPUs = $enableGRIDvGPUs + if ($enableGRIDvGPUs -eq $true -and $renderer3D -ne 'MANAGE_BY_VSPHERE_CLIENT' -and $InstantClone -eq $true) { + Write-Error "Enabling GRID support requires that 3D rendering be managed by the vSphere client" + break + } + if ($enableGRIDvGPUs -eq $true -and [string]::IsNullOrEmpty($VGPUGridProfile) -eq $true -and $InstantClone -ne $true) { + Write-Error "Enabling GRID support for Instant clones, this requires a specified VGPUGridProfile" + break + } else { + $desktopPCoIPDisplaySettings.getDataObject().VGPUGridProfile = $VGPUGridProfile + } $desktopPCoIPDisplaySettings.setVRamSizeMB($vRamSizeMB) $desktopPCoIPDisplaySettings.setMaxNumberOfMonitors($maxNumberOfMonitors) $desktopPCoIPDisplaySettings.setMaxResolutionOfAnyOneMonitor($maxResolutionOfAnyOneMonitor) From cd502a516b581c0bf11be3d162870de3ac1bca42 Mon Sep 17 00:00:00 2001 From: GeoRon Date: Wed, 6 Sep 2023 15:41:49 +0200 Subject: [PATCH 2/2] removed duplicate line Signed-off-by: GeoRon --- Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 | 1 - 1 file changed, 1 deletion(-) diff --git a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 index e2c2727..3846e6f 100644 --- a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 +++ b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 @@ -4990,7 +4990,6 @@ function New-HVPool { $desktopPCoIPDisplaySettings.setRenderer3D($renderer3D) #setEnableGRIDvGPUs is not exists, because this property cannot be updated. $desktopPCoIPDisplaySettings.getDataObject().EnableGRIDvGPUs = $enableGRIDvGPUs - $desktopPCoIPDisplaySettings.getDataObject().EnableGRIDvGPUs = $enableGRIDvGPUs if ($enableGRIDvGPUs -eq $true -and $renderer3D -ne 'MANAGE_BY_VSPHERE_CLIENT' -and $InstantClone -eq $true) { Write-Error "Enabling GRID support requires that 3D rendering be managed by the vSphere client" break