Some apps like Firefox, VLC do not render with Wayland enabled on Gnome (but apps like Terminal, Text Editor, etc seem to work fine)

I installed Manjaro yesterday with Architect on a box that also has Fedora 33 (default Wayland), and Pop!_OS 20.4 (with Wayland enabled). I’m somewhat inexperienced with Linux (but computer savvy), so I’m testing these distros to determine which I prefer.

I enabled Wayland on Manjaro with ‘‘WaylandEnable=true’’ in /etc/gdm/custom.conf and restarted my session in Wayland. When I started Firefox brower, the window did not render properly but I could see an outline and “Firefox” in the top bar. There was also some flickering and repeated redrawing when I tried to open other apps, which I was able to remedy by right-clicking Firefox on the top bar and selecting Quit. I noted that Terminal, Text Editor, and Epiphany (all native Gnome apps?) seem to work fine, so I installed Chromium and VLC to see if it was a Firefox issue. Chromium and VLC also had rendering issues—all black windows.

I need Wayland to work because I get screen tearing when scrolling. I don’t have any issues with Gnome on Wayland in Fedora 33 and Pop!_OS on this same box, and I have no idea where to start to see if I can get this issue fixed in Manjaro. Any ideas?

Here is the $ inxi -Fazy ouput when logged in with Wayland:

System:
  Kernel: 5.11.0-1-MANJARO x86_64 
  bits: 64 compiler: gcc v: 10.2.1 
  parameters: BOOT_IMAGE=/vmlinuz-5.11-x86_64 
  root=UUID=0d4cc8bd-67d2-453e-85ac-749981b6a5ab 
  ro rootflags=subvol=@ 
  cryptdevice=UUID=8e4bf32e-e624-4da7-9460-77c87e271ac0:cryptroot quiet 
  udev.log_priority=3 
  Console: N/A 
  wm: gnome-shell 
  dm: GDM 3.38.2.1 
  Distro: Manjaro Linux 
Machine:
  Type: Desktop System: ACER product: Aspire M5630 v: R01-A2 serial: <filter> 
  Mobo: ACER model: EG31M v: R01-C2 serial: <filter> BIOS: ACER v: R01-C2 
  date: 11/27/2008 
CPU:
  Info: Quad Core model: Intel Core2 Quad Q6600 bits: 64 type: MCP 
  arch: Core Merom family: 6 model-id: F (15) stepping: B (11) microcode: BA 
  L1 cache: 128 KiB L2 cache: 4 MiB 
  flags: lm nx pae sse sse2 sse3 ssse3 vmx bogomips: 19158 
  Speed: 1596 MHz min/max: 1603/2403 MHz base/boost: 2400/2400 volts: 1.3 V 
  ext-clock: 267 MHz Core speeds (MHz): 1: 1596 2: 1596 3: 1596 4: 1597 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf mitigation: PTE Inversion; VMX: EPT disabled 
  Type: mds 
  status: Vulnerable: Clear CPU buffers attempted, no microcode; SMT disabled 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass status: Vulnerable 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 
  mitigation: Full generic retpoline, STIBP: disabled, RSB filling 
  Type: srbds status: Not affected 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: Intel 82G33/G31 Express Integrated Graphics vendor: Elite Systems 
  driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:29c2 
  Display: server: X.org 1.20.10 
  compositor: gnome-shell 
  driver: loaded: intel 
  unloaded: modesetting alternate: fbdev,vesa resolution: <missing: xdpyinfo> 
  OpenGL: renderer: llvmpipe (LLVM 11.0.1 128 bits) v: 4.5 Mesa 20.3.3 
  compat-v: 3.1 direct render: Yes 
