May 012019
 
VMware Horizon View Logo

One really cool feature that was released in VMware Horizon View 7.7, was 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!

As a system admin, I see value in having some Physical PCs managed by the View connection server.

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.

Requirements

So here’s what’s required to get going:

  • Windows 10 Enterprise (Enterprise license is a must)
  • Physical PC or Workstation
  • VMware Horizon Licensing
  • VMware Horizon 7.7 Connection Server
  • VMware Horizon 7.7 Agent on Physical PC/Workstation
  • Manual Desktop Pool (Manual is required for Physical PCs to be added)

What Works

  • Blast Extreme
  • 3D Acceleration (via GPU with drivers)
  • 3D Acceleration with Consumer GPUs
  • Multiple Displays
  • Multiple GPUs

What Doesn’t Work

  • GPU Hardware h.264 encoding on consumer GPUs (h.264 encoding is still handled by the CPU)

Thoughts

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, 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.

3D Acceleration

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.

Horizon 3D Acceleration dxdiag
Horizon 3D Acceleration Enabled via dxdiag

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.

H.264 encoding

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.

Hacks?

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.

Bugs

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 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:
https://www.stephenwagner.com/2019/03/19/vmware-horizon-view-stuck-authenticating-logging-in/

  8 Responses to “Install VMware Horizon Agent on Physical PC”

  1. 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.

  2. Is this only on the physical machines with the agent installed? Or all View Agents?

  3. 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.

  4. And is the DNS fully working (both forward and reverse) and able to do both lookups to the VM running the agent?

  5. 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.

  6. 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.

  7. Hi Sonny,

    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.

    Cheers,
    Stephen

  8. 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?

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)