Firefox window rendering problem

Firefox on my system has acquired an intermittent window-rendering problem since some recent update (now 60.1.0) whereby the buttons on the titlebar (but not the Firefox logo) are displayed as black squares. The buttons on the right should be displayed as white underline, square, and cross graphics using the “MS Windows 9x” widget style and “Plastik” theme.

Sometimes the titlebar text is blocked out in white as well.

It’s not a huge problem and the buttons continue to work, but it’s annoying. The solution is to dismiss & restart Firefox then “Restore Previous Session”. Clearing the Mozilla cache as suggested somewhere here doesn’t fix it.

I’ve found a very similar problem occurs if LibreOffice is downloaded & installed from the ODF website, when (some?) text in the application area of windows is blocked out in black. The solution is to delete <libreoffice-kde4> which gives a much plainer window, but at least it works.

Does anyone have any insights? Should this be reported as a bug? It’s possibly a general rendering issue rather that a bug in Firefox and, to complicate matters, I understand Firefox versions beginning with 60 do their own rendering by default.

DavidL.

This kind of problem is usually a clash or absence of a package related to theming. Which DE or WM are you using? Can you try a different one, such as IceWM (usually installed by default regardless which DE is your preference), to see if it persists there? Which MozillaFirefox-branding package is installed? Does problem persist if you replace it with the other?

I’m using the KDE window-manager, but I’ve never understood what “branding” packages do. I’m running Firefox 60.1.0 but MozillaFirefox-branding-upstream 60.1 isn’t installed, and doesn’t seem to be required. The MozillaFirefox-branding-openSUSE package is version 45-14.1.

Is “upstream branding” likely to be a problem?

DavidL.

Highly likely the old branding package is the problem. Latest matches your installed FF 60.1.0 and should have been installed along with it. 45-14.1 might have had a lock set.

zypper ll

should tell you if there is, as well as YaST, which would call it taboo. The taboo or lock if it exists should be removed to allow 60.1.0 to be installed. Without a lock, normal updates should bring in 60.1.0. You can force it with

zypper in MozillaFirefox-branding-openSUSE-60.1.0

answering y if asked.

The branding packages are a look and feel thing, pure upstream vs. openSUSE. You can have only one or the other. branding-openSUSE is the default. It’s possible your combination of installed packages has a compatibility defect with it. You can try installing the other, which will replace the existing. Either it will help, or not. Whether it does or not, if you see a difference you like you can keep it. If not, reinstall the other.

Something else you can try if I’m wrong about the branding version being the problem is running Firefox in safe mode. Start it from an Xterm or Konsole

firefox -safe-mode

If the problem goes away, it’s a problem with your Firefox profile rather than installed software.

Answering my own question, there’s a description of “branding” at https://forums.opensuse.org/showthread.php/458543-upstream-vs-opensuse-branding-what-are-they Maybe upstream branding (or lack thereof) is the problem… I’ll see what happens.

Many thanks for your suggestion! I installed the upstream branding package, which automatically uninstalled the OpenSuSE branding, and I’ll wait to see if the problem recurs. So far, so good.

If it’s true that Firefox 60+ does some or all of its own window management, then a different branding package seems like a fertile source of problems.

I’ll also install the LibreOffice upstream branding and reinstall <libreoffice-kde4>, and post the result. I suppose it’s likely the version downloaded from the ODF also does a bit of its own window management.

Cheers,
DavidL.

I can’t now reproduce the problem with LibreOffice rendering which I mentioned earlier.

I notice the version of LibreOffice I downloaded from the Open Office Foundation website (5.4.6.2) doesn’t have an upstream-branding package but the version in the OpenSuSE update repository does, so perhaps this package is created when LO is packaged with the O/S. However the ODF version does include a KDE-integration package (libobasis5.4-kde4-integration).

In any case, LO seems to run fine. (Why use the ODF version? Because it includes offline help - see https://forums.opensuse.org/showthread.php/531499-No-LibreOffice-offline-help-amp-language-packs-in-repository - solved)

DavidL.

For the record, installing the Firefox upstream-branding package hasn’t eliminated the problem though I think it’s probably much less frequent. I’ve also recently observed the problem with Kmail, but I think only once.

I suspect this (64-bit) computer is a little slow as it’s now getting a bit long in the tooth and so there may be a timing-race issue. But it still shouldn’t happen.

DavidL.

this sounds like the old intel graphics plasma 5 bug
the fix was to use uxa acceleration instead of sna
https://mail.kde.org/pipermail/kde-distro-packagers/2015-August/000088.html
afaik this bug was present in the early 42.x releases but it was fixed with a kernel update, have you updated your system?
nvidia with noveau is also known for similar issues on plasma 5 the fix in this case would be to use the nvidia propitiatory driver
what graphic card and driver do you have?

That seems very likely to be on the right track, but I’m way out of my depth here. The hardware is quite old, and I’m still using ye ancient LCD 4x3 monitor because it just won’t fail, though it does occasionally suffer from apparent jitter in the horizontal sync. But the Leap 42.3 software is right up to date.

I have an “Intel 4 Series Chipset Integrated Graphics Controller” with an i915 kernel driver. I notice Mesa is installed but no nouveau packages except libdrm_nouveau2. After a bit of googling I installed Mesa-demo-x to get glxinfo and found acceleration is off.

/sbin/lspci -nnk | egrep -A3 “VGA|Display|3D” displays:
00:02.0 VGA compatible controller [0300]: Intel Corporation 4 Series Chipset Integrated Graphics Controller [8086:2e42] (rev 03)
Subsystem: Hewlett-Packard Company Device [103c:1493]
Kernel driver in use: i915
Kernel modules: i915
00:02.1 Display controller [0380]: Intel Corporation 4 Series Chipset Integrated Graphics Controller [8086:2e43] (rev 03)
Subsystem: Hewlett-Packard Company Device [103c:1493]
00:19.0 Ethernet controller [0200]: Intel Corporation 82567V-4 Gigabit Network Connection [8086:1525] (rev 02)
Subsystem: Hewlett-Packard Company Device [103c:1493]

Any ideas? Feel free to tell me to get a proper monitor, I’ve been looking for an excuse.

Cheers…

Should I add the following to /etc/X11/xorg.conf.d/50-device.conf as suggested at
https://en.opensuse.org/SDB:Switch_xf86-video-intel_to_UXA
(all lines are currently commented out)?

Section “Device”
Identifier “Intel Graphics”
Driver “i915”
Option “AccelMethod” “uxa”
EndSection

Do I need the full identifier “Intel Corporation 4 Series Chipset Integrated Graphics Controller”?

DavidL

No. “Identifier” is an arbitrary string that may need to be matched with other “Sections”, “Screen” in particular.

setting uxa as the preferred acceleration is simple just create the file (as root) /etc/X11/xorg.conf.d/50-device.conf

kdesu kate /etc/X11/xorg.conf.d/50-device.conf

and paste this text in it

    Section "Device"
        Identifier  "Intel Graphics"
        Driver      "intel"
        Option      "AccelMethod"  "uxa"
    EndSection

don’t comment anything indention is optional as white spaces are ignored
if you want to switch to sna you can change the text to

    Section "Device"
        Identifier  "Intel Graphics"
        Driver      "intel"
        Option      "AccelMethod"  "sna"
    EndSection

if you want to revert the changes just remove that file

rm /etc/X11/xorg.conf.d/50-device.conf

keep in mind a reboot is needed for the new options to take affect
but before doing that I’d recommend disabling hardware acceleration in Firefox and see if it makes a difference
hit the three horizontal lines -> options -> under Performance uncheck use recommended performance settings uncheck use hardware acceleration
you can disable hardware acceleration in LibreOffice too
this issue was quite common on intel devices but afaik it was fixed with a kernel update, that being said it’s quite possible a recent update reverted something

I created /etc/X11/xorg.conf.d/50-device.conf as follows but the system looped indefinitely during boot, presumably because it was looking for an incorrect “Identifier” or “Driver”, probably the Identifier?

Section "Device"Identifier “Default Device”
Driver “i915”
Option “AccelMethod” “uxa”

EndSection

I notice xorg.conf.install contains Device & Screen sections with identifier “vesa” so should the identifier above be “vesa”? I also can’t find anywhere graphics-acceleration is defined, which is surely a little odd? Sorry to bother you, and I can live with the problem if necessary!

D.

i915 is a kernel driver, not an xorg driver. 50-device.conf needs to have specified driver either modesetting or intel. When 50-device.conf is used usually valid 50-screen.conf and 50-monitor.conf are needed (by default those two files are nothing but comments, so not valid), and must match. e.g. with “Default Device” identifier in 50-device.conf, 50-screen.conf needs “Default Device” specified as device. Before concerning yourself with whether 50-screen.conf and 50-monitor.conf are needed, fix 50-device.conf with appropriate driver and try.

Thanks MrMazda, I appreciate the time you’ve spent on this. As mentioned, I’m way out of my depth here.

/etc/X11/xorg.conf.install has Device & Screen sections for vboxvideo, vmware, modesetting, fbdev & vesa, with device “Driver” entries having the same name, and a “Server Layout” section with identifier “Layout” which lists all five screens.

> grep " driver" /var/log/Xorg.0.log begins by returning:
31.869] X.Org XInput driver : 22.1
32.165] (II) Scanning /etc/X11/xorg_pci_ids directory for additional PCI ID’s supported by the drivers
32.187] (II) Scanning /etc/X11/xorg_pci_ids directory for additional PCI ID’s supported by the drivers
32.187] (==) Matched intel as autoconfigured driver 0
32.187] (==) Matched intel as autoconfigured driver 1
32.187] (==) Matched modesetting as autoconfigured driver 2
32.187] (==) Matched fbdev as autoconfigured driver 3
32.187] (==) Matched vesa as autoconfigured driver 4
32.187] (==) Assigned the driver to the xf86ConfigLayout
32.265] (II) FBDEV: driver for framebuffer: fbdev
32.265] (II) VESA: driver for VESA chipsets: vesa
32.352] (II) glamor: OpenGL accelerated X.org driver based.

But grepping through that logfile reveals that the intel, fbdev, fbdevhw & vesa drivers are unloaded. The intel driver apparently doesn’t exist, the fbdev & vesa drivers seem to have problems, and the vboxvideo & vmware drivers don’t appear in the logfile at all. That left the modesetting driver:
32.187] (==) Matched modesetting as autoconfigured driver 2
32.247] (II) LoadModule: “modesetting”
32.247] (II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so
32.254] (II) Module modesetting: vendor=“X.Org Foundation”
32.265] (II) modesetting: Driver for Modesetting Kernel Drivers: kms

So I changed 50-device.conf as follows and the system rebooted cleanly:Section “Device”

[INDENT=2]Identifier “Default Device”
Driver “modesetting”
Option “AccelMethod” “uxa”[/INDENT]
EndSection

> grep -A 3 -B 3 “uxa” /var/log/Xorg.0.log now reveals:
31.834] (II) modeset(0): Creating default Display subsection in Screen section
“Default Screen Section” for depth/fbbpp 24/32
31.834] (==) modeset(0): Depth 24, (==) framebuffer bpp 32
31.834] () modeset(0): Option “AccelMethod” “uxa”
31.834] (==) modeset(0): RGB weight 888
31.834] (==) modeset(0): Default visual is TrueColor
31.834] (
) modeset(0): glamor disabled

I think I can more or less see what’s going on here. Apparently acceleration is now working, but is there any way to confirm this?

The National Map https://nationalmap.gov.au/ still reports:Unusually Slow Performance Detected

It appears that your system is capable of running NationalMap in 3D mode, but is having significant performance issues. We are automatically switching to 2D mode to help resolve this issue. If you want to switch back to 3D mode you can select that option from the Maps button at the top of the screen.

but I assume this is just the slow processor.

Thanks again,
David L.

I don’t have an intel device and have little experience with it’s video drivers so I might be wrong but it was my understanding that you should leave the Driver option to “intel”
but according to your Xorg.0.log file you do seam to be using uxa acceleration, after setting this option does firefox still show strange artifacts?
if no it’s the acceleration used and uxa works if you’re still experiencing issues it’s something else

nope my mistake the

Driver      "modesetting" 

is a viable option and some users report better performance with it this is from the arch wiki
https://wiki.archlinux.org/index.php/intel_graphics

