Bug 1737793 Comment 10 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

(In reply to Petruta Horea [:phorea] from comment #8)
> Window Protocol: xwayland

When testing Mozilla builds, you need to set the MOZ_ENABLE_WAYLAND=1 environment variable on Wayland, otherwise you are not testing Wayland, but Firefox X11 on Xwayland.
Snap builds default to MOZ_ENABLE_WAYLAND=1 on Wayland, the environment variable is not necessary there.
* `Wayland` means Firefox with MOZ_ENABLE_WAYLAND=1 env var (or Firefox Snap without env var) on Wayland session.
* `Xwayland` means Firefox without env var (or Firefox Snap with DISABLE_WAYLAND=1 env var) on Wayland session.
  * Firefox 94 enabled EGL for >= Mesa 21 on Xwayland. Previously it was using GLX by default.
* `X11` means Firefox on X11 session.
  * Firefox 94 enabled EGL for >= Mesa 21 on X11. Previously it was using GLX by default.



If you want to test Wayland, better use a computer without an Nvidia graphics card or at least without the proprietary Nvidia driver.
Wayland/Nvidia was not really possible until the recent Nvidia beta driver.

How properly do you intent to test? There is a scary amount of possible configurations.
Firefox Snap can have different behavior than Mozilla builds or debian packages. Something might be broken inside Snap/Flatpak that is not broken for non-Snap/Flatpak builds. And there is not only one Wayland, Wayland is just a protocol.


It makes most sense to test:
* Relevant for Ubuntu >=21.10:
  Snap Firefox 94 Beta (defaults to Wayland backend) on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$ sudo snap remove firefox; sudo snap install firefox --channel=latest/beta; snap run firefox`
* Relevant for Fedora and others:
  Mozilla-built Firefox 94 Beta with MOZ_ENABLE_WAYLAND=1 envionment variable on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$  MOZ_ENABLE_WAYLAND=1 mozregression --repo mozilla-beta --launch 94.0b9`

---

For better understanding, here is an incomplete overview of possible Linux configurations:

My last X11 testing was in bug 1733094 comment 14.

Legend:
SW WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.software
WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.all
SW WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.software
WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.all
(experimental Wayland WR EGL with OS compositing = gfx.webrender.compositor.force-enabled)
The table in incomplete: Each X11 variant can also be used with manually enabled GPU process: layers.gpu-process.force-enabled (bug 1653444)

Meta bugs:
Firefox X11 on Gnome Xwayland: bug 1695440
Firefox Wayland on Gnome Wayland: bug 635134, bug 1587060
Firefox Wayland on proprietary Nvidia (beta driver, requires manually enabling Wayland by changing system files): bug 1535716 
Firefox Wayland on KDE Wayland: bug 1609115
Firefox Wayland on Sway Wayland: bug 1551279
Firefox Snap Wayland on Gnome Wayland: bug 1665641


| ***Intel/AMD/Nvidia Mesa***| SW WR GLX | WR GLX  | SW WR EGL | WR EGL  | WR EGL with OS compositing|
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Snap on Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Snap on Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| KDE Wayland | x | x | fallback | default for Mesa >= 21 | experimental, disabled by default |
| KDE X11 with compositing | fallback | possible | fallback | default for Mesa >= 21 | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |



| ***Proprietary Nvidia driver*** | SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default|
| Snap on Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland (beta driver) | fallback | default for driver <470 | fallback | default for driver >=470 | x |
| Gnome X11 | fallback | default | fallback | still disabled by default (bug 1737428) | x |
| Snap on Gnome X11 | fallback | default | fallback | still disabled by default (bug 1737428) | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default | fallback | still disabled by default (bug 1737428) | x |
| KDE Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| KDE X11 with compositing | fallback | default | fallback | still disabled by default (bug 1737428) | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default | fallback | still disabled by default (bug 1737428) | x |



| ***Uncommon Mesa (e.g. Raspberry Pi)***| SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Snap on Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default |
| Sway Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Gnome Xwayland | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Snap on Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| default | unknown? | fallback | recommended (GLES3)  | x |
| KDE Wayland | x | x | default | recommended (GLES3)  | experimental, disabled by default |
| KDE X11 with compositing | default | unknown? | fallback | recommended (GLES3)  | x |
| KDE X11 without compositing, i3, etc. (no alpha) | default | unknown? | falllback | recommended (GLES3)  | x |
(In reply to Petruta Horea [:phorea] from comment #8)
> Window Protocol: xwayland

When testing Mozilla builds, you need to set the MOZ_ENABLE_WAYLAND=1 environment variable on Wayland, otherwise you are not testing Wayland, but Firefox X11 on Xwayland.
Snap builds default to MOZ_ENABLE_WAYLAND=1 on Wayland, the environment variable is not necessary there.
* `Wayland` means Firefox with MOZ_ENABLE_WAYLAND=1 env var (or Firefox Snap without env var) on Wayland session.
* `Xwayland` means Firefox without env var (or Firefox Snap with DISABLE_WAYLAND=1 env var) on Wayland session.
  * Firefox 94 enabled EGL for >= Mesa 21 on Xwayland. Previously it was using GLX by default.
* `X11` means Firefox on X11 session.
  * Firefox 94 enabled EGL for >= Mesa 21 on X11. Previously it was using GLX by default.



If you want to test Wayland, better use a computer without an Nvidia graphics card or at least without the proprietary Nvidia driver.
Wayland/Nvidia was not really possible until the recent Nvidia beta driver.

How properly do you intent to test? There is a scary amount of possible configurations.
Firefox Snap can have different behavior than Mozilla builds or debian packages. Something might be broken inside Snap/Flatpak that is not broken for non-Snap/Flatpak builds. And there is not only one Wayland, Wayland is just a protocol.


It makes most sense to test:
* Relevant for Ubuntu >=21.10:
  Snap Firefox 94 Beta (defaults to Wayland backend) on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$ sudo snap remove firefox; sudo snap install firefox --channel=latest/beta; snap run firefox`
* Relevant for Fedora and others:
  Mozilla-built Firefox 94 Beta with MOZ_ENABLE_WAYLAND=1 envionment variable on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$  MOZ_ENABLE_WAYLAND=1 mozregression --repo mozilla-beta --launch 94.0b9`

---

For better understanding, here is an incomplete overview of possible Linux configurations:

My last X11 testing was in bug 1733094 comment 14.

Legend:
SW WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.software
WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.all
SW WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.software
WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.all
(experimental Wayland WR EGL with OS compositing = gfx.webrender.compositor.force-enabled)
The table in incomplete: Each X11 variant can also be used with manually enabled GPU process: layers.gpu-process.force-enabled (bug 1653444)

Meta bugs:
Firefox X11 on Gnome Xwayland: bug 1695440
Firefox Wayland on Gnome Wayland: bug 635134, bug 1587060
Firefox Wayland on proprietary Nvidia (beta driver, requires manually enabling Wayland by changing system files): bug 1535716 
Firefox Wayland on KDE Wayland: bug 1609115
Firefox Wayland on Sway Wayland: bug 1551279
Firefox Snap Wayland on Gnome Wayland: bug 1665641


| ***Intel/AMD/Nvidia Mesa***| SW WR GLX | WR GLX  | SW WR EGL | WR EGL  | WR EGL with OS compositing|
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Snap on Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Snap on Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| KDE Wayland | x | x | fallback | default for Mesa >= 21 | experimental, disabled by default |
| KDE X11 with compositing | fallback | default for Mesa <21  | fallback | default for Mesa >= 21 | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |



| ***Proprietary Nvidia driver*** | SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default|
| Snap on Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland (beta driver) | fallback | default for driver <470 | fallback | default for driver >=470 | x |
| Gnome X11 | fallback | default | fallback | still disabled by default (bug 1737428) | x |
| Snap on Gnome X11 | fallback | default | fallback | still disabled by default (bug 1737428) | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default | fallback | still disabled by default (bug 1737428) | x |
| KDE Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| KDE X11 with compositing | fallback | default | fallback | still disabled by default (bug 1737428) | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default | fallback | still disabled by default (bug 1737428) | x |



| ***Uncommon Mesa (e.g. Raspberry Pi)***| SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Snap on Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default |
| Sway Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Gnome Xwayland | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Snap on Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| default | unknown? | fallback | recommended (GLES3)  | x |
| KDE Wayland | x | x | default | recommended (GLES3)  | experimental, disabled by default |
| KDE X11 with compositing | default | unknown? | fallback | recommended (GLES3)  | x |
| KDE X11 without compositing, i3, etc. (no alpha) | default | unknown? | falllback | recommended (GLES3)  | x |
(In reply to Petruta Horea [:phorea] from comment #8)
> Window Protocol: xwayland

When testing Mozilla builds, you need to set the MOZ_ENABLE_WAYLAND=1 environment variable on Wayland, otherwise you are not testing Wayland, but Firefox X11 on Xwayland.
Snap builds default to MOZ_ENABLE_WAYLAND=1 on Wayland, the environment variable is not necessary there.
* `Wayland` means Firefox with MOZ_ENABLE_WAYLAND=1 env var (or Firefox Snap without env var) on Wayland session.
* `Xwayland` means Firefox without env var (or Firefox Snap with DISABLE_WAYLAND=1 env var) on Wayland session.
  * Firefox 94 enabled EGL for >= Mesa 21 on Xwayland. Previously it was using GLX by default.
* `X11` means Firefox on X11 session.
  * Firefox 94 enabled EGL for >= Mesa 21 on X11. Previously it was using GLX by default.



If you want to test Wayland, better use a computer without an Nvidia graphics card or at least without the proprietary Nvidia driver.
Wayland/Nvidia was not really possible until the recent Nvidia beta driver.

How properly do you intent to test? There is a scary amount of possible configurations.
Firefox Snap can have different behavior than Mozilla builds or debian packages. Something might be broken inside Snap/Flatpak that is not broken for non-Snap/Flatpak builds. And there is not only one Wayland, Wayland is just a protocol.


It makes most sense to test:
* Relevant for Ubuntu >=21.10:
  Snap Firefox 94 Beta (defaults to Wayland backend) on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$ sudo snap remove firefox; sudo snap install firefox --channel=latest/beta; snap run firefox`
* Relevant for Fedora and others:
  Mozilla-built Firefox 94 Beta with MOZ_ENABLE_WAYLAND=1 envionment variable on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$  MOZ_ENABLE_WAYLAND=1 mozregression --repo mozilla-beta --launch 94.0b9`

---

For better understanding, here is an incomplete overview of possible Linux configurations:

My last X11 testing was in bug 1733094 comment 14.

Legend:
SW WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.software
WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.all
SW WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.software
WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.all
(experimental Wayland WR EGL with OS compositing = gfx.webrender.compositor.force-enabled)
The table in incomplete: Each X11 variant can also be used with manually enabled GPU process: layers.gpu-process.force-enabled (bug 1653444)

Meta bugs:
Firefox X11 on Gnome Xwayland: bug 1695440
Firefox Wayland on Gnome Wayland: bug 635134, bug 1587060
Firefox Wayland on proprietary Nvidia (beta driver, requires manually enabling Wayland by changing system files): bug 1535716 
Firefox Wayland on KDE Wayland: bug 1609115
Firefox Wayland on Sway Wayland: bug 1551279
Firefox Snap Wayland on Gnome Wayland: bug 1665641


| ***Intel/AMD/Nvidia Mesa***| SW WR GLX | WR GLX  | SW WR EGL | WR EGL  | WR EGL with OS compositing|
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Snap on Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland | default for Mesa <21 | discouraged (bug 1635186) | fallback | default for Mesa >= 21 | x |
| Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Snap on Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| KDE Wayland | x | x | fallback | default for Mesa >= 21 | experimental, disabled by default |
| KDE X11 with compositing | fallback | default for Mesa <21  | fallback | default for Mesa >= 21 | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |



| ***Proprietary Nvidia driver*** | SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default|
| Snap on Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland (beta driver) | fallback | default for driver <470 | fallback | default for driver >=470 | x |
| Gnome X11 | fallback | default | fallback | still disabled by default (bug 1737428) | x |
| Snap on Gnome X11 | fallback | default | fallback | still disabled by default (bug 1737428) | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default | fallback | still disabled by default (bug 1737428) | x |
| KDE Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| KDE X11 with compositing | fallback | default | fallback | still disabled by default (bug 1737428) | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default | fallback | still disabled by default (bug 1737428) | x |



| ***Uncommon Mesa (e.g. Raspberry Pi)***| SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Snap on Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default |
| Sway Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Gnome Xwayland | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Snap on Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| default | unknown? | fallback | recommended (GLES3)  | x |
| KDE Wayland | x | x | default | recommended (GLES3)  | experimental, disabled by default |
| KDE X11 with compositing | default | unknown? | fallback | recommended (GLES3)  | x |
| KDE X11 without compositing, i3, etc. (no alpha) | default | unknown? | falllback | recommended (GLES3)  | x |
(In reply to Petruta Horea [:phorea] from comment #8)
> Window Protocol: xwayland

When testing Mozilla builds, you need to set the MOZ_ENABLE_WAYLAND=1 environment variable on Wayland, otherwise you are not testing Wayland, but Firefox X11 on Xwayland.
Snap builds default to MOZ_ENABLE_WAYLAND=1 on Wayland, the environment variable is not necessary there.
* `Wayland` means Firefox with MOZ_ENABLE_WAYLAND=1 env var (or Firefox Snap without env var) on Wayland session.
* `Xwayland` means Firefox without env var (or Firefox Snap with DISABLE_WAYLAND=1 env var) on Wayland session.
  * Firefox 94 enabled EGL for >= Mesa 21 on Xwayland. Previously it was using GLX by default.
* `X11` means Firefox on X11 session.
  * Firefox 94 enabled EGL for >= Mesa 21 on X11. Previously it was using GLX by default.



If you want to test Wayland, better use a computer without an Nvidia graphics card or at least without the proprietary Nvidia driver.
Wayland/Nvidia was not really possible until the recent Nvidia beta driver.

How properly do you intent to test? There is a scary amount of possible configurations.
Firefox Snap can have different behavior than Mozilla builds or debian packages. Something might be broken inside Snap/Flatpak that is not broken for non-Snap/Flatpak builds. And there is not only one Wayland, Wayland is just a protocol.


It makes most sense to test:
* Relevant for Ubuntu >=21.10:
  Snap Firefox 94 Beta (defaults to Wayland backend) on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$ sudo snap remove firefox; sudo snap install firefox --channel=latest/beta; snap run firefox`
* Relevant for Fedora and others:
  Mozilla-built Firefox 94 Beta with MOZ_ENABLE_WAYLAND=1 envionment variable on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$  MOZ_ENABLE_WAYLAND=1 mozregression --repo mozilla-beta --launch 94.0b9`

---

For better understanding, here is an incomplete overview of possible Linux configurations:

My last X11 testing was in bug 1733094 comment 14.

Legend:
SW WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.software
WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.all
SW WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.software
WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.all
(experimental Wayland WR EGL with OS compositing = gfx.webrender.compositor.force-enabled)
The table in incomplete: Each X11 variant can also be used with manually enabled GPU process: layers.gpu-process.force-enabled (bug 1653444)

Meta bugs:
Firefox X11 on Gnome Xwayland: bug 1695440
Firefox Wayland on Gnome Wayland: bug 635134, bug 1587060
Firefox Wayland on proprietary Nvidia (beta driver, requires manually enabling Wayland by changing system files): bug 1535716 
Firefox Wayland on KDE Wayland: bug 1609115
Firefox Wayland on Sway Wayland: bug 1551279
Firefox Snap Wayland on Gnome Wayland: bug 1665641


| ***Intel/AMD/Nvidia Mesa***| SW WR GLX | WR GLX  | SW WR EGL | WR EGL  | WR EGL with OS compositing|
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Snap on Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland | default for Mesa <21 | discouraged (bug 1635186) | fallback | default for Mesa >= 21 | x |
| Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Snap on Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| KDE Wayland | x | x | fallback | default for Mesa >= 21 | experimental, disabled by default |
| KDE X11 with compositing | fallback | default for Mesa <21  | fallback | default for Mesa >= 21 | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |



| ***Proprietary Nvidia driver*** | SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default|
| Snap on Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland (beta driver) | default for driver <470 | discouraged (bug 1635186)| fallback | default for driver >=470 | x |
| Gnome X11 | fallback | default | fallback | still disabled by default (bug 1737428) | x |
| Snap on Gnome X11 | fallback | default | fallback | still disabled by default (bug 1737428) | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default | fallback | still disabled by default (bug 1737428) | x |
| KDE Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| KDE X11 with compositing | fallback | default | fallback | still disabled by default (bug 1737428) | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default | fallback | still disabled by default (bug 1737428) | x |



| ***Uncommon Mesa (e.g. Raspberry Pi)***| SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Snap on Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default |
| Sway Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Gnome Xwayland | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Snap on Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| default | unknown? | fallback | recommended (GLES3)  | x |
| KDE Wayland | x | x | default | recommended (GLES3)  | experimental, disabled by default |
| KDE X11 with compositing | default | unknown? | fallback | recommended (GLES3)  | x |
| KDE X11 without compositing, i3, etc. (no alpha) | default | unknown? | falllback | recommended (GLES3)  | x |
(In reply to Petruta Horea [:phorea] from comment #8)
> Window Protocol: xwayland

When testing Mozilla builds, you need to set the MOZ_ENABLE_WAYLAND=1 environment variable on Wayland, otherwise you are not testing Wayland, but Firefox X11 on Xwayland.
Snap builds default to MOZ_ENABLE_WAYLAND=1 on Wayland, the environment variable is not necessary there.
* `Wayland` means Firefox with MOZ_ENABLE_WAYLAND=1 env var (or Firefox Snap without env var) on Wayland session.
* `Xwayland` means Firefox without env var (or Firefox Snap with DISABLE_WAYLAND=1 env var) on Wayland session.
  * Firefox 94 enabled EGL for >= Mesa 21 on Xwayland. Previously it was using GLX by default.
* `X11` means Firefox on X11 session.
  * Firefox 94 enabled EGL for >= Mesa 21 on X11. Previously it was using GLX by default.



If you want to test Wayland, better use a computer without an Nvidia graphics card or at least without the proprietary Nvidia driver.
Wayland/Nvidia was not really possible until the recent Nvidia beta driver.

How properly do you intent to test? There is a scary amount of possible configurations.
Firefox Snap can have different behavior than Mozilla builds or debian packages. Something might be broken inside Snap/Flatpak that is not broken for non-Snap/Flatpak builds. And there is not only one Wayland, Wayland is just a protocol.


It makes most sense to test:
* Relevant for Ubuntu >=21.10:
  Snap Firefox 94 Beta (defaults to Wayland backend) on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$ sudo snap remove firefox; sudo snap install firefox --channel=latest/beta; snap run firefox`
* Relevant for Fedora and others:
  Mozilla-built Firefox 94 Beta with MOZ_ENABLE_WAYLAND=1 envionment variable on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$  MOZ_ENABLE_WAYLAND=1 mozregression --repo mozilla-beta --launch 94.0b9`

---

For better understanding, here is an incomplete overview of possible Linux configurations:

My last X11 testing was in bug 1733094 comment 14.

Legend:
SW WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.software
WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.all
SW WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.software
WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.all
(experimental Wayland WR EGL with OS compositing = gfx.webrender.compositor.force-enabled)
The table in incomplete: Each X11 variant can also be used with manually enabled GPU process: layers.gpu-process.force-enabled (bug 1653444)

Meta bugs:
Firefox X11 on Gnome Xwayland: bug 1695440
Firefox Wayland on Gnome Wayland: bug 635134, bug 1587060
Firefox Wayland on proprietary Nvidia (beta driver, requires manually enabling Wayland by changing system files): bug 1535716 
Firefox Wayland on KDE Wayland: bug 1609115
Firefox Wayland on Sway Wayland: bug 1551279
Firefox Snap Wayland on Gnome Wayland: bug 1665641


| ***Intel/AMD/Nvidia Mesa***| SW WR GLX | WR GLX  | SW WR EGL | WR EGL  | WR EGL with OS compositing|
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Snap on Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland | default for Mesa <21 | discouraged (bug 1635186) | fallback | default for Mesa >= 21 | x |
| Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Snap on Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| KDE Wayland | x | x | fallback | default for Mesa >= 21 | experimental, disabled by default |
| KDE X11 with compositing | fallback | default for Mesa <21  | fallback | default for Mesa >= 21 | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |



| ***Proprietary Nvidia driver*** | SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default|
| Snap on Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland (beta driver) | previous default | discouraged (bug 1635186) | fallback | default (bug 1732002) | x |
| Gnome X11 | fallback | default | fallback | bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470 | x |
| Snap on Gnome X11 | fallback | default | fallback |  bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470| x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default | fallback | bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470 | x |
| KDE Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| KDE X11 with compositing | fallback | default | fallback | bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470 | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default | fallback |  bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470 | x |



| ***Uncommon Mesa (e.g. Raspberry Pi)***| SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Snap on Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default |
| Sway Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Gnome Xwayland | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Snap on Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| default | unknown? | fallback | recommended (GLES3)  | x |
| KDE Wayland | x | x | default | recommended (GLES3)  | experimental, disabled by default |
| KDE X11 with compositing | default | unknown? | fallback | recommended (GLES3)  | x |
| KDE X11 without compositing, i3, etc. (no alpha) | default | unknown? | falllback | recommended (GLES3)  | x |
(In reply to Petruta Horea [:phorea] from comment #8)
> Window Protocol: xwayland

When testing Mozilla builds, you need to set the MOZ_ENABLE_WAYLAND=1 environment variable on Wayland, otherwise you are not testing Wayland, but Firefox X11 on Xwayland.
Snap builds default to MOZ_ENABLE_WAYLAND=1 on Wayland, the environment variable is not necessary there.
* `Wayland` means Firefox with MOZ_ENABLE_WAYLAND=1 env var (or Firefox Snap without env var) on Wayland session.
* `Xwayland` means Firefox without env var (or Firefox Snap with DISABLE_WAYLAND=1 env var) on Wayland session.
  * Firefox 94 enabled EGL for >= Mesa 21 on Xwayland. Previously it was using GLX by default.
* `X11` means Firefox on X11 session.
  * Firefox 94 enabled EGL for >= Mesa 21 on X11. Previously it was using GLX by default.



If you want to test Wayland, better use a computer without an Nvidia graphics card or at least without the proprietary Nvidia driver.
Wayland/Nvidia was not really possible until the recent Nvidia beta driver.

How properly do you intent to test? There is a scary amount of possible configurations.
Firefox Snap can have different behavior than Mozilla builds or debian packages. Something might be broken inside Snap/Flatpak that is not broken for non-Snap/Flatpak builds. And there is not only one Wayland, Wayland is just a protocol.


It makes most sense to test:
* Relevant for Ubuntu >=21.10:
  Snap Firefox 94 Beta (defaults to Wayland backend) on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$ sudo snap remove firefox; sudo snap install firefox --channel=latest/beta; snap run firefox`
* Relevant for Fedora and others:
  Mozilla-built Firefox 94 Beta with MOZ_ENABLE_WAYLAND=1 envionment variable on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$  MOZ_ENABLE_WAYLAND=1 mozregression --repo mozilla-beta --launch 94.0b9`

---

For better understanding, here is an incomplete overview of possible Linux configurations:

My last X11 testing was in bug 1733094 comment 14.

Legend:
SW WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.software
WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.all
SW WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.software
WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.all
(experimental Wayland WR EGL with OS compositing = gfx.webrender.compositor.force-enabled)
The table in incomplete: Each X11 variant can also be used with manually enabled GPU process: layers.gpu-process.force-enabled (bug 1653444)

Meta bugs:
Firefox X11 on Gnome Xwayland: bug 1695440
Firefox Wayland on Gnome Wayland: bug 635134, bug 1587060
Firefox Wayland on proprietary Nvidia (beta driver, requires manually enabling Wayland by changing system files): bug 1535716 
Firefox Wayland on KDE Wayland: bug 1609115
Firefox Wayland on Sway Wayland: bug 1551279
Firefox Snap Wayland on Gnome Wayland: bug 1665641


| ***Intel/AMD/Nvidia Mesa***| SW WR GLX | WR GLX  | SW WR EGL | WR EGL  | WR EGL with OS compositing|
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Snap on Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland | default for Mesa <21 | discouraged (bug 1635186) | fallback | default for Mesa >= 21 | x |
| Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Snap on Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| KDE Wayland | x | x | fallback | default | experimental, disabled by default |
| KDE X11 with compositing | fallback | default for Mesa <21  | fallback | default for Mesa >= 21 | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |



| ***Proprietary Nvidia driver*** | SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default|
| Snap on Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland (beta driver) | previous default | discouraged (bug 1635186) | fallback | default (bug 1732002) | x |
| Gnome X11 | fallback | default | fallback | bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470 | x |
| Snap on Gnome X11 | fallback | default | fallback |  bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470| x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default | fallback | bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470 | x |
| KDE Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| KDE X11 with compositing | fallback | default | fallback | bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470 | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default | fallback |  bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470 | x |



| ***Uncommon Mesa (e.g. Raspberry Pi)***| SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Snap on Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default |
| Sway Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Gnome Xwayland | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Snap on Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| default | unknown? | fallback | recommended (GLES3)  | x |
| KDE Wayland | x | x | default | recommended (GLES3)  | experimental, disabled by default |
| KDE X11 with compositing | default | unknown? | fallback | recommended (GLES3)  | x |
| KDE X11 without compositing, i3, etc. (no alpha) | default | unknown? | falllback | recommended (GLES3)  | x |
(In reply to Petruta Horea [:phorea] from comment #8)
> Window Protocol: xwayland

When testing Mozilla builds, you need to set the MOZ_ENABLE_WAYLAND=1 environment variable on Wayland, otherwise you are not testing Wayland, but Firefox X11 on Xwayland.
Snap builds default to MOZ_ENABLE_WAYLAND=1 on Wayland, the environment variable is not necessary there.
* `Wayland` means Firefox with MOZ_ENABLE_WAYLAND=1 env var (or Firefox Snap without env var) on Wayland session.
* `Xwayland` means Firefox without env var (or Firefox Snap with DISABLE_WAYLAND=1 env var) on Wayland session.
  * Firefox 94 enabled EGL for >= Mesa 21 on Xwayland. Previously it was using GLX by default.
* `X11` means Firefox on X11 session.
  * Firefox 94 enabled EGL for >= Mesa 21 on X11. Previously it was using GLX by default.



If you want to test Wayland, better use a computer without an Nvidia graphics card or at least without the proprietary Nvidia driver.
Wayland/Nvidia was not really possible until the recent Nvidia beta driver.

How properly do you intent to test? There is a scary amount of possible configurations.
Firefox Snap can have different behavior than Mozilla builds or debian packages. Something might be broken inside Snap/Flatpak that is not broken for non-Snap/Flatpak builds. And there is not only one Wayland, Wayland is just a protocol.


It makes most sense to test:
* Relevant for Ubuntu >=21.10:
  Snap Firefox 94 Beta (defaults to Wayland backend) on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$ sudo snap remove firefox; sudo snap install firefox --channel=latest/beta; snap run firefox`
* Relevant for Fedora and others:
  Mozilla-built Firefox 94 Beta with MOZ_ENABLE_WAYLAND=1 envionment variable on Gnome Wayland on Mesa/Intel or AMD on Ubuntu 21.10
`$  MOZ_ENABLE_WAYLAND=1 mozregression --repo mozilla-beta --launch 94.0b9`

---

For better understanding, here is an incomplete overview of possible Linux configurations:

My last X11 testing was in bug 1733094 comment 14.

Legend:
SW WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.software
WR GLX = gfx.x11-egl.force-disabled + gfx.webrender.all
SW WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.software
WR EGL = gfx.x11-egl.force-enabled + gfx.webrender.all
(experimental Wayland WR EGL with OS compositing = gfx.webrender.compositor.force-enabled)
The table in incomplete: Each X11 variant can also be used with manually enabled GPU process: layers.gpu-process.force-enabled (bug 1653444)

Meta bugs:
Firefox X11 on Gnome Xwayland: bug 1695440
Firefox Wayland on Gnome Wayland: bug 635134, bug 1587060
Firefox Wayland on proprietary Nvidia (beta driver, requires manually enabling Wayland by changing system files): bug 1535716 
Firefox Wayland on KDE Wayland: bug 1609115
Firefox Wayland on Sway Wayland: bug 1551279
Firefox Snap Wayland on Gnome Wayland: bug 1665641


| ***Intel/AMD/Nvidia Mesa***| SW WR GLX | WR GLX  | SW WR EGL | WR EGL  | WR EGL with OS compositing|
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Snap on Gnome Wayland | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland | default for Mesa <21 | discouraged (bug 1635186) | fallback | default for Mesa >= 21 | x |
| Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Snap on Gnome X11 | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |
| KDE Wayland | x | x | fallback | default | experimental, disabled by default |
| KDE X11 with compositing | fallback | default for Mesa <21  | fallback | default for Mesa >= 21 | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default for Mesa <21 | fallback | default for Mesa >= 21 | x |



| ***Proprietary Nvidia driver*** | SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default|
| Snap on Gnome Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Sway Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| Gnome Xwayland (beta driver) | default for driver <470 | discouraged (bug 1635186) | fallback | default for driver >=470 (bug 1732002) | x |
| Gnome X11 | fallback | default | fallback | bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470 | x |
| Snap on Gnome X11 | fallback | default | fallback |  bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470| x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| fallback | default | fallback | bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470 | x |
| KDE Wayland (beta driver) | x | x | fallback | default | experimental, disabled by default |
| KDE X11 with compositing | fallback | default | fallback | bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470 | x |
| KDE X11 without compositing, i3, etc. (no alpha) | fallback | default | fallback |  bug 1737428, default on EARLY_BETA_OR_EARLIER for driver >=470 | x |



| ***Uncommon Mesa (e.g. Raspberry Pi)***| SW WR GLX | WR GLX | SW WR EGL | WR EGL | WR EGL with OS compositing (disabled by default) |
| --- | --- | --- | --- | --- | --- |
| Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Snap on Gnome Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default |
| Sway Wayland | x | x | default | recommended (GLES3) | experimental, disabled by default|
| Gnome Xwayland | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Snap on Gnome X11 | default | unknown? | fallback | recommended (GLES3)  | x |
| Gnome X11 with GTK_CSD=1 (e.g. elementaryOS)| default | unknown? | fallback | recommended (GLES3)  | x |
| KDE Wayland | x | x | default | recommended (GLES3)  | experimental, disabled by default |
| KDE X11 with compositing | default | unknown? | fallback | recommended (GLES3)  | x |
| KDE X11 without compositing, i3, etc. (no alpha) | default | unknown? | falllback | recommended (GLES3)  | x |

Back to Bug 1737793 Comment 10