Audio:
  Device-1: Intel NM10/ICH7 Family High Definition Audio vendor: Elite Systems 
  driver: snd_hda_intel v: kernel bus ID: 00:1b.0 chip ID: 8086:27d8 
  Device-2: Logitech QuickCam Pro 9000 type: USB 
  driver: snd-usb-audio,uvcvideo bus ID: 1-4:4 chip ID: 046d:0990 
  serial: <filter> 
  Sound Server: ALSA v: k5.11.0-1-MANJARO 
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  vendor: Elite Systems driver: r8169 v: kernel port: d800 bus ID: 02:00.0 
  chip ID: 10ec:8168 
  IF: ens33 state: up speed: 1000 Mbps duplex: full mac: <filter> 
Drives:
  Local Storage: total: 1.28 TiB used: 7.04 GiB (0.5%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/sda maj-min: 8:0 vendor: Seagate model: ST3802110A 
  size: 74.53 GiB block size: physical: 512 B logical: 512 B speed: <unknown> 
  serial: <filter> rev: H 
  ID-2: /dev/sdb maj-min: 8:16 vendor: Seagate model: ST340016A 
  size: 37.27 GiB block size: physical: 512 B logical: 512 B speed: <unknown> 
  serial: <filter> rev: 3.19 
  ID-3: /dev/sdc maj-min: 8:32 vendor: Western Digital model: WD2000JD-22HBB0 
  size: 186.31 GiB block size: physical: 512 B logical: 512 B speed: <unknown> 
  serial: <filter> rev: 2D08 
  ID-4: /dev/sdd maj-min: 8:48 vendor: Seagate model: ST31000524AS 
  size: 931.51 GiB block size: physical: 512 B logical: 512 B speed: <unknown> 
  serial: <filter> rev: JC45 
  ID-5: /dev/sde maj-min: 8:64 vendor: Seagate model: ST380815AS 
  size: 74.54 GiB block size: physical: 512 B logical: 512 B speed: <unknown> 
  serial: <filter> rev: A 
  ID-6: /dev/sdf maj-min: 8:80 type: USB model: USB2.0 Flash Disk 
  size: 3.89 GiB block size: physical: 512 B logical: 512 B serial: <filter> 
  rev: 2.50 
Partition:
  ID-1: / raw size: 85.81 GiB size: 85.81 GiB (100.00%) used: 7.04 GiB (8.2%) 
  fs: btrfs block size: 4096 B dev: /dev/dm-0 maj-min: 254:0 mapped: cryptroot 
  ID-2: /home raw size: 85.81 GiB size: 85.81 GiB (100.00%) 
  used: 7.04 GiB (8.2%) fs: btrfs block size: 4096 B dev: /dev/dm-0 
  maj-min: 254:0 mapped: cryptroot 
Swap:
  Kernel: swappiness: 10 (default 60) cache pressure: 50 (default 100) 
  ID-1: swap-1 type: partition size: 4 GiB used: 0 KiB (0.0%) priority: -2 
  dev: /dev/dm-1 maj-min: 254:1 mapped: cryptswap 
Sensors:
  System Temperatures: cpu: 57.0 C mobo: N/A 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 229 Uptime: 20m wakeups: 0 
  Memory: 3.83 GiB used: 1.02 GiB (26.7%) 
  Init: systemd v: 247 
  Compilers: gcc: 10.2.0 
  Packages: pacman: 1169 lib: 290 flatpak: 0 
  Shell: Zsh (sudo) v: 5.8 default: Bash v: 5.1.0 
  running in: gnome-terminal 
  inxi: 3.2.02 

I use Gnome and Wayland, but I didn’t have to do anything to enable Wayland. Manjaro comes with Wayland by default.

What happens if you remove the “Wayland=true” line in the /etc/gdm/custom.conf file?

When I checked my custom.conf file, it had an entry that needed to be uncommented if I wanted to disable Wayland.

The same issues remain after commenting out the ‘WaylandEnable’ line in /etc/gdm/custom.conf and rebooting my machine.

I actually installed with Manjaro Architect not Manjaro Gnome, so maybe that’s why Wayland wasn’t enabled by default? One of the first things I did after installing Manjaro was check Windowing System from Settings > About and the value was X11. I found the ‘WaylandEnable=false’ line in /etc/gdm/custom.conf was uncommented, so Wayland must have been disabled by Architect.

I had originally tried to install Manjaro from the latest live Gnome image, but Calamares (and Firefox, etc) would not render (same issues—unrendered windows, rapid redrawing, black windows).

I noted that I originally posted the inxi -Fazy output above when logged in with X11, so I have now rerun the command when logged in with Wayland. I have also run inxi in Fedora 33 and Pop!_OS 20.04 and found the Graphics > Display > driver subsection has (strange?) output in Manjaro when compared to Fedora and Pop!_OS:

System:
  Kernel: 5.11.0-1-MANJARO x86_64 
  ... 
  wm: gnome-shell 
  dm: GDM 3.38.2.1 
  Distro: Manjaro Linux
...
Graphics:
  Device-1: Intel 82G33/G31 Express Integrated Graphics ... 
  driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:29c2 
  Display: server: X.org 1.20.10 
  compositor: gnome-shell 
  driver: loaded: intel unloaded: modesetting alternate: fbdev,vesa 
  resolution: <missing: xdpyinfo> 
  OpenGL: renderer: llvmpipe (LLVM 11.0.1 128 bits) v: 4.5 Mesa 20.3.3 
  compat-v: 3.1 direct render: Yes
...

Relevant inxi output from my Fedora 33 installation:

System:
  Kernel: 5.10.11-200.fc33.x86_64 x86_64 
  ...
  wm: gnome-shell 
  dm: GDM 3.38.2.1 
  Distro: Fedora release 33 (Thirty Three)
...
Graphics:
  Device-1: Intel 82G33/G31 Express Integrated Graphics ... 
  driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:29c2 
  Display: server: Fedora Project X.org 1.20.10 
  compositor: gnome-shell 
  driver: i915 
  note: display driver n/a display ID: :0 screens: 1 
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 
  s-size: 508x286mm (20.0x11.3") s-diag: 583mm (23") 
  Monitor-1: XWAYLAND0 res: 1920x1080 hz: 60 dpi: 81 
  size: 600x340mm (23.6x13.4") diag: 690mm (27.2") 
  OpenGL: renderer: llvmpipe (LLVM 11.0.0 128 bits) v: 4.5 Mesa 20.3.4 
  compat-v: 3.1 direct render: Yes
...

Relevant inxi output from my Pop!_OS installation:

System:
  Kernel: 5.8.0-7630-generic x86_64
  ...
  wm: gnome-shell 
  dm: GDM3 3.36.3 
  Distro: Pop!_OS 20.04 LTS base: Ubuntu 20.04 LTS Focal
...
Graphics:
  Device-1: Intel 82G33/G31 Express Integrated Graphics ... 
  driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:29c2 
  Display: server: X.Org 1.20.9 
  compositor: gnome-shell 
  driver: i915 
  resolution: 1920x1080~60Hz 
  OpenGL: renderer: llvmpipe (LLVM 11.0.0 128 bits) v: 4.5 Mesa 20.3.2 
  compat-v: 3.1 direct render: Yes
...

Sorry that I haven’t been much help.

When you are about to log into Manjaro Gnome, after you click on your name, there should be a gear in the lower right corner of the screen. Click on that gear and it will let you select whether to use gnome, gnome classic, or gnome on x-org. You want to select “gnome” if you want to use wayland.

Another thought that I had was that, as you suspected, a lot of your software might still be trying to run on x-org. Some programs have other dependencies when they run under Wayland.

I would run pamac, look up the programs that aren’t working properly, and see if there are any extra dependencies that need to be installed for them.

I hope this helps in some way.

I’m having the exact same problem. The only fix I found for firefox was disabling hardware acceleration in safe mode.
Another app that doesn’t render is gnome extensions.
Did you ever find a solution by any chance?