If you use Zoom on Linux, you may have noticed that about a month ago, they pushed an update which scaled the UI elements to be very large. There are a couple of suggestions on reddit for how to address this.
In my case, I have a normal HD display (my laptop’s built-in display), and a
hi-dpi external monitor. If you just set a single scale factor, it will look
good on one, but not the other. Without needing to edit the zoomus.conf
file
(i.e., keeping the default autoScale=true
), I was able to get Zoom to look
reasonable by setting two different scale factors in my Zoom launch command.
The launch command (if you installed via flatpak) is here:
.local/share/flatpak/exports/share/applications/us.zoom.Zoom.desktop
and looks like:
[Desktop Entry]
Name=Zoom
Comment=Zoom Video Conferencing
GenericName=Zoom Client for Linux
Exec=env QT_SCREEN_SCALE_FACTORS=eDP-1=0.50;DP-1=1.00 /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=zoom --file-forwarding us.zoom.Zoom @@u %U @@
Icon=us.zoom.Zoom
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Network;InstantMessaging;
MimeType=x-scheme-handler/zoommtg;
StartupWMClass=zoom
X-Flatpak=us.zoom.Zoom
All that is needed is to set the environment variable QT_SCREEN_SCALE_FACTORS
in the Exec
command. QT_SCREEN_SCALE_FACTORS
can take a list of
name=value
pairs, where the name is the display name as reported by xrandr
if you use X11.
You can see which name’s to use when you run xrandr
and matching what you see
with the displays you are using. In my case, eDP-1
is the laptop and my
external display is connected to DP-1
.
$ xrandr
Screen 0: minimum 320 x 200, current 5360 x 1440, maximum 16384 x 16384
eDP-1 connected 1920x1080+0+360 (normal left inverted right x axis y axis) 309mm x 174mm
1920x1080 60.00*+ 59.97 59.96 59.93
1680x1050 59.95 59.88
1600x1024 60.17
1400x1050 59.98
1600x900 59.99 59.94 59.95 59.82
1280x1024 60.02
1440x900 59.89
1400x900 59.96 59.88
1280x960 60.00
1440x810 60.00 59.97
1368x768 59.88 59.85
1360x768 59.80 59.96
1280x800 59.99 59.97 59.81 59.91
1152x864 60.00
1280x720 60.00 59.99 59.86 59.74
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
1024x576 59.95 59.96 59.90 59.82
960x600 59.93 60.00
960x540 59.96 59.99 59.63 59.82
800x600 60.00 60.32 56.25
840x525 60.01 59.88
864x486 59.92 59.57
800x512 60.17
700x525 59.98
800x450 59.95 59.82
640x512 60.02
720x450 59.89
700x450 59.96 59.88
640x480 60.00 59.94
720x405 59.51 58.99
684x384 59.88 59.85
680x384 59.80 59.96
640x400 59.88 59.98
576x432 60.06
640x360 59.86 59.83 59.84 59.32
512x384 60.00
512x288 60.00 59.92
480x270 59.63 59.82
400x300 60.32 56.34
432x243 59.92 59.57
320x240 60.05
360x202 59.51 59.13
320x180 59.84 59.32
DP-1 connected primary 3440x1440+1920+0 (normal left inverted right x axis y axis) 797mm x 333mm
3440x1440 59.97*+ 49.99 29.99
2560x1440 59.95
2560x1080 60.00
1920x1080 60.00 59.94
1680x1050 59.95
1600x900 60.00
1280x1024 75.02 60.02
1440x900 59.89
1280x800 59.81
1152x864 75.00
1280x720 60.00 59.94
1024x768 75.03 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
640x480 75.00 72.81 66.67 60.00 59.94
720x400 70.08
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
Relaunching Zoom after setting this fixes the scaling on both displays.