New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How I got Wayland, Vulkan, and hardware acceleration working with Figma on Fedora 39 #345
Comments
Great work. Would be nice if there was maintained a flatpak version though. |
@kentallenduke try this build. I ran it on fedora 34 with weyland and 3d acceleration worked fine. |
@ChugunovRoman thanks. Do you mind building a flatpak version of this? By doing so, you may be able to get more testers to check this out. Right now, one or more of the command line flags is causing users with Nvidia GPUs to experience long launch times. |
@kentallenduke I've a flatpak repository, but latest release was not uploaded after CI error. Next release will be available on a flathub. |
@ChugunovRoman I tried the build you linked via RPM. Hardware accelerated video encoding and Ozone platform are not enabled. I can't comment if software rendered video encoding impacts performance yet, but enabling Ozone platform will make the text and UI more crisp with fractional scaling. Here are the flags for both:
|
@kentallenduke |
@kentallenduke I added the ability to set Chromium flags from the app settings. Now you can set any Chromium flags from the app. Even if the application does not start, flags can be added in the configuration file ~/.config/figma-linux/settings.json in the "commandSwitches" property. |
Everyone able to add any Chrome cli flags in the app config |
After countless hours trying to get Figma Linux running optimally on my machines, I figured out how to get Wayland, Vulkan, and hardware acceleration working on Fedora 39 Workstation without using the web version of Figma.
I'm noticing a significant boost in performance, crisper text, and better power savings. The only shortcoming is that the window which Figma will run on will lose its shadow. This is due to a technical limitation with frameless windows on Linux.
I am writing this workaround because I know many of us have been struggling to get Figma working well on Linux. This guide uses minimal terminal commands and assumes you are on Fedora 39 Workstation (this will work on Fedora 38 Workstation). Here's how I did it.
Note: Nvidia users may run into long startup times with this.
Kudos to ChugunovRoman for making figma-linux possible!
1. Download and building the source code
Follow the instructions on Building from source.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
npm i
npm run build
npm run builder
If everything went well, you should have an AppImage file in your
build/installers
folder. In my case, it's~/home/kentduke/Downloads/figma-linux-dev/build/installers/figma-linux_0.10.0_linux_x86_64.AppImage
.2. Setting up AppImage and Installing Figma
In this step, we are going to be using a handy tool called Gear Lever to install Figma and register it so that it appears on GNOME's launcher.
You should see "figma-linux" in GNOME's application launcher. Don't open it yet.
3. Enabling Wayland, hardware acceleration, and Vulkan
We're halfway there! Now that you've installed Figma, it's time to configure it. Thanks to the updates in Electron, we can now enable Wayland and hardware acceleration.
~/home/kentduke/.local/share/applications
.gearlever_figmalinux_6c9f53.desktop
.sh -c "/home/kentduke/AppImages/gearlever_figmalinux_6c9f53.appimage --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-vulkan --enable-gpu-rasterization --enable-oop-rasterization --enable-gpu-compositing --enable-accelerated-2d-canvas --enable-zero-copy --canvas-oop-rasterization --disable-features=UseChromeOSDirectVideoDecoder --enable-accelerated-video-decode --enable-accelerated-video-encode --enable-features=VaapiVideoDecoder,VaapiVideoEncoder,VaapiIgnoreDriverChecks,RawDraw,Vulkan --enable-hardware-overlays --enable-unsafe-webgpu"
Replace "kentduke" with your username.
This is how my EXEC line looks like on my desktop file. Save your file and exit.
4. Signing into Figma
Assuming everything was set up correctly, you'll notice that Figma will look a lot more crisp when you launch it. However, we have one major hurdle to go over: signing into Figma. If you follow the instructions that Figma gives you, the external web browser can't hand off your credentials to Figma on Linux. Luckily, there's a simple workaround you can do to log in.
5. Conclusion and installing custom fonts
That's it! Hopefully you should have Figma running with Wayland, Vulkan, and hardware acceleration enabled. If you need to load local fonts, download your font files first, then copy its folder over to
/usr/share/fonts
.Let me know if that works!
The text was updated successfully, but these errors were encountered: