site  contact  subhomenews

Firefox fixed with patch for libdrm

November 05, 2021 — BarryK

For EasyOS 3.x there is a firefox SFS, which runs real nice. Running the latest Easy 3.1.7 (not released) with pulseaudio, starting firefox from a terminal:

# firefox
firefox: no process found
ln: failed to create symbolic link '/run/pulse/pulse': Permission denied
libGL error: MESA-LOADER: failed to retrieve device information
libGL error: Version 4 or later of flush extension not found
libGL error: failed to load driver: i915
libGL error: MESA-LOADER: failed to retrieve device information

That "firefox: no process found" is output by the script /usr/bin/firefox, that kills any prior running firefox -- which there isn't, hence the message. No problem, I should suppress that message.

The next line, about symbolic link failing, is a non-fatal warning message: the middle folder /run/pulse/pulse is owned by root with permissions 0700. Any non-root process is unable to access anything under that folder. I think that I know where that is being attempted, will fix it.

This build of EasyOS is using pulseaudio. Although there is only the one instance of the daemon, running as root, it is still usable by non-root users (if they belong to 'audio' group), via the socket /tmp/pulse-socket, as I posted about over the last few posts:

Now, onto those libGL errors. I was getting another error, until added 'firefox' to the 'video' group. But still getting what you see above. Discovered the cause after a bit of research:

...discussion refers to this patch:

And, it just so happens that EasyOS has libdrm version 2.4.101!

So, I have applied the patch and recompiled libdrm in OpenEmbedded.

I am liking firefox more than chrome. Seamonkey is failing on so many sites, it is becoming unusable. Very tempted to do the next release of EasyOS with firefox instead of seamonkey.

Regarding the firefox sandbox, it is pleasing that firefox works in a container and not require the sandbox to be disabled, as it is for chrome. The sandbox in firefox can be configured to different levels of security: go to "about:config" and find "security.sandbox.content.level" -- it defaults to level-4. If you change it to less secure, level-2, those libGL errors go away. However, with the libdrm patch should be ok at level-4.     

Tags: easy