When the Pi 2 came along with the potential for performance to take another step up was clear. As can be seen from the comments Citrix is working with the Raspberry Pi Foundation and 3rd party vendors looking to create add management capabilities to a Raspberry Pi thin client, e.g: ThinlinX. As can be seen from the comments Citrix is working with the Raspberry Pi Foundation and 3rd party vendors looking to create add management capabilities to a Raspberry Pi thin client, e.g: ThinlinX. This post covers many of the points covered in the comments on Muhammad’s blog posts.
Hey, so I thought I would just create a post on how to create a cheap Thin Client like device which can be used to access Citrix remotely. The latest version of Citrix Workspace App ( previously known as receiver / ica client ) for Linux now contains HDX for Microsoft Teams but does require a couple of dependencies.
Prep the Pi
I have tested this on both the Raspberry Pi 3 and 4 which both worked well. First, we need to do is head over to https://www.raspberrypi.org/downloads/raspberry-pi-os/ and download the desktop image.
Once downloaded, unzip and write to the MicroSD Card with your favourite tool, alternative see the instructions at https://www.raspberrypi.org/documentation/installation/installing-images/ for a guide on how to do it.
Next, we need to boot your new Raspberry Pi OS installation and run through the setup process. Ensure you install the latest updates and reboot as part of the wizzard!!
Once rebooted we will now need to install some bits to get the HDX, WebCam and SaaS working nicely with Citrix. Firstly open the terminal using the shortcut on the taskbar at the top of the screen.
Next, we need to use the package manager to install the required packages.
Download Citrix
Unfortunately due to Citrix's licensing structure, you will not find it in the software centre or via apt. They also make it hard to link directly to packages so we will have to do download the packages manually
Go to https://www.citrix.com/en-gb/downloads/workspace-app/linux/workspace-app-for-linux-latest.html and look for 'Debian packages' under Available Downloads.
Under here select 'Web Packages Only'
And then locate the 'Citrix Workspace app for Linux Web Client (ARM HF)' and click Download file.
Optional - USB Support
If you want USB support then under 'USB Packages' download the ARM HF version as above.
Install Citrix Packages
Once downloaded you will need to open the terminal again.
Then you will need to change to your downloads directory and run the dpkg command
This will now have installed the Citrix client ( and USB support if specified ) to your PI.
Webcam & Mic
There is one last step required to enable WebCam and Microphone to be enabled in your Citrix session. Again from a terminal run
This will open the preference tools, select the 'Mic & Webcam' tab and select the option 'Use my microphone and webcam'
And there you go, you are now ready to use your Pi to access Citrix and use MS Teams with full HDX support :)
Troubleshooting
- If HDX is not working then open a termin and run
this will check that you have all the dependencies installed and flag up any that are not.
- I also found that using my bluetooth headset ( UpRoar Wireless Headphones ) crash the citrix session. Use a USB headset/microphone worked ok.
- If you have issues with sound / speed then perform the usual checks
- Kick the kids off the wifi
- Try going hardwired instead of wifi
- Run a speed test
- Reboot your router
After thoughts
Great, that is good for the Pi but what about my Ubuntu Laptop/Desktop?
Well form the Citrix Debian Packages select x86_64 packages and follow the above.
You will need to install the following package versions on Ubuntu vs the Pi.
Everyone is talking about the new Raspberry Pi 4 and ask themselves if it’s the new ultimate and cheap thin client. So far, I haven’t seen any customer here in Switzerland using a Pi with VMware Horizon. And to be honest, I have no hands-on experience with Raspberry Pis yet and want to know if someone in pre-sales like me easily could order, install, configure and use it as a thin client. My questions were:
- How much would it cost me in CHF to have a nice thin client?
- What kind of operating system (OS) is or needs to be installed?
- Is this OS supported for the VMware Horizon Client?
- If not, do I need to get something like the Stratodesk NoTouch OS?
- If yes, how easy is it to install the Horizon Client for Linux?
- How would the user experience be for a normal office worker?
- Is it possible to use graphics and play YouTube videos?
First, let’s check what I ordered on pi-shop.ch:
- Raspberry Pi 4 Model B/4GB – CHF 62.90
- KKSB Raspberry Pi 4 Case – CHF 22.90
- 32GB MicroSD Card (Class10) – CHF 16.90
- Micro-HDMI to Standard HDMI (A/M) 1m cable – CHF 10.90
- Power: Official Power Supply 15W – CHF 19.40
- Keyboard/Mouse: Already available in my home lab
Total cost in CHF: 133.00
Raspberry Pi 4 Model B Specs
I ordered the Raspberry Pi 4 Model B/4GB with the following hardware specifications:
- CPU – Broadcom BCM2711, quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
- RAM – 4GB LPDDR4
- WLAN – 2.4 GHz and 5.0 GHz IEEE 802.11b/g/n/ac wireless
- Gigabit Ethernet
- USB – 2x USB 3.0, 2x USB 2.0
- Video – 2 × micro HDMI ports (up to 4Kp60 supported)
- Multimedia – H.265 (4Kp60 decode), H.264 (1080p60 decode, 1080p30 encode)
With this powerful hardware I expect no problems and would assume that even playing videos and using graphics is not an issue. But let’s figure that out later.
Horizon Client for Linux
The support for the Raspberry Pi came with Horizon Client 4.6 for Linux:
Horizon Client for Linux now supports the Raspberry Pi 3 Model B devices that are installed with ThinLinx Operating System (TLXOS) or Stratodesk NoTouch Operating System. The supported Horizon Client features include Blast Extreme, USB redirection, and H.264 decoding.
And the current Horizon Client 5.1 still only mentions the support for Raspberry Pi 3 with the same supported feature set:
Horizon Client for Linux 5.1 is supported on Raspberry Pi 3 Model B devices that are installed with ThinLinx Operating System (TLXOS) or Stratodesk NoTouch Operating System. The supported Horizon Client features include Blast Extreme, USB redirection, and H.264 decoding.
Hm, nothing has changed so far. During the time of writing this article I’ll try to figure out if the official support for a Pi 4 is coming soon and why ThinLinX is the only supported OS so far. Because I saw on Twitter and on the Forbes website that people are waiting for Ubuntu MATE for their Raspis.
And I found a tweet from August 6, 2019, from the ThinLinX account with the following information:
ThinLinX has just released TLXOS 4.7.0 for the Raspberry Pi 4 with dual screen support. The same image runs on the entire Raspberry Pi range from the RPi2 onward TLXOS 4.7.0 supports VMware Horizon Blast, Citrix HDX, RDP/RemoteFX, Digital Signage and IoT
Raspberry Pi and Horizon Client 4.6 for Linux
The next question came up – are there already any people around who tested the ThinLinX OS with a Raspberry Pi 3/4?
Probably a few people tried it already, but only one guy from UK so far blogged about this combination on his blog vMustard.
He wrote a guide about how to install TLXOS and the TMS management software, the configuration of TLXOS and how the Horizon Client for Linux needs to be installed. For sure his information helps me to get started.
Horizon Test Environment
I’m going to use VMware’s TestDrive to access a vGPU enabled Windows 10 desktop from the EMEA region. Such a Windows 10 1709 desktop is equipped with a Xeon Gold 6140 CPU and a Nvidia Tesla V100 card. I tried to get a card from Nvidia to perform the tests in my home lab, but they already gave away all the cards they had. So, the test in my home lab has to wait for a few weeks or months. 🙂
Workspace ONE UEM and TLXOS
And when I finally have installed TLXOS and can connect to a Horizon desktop, would it be possible to install Intelligent Hub and enroll the device in my Workspace ONE UEM sandbox environment? Is this also possible and supported?
Checking our VMware Docs and the Workspace ONE UEM product documentation the following information can be found:
The flexibility of the Linux operating system makes it a preferred platform for a wide range of uses, including notebooks, Raspberry Pi devices, and other IoT-capable devices. With Workspace ONE UEM, you can build on the flexibility and ubiquity of Linux devices and integrate them with your other mobile platforms in a central location for mobile device management.
Hm, would my new thin client be supported or not? The only requirements mentioned, are:
- You can enroll devices running any version and any configuration of Linux running on either x86_64 or ARM7 architecture into Workspace ONE UEM
- You can enroll Linux devices in any Workspace ONE UEM version from 1903 onward
- You must deploy the Workspace ONE Intelligent Hub for Linux v1.0
As you can see above the new Raspberry Pi 4 is based on ARM8. I asked our product management if the RPi4 and TLXOS is supported and received the following answer:
As for WS1 UEM support for Linux, we do support ARM and won’t have a problem running on a Pi4, but we are still early stages for the product
As the Linux management capabilities with Workspace ONE UEM are very limited, I’m going to wait another four to six months to perform some tests. But TLXOS is anyway coming with its on management software. And customers would probably prefer another Linux Distribution like Ubuntu MATE.
Raspberry Pi 4 Setup
There is no special manual needed to set up a Raspberry Pi. Just unbox and install it in a case, if you ordered one. Here are some general instructions: https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up
Install ThinLinX OS on the Raspberry Pi 4
Download the most recent installer for ThinLinX OS (TLXOS) for a Raspberry Pi: http://thinlinx.com/download/
Insert your microSD card into your PC and launch the “TLXOS Raspberry Pi SD Card Installer” (in my case tlxos_rpi-4.7.0.exe” and press “Yes” if you are prepared to write the image to the SD card.
After the image extraction a “Win32 Disk Imager” window will appear. Make sure the to choose the correct drive letter for the SD card (in my case “G”). Click “Write”
If everything went fine you should get a notification that the write was successful.
Now put the SD card into the Pi, connect the USB-C power cable, micro-HDMI cable, keyboard and mouse.
And then let’s see if the Pi can boot from the SD card.
It seems that the TLXOS just booted up fine and that we have “30 Day Free Trial” included.

A few minutes later TLXOS was writing something to the disk and did a reboot. The Chromium browser appears. This means we don’t need to install the TMS for our tests, except you would like to test the management of a TLXOS device.
I couldn’t find any menu on TLXOS, so I closed the browser and got access to a menu where I apparently can configure stuff.
Install Horizon Client for Linux on TLXOS
After I clicked on “Configure” before I browsed through the tabs (Application) and found the option to configure the Horizon Client. It seems that the client is included now in TLXOS which was not the case in the past. Nice!
Note:
When a TLXOS device boots, if configured correctly it will automatically connect to a Remote
Server using the specified connection Mode. Up to 16 different connection Modes can be
configured
I just entered the “Server” before and clicked on “Save Settings” which opened the Horizon Client automatically where I just have to enter my username and password (because I didn’t configure “Auto Login” before).
Voila, my vGPU powered Windows 10 desktop from VMware TestDrive appeared.
As first step I opened the VMware Horizon Performance Tracker and the Remote Desktop Analyzer (RD Analyzer) which both confirmed that the active encoder is “NVIDIA NvEnc H264“. This means that the non-CPU encoding (H.264) on the server and the H.264 decoding on TLXOS with the Horizon Client (with Blast) should work fine.
To confirm this, I logged out from the desktop and checked the Horizon Client settings. Yes, H.264 decoding was allowed (default).
After disallowing the H.264 decoding I could see the difference in the Horizon Performance Tracker.
The active encoder changed to “adaptive”. Let’s allow H.264 again for my tests!
Testing
1) User Experience with YouTube
As a first test the user experience with the Raspberry Pi 4 as a thin client and to check how the H.264 decoding performs I decided to watch this trailer:
AVENGERS 4 ENDGAME: 8 Minute Trailers (4K ULTRA HD) NEW 2019: https://www.youtube.com/watch?v=FVFPRstvlvk
Raspberry Pi Citrix Client
I had to compress the video to be able to upload and embed it here. Important to see is that I was watching the 4K trailer in full screen mode and the video and audio were not choppy, but smooth I would say! I had around 21 to 23 fps. But that’s very impressive, isn’t it?
For the next few tests I’m going to use what TestDrive offers me:
2) TestDrive – Nvidia Faceworks
3) TestDrive – eDrawings Racecar Animation
4) TestDrive – Nvidia “A New Dawn”
5) TestDrive – Google Earth
6) FishGL
Conclusion
Well, what are the important criteria which a thin client needs to fullfil? Is it
- (Very) small form factor
- Management software – easy to manage
- Secure (Patching/Updating, Two Factor Authentication, Smartcard Authentication)
- Longevity – future proof
- Enough ports for peripherals (e.g. Dualview Support)
- Low price
- Low power consumption
It always depends on the use cases, right? If Unified Communications is important to you or your customer, then you need to go with the Stratodesk’s NoTouch OS or have to buy another device and use a different OS. But if you are looking for a good and cheap device like the Raspberry Pi 4, then multimedia, (ultra) HD video streaming and office applications use cases are no problem.
Raspberry Pi Citrix Client Download
My opinion? There are a lot of use cases for these small devices. Not only in end-user computing, but it’s easy for me to say that the Raspi has a bright future!
With the current TLXOS and the supported Horizon Client features so far I wouldn’t call this setup “enterprise ready” because the installation of TLXOS needs to be done manually except you can get it pre-installed on a SD card? Most customers rely on Unified Communications today and are using Skype for Business and other collaboration tools which is not possible yet according to the Horizon Client release notes. But as soon as the Horizon Client (for Linux) in TLXOS gets more features, the Raspberry Pi is going to take some pieces of the cake and the current thin client market has to live in fear. 😀
Raspberry Pi 4 Citrix Thin Client
The biggest plus of a Raspberry Pi as a thin client is definitely the very small form factor combined with the available ports and the cheap money (TLXOS license not included). You can connect two high resolution monitors, a network cable, keyboard, mouse and a headset without any problem. If you buy the Pi in bulk as customer then I claim that the price is very, very hard to beat. And if a Pi has a hardware defect then plug the SD card into another Pi and your user can work again within a few minutes. If VESA mount is mandatory for you then buy a VESA case. By the way, this is my KKSB case:
Raspberry Pi Citrix Client Windows 10
What is missing in the end? Some Horizon Client features and the manual initial OS deployment method maybe. I imagine that IT teams of smaller and medium-sized companies could be very interested in a solution like this, because a Raspberry Pi 4 as a thin client already ROCKS!
