Pre loader

How to Run Raspberry Pi OS on VMWare Player, view Realtime JavaScript Charts with SciChart.js

Categories

How to Run Raspberry Pi OS on VMWare Player, view Realtime JavaScript Charts with SciChart.js

Running Raspberry Pi OS on VMWare Player is a powerful way to simulate embedded environments without needing dedicated hardware. Whether you’re building human-machine interfaces (HMI), SCADA dashboards, or monitoring industrial and IoT systems, the Raspberry Pi ecosystem is widely adopted for its flexibility, GPIO access, and strong community support.

In many of these applications, real-time data visualization is critical – and that’s where tools like SciChart.js come in. This guide walks you through setting up Raspberry Pi OS in a VMWare virtual environment, and demonstrates how to render high-performance, real-time JavaScript charts using SciChart.js – perfect for engineers and developers working in embedded analytics, telemetry, and control systems.

Part 1: Installing Raspberry Pi OS in VMWare Player

First of all we’re going to show you how to install Raspberry Pi OS on VMWare player.

If you’ve already done this, or are using a real Raspberry Pi device then feel free to skip to Part 2.

The setup of Raspberry Pi OS on VMWare wasn’t trivial so the first section of the blog will be dedicated to setup and configuration of the Raspberry Pi Guest OS. After that we’ll talk about checking and enabling WebGL hardware acceleration and finally running the SciChart.js demos on Raspberry Pi OS, to showcase the speed, power and performance of this JavaScript Chart library for HMI, Scada or IoT industrial monitoring solutions.

1.1 Downloading VMWare Player, Raspberry Pi OS images

There’s a hugely useful guide here which we mostly followed, with some minor amendments to get this working:

showing how to download raspberry pi

  • Download that and we will next create the VM and install Raspberry Pi OS.

1.2 Setting up VMWare for Raspberry Pi OS

  • Load up VMWare Player and create a new Virtual Machine. Select the option “I will install the operating system later”
  • Select Guest operating system “Linux”, and version “Debian 9.x 64-bit”.
  • Give the VM a name, e.g. “Raspberri Pi” and click next.

installation process of software

  • Allocate maximum disk size 32GB and “Store virtual disk as a single file”
  • Next, we want to Customize the hardware.
    • Select Memory 4096 MB (4GB)
    • Select processors: 4
    • For display we want to enable “Accelerate 3D Graphics” and allocate at least 256MB ram for the guest graphics memory. I’ve allocated 1GB but this can be changed as you wish.

installation process of software

  • Next, select CD/DVD and “Use ISO Image file”. Select the downloaded Raspberri Pi OS .iso that you previously downloaded

installation process of software

  • Now, start the VM and you should enter into a loading screen.

installation process of software

OK, the steps are now as follows:

  1. Select the Graphical Install
  2. Select language (defaults to British English 🇬🇧, as it should be :D) and proceed with the install.
  3. Select partition disks – Guided – use entire disk
  4. Click through the defaults on the partitioning
  5. such as selecting the GRUB bootloader into /dev/sda
  6. After a while, you should now get into Raspberri Pi OS desktop in VMWare

Make sure to follow the steps from the video we mentioned before, in case you get stuck!

Raspberry Pi OS Running on VMWare Player 17!
Raspberry Pi OS Running on VMWare Player 17!

1.3 Problems with WebGL Support in Raspberry Pi OS on VMWare

Now that you have VMWare setup to run Raspberry Pi OS, the next problem you’re going to have is enabling WebGL support so that that the SciChart.js demos can run.

If you open the Chromium browser in Raspberry Pi OS, and navigate to scichart.com/demo and open any demo, you’ll see that the chart is blank.

By right-clicking the demo and selecting “Inspect Element” you can view the Google Chrome dev tools and see errors in the console.

Errors correction

The error is:

Uncaught (in promise). Error: SciChart: WebGL not supported!
at e.getContext (bundle.js:29:4220440)
at t.getMasterCanvas (bundle.js:29:3390142)

Let’s go ahead and solve this.

1.4 Checking if your Browser Supports WebGL

SciChart.js requires WebGL to run. Thankfully this is supported by almost all computers, even Raspberry Pi (see the SciChart.js System Requirements here), the error/issue is coming from VMWare hardware acceleration itself.

A quick way to check if a browser or system supports WebGL is to visit https://get.webgl.org/ in a browser. If WebGL is supported, then you should see a spinning cube. You can also get a more comprehensive report by visiting https://webglreport.com/.

Loading get.webgl.org up in Chromium inside Raspberry Pi OS in VMWare however, you will see an error:

