Stuttering scrolling in Firefox (Wayland)

I use the GNOME edition of EOS, which runs with Wayland. After Firefox has been running for several hours here, it starts to run increasingly unclean while scrolling. In the beginning always very fluid, but after a while the scrolling becomes sluggish and jerky. Only a restart of Firefox can help. Is this a bug in the interaction with Wayland? At least it does not occur with any other DE with X11.

https://wiki.archlinux.org/index.php/Firefox#Wayland

nano ~/.xinitrc

and add:

export MOZ_ENABLE_WAYLAND=1 firefox

restart x (or dm) and check inside firefox:

about:support

should show:

Window Protocol. It should say wayland/drm instead of x11 nor xwayland.

1 Like

Hm, it just says xwayland :thinking:

Hmmmmmmmm…

It could be that I do not have the entry completely correct … … it could be that wayland .xinitrc is not used at all…


Kann sein das ich den Eintrag nicht ganz korrekt habe … … kann sein das wayland .xinitrc garnicht verwendet…

~/.config/environment.d/envvars.conf müsste dann aber gehen…

rm ~/.xinitrc
mkdir ~/.config/environment.d 
nano ~/.config/environment.d/envvars.conf
MOZ_ENABLE_WAYLAND=1

add and save the archwiki is once again very inaccurate here but of course it is there when you read on very carefully …

you can also start it directly with one fixed configuration:

MOZ_ENABLE_WAYLAND=1 firefox

in the terminal and then check if Window Protocol is wayland… (close firefox before)


zufügen und speichern das Archwiki ist hier mal wieder sehr ungenau aber es steht natürlich da wenn du ganz genau weiter liest …

kannst es ja auch erstmal direkt one feste configuration starten:

MOZ_ENABLE_WAYLAND=1 firefox
im terminal und dann checken ob Window Protocol wayland ist… (vorher firefox schließen)

2 Likes

OK, das hat funktioniert, danke Joe! :+1:

OK, that worked, thanks Joe!

2 Likes

Wayland doesn’t use .xinitrc no, you can use systemd for environment variables or add it to the .desktop in the case of gnome

cp /user/share/applications/“name of Firefox.desktop” ~/.local/share/applications/

Then modify the exec line in the .desktop to read

env MOZ_ENABLE_WAYLAND=1 firefox

The exact line may change but mainly just add
env MOZ_ENABLE_WAYLAND at the beginning of it.

The new .desktop in .local will override the /use/share one

2 Likes

yea this will work also it is mentioned in the archwiki also… but it is already working with

~/.config/environment.d/envvars.conf

and there it is more easy as you do not have to mess with the firefox.desktop file what is full of lines :wink:

1 Like

To each their own

I prefer not having global variables for one application if I can just make it specific to that one. For reference of anyone who comes across my post then.

1 Like

valid point… it would in this case only effecting Firefox and Thunderbird so not that bad… and if you would start applications with this variable under xorg sessions it will simple take X11 and starting this way…

1 Like

I have now tried the @Echoa version (modified firefox.desktop). The result seems to be as desired :slight_smile:

and removed the config we do created before that ?

Yeah it should work considering its how I run FF on Wayland :stuck_out_tongue_closed_eyes:

make sure you remove the global variable if you don’t want it

1 Like

of course

A negative side effect is that Firefox can no longer remember the window size and position.

Maybe Wayland is still in the pot where it boils … :thinking:

1 Like

Firefox acts funky on Wayland

Sometimes it won’t let you separate tabs into new windows, doesn’t remember window position, sometimes can’t play multiple videos at once,etc.

1 Like

Okey …

Yeah, idk that FF devs have focused too much on Wayland just yet. It supports Wayland and “works” with some quirks.

Browsers like Gnome Web don’t have issues but idk what else

1 Like

Well, let’s hope for improvement!

Thanks @joekamprad, @Echoa :+1:

After the last restart of the computer everything was back on xwayland (Window-Protokoll).

It seems that the ~/home/balder/.local/share/applications/firefox.desktop is ignored.

So the global method after all?

Not sure why that is, works every time for me.

After work I can send you my .desktop file for reference

1 Like