One really cool feature that was released in VMware Horizon View 7.7 (and Horizon 8), is the ability to install the Horizon Agent on to a Physical PC or Physical Workstation and use the Blast Extreme protocol. It even supports 3D Acceleration via a GPU and the direct-connect plugin (so you don’t need to have/use a View Connection Server)!
Update July 20, 2022: With the release of Horizon 8 2206, you can now install the Horizon agent on Windows 10 Pro, and Edu editions. Previous versions of Horizon required Windows 10 Enterprise.
As a system admin, I see value in having some Physical PCs managed by the View connection server. Also, if you have the licensing, this will allow you to set this up as a remote access solution for your business and employees.
I’ll be detailing some information about doing this, what’s required, what works, and what doesn’t below…
From the “What’s new in Horizon 7.7” doc at https://blogs.vmware.com/euc/2018/12/whats-new-horizon-7-7.html
You can now use the Blast Extreme display protocol to access physical PCs and workstations. Some limitations apply.
Additional information from the “Horizon 7.7 Release Notes” at https://docs.vmware.com/en/VMware-Horizon-7/7.7/rn/horizon-77-view-release-notes.html
Physical PCs and workstations with Windows 10 1803 Enterprise or higher can be brokered through Horizon 7 via Blast Extreme protocol.
So here’s what’s required to get going:
- Windows 10 Enterprise (for Horizon versions before Horizon 8 2206)
- Windows 10 Pro or Edu (for Horizon 8 2206 and later)
- Physical PC or Workstation
- VMware Horizon Licensing
- VMware Horizon 7.7 or higher (and Horizon 8) Connection Server
- VMware Horizon 7.7 or higher (and Horizon 8) Agent on Physical PC/Workstation
- Manual Desktop Pool (Manual is required for Physical PCs to be added)
- Blast Extreme
- 3D Acceleration (via GPU with drivers)
- 3D Acceleration with Consumer GPUs
- Multiple Displays
- Multiple GPUs
- VMware View Agent Direct-Connection Plug-In
What Doesn’t Work
- GPU Hardware h.264 encoding on consumer GPUs (h.264 encoding is still handled by the CPU)
- GPU Hardware h.264/h.265 offload may work in later versions (I still need to test this)
I’ve been really enjoying this feature. Not only have I moved my desktop in to my server room and started remoting in using Blast, but I can think of many use cases for this (machines shops, sharing software licenses, remote access, etc.).
I’ve had numerous discussions with customers of mine who also say they see tremendous value in this after I brought it to their attention. I’ll update this post later on once I hear back about how some of my customers have deployed it.
Update – March 14th 2020 – I’ve been using this on 3 different systems since I wrote this article and love this feature!
One thing that is really cool, is the fact that 3D acceleration is enabled and working if the computer has a GPU installed (along with drivers). And no, you don’t need a fancy enterprise GPU. In my setup I’m running a GeForce 550 GTX TI, and a GeForce 640.
While 3D acceleration is working, I have to note that the h.264 encoding for the Blast Extreme session is still being handled by the CPU. So while you are getting some great 3D accelerated graphics, depending on your CPU and screen resolution, you may be noticing some choppiness. If you have a higher end CPU, you should be able to get some pretty high resolutions. I’m currently running 2 displays at 1920×1080 on an extremely old Core 2 Quad processor.
I spent some time trying to enable the hardware h.264 encoder on the GPUs. Even when using the “NvFBCEnable.exe” (located in C:\Program Files\VMware\VMware Blast\) application to enable hardware encoding, I still notice that the encoding is being done on the CPU. I’m REALLY hoping they change this in future releases.
Another concept that this opens the door for is consumer GPUs providing 3D acceleration without all the driver issues. Technically you could use the CPU settings (to hide the fact the VM is being virtualized), and then install the Horizon Agent as a physical PC (even though it’s being virtualized). This should allow you to use the GPU that you’re passing through, but you still won’t get h.264 encoding on the GPU. This should stop the pesky black screen issue that’s normally seen when using this work around.
When upgrading to Horizon View 8 or higher, as part of the process to upgrade the agent on the physical machine, you may notice this functionality stops working. To resolve this, simply uninstall the agent and then re-install it.
Also, on a final note… I did find a bug where if any of the physical PCs are powered down or unavailable on the network, any logins from users entitled to that pool will time out and not work. When this issue occurs, a WoL (Wake on LAN) packet is sent to the desktop during login, and the login will freeze until the physical PC becomes available. This occurs during the login phase, and will happen even if you don’t plan on using that pool. More information can be found here:
Since the date of this post, VMware Tech Zone released a useful post outlining details on Using Horizon to Access Physical Windows Machines. I highly recommend you check it out!
Thanks for posting this! I’m trying to get this going on Horizon 7.9 fronted by UAG 3.6 and keep running into the same error either thru HTML or Horizon Client. I get this when trying to connect:
“Unable to set up the desktop session for the display protocol. Please contact your system administrator.”
Using Win 10 Enterprise 1809, UAG 3.6 Horizon 7.9, Horizon Agent 7.9, and Client 7.9. I’ve tried switching the client between PCOIP and Blast, same effect. I’m wondering what I may be missing.
Is this only on the physical machines with the agent installed? Or all View Agents?
So this is only on the physical machine, I only have 1 at this time setup. I have 2 pools, one for the Physical machines which has to be a manual pool, and another manual pool for actual VM’s that have the agent installed that I use. The other Manual pool with just VM’s in it, works fine.
And is the DNS fully working (both forward and reverse) and able to do both lookups to the VM running the agent?
Yes, DNS is working fully both forward and reverse lookups to/from the CS and the Agent. I opened a case with VMware Support on it as well to see what they come up with.
I would be interested to see what you come up with. I’m having the same issue with my physical machine setup. Virtual machines allow the protocol with no problem, but the physical machines will not make the connection. I can connect to the physical machines over RDP though.
First make sure that the firewall isn’t blocking the connections. Also make sure that forward and reverse DNS entries exist for the physical host.
Additionally, for the sake of BLAST, try deleting the BLAST certificates from the guest VM (the VDI guest, NOT the server).
You can troubleshoot the connection from the agent logs on the guest VM.
Reconnecting to a manual desktop gives the error The display protocol for this desktop is currently not available. Please contact your system administrator.” What can we check?
Hi, i’ve tried thsi with version 7.5 and for the most part it works pretty good but i did find that the physical PCs screeen is available for anyone to see when it is being remotely controlled in the view session. Did you see this in the version you’re using? is there any known fix. Thanks.
I’ve tested this, a few times in the last 4 minor versions and haven’t seen the same. I’m using Windows 10 Enterprise, but I may have GPOs configured to not allow the screen to be shown.
Thanks for the reply. maybe it is a version thing as i am on 7.5.3. RDP sessions automatically give a black screen when the system is being remote controlled. The view sessions PCoIP or Blast both keep the screen open to anyone. I’ll keep hunting, thanks.
Did you have to do anything special to get 3D acceleration working?
I have setup a physical desktop with a Nvidia 2080 and installed the Horizon agent v7.11. Using a connection server also at 7.11 and connecting with Blast using the latest view client it is still using the VMware Horizon Indirect Display Driver and no 3D acceleration.
Any suggestions or thoughts? Thanks
If you run “dxdiag” like I did in the post, is it showing the same things as mine as far as the enabled and disabled items go?
Also, VMware Blast Extreme only supports 3D acceleration on up to two displays with a maximum resolution of 1920×1200, or one display with a resolution of 3840×2160. It may be different on physical PCs, but I’m sure the spec applies to that as well.
Thanks for the response. When I run dxdiag I only have one display tab (I only have 1 monitor(1280×1024) on the system the client is running on) and that lists the “VMware Horizon Indirect Display Driver” rather than the Nvidia card. The output on mine is the same under “DirectX Features” as yours however 3D performance is no better over Blast than using RDP.
Any chance you’ve tried any OpenGL things successfully via Blast?
What Nvidia driver are you using?
I have two displays on my dxdiag, because the system has two graphics cards (was only using one).
Maybe try using the device manager to disable the indirect video card and restart (keep me in mind you’ll lose access once disabled). And see if it works on reboot. There’s also a chance things may have changed in the minor version updates.
Unfortunately if I disable the indirect video card in device manager I just get a black screen when trying to reconnect after the reboot. I then need to reinstall the agent and re-add the machine to the pool to get it working again.
I guess I may try using the older version and see if that is any different. I appreciate the input.
PS. One other thing too, is that instead of the video card doing h.264 encoding for BLAST, it’s done by the CPU. Is the computer’s CPU beefy enough to encode the video stream? Have you checked task manager whenever doing anything graphically intensive?
It’s an i7-8700 so should be up to the task. Are you able to run Blender or other OpenGL software when connected?
I don’t suppose you would be able to download the latest version of Blender and see if you could run it while connected via Blast in your setup? There is a portable version available so no install needed, just unzip and run and see if it will run or complain about OpenGL. I want to know if I’m wasting my time trying to get this to work or if it might still be possible.
I just tried it and received an error regarding the lack of a specific version of OpenGL.
By any chance do you have any Quadro video cards you could test with? I’m wondering if a Quadro card with Quadro drivers may work.
I don’t unfortuantely. I have a bunch of GTX and RTX cards but no Quadro. Thanks for trying it. I think at this point it’s not going to work out for me.
For what it’s worth if this helps anyone in the future, I was able to get the physical cards and drivers to show up in dxdiag by installing the agent with the command line switch INSTALL_VDISPLAY_DRIVER=0.
A new version of both VMware Horizon 7.12 and the Horizon Client 5.4 is out as of today…
Might be worthwhile giving it a shot?
[…] installing the VMware Horizon Agent on a Physical PC, you may have noticed some issues with USB redirection, audio, and hardware redirection. These […]
It has been reported that in some environments, physical desktop pools with floating assignment has resulted in two users being allocated the same machine which results in the first user getting disconnected. If this behavior is observed, apply the following workaround. On the physical PCs, set the following registry value:
Using Horizon 7 to Access Physical Windows Machines
We actually added this registry entry too.
Thank you for posting this. We used this to get our 100 AutoCAD users working from home and it’s really been impressive. We do have a pretty big issue though. A lot of users are reporting the black screen bug after working with it for a while. All the desktops are Win10 enterprise 1909. they all have AMD Radeon 7100 cards in them. Using the 7.10 agent and 5.3 client. blast protocol is allowed through our firewall. We did have to apply a regedit initially to make it work.
It’s so strange because it works great intermittently but seemingly at random it just throws the black screen up and we have to reboot the desktop 1 or 2 times to get it back. Have you seen this before? Any idea’s what the issue might be?
Glad to hear the post helps!
Out of curiosity, do you have the Horizon GPOs deployed? Have you configured any settings with those GPOs before this?
Does this happen with PCoIP as well?
Also, have you tried different video card drivers?
And finally, what resolutions are you trying to push? I’m wondering if maybe you’re maxing the resolution out.
Thanks for responding. We do not have any Horizon GPO’s. We haven’t used this feature on desktops before and sort of threw this together as quick as possible. I will have to look into those. Have not tried a different driver but they are all on the most up to date version. The resolution part is interesting, and I’ll bet that may have something to do with it because we are not using standard hardware and I wonder if some of the desktops with big monitors are trying to push out too high of a resolution. I just read the comment above about the blast limitation using 2 screens. That gives me some good places to start looking thank you. I’ll update what I find.
Also something very interesting we found. If the user unplugs their mouse from the desktop, say to take it home with them, the cursor becomes invisible on the client end. Plugging a mouse back in makes it reappear. Very strange.
Interesting for sure!
Let me know how you make out! And yes, try to limit the number of screens, as well as the resolutions.
I’m running Horizon 7.9 with 7.9 agent on physical desktops, anyone find a way to blank the physical desktops monitor when they are doing a remote PCoIP or Blast session? I’ve tried the latest horizon agent 7.12 and it does the same.. only the RDP session ensures the screen is locked. But we would prefer everyone to use blast.
I’ve even tried the GPO for blast and enabled the Screen Blank but it doesn’t make a difference.
Are you running the enterprise version of Windows 10? This is a common problem when people are using the pro version.
Also, make sure there’s no issues with the indirect display adapter in the drivers menu.
Finally, make sure you’re using the appropriate horizon agent (x86 vs x64).
Black screen issue solved. It was Always on VPN we had put in place on a handful of laptops. Caused some routing issues and ports being blocked by our firewall.
[…] you install the VMware Horizon Agent on a Physical PC, you may encounter issues with a blank […]
[…] Horizon isn’t limited to VDI… You can install the VMware Horizon Agent on a Physical PC so you can use VDI technologies like Blast Extreme to remote in to physical desktops at your […]
I setup Vmware Agent on physical PC, managed on VMware View Administrator 7.3.2, I have two problems :
The users are facing sometimes problem with screen flashing black at logon (to solve pb I have to restart the Physical PC)
the second pb : At logon the users cannot connect to the PC (To solve the pb I have to restart the PC) I noticed the port 3389 of the PC is not responding
These two problemes happen intermittently
– PC are Win 10 Prof
– No GPO deployed for Horizon
Unfortunately as the article states, you need Windows 10 Enterprise running on the PCs you install the Horizon agent on. I have readers reporting this issue get’s resolved once testing with Windows 10 Enterprise.
Also, please see this document for additional troubleshooting: https://www.stephenwagner.com/2020/04/04/vmware-horizon-blank-black-screen/
Hi, does transferring files between the remote machine and the home machine work in your case? For some reason I can’t get the local machine’s shared folder to be visible on the remote machine even though I’ve set it to be shared in Horizon Client.
I haven’t tested it myself, but it should be working as long as all the proper ports are open and the firewalls aren’t blocking anything.
Also, make sure it’s not disabled via GPO.
Regarding #37, apparently this domain policy setting was the cause of CDR not working (should be Disabled to allow it to work):
On your Active Directory server, open the Group Policy Management Editor and navigate to Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Device and Resource Redirection.
Open the Do not allow drive redirection group policy setting, select desired status, and click OK.
Can a user install the View client as well to access the physical workstation or it it only the BLAST protocol that works?
When you install the View Agent on a physical PC, you use the office Horizon View client to connect and access it.
You can use Blast, PCoIP, and RDP protocols.
How is this licensed?
You need VMware horizon licensing for all endpoints/agents.
@#28 ….Also something very interesting we found. If the user unplugs their mouse from the desktop, say to take it home with them, the cursor becomes invisible on the client end. Plugging a mouse back in makes it reappear. Very strange. ….
Did you find a Solution for this Problem?
Thanks for posting this. I’ve managed to get this working on Windows 10 VM with NVidia Quadro 600 gpu passthrough via direct connection agent.Dxdiag shows that Direct3d,Directdraw and Agp acceleration are all enabled.
Anyone know how to blank the screen of the physical PC so people walking by can’t see what’s happening?
Log Off After Disconnect is not working. Please help!
Is there an error, or anything specific you can report/post? Have you checked the agent communication, event log, agent log files, etc?
I used Windows 2019 IoT. Its ok for this fonction ?