Hmm. While your browser seems to support WebGL, it is disabled or unavailable. If possible, please ensure you are running the latest drivers for your video card.

webgl website

You can further check this by going to chrome://gpu in the browser address bar.

gpu internals

This reports the GPU internals. You can see WebGL: Unavailable. This is a VMWare setting and can be corrected in the following steps.

1.5 Installing VMWare Tools for Raspberry Pi OS in VMWare

OK let’s resolve the issue and get WebGL enabled, so that SciChart.js demos can run with WebGL support.

  1. Download and install the VMWare tools. For me the typical install didn’t work, so I downloaded VMWare tools for Linux from https://packages-prod.broadcom.com/tools/frozen/linux/linux.iso
  2. Using the VMWare settings -> Hardware settings -> CD Rom I selected this ISO and restarted the Guest OS
  3. Next, I extracted to the local desktop in the Raspberry Pi Guest OS.
  4. Next, open a terminal to the extracted VMWare tools folder
  5. Inside terminal, run the command sudo ./vmware-install.pl
  6. Choose defaults for everything, (hit enter and yes where prompted). This should install VMWare tools.
  7. Finally, restart the guest OS and you should now be able to run full screen
Extract VMWare Tools
Extract VMware tools
Install VMWare tools
Completed VMWare tools install showing X warning

Note: When installing the VMWare tools I saw the warning “Skipping X configuration because X drivers are not supported”. Googling this I discovered that VMWare won’t support hardware acceleration for Raspberry Pi OS in VMWare, however it’s still possible to emulate WebGL support using software rendering. Read on to find out how.

1.5.1 Checking VMWare Tools are installed

To check VMWare tools are installed, run the command

sudo service vmware-tools status

If the tools are installed, you should see a success message.

raspberry pi software

1.6 Installing Google Chrome Browser (vs. pre-installed Chromium)

Another step I found helpful was to install Google Chrome browser official (not the Chromium which ships with Raspberry Pi OS by default). Google Chrome has software emulation for WebGL via SwiftShader. 

With chrome installed, go to chrome://gpu and you should now see WebGL support via software emulation.

Checking WebGL support on Raspberry Pi OS via get.webgl.org
Checking WebGL support on Raspberry Pi OS via get.webgl.org
Using chrome://gpu to inspect WebGL support in browser
Using chrome://gpu to inspect WebGL support in browser

This is cool, but we still don’t have full hardware acceleration and therefore true WebGL support in the Raspberry Pi OS Guest on VMWare.

It’s good enough for testing out SciChart.js on Raspberry Pi OS using a virtual machine though, so we’ll continue!

Note: on a real Raspberry Pi 4 or 5 device, you’ll see “Hardware Accelerated” under WebGL support in chrome://gpu and performance of SciChart.js will be much better, so there is no issue running SciChart.js on this platform. It’s just the Virtual Machine causing troubles.

1.7 Enabling True WebGL Hardware Acceleration in Chromium on Raspberry Pi OS within VMWare

OK with a little more head scratching and interaction with Chat-GPT, I managed to get full WebGL hardware acceleration working in Raspberry Pi OS on VMWare.