**Note:** Some ([Debian & Ubuntu](http://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-Debian-Abandon-Intel-DDX), [Fedora](http://www.phoronix.com/scan.php?page=news_item&px=Fedora-Xorg-Intel-DDX-Switch), [KDE](https://community.kde.org/Plasma/5.9_Errata#Intel_GPUs)) recommend not installing the [xf86-video-intel](https://www.archlinux.org/packages/?name=xf86-video-intel) driver, and instead falling back on the modesetting driver for fourth generation and newer GPUs. See [1]](https://www.reddit.com/r/archlinux/comments/4cojj9/it_is_probably_time_to_ditch_xf86videointel/), [2]](http://www.phoronix.com/scan.php?page=article&item=intel-modesetting-2017&num=1), [Xorg#Installation](https://wiki.archlinux.org/index.php/Xorg#Installation), and [modesetting(4)](https://jlk.fjfi.cvut.cz/arch/manpages/man/modesetting.4). However, the modesetting driver can cause problems such as [Chromium Issue 370022](https://bugs.chromium.org/p/chromium/issues/detail?id=370022). Also, the modesetting driver will not be benefited by Intel GuC/HuC/DMC firmware.


also from the kde devs
https://community.kde.org/Plasma/5.9_Errata#Intel_GPUs

Intel GPUs We recommend the Xorg modesetting DDX for use with Intel hardware.  This is the default in many distributions nowadays. Using the Intel Xorg  DDX can result in various graphical glitches and freezes. 


For some reason the xf86-video-intel package hasn’t been installed on this system. Its description in YaST states “The driver supports hardware accelerated 3D via the Direct Rendering Infrastructure (DRI), but only in depth 16 for the i810/i815 and depths 16 and 24 for the 830M and later.”

Having come this far I might install xf86-video-intel and change 50-device.conf to specify [Driver “intel”] just to see what happens. It would be interesting to see whether the map referred to above still detects tardiness.

> grep “DRI” /var/log/Xorg.0.log states:
32.092] (II) AIGLX: Screen 0 is not DRI2 capable
32.943] (II) GLX: Initialized DRISWRAST GL provider for screen 0

so I’m really not sure not sure whether acceleration is working or not. Does the modesetting driver even support 2D or 3D acceleration? The intel driver is described well at https://www.x.org/archive/current/doc/man/man4/intel.4.xhtml but it needs Direct Rendering Infrastructure, as mentioned.

What a minefield…

David L.

This is a list of drivers potentially usable by the server.

32.352] (II) glamor: OpenGL accelerated X.org driver based.

Glamor acceleration apparently should be supported by your gfxchip.

But grepping through that logfile reveals that the intel, fbdev, fbdevhw & vesa drivers are unloaded. The intel driver apparently doesn’t exist
It exists only if xf86-video-intel is installed.

the fbdev & vesa drivers seem to have problems
These are fallback drivers. They do not support any widescreen modes or acceleration. They’re OK for servers to run undemanding (slow) GUI maintenance and troubleshooting utilities, but little else. They can be useful when nomodeset has been included on the kernel cmdline, while gfxchip-specific and modesetting X drivers cannot even be loaded.

the vboxvideo & vmware drivers don’t appear in the logfile at all.
Are you a VM user? Is VM software even installed?

That left the modesetting driver:
32.187] (==) Matched modesetting as autoconfigured driver 2
32.247] (II) LoadModule: “modesetting”
32.247] (II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so
32.254] (II) Module modesetting: vendor=“X.Org Foundation”
32.265] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
Modesetting is the xserver’s incorporated generic driver (not gfxchip-specific), the driver that gets the most FOSS developer attention, including devs paid by Intel to do driver work.

So I changed 50-device.conf as follows and the system rebooted cleanly:Section "Device"

[INDENT=2]Identifier “Default Device”
Driver “modesetting”
Option “AccelMethod” “uxa”[/INDENT]
EndSection

UXA is older technology than SNA (for Sandy Bridge, the 2nd Intel iteration that followed your Eagle Lake)
https://en.wikipedia.org/wiki/SNA_(computer_graphics)

grep -A 3 -B 3 “uxa” /var/log/Xorg.0.log now reveals:
31.834] (II) modeset(0): Creating default Display subsection in Screen section
“Default Screen Section” for depth/fbbpp 24/32
31.834] (==) modeset(0): Depth 24, (==) framebuffer bpp 32
31.834] () modeset(0): Option “AccelMethod” “uxa”
31.834] (==) modeset(0): RGB weight 888
31.834] (==) modeset(0): Default visual is TrueColor
31.834] (
) modeset(0): glamor disabled

