Qt applications have no window border or drop shadow

Ubuntu Support Template

Ubuntu Version:
25.10

$ uname -a
Linux doctordre 6.17.0-6-generic #6-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct  7 13:34:17 UTC 2025 x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 25.10
Release:	25.10
Codename:	questing

Desktop Environment (if applicable):
Gnome

Problem Description:
I am using the Vivaldi browser (7.6.3797.63 Stable channel, 64-bit) on my Desktop. It, and other Qt applications seem to have no window border or drop shadow, the way my other applications do.

Relevant System Information:
None known

Screenshots or Error Messages:

What I’ve Tried:
I have tried the 3 suggestions documented here (https://ubuntuhandbook.org/index.php/2025/10/theme-qt-apps-ubuntu/), but none of these fixes had any effect.

That’s the version I have installed (though you don’t mention package type so maybe a different package anyway), but its not a Qt themed app that I can see, seeing instead for mine

Depends: <libgtk-3-0> (>= 3.9.10)

I’m running a Qt desktop currently (on Xorg though), and just opened vivaldi and it isn’t using my selected Qt theme(s), with very different window borders to my other apps.

It may help if you’re specific with Qt apps; as your only mentioned vivaldi-stable isn’t Qt as far as I see.

Your question almost made me logout & switch to GNOME Desktop (& Wayland) session just to peek.

In a terminal try

$ vivaldi.vivaldi-stable --ozone-platform=x11

I got it to work but it was in a virtualbox VM. Also, I had already installed Xorg before I had fiddled with Vivaldi, so if you get errors related to X11 preventing Vivaldi from launching because you don’t have the necessary xorg/x11 packages installed, then install xorg and try launching vivaldi again with the same command-line option for ozone-platform.
$ sudo apt install xorg

For QT apps on the system, setting the environment variable QT_QPA_PLATFORM=xcb should fix the problem. You’ll have to have Xorg installed for it to work with non-snap qt apps. You can add the QT variable (and others if needed) to a conf file and place it in /etc/environment.d/ to be picked by the system.

Also you may want install the following packages for more added support for running QT apps in a gnome session.

qgnomeplatform-qt5
qgnomeplatform-qt6
qt5-gtk-platformtheme
qt5-gtk2-platformtheme
qt5-xdgdesktopportal-platformtheme
qt6-gtk-platformtheme
qt6-xdgdesktopportal-platformtheme
qt5ct
qt6ct

1 Like

Thank you for the reply. I made a mistake in my original post, in assuming that Vivaldi is running as a Qt app. I don’t think it is! It’s the default Ubuntu snap package for Vivaldi:

$ snap list |head -1 && snap list |grep vivaldi
Name                       Version                          Rev    Tracking         Publisher           Notes
vivaldi                    7.6.3797.63                      301    latest/stable    vivaldi-packager**  -

Therefore, my original problem statement might not be right…

1 Like

Thank you for this response! My Ubuntu 25.10 system is a clean/new installation, so I bet I don’t have xorg at all (Wayland). Let me install the xorg package family and see if that solves the issue. Will report back!

I would try the --ozone-platform=x11 option first before installing any packages. The Vivaldi snap includes the x11 libs and wayland libs with it so I’m not sure if the native xorg packages are needed to make the ozone option work.

I’m just curious because I already had native xorg installed and I didn’t want to go to the trouble to uninstall all those packages just test whether ozone-platform=x11 would have worked without them. I’m hoping your experience will decide if that’s the case. HTH.

Contrary to popular belief, despite snap being a Canonical product, it is not an Ubuntu project and not exclusive to Ubuntu.

Just because Ubuntu has snap enabled by default doesn’t mean snaps are for Ubuntu.

$ snap info vivaldi
name:      vivaldi
summary:   A Powerful. Personal. Private. web browser
publisher: Vivaldi Technologies (vivaldi-packagerâś“)
store-url: https://snapcraft.io/vivaldi
contact:   packager@vivaldi.com
license:   Proprietary
description: |
  The web browser for techies and people who need a browser that helps them get things done. The
  user interface is fully customizable, including keyboard shortcuts, mouse gestures, and
  programmable macros.
  
   * Seize back control of your tabs with features like Workspaces, Tab Stacks, and Tab Tiling.
   * Stay on top of all your emails, appointments, to-dos, and news with Mail, Calendar, Tasks, and
   Feed Reader. (Compatible with IMAP, POP3, CalDAV, and Atom/RSS.)
   * Jot down ideas and inspiration with the integrated Notes manager.
   * End-to-end encrypted (E2EE) sync of bookmarks, passwords, notes, and more with Vivaldi for
   desktop, iOS, and Android.
   * Efficient built-in Tracker and Ad Blocker.
   * Proton VPN.
   * Compatible with most browser extensions from the Google Chrome Web Store.
snap-id: L0qubpVaz7pQaQjAbDf5RbOvfnGHTsct
channels:
  latest/stable:    7.6.3797.63 2025-10-08 (301) 291MB -
  latest/candidate: 7.6.3797.63 2025-10-08 (301) 291MB -
  latest/beta:      ↑                                  
  latest/edge:      7.7.3851.43 2025-11-11 (302) 288MB -

Per that:

contact: packager@vivaldi.com

Looks like thats what you should contact for support with this issue. Seems as though the vivaldi snap may be missing some dependencies.

1 Like

All, I didn’t get a chance to test the --ozone-platform=x11 option, or to install xorg packages before Vivaldi released version 7.7. I updated my snap packages to get it, and now my Vivaldi window does have a window border! So I guess… problem solved?

Thanks to everyone who replied to my post.

1 Like

Vivaldi bug report, VB-119563 [Linux][Wayland] replace old style “Chrome” decorations addresses the issue. Apparently it was fixed in the development snapshots, but just now got pushed to the new release. So, yes, problem solved.

1 Like

Excellent! Thanks again for your help and insights.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.