What I learned with a lengthy conversation with the chatbot was that:

  • The Guest Raspberry Pi OS is 32-bit (i386)
  • Google Chrome is 64-bit only, so it is looking in /usr/lib/x86-64-linux-gnu/dri for 64-bit video drivers, but the system only has 32-bit mesa drivers.
  • This mismatch is why Google Chrome falls back to SwiftShader.
  • Also, the default Raspberry Pi OS ships with incorrect 32-bit Mesa DRI Drivers (no vmwgfx_dri.so / swrast_dri.so in the folder /usr/lib/i386-linux-gnu/dri
  • Without those, even Chromium wouldn’t use the VMWare 3D driver.

Here’s the steps to fix that.

1.7.1 Install the correct 32-bit Mesa/DRI stack and open-vm-tools-desktop and xserver-xorg-video-vmware

To update the Raspberry Pi OS in VMWare to have the correct drivers, first start by doing a global update.

sudo apt-get update
sudo apt-get upgrade

Next, install the open-vm-tools, xserver and mesa drivers

sudo apt install -y \
open-vm-tools-desktop xserver-xorg-video-vmware \
libgl1-mesa-dri:i386 libglx-mesa0:i386 libglapi-mesa:i386 \
libegl1:i386 libegl-mesa0:i386 libgbm1:i386 libgles2-mesa:i386 \
mesa-utils

This puts the proper DRI .so drivers (vmwgfx_dri.so, swrast_dri.so) into /usr/lib/i386-linux-gnu/dri which Chromium (not Google Chrome) can load.

Reboot the Guest OS after this step so that drivers are properly loaded.

Verify the drivers exist with the following command:

ls /usr/lib/i386-linux-gnu/dri | grep vmwgfx

and confirm acceleration works:

glxinfo | grep "OpenGL renderer"
# should say: SVGA3D; build: RELEASE; LLVM;

Once those files exist, Chromium can be loaded with the following flags:

which chromium
# for me, reports /usr/bin/chromium

/usr/bin/chromium --ignore-gpu-blocklist --enable-webgl

Finally, verify inside the browser by visiting chrome://gpu and https://webglreport.com/

Note: Passing the flag --ignore-gpu-blocklist is essential as Chromium ignores the VMWare 3D driver on load. This and --enable-webgl forces Chromium to load drivers and therefore hardware acceleration for WebGL

Launch Chromium with ignore-gpu-blocklist and enable-webgl flags to get hardware acceleration in Raspberri Pi OS on VMWare
Launch Chromium with flags –ignore-gpu-blocklist and –enable-webgl to get full hardware acceleration
WebGL 2 Supported with Hardware Acceleration in Raspberry Pi OS on VMWare
WebGL 1, 2 is now fully supported in Raspberry Pi OS on VMWare using Chromium

Shazzam! Now we’re ready to try out some real-time JavaScript Charts on a Raspberry Pi in VMWare.

Part 2. Running the SciChart.js Demos – Realtime JavaScript Charts on Raspberry Pi OS

OK now we have a working Raspberry Pi OS in VMWare which supports WebGL, we can test out the SciChart.js Realtime JavaScript Chart demos.

2.1 Real-time JavaScript Charts on a Raspberry Pi

In Google Chrome in your R-Pi Guest Os, navigate to https://scichart.com/demo/. This should open up the demo gallery (defaulting to React charts).

Running SciChart.js Realtime JavaScript Charts on Raspberry Pi OS in VMWare

You can scroll up/down and browse the example gallery.

2.1 Big Data Charts (> 1 million points) on a Raspberry Pi

Let’s pick one of the performance demos such as scichart.com/demo/react/chart-performance-load-one-million-points

This demo creates a line chart with 1,000,000 data-points and renders the chart. It will regenerate the data and re-render the chart in a timer loop to show how quickly SciChart.js can draw on this device. To pause the loop click the Pause button. To force a refresh (single frame), click the reload button.

Rendering 1 million data-points in a JavaScript React Chart on Raspberry Pi OS

The demo reports some performance numbers at the bottom. Generating and appending data takes 10ms and Rendering the frame takes 6ms on Raspberry Pi OS in VMWare. Pretty impressive numbers for a Linux VM with just 4GB ram!

This should show the speed and power of SciChart.js for low-cost low-power embedded hardware. An effective, viable option for big-data or real-time scientific charts on the Raspberry Pi.

Let’s try a couple of other examples.

2.3 Realtime Medical ECG Charts on a Raspberry Pi

The React Vital Signs ECG/EGK Medical Demo showcases a ECG waveform such as found in a medical vital signs monitor. This makes use of the fifoCapacity and fifoSweeping flags in SciChart.js to get a sweeping ECG effect – when the trace touches the right edge of the viewport, it wraps around to the left edge. You can learn more about fifoSweeping here.

Running a medical ECG chart in JavaScript / React on Raspberry Pi OS on VMWare
Running a medical ECG chart in JavaScript / React on Raspberry Pi OS on VMWare

This runs pretty well, with very smooth performance on Raspberry Pi OS on VMWare when using WebGL Hardware acceleration.

Using embedded hardware like a Raspberry Pi is perfect for medical devices, medical test devices and small portable vital signs monitors, blood pressure monitors and more. With SciChart.js you’ll get the performance and flexibility you need to create real-time charts on these platforms.

2.4 Realtime Polar / Phasor Diagrams on a Raspberry Pi

A Phasor Diagram is a graphical representation used in electrical engineering to visualize the magnitude and phase relationships of sinusoidal (AC) signals, particularly voltages and currents.

Common uses of Phasor Diagrams include AC Circuit analysis, power systems – analysis and visualisation of electrical grids, electric machines such as transformers, synchronous motors and generators, induction motors – signal modulation and demodulation in electronics, communications (e.g. AM, FM, PM) and representation of complex impedance and filters.

Using the JavaScript Phasor Diagram demo you can preview a JavaScript / React version of a real-time phasor chart on a Raspberri Pi. Perfect for analysis of electrical/electronic systems on low-cost embedded devices.

Realtime Polar Phasor Diagram in JavaScript running on Raspberry Pi OS in VMWare
Realtime Polar Phasor Diagrams in JavaScript are used in electrical engineering and RF engineering applications. This demo is running on Raspberry Pi OS in VMWare

2.5 Realtime Heatmaps, Scientific Charts and Ultrasound Charts on a Raspberry Pi

A real-time heatmap chart is a powerful visualization tool that is used in scientific, electronic/electrical, or RF engineering contexts to display how data evolves over time and space. It uses colour intensity to represent the magnitude of a variable across two dimensions, with the third dimension typically being time.

Heatmaps display values as colours in a 2D grid. A real-time heatmap updates continuously as new data arrives. Colour can be used to represent signal intensity, temperature, power level etc… in electronic/electrical engineer, RF engineering or spectral analysis.

The Rich Interactions Showcase demo on the SciChart.js website showcases a real-time updating heatmap, performing a double-slit experiment. All entirely in JavaScript and in this case, running on Raspberry Pi OS on VMWare.

Realtime Heatmaps for scientific analysis, electrical / electronic engineering, RF spectral analysis - in JavaScript / React, on a Raspberry Pi
Realtime Heatmaps for scientific analysis, electrical / electronic engineering, RF spectral analysis – in JavaScript / React, on a Raspberry Pi

In an industrial context, heatmaps are used to visualize spatial data from sensors or imaging systems, especially when inspecting physical materials or structures. One powerful use case is in non-destructive testing (NDT)—such as detecting stress fractures in concrete using ultrasound.

Using SciChart.js you can visualise Ultrasound devices, using a combination of polar-arc charts and heatmaps. This medical ultrasound demo below shows exactly how you can do this in JavaScript on a Raspberri Pi.

Ultrasound Charts in JavaScript for Non Destructive Testing (NDT) or medical imaging - using SciChart.js on a Raspberry Pi in VMWare
Ultrasound Charts in JavaScript for Non Destructive Testing (NDT) or medical imaging – using SciChart.js on a Raspberry Pi in VMWare

2.6 JavaScript 3D Charts – Lidar, Surface Plots – on a Raspberry Pi

2D Charts not enough to visualise scientific data on a Raspberry Pi? You can also visualise 3D charts such as Surface Mesh plots, 3D point clouds, 3D Scatter/Bubble charts, 3D waterfall charts and 3D column charts using SciChart.js.

Running 3D JavaScript Charts on Raspberry Pi in VMWare. This LIDAR demo showcases surface mesh plot and 3d point clouds
Running 3D JavaScript Charts on Raspberry Pi in VMWare. This LIDAR demo showcases surface mesh plot and 3d point clouds

Go ahead and try out some more examples/demos of our Realtime JavaScript Charts at scichart.com/demo.

Again, note that the Raspberry Pi OS on VMWare doesn’t support WebGL by default. You’ll have to do some setup configuration as covered in Part 1 to enable WebGL (software emulation using Google Chrome, or hardware acceleration in Chromium) so that you can try out the SciChart.js demos.

A real Raspberry Pi 4 or 5 device has a GPU capable of hardware acceleration for WebGL 1 and 2, which means SciChart.js is fully supported by these devices. Something you can check by navigating to chrome://gpu in the browser.

Conclusion

Simulating Raspberry Pi OS in VMWare Player is a practical solution for developers and engineers who want to prototype or test applications for embedded systems without needing physical hardware. Despite the limitations of virtualized hardware acceleration, it’s still entirely possible to run real-time JavaScript charts using SciChart.js – and achieve impressive performance even with software-emulated WebGL.

This setup is particularly relevant for industries working with HMI, SCADA, industrial automation, telemetry, and IoT monitoring, where lightweight, responsive, and visually rich dashboards are essential. Whether you’re evaluating charting solutions for edge devices or validating application logic in a virtual environment, this workflow gives you a solid head start.

When you’re ready to deploy to real Raspberry Pi hardware, you can expect even better performance – with full GPU acceleration enabling high frame rates and smooth data visualization.

If you’re working in embedded systems and need fast, high-performance charting on embedded systems, SciChart.js is a powerful option worth considering.

By Andrew Burnett-Thompson | Aug 21, 2025
CEO / Founder of SciChart. Masters (MEng) and PhD in Electronics & Signal Processing.Follow me on LinkedIn for more SciChart content, or twitter at @drandrewbt.

Leave a Reply