I think I can more or less see what’s going on here. Apparently acceleration is now working, but is there any way to confirm this?
Why it says glamor is disabled I don’t have any idea. I suppose you could run glxgears with and without 50-device.conf. Maybe glamor is incompatible with uxa?

The National Map https://nationalmap.gov.au/ still reports:Unusually Slow Performance Detected

It appears that your system is capable of running NationalMap in 3D mode, but is having significant performance issues. We are automatically switching to 2D mode to help resolve this issue. If you want to switch back to 3D mode you can select that option from the Maps button at the top of the screen.
Using an Eagle Lake PC probably much like yours, the modesetting driver, and FF ESR 60.1.0 I get “NationalMap works best with a web browser that supports WebGL, including the latest versions of Google Chrome, Mozilla Firefox, Apple Safari, and Microsoft Internet Explorer. Your web browser dows not appear to support WebGL, so you will see a limited, 2D-only experience.”

$ glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
299 frames in 5.0 seconds = 59.792 FPS
299 frames in 5.0 seconds = 59.792 FPS
299 frames in 5.0 seconds = 59.791 FPS
299 frames in 5.0 seconds = 59.795 FPS
$ inxi -Gxx
Graphics:  Card-1: Intel 4 Series Integrated Graphics driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:2e32
           Display: server: X.Org 1.18.3 driver: modesetting unloaded: fbdev,vesa alternate: intel
           resolution: 1920x1200~60Hz
           OpenGL: renderer: Mesa DRI Intel G41 v: 2.1 Mesa 17.0.5 direct render: Yes
$ grep 'model name' /proc/cpuinfo
model name      : Intel(R) Core(TM)2 Duo CPU     E7600  @ 3.06GHz
model name      : Intel(R) Core(TM)2 Duo CPU     E7600  @ 3.06GHz
# zypper in xf86-video-intel
$ glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
302 frames in 5.0 seconds = 60.297 FPS
299 frames in 5.0 seconds = 59.796 FPS
299 frames in 5.0 seconds = 59.796 FPS
299 frames in 5.0 seconds = 59.794 FPS
299 frames in 5.0 seconds = 59.791 FPS
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
      after 4667 requests (4667 known processed) with 0 events remaining.
$ inxi -Gxx
Graphics:  Card-1: Intel 4 Series Integrated Graphics driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:2e32
           Display: server: X.Org 1.18.3 driver: intel unloaded: fbdev,modesetting,vesa
           resolution: 1920x1200~60Hz
           OpenGL: renderer: Mesa DRI Intel G41 v: 2.1 Mesa 17.0.5 direct render: Yes

After installing the Intel driver, I get no message, but the URL’s AU map paints very very slowly.

but I assume this is just the slow processor.
How slow is slow? Is this a 2.0GHz Core2Duo or Pentium Dual? There are lots of faster LGA775 CPUs available cheap that you could speed it up some with. Eagle Lake (4th gen) is when Intel was just getting the hang of how to start approaching performance of dedicated GPUs. SNA (Sandy Bridge) is 6th gen.

Using 42.3, a 7th gen (Haswell) and FF ESR 52.9, the graphic painting at that URL doesn’t seem all that much faster.

$ inxi -Gxx
Graphics:  Card-1: Intel 4 Series Integrated Graphics driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:2e32
           Display: server: X.Org 1.18.3 driver: intel unloaded: fbdev,modesetting,vesa
           resolution: 1920x1200~60Hz
           OpenGL: renderer: Mesa DRI Intel G41 v: 2.1 Mesa 17.0.5 direct render: Yes
$ grep 'model name' /proc/cpuinfo
model name      : Intel(R) Core(TM) i3-4150T CPU @ 3.00GHz
model name      : Intel(R) Core(TM) i3-4150T CPU @ 3.00GHz
model name      : Intel(R) Core(TM) i3-4150T CPU @ 3.00GHz
model name      : Intel(R) Core(TM) i3-4150T CPU @ 3.00GHz

I don’t try for 3D on any of my hardware. A PC screen only has two dimensions, height and width, so I don’t burden myself or hardware trying to fake it. :stuck_out_tongue: I use the modesetting driver in all cases where it works, except for testing, or when forgetting to remove it after a test. :slight_smile: