I run Firefox on a retro Linux system that is currently running a personal "Frankenbuntu". Basically, Kubuntu 14.04 LTS with lots of components updated either "in-tree" o… (baca lebih lanjut)
I run Firefox on a retro Linux system that is currently running a personal "Frankenbuntu". Basically, Kubuntu 14.04 LTS with lots of components updated either "in-tree" or via a pkgsrc-like collection of "ports" installed under /opt/local that includes GTk3, Mesa, VAAPI plugins etc. I use that tree with a combination of built-in rpath settings (for apps installed under /opt/local) and wrapper scripts setting LD_LIBRARY_PATH, so as to maintain the possibility to run system apps independently, in particular while booting.
(Sounds complicated, but it's also a rewarding fun project for me, allowing me to keep using an old and familiar DE with modern features on 2017 hardware,)
I have never yet dared to update my glibc from the stock 2.19, so with every Firefox update I fear to run into problems with that. I do have a 2.27 build but that is installed in another parallel prefix (/opt/glibc/2) because one cannot simply use LD_LIBRARY_PATH to use a newer glibc (I think because the ELF interpreter, ld-linux.so, has to match).
I already use patchelf with success to change the ELF interpreter to the 2.27 one, for instance with Ferdium, a Node/Electron application. This works and as far as I can tell, it will load all Mesa and DRI components from my /opt/local tree so hw-accelerated video works as it should.
But when I try this with Firefox, I get what appears to be a sandboxing issue when attempts are made to load Mesa DRI libraries:
```
libva info: VA-API version 1.24.0
libva info: Trying to open /opt/local/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_23
[GFX1-]: VideoBridgeParent receives IPC close with reason=AbnormalShutdown
MESA-LOADER: failed to open iris: libsensors.so.4: cannot open shared object file: Permission denied (search paths /opt/local/lib/dri, suffix _dri)
failed to load driver: iris
MESA-LOADER: failed to open kms_swrast: libsensors.so.4: cannot open shared object file: Permission denied (search paths /opt/local/lib/dri, suffix _dri)
failed to load driver: kms_swrast
MESA-LOADER: failed to open swrast: libsensors.so.4: cannot open shared object file: Permission denied (search paths /opt/local/lib/dri, suffix _dri)
failed to load swrast driver
libva info: VA-API version 1.24.0
libva info: Trying to open /opt/local/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_23
[GFX1-]: VideoBridgeParent receives IPC close with reason=AbnormalShutdown
```
Copying libsensors into /opt/local/lib turns the above error into the same one about the next library available in the system (/lib/x86_64-linux-gnu/libtinfo.so.5).
The DRI module I actually need (iHD) does load but I still get the GFX abnormal shutdown error. I've tried the interpreter change in other applications using libva and don't see the issue.
I do see this in the syslog:
```
Aug 31 15:18:47 Bmbl kernel: [2043645.959690] MediaSu~isor #1[17692]: segfault at 290 ip 00007f2b0815b284 sp 00007f2ad913e990 e
rror 4 in ld-2.29.so[7f2b0814f000+21000]
Aug 31 15:18:47 Bmbl kernel: [2043645.959702] Code: 04 49 83 fc 06 44 0f 44 c8 81 e6 ff 7f 00 00 45 89 8f 08 04 00 00 48 8d 04
76 4d 89 b7 00 04 00 00 4c 8d 04 c7 4d 85 c0 74 0f <41> 8b 48 08 b8 00 00 00 00 85 c9 4c 0f 44 c0 41 8b 3e 6a 00 48 8d
Aug 31 15:18:47 Bmbl kernel: [2043646.080407] MediaSu~isor #1[17732]: segfault at 290 ip 00007f2b0815b284 sp 00007f2ad913e990 e
rror 4 in ld-2.29.so[7f2b0814f000+21000]
```
Any idea why this is, and what can be done to prevent this, beyond actually updating my system glibc? I'd have no problems disabling sandboxing.