Re: Firefox glxtest libpci dependency
- In reply to: Evgeniy Khramtsov via freebsd-gecko : "Firefox glxtest libpci dependency"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 30 May 2021 15:56:19 UTC
Evgeniy Khramtsov writes:
> When starting Firefox in a terminal emulator, it complains about libpci
> missing for glxtest.
>
> According to the source, Firefox dlopens libpci.so.3:
> https://searchfox.org/mozilla-central/source/toolkit/xre/glxtest.cpp#250
>
> devel/libpci provides this library and installing it resolves the
> warning. Should this library be added as a runtime dependency for gecko?
>
> Note that this was tested on mozilla-central Firefox
> (hg tagname 9d30cff8f9d48403530819099b36b36f41acb845).
Upstream added libpci due to lack of GLX_EXT_query_renderer under Wayland
but it seems to help enabling WebRender by default under Xorg.
https://cgit.FreeBSD.org/ports/commit/?id=f079b462f891b1e5c2cec31ac1190c73c17b0054
$ env -u WAYLAND_DISPLAY firefox about:support
--- about:support default as of 89.0_1,2
+++ about:support after installing libpci
@@ -283,23 +283,20 @@
},
"graphics": {
"numTotalWindows": 1,
- "numAcceleratedWindows": 0,
- "windowLayerManagerType": "Basic",
+ "numAcceleratedWindows": 1,
+ "windowLayerManagerType": "WebRender",
"windowLayerManagerRemote": true,
"windowUsingAdvancedLayers": false,
- "numAcceleratedWindowsMessage": {
- "key": ""
- },
"adapterDescription": "Mesa Intel(R) HD Graphics 530 (SKL GT2)",
"adapterVendorID": "0x8086",
- "adapterDeviceID": "Mesa Intel(R) HD Graphics 530 (SKL GT2)",
+ "adapterDeviceID": "0x1912",
"adapterRAM": 0,
"adapterDrivers": "",
"driverVendor": "mesa/iris",
"driverVersion": "20.2.3.0",
"driverDate": "",
- "adapterVendorID2": "",
- "adapterDeviceID2": "",
+ "adapterVendorID2": "0x10de",
+ "adapterDeviceID2": "0x0fc1",
"isGPU2Active": false,
"usesTiling": false,
"contentUsesTiling": false,
@@ -332,71 +329,49 @@
"DisplayCount": 1,
"Display0": "3840x2160 default"
},
- "failures": [
- "[GFX1-]: glxtest: libpci missing"
- ],
- "indices": [
- 0
- ],
"featureLog": {
"features": [
{
"name": "HW_COMPOSITING",
"description": "Compositing",
- "status": "blocked",
+ "status": "available",
"log": [
{
"type": "default",
"status": "available"
- },
- {
- "type": "env",
- "status": "blocked",
- "message": "Acceleration blocked by platform"
}
]
},
{
"name": "OPENGL_COMPOSITING",
"description": "OpenGL Compositing",
- "status": "unavailable",
+ "status": "available",
"log": [
{
"type": "default",
- "status": "unavailable",
- "message": "Hardware compositing is disabled"
+ "status": "available"
}
]
},
{
"name": "WEBRENDER",
"description": "WebRender",
- "status": "disabled",
+ "status": "available",
"log": [
{
"type": "default",
"status": "available"
- },
- {
- "type": "env",
- "status": "disabled",
- "message": "Not qualified"
}
]
},
{
"name": "WEBRENDER_QUALIFIED",
"description": "WebRender qualified",
- "status": "denied",
+ "status": "available",
"log": [
{
"type": "default",
"status": "available"
- },
- {
- "type": "env",
- "status": "denied",
- "message": "Not on allowlist"
}
]
},
@@ -413,35 +388,36 @@
]
},
{
+ "name": "WEBRENDER_PARTIAL",
+ "description": "WebRender partial present",
+ "status": "available",
+ "log": [
+ {
+ "type": "default",
+ "status": "available"
+ }
+ ]
+ },
+ {
"name": "WEBRENDER_SHADER_CACHE",
"description": "WebRender shader disk cache",
- "status": "unavailable",
+ "status": "disabled",
"log": [
{
"type": "default",
"status": "disabled",
"message": "Disabled by default"
- },
- {
- "type": "runtime",
- "status": "unavailable",
- "message": "WebRender disabled"
}
]
},
{
"name": "WEBRENDER_OPTIMIZED_SHADERS",
"description": "WebRender optimized shaders",
- "status": "unavailable",
+ "status": "available",
"log": [
{
"type": "default",
"status": "available"
- },
- {
- "type": "runtime",
- "status": "unavailable",
- "message": "WebRender disabled"
}
]
},
@@ -518,7 +494,7 @@
{
"name": "WEBGPU",
"description": "WebGPU",
- "status": "unavailable-no-webrender",
+ "status": "blocked",
"log": [
{
"type": "default",
@@ -527,8 +503,8 @@
},
{
"type": "runtime",
- "status": "unavailable-no-webrender",
- "message": "WebGPU can't present without WebRender"
+ "status": "blocked",
+ "message": "WebGPU can only be enabled in nightly"
}
]
},