Running Flash Content on Linux: Ruffle and Legacy Options
Flash is dead on the web. Adobe ended support on December 31, 2020, and all modern browsers removed plugin support years ago. If you need to view Flash content in 2026, you have two practical options: the Ruffle emulator or running legacy applications in isolated environments.
Why Fresh Player Plugin and PPAPI Don’t Work Anymore
The Fresh Player Plugin was a translation layer that converted Firefox’s NPAPI calls to Chrome’s PPAPI interface, letting you run Flash in Firefox. It’s completely non-functional now:
- Firefox 109+ removed all plugin support: The browser no longer loads .so files from
~/.mozilla/plugins/or any external plugins - Chrome dropped Flash in 2020: Google removed Pepper Flash entirely, so there’s nothing for Fresh Player to wrap
- The project is abandoned: No commits since 2017; it’s unmaintained and incompatible with current systems
- Security liability: Running decade-old closed-source binary plugins creates significant attack surface
Option 1: Ruffle Emulator (Recommended)
Ruffle is an open-source Flash emulator written in Rust. It runs Flash content in a sandbox without any plugins, and it handles the vast majority of real-world Flash content.
Installation
Most distributions package Ruffle directly:
# Fedora
sudo dnf install ruffle
# Ubuntu/Debian
sudo apt install ruffle
# Or build from source
git clone https://github.com/ruffle-rs/ruffle.git
cd ruffle
cargo build --release
Browser Extension Method (More Compatible)
For better compatibility with web pages:
- Install the Ruffle browser extension from Firefox Add-ons or Chrome Web Store
- Visit any page containing Flash content
- Ruffle automatically detects and emulates the SWF files
Using Ruffle for Local Files
# Run a Flash file directly with the desktop player
ruffle flashfile.swf
# Or open it in a browser with the extension installed
firefox flashfile.swf
What Works and What Doesn’t
Ruffle supports approximately 95% of Flash content, including:
- ActionScript 1, 2, and most ActionScript 3 code
- Vector graphics, audio, and video playback
- Most interactive content and games
Limitations:
- Complex Stage3D (3D graphics) doesn’t work
- RTMP streaming content fails
- Some advanced ActionScript 3 features may behave differently
- Certain video codecs may not be supported
Option 2: Legacy Desktop Players and Wine
For specific Flash files you own, you can run older Flash projector executables under Wine or in isolated environments.
Direct Wine Approach
# Install Wine
sudo dnf install wine # Fedora
sudo apt install wine # Ubuntu/Debian
# Download a Flash projector from archive.org
# Run it directly
wine flashplayer.exe
# Or run a standalone projector on Linux (if available)
./flashplayer ./myfile.swf
Containerized Legacy Environment
For enterprise Flash applications or complex legacy content, isolate it in a container:
FROM ubuntu:20.04
RUN apt-get update && apt-get install -y \
firefox \
wget
# Download archived Flash Player (manual step)
COPY flashplayer.tar.gz /opt/
RUN cd /opt && tar xzf flashplayer.tar.gz
ENTRYPOINT ["firefox"]
Build and run:
docker build -t legacy-flash .
docker run -it --rm legacy-flash http://example.com
This approach only works for local files or internal applications and requires maintaining outdated, unsupported software.
Migrating Content Away From Flash
Video Content
Convert Flash videos to modern formats:
# Extract video from SWF and convert to H.264/MP4
ffmpeg -i flashvideo.swf -c:v libx264 -preset medium -c:a aac -b:a 128k output.mp4
# Or use VP9 for better compression
ffmpeg -i flashvideo.swf -c:v libvpx-vp9 -c:a libopus output.webm
Interactive Content
Recreate with modern web standards:
- 2D graphics and animation: HTML5 Canvas or SVG with JavaScript
- Interactive applications: WebGL for 3D, or frameworks like Three.js
- Games: Phaser, Babylon.js, or Godot with HTML5 export
SWF Conversion Tools
For basic conversions, tools like swf2js and SWFTools can extract assets or generate JavaScript approximations, though results vary:
# Install SWFTools
sudo apt install swftools
# Extract resources from a SWF
swfextract flashfile.swf -d output_dir/
# Convert to PDF for documentation
pdf2swf document.pdf output.swf
Checking If Content Really Uses Flash
Before spending effort on workarounds, verify what you’re actually dealing with:
# Check HTML source for Flash references
curl -s https://example.com | grep -E "\.swf|<object|<embed|flash"
# Most modern websites have already migrated away
# Flash references are increasingly rare in 2026
Bottom Line
Flash on the web is gone. Ruffle handles 95% of remaining use cases and requires zero plugin maintenance. For the small percentage of legacy internal applications, Ruffle usually works fineātest it first before building complex workarounds. If you absolutely must run unsupported legacy content, containerization or Wine are your only options, but this adds significant operational burden.

The first one worked for me! Thanks .
That’s nice and all, but Google has stopped supporting Chrome for 32-bit systems. Those of us still using 32-bit are left in the dark because there is no available downloads for Chrome. Chromium is an alternative; however, I don’t believe Flash works in Chromium for Ubuntu 16.04 “Xenial” based OS’s (i.e. Linux Mint 18). I know that Silverlight doesn’t work for streaming Netflix in Chromium. It takes manipulation of Firefox to get Silverlight to work for the 32-bit systems (Netflix streams fine in Chrome on my 64-bit machine).
There is a very easy workaround, which also works for 64-bit machines (and is a lot simpler than your method above). Install pipelight-plugin, which incorporates Flash, Silverlight, and modifications of Firefox to emulate running in other modes (Win IE11, Win Edge, Mac OSX Safari, Android, iOS etc). No offense, but your way is incredibly complex. Installing Pipelight and then typing “sudo pipelight-plugin –enable flash” will enable Firefox to install the most up to date Flash for Windows on your Linux machine the first time you visit a page that uses Flash. Quick, easy, and painless. No need to install Google Chrome or do anything else (other than enter command lines). As I am typing this, my machine has Adobe Flash 22.0.0.209 and I don’t have Chrome installed. Not only that, but it keeps itself up-to-date. No need to constantly run upgrades or anything of the sort. Set and forget. :) I know it works for Facebook games that didn’t work prior to me installing Pipelight that require an up-to-date Flash Player. http://pipelight.net/cms/
I like the way suggested by Jeff. But please how is possible to keep pipelight plugins updated? Cheers