firefox incorrectly recognises monitor resolution #11603
-
have i checked previous issues?
system & firefox versionsHyprland 0.50.1 built from branch at commit 4e242d086e20b32951fdc0ebcbfb4d41b5be8dcc ([gha] Nix: update inputs).
Date: Sat Jul 19 21:37:06 2025
Tag: v0.50.1, commits: 6291
built against:
aquamarine 0.9.2
hyprlang 0.6.3
hyprutils 0.8.1
hyprcursor 0.1.12
hyprgraphics 0.1.5Mozilla Firefox 142.0.1DescriptionAs said in the title, firefox incorrectly my main monitor's resolution (eDP-1), where as another monitor (HDMI-A-1) is set correctly. I might assume it's due to the scaling, however I haven't managed to solve it myself.
My actual monitors: ➜ ~ hyprctl monitors all
Monitor eDP-1 (ID 0):
[email protected] at 1920x0
description: Najing CEC Panda FPD Technology CO. ltd 0x0061
make: Najing CEC Panda FPD Technology CO. ltd
model: 0x0061
serial:
active workspace: 1 (1)
special workspace: 0 ()
reserved: 0 64 0 0
scale: 1.60
transform: 0
focused: no
dpmsStatus: 1
vrr: false
solitary: 0
activelyTearing: false
directScanoutTo: 0
disabled: false
currentFormat: XRGB8888
mirrorOf: none
availableModes: [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]
Monitor HDMI-A-1 (ID 1):
[email protected] at 0x0
description: ASUSTek COMPUTER INC VG245 GBLMQS051620
make: ASUSTek COMPUTER INC
model: VG245
serial: GBLMQS051620
active workspace: 3 (3)
special workspace: 0 ()
reserved: 0 64 0 0
scale: 1.00
transform: 0
focused: yes
dpmsStatus: 1
vrr: false
solitary: 0
activelyTearing: false
directScanoutTo: 0
disabled: false
currentFormat: XRGB8888
mirrorOf: none
availableModes: [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]I've completely reinstalled firefox, deleted .desktop file in ~/.local/share/applications/, so the only one that could be run (as far as i understand) is the one in /usr/share/applications which is set by firefox itself. .desktop file at /usr/share/applications (top 15 lines) [Desktop Entry]
Version=1.0
Type=Application
Exec=/usr/lib/firefox/firefox %u
Terminal=false
X-MultipleArgs=false
Icon=firefox
StartupWMClass=firefox
DBusActivatable=false
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=application/json;application/pdf;application/rdf+xml;application/rss+xml;application/x-xpinstall;application/xhtml+xml;application/xml;audio/flac;audio/ogg;audio/webm;image/avif;image/gif;image/jpeg;image/png;image/svg+xml;image/webp;text/html;text/xml;video/ogg;video/webm;x-scheme-handler/chrome;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/mailto;
StartupNotify=true
Actions=new-window;new-private-window;open-profile-manager;
Name=Firefox
Name[ach]=Firefoxhere is my hyprland config in case any env other variables are needed #autogenerated = 1 # remove this line to remove the warning
# You can split this configuration into multiple files
# Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf
################
### MONITORS ###
################
# See https://wiki.hypr.land/Configuring/Monitors/
# initial. uncomment if everything breaks.
#monitor=,preferred,auto,auto
monitor = eDP-1, 2560x1600@60, 1920x0, 1.6
monitor = HDMI-A-1, 1920x1080@75, 0x0, 1
monitor = , preferred, auto, 1 # for quickly plugging in random monitors
###################
### MY PROGRAMS ###
###################
# See https://wiki.hypr.land/Configuring/Keywords/
# Set programs that you use
$terminal = alacritty
$fileManager = dolphin
$menu = wofi --show drun
#################
### AUTOSTART ###
#################
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:
# exec-once = $terminal
# exec-once = nm-applet &
exec-once = waybar & hyprpaper & firefox
exec-once = systemctl --user start hyprpolkitagent
exec-once = hypridle
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
#############################
### ENVIRONMENT VARIABLES ###
#############################
# See https://wiki.hypr.land/Configuring/Environment-variables/
#env = XCURSOR_SIZE,24
#env = HYPRCURSOR_SIZE,24
env = XCURSOR_THEME,nier_cursors
env = XCURSOR_SIZE, 24
xwayland {
force_zero_scaling = true
}
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_SCALE_FACTOR_ROUNDING_POLICY, RoundPreferFloor
env = GDK_BACKEND,wayland,x11,*
env = GDK_SCALE,1
###################
### PERMISSIONS ###
###################
# See https://wiki.hypr.land/Configuring/Permissions/
# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
# for security reasons
# ecosystem {
# enforce_permissions = 1
# }
# permission = /usr/(bin|local/bin)/grim, screencopy, allow
# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
#####################
### LOOK AND FEEL ###
#####################
# Refer to https://wiki.hypr.land/Configuring/Variables/
# https://wiki.hypr.land/Configuring/Variables/#general
general {
gaps_in = 5
gaps_out = 20
border_size = 2
# https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false
# Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
allow_tearing = false
layout = dwindle
}I've completely reinstalled firefox, deleted .desktop file in ~/.local/share/applications/, so the only one that could be run (as far as i understand) is the one in /usr/share/applications which is set by firefox itself.
# https://wiki.hypr.land/Configuring/Variables/#decoration
decoration {
rounding = 10
rounding_power = 2
# Change transparency of focused and unfocused windows
active_opacity = 0.9
inactive_opacity = 0.8
shadow {
enabled = true
range = 4
render_power = 3
color = rgba(1a1a1aee)
}
# https://wiki.hypr.land/Configuring/Variables/#blur
blur {
enabled = true
size = 3
passes = 2
vibrancy = 0.1696
}
}
layerrule = blur, wlogout
layerrule = blur, ~/.config/wlogout/logoutlaunch.sh
layerrule = blur,logout_dialog
# decoration {
# blur {
# enabled = true
# size = 6 # how strong the blur is
# passes = 3 # how many times to apply it
# ignore_opacity = true # blur even fully transparent pixels
# popups = true # apply to popups
# popups_ignorealpha = 0.6 # how transparent a popup must be to still blur
# }
# }
# https://wiki.hypr.land/Configuring/Variables/#animations
animations {
enabled = yes, please :)
# Default animations, see https://wiki.hypr.land/Configuring/Animations/ for more
bezier = easeOutQuint,0.23,1,0.32,1
bezier = easeInOutCubic,0.65,0.05,0.36,1
bezier = linear,0,0,1,1
bezier = almostLinear,0.5,0.5,0.75,1.0
bezier = quick,0.15,0,0.1,1
animation = global, 1, 10, default
animation = border, 1, 5.39, easeOutQuint
animation = windows, 1, 4.79, easeOutQuint
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
animation = windowsOut, 1, 1.49, linear, popin 87%
animation = fadeIn, 1, 1.73, almostLinear
animation = fadeOut, 1, 1.46, almostLinear
animation = fade, 1, 3.03, quick
animation = layers, 1, 3.81, easeOutQuint
animation = layersIn, 1, 4, easeOutQuint, fade
animation = layersOut, 1, 1.5, linear, fade
animation = fadeLayersIn, 1, 1.79, almostLinear
animation = fadeLayersOut, 1, 1.39, almostLinear
animation = workspaces, 1, 1.94, almostLinear, fade
animation = workspacesIn, 1, 1.21, almostLinear, fade
animation = workspacesOut, 1, 1.94, almostLinear, fade
}
# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
# "Smart gaps" / "No gaps when only"
# uncomment all if you wish to use that.
# workspace = w[tv1], gapsout:0, gapsin:0
# workspace = f[1], gapsout:0, gapsin:0
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
# windowrule = rounding 0, floating:0, onworkspace:f[1]
# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
}
# See https://wiki.hypr.land/Configuring/Master-Layout/ for more
master {
new_status = master
}
# https://wiki.hypr.land/Configuring/Variables/#misc
misc {
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}
#############
### INPUT ###
#############
# https://wiki.hypr.land/Configuring/Variables/#input
input {
kb_layout = us, ru
kb_variant =
kb_model =
kb_options = grp:alt_shift_toggle
kb_rules =
follow_mouse = 1
sensitivity = 0.3 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = true
}
}
# https://wiki.hypr.land/Configuring/Variables/#gestures
gestures {
workspace_swipe = false
}
# Example per-device config
# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
device {
name = logitech-g304-1
sensitivity = 0
}
###################
### KEYBINDINGS ###
###################
# See https://wiki.hypr.land/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier
# PERSONAL
bind = $mainMod, F, fullscreen
bind = ,Print, exec, grim -g "$(slurp)" - | wl-copy
bind = $mainMod, R, exec, pkill waybar && hyprctl dispatch exec waybar
#bind = $mainMod, R, exec, hyprctl reload waybar
# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, D, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule
# windowrule = float,class:^(kitty)$,title:^(kitty)$
# Ignore maximize requests from apps. You'll probably like this.
windowrule = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0Apparent reasonI tried to unplug my second monitor, here is what the firefox says if i set scaling in my config: From what I'm seeing, fractional scaling seems to be the problem here (or is it supposed to be like that?), so I guess I will close this issue since it doesn't seem as a bug to me rather a fractional scaling not being consistent overall. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
|
looks normal to me. That's how scaling works in wayland by default. Firefox IIRC uses fractional scaling nowadays (or do you need to enable it in prefs?) but in general it looks ok |
Beta Was this translation helpful? Give feedback.
-
|
@vaxerski but sometimes (mainly when changing from one monitor to another) it gets the size wrong, it only happens in firefox so I'm not sure it's an hyprland only problem. It's very annoying cause it renders the window cropped or leaves some transparent gaps in the sides (depending on the size firefox "thinks" the monitor has). |
Beta Was this translation helpful? Give feedback.


looks normal to me. That's how scaling works in wayland by default. Firefox IIRC uses fractional scaling nowadays (or do you need to enable it in prefs?) but in general it looks ok