Open Bug 1856951 Opened 1 year ago Updated 11 months ago

Wayland Firefox - fixing 'More than 1 GPU from same vendor, cannot deduce device'

Categories

(Core :: Widget: Gtk, defect)

Firefox 115
Unspecified
Linux
defect

Tracking

()

UNCONFIRMED

People

(Reporter: willrabbermann, Unassigned, NeedInfo)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0

Steps to reproduce:

Start firefox in a wayland compositor (KDE Plasma, kwin_wayland)

Actual results:

"
will@gentoo ~ λ firefox
will@gentoo ~ λ Crash Annotation GraphicsCriticalError: |[0][GFX1-]: More than 1 GPU from same vendor detected via PCI, cannot deduce device
(t=0.263901) [GFX1-]: More than 1 GPU from same vendor detected via PCI, cannot deduce device

[Parent 10703, Main Thread] ###!!! ABORT: Divide by zero: file /var/tmp/portage/www-client/firefox-115.3.1/work/firefox-115.3.1/toolkit/xre/nsSigHandlers.cpp:181
"

Expected results:

Instead of this behavior, firefox should first find each VGA sys bus device ID, (in my case 0000:08:00.0 (nvidia 1660 ti) and 0000:01:00.0 (nvidia 3060 xc) and check in /sys/bus/pci/devices/0000:$ID/ for a file called boot_vga. If boot_vga exists and contains '1', that VGA ID target can be considered the primary display output device. I am using two GPU's in this case for a virtual machine and host display. the 3060 xc has a vfio_pci driver manually overriden during the initramfs setup so I can pass it in to a VM and isn't initialized by the nvidia drivers. The 1660 ti has the nvidia driver initialized as it is my host display device.

Here is some additional system info using a motd utility I wrote that queries some /sys/bus/pci/devices/$ID/ info automatically.
`
will@gentoo ~ λ motd

GNU/Linux 6.1.53-gentoo-r1

x86_64 Intel(R) Core(TM) i5-8600K CPU @ 3.60GHz +51.0°C

Memory: 16582 MB
Swap: 16000 MB

NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] (rev a1)
Driver in use: vfio-pci
Current link speed: 2.5 GT/s PCIe

NVIDIA Corporation TU116 [GeForce GTX 1660 Ti] (rev a1)
Driver in use: nvidia
Current link speed: 2.5 GT/s PCIe
(Primary)
`

As far as I can tell this problem only occurs in Wayland firefox. Xorg firefox allows me to use two GPU's no problem.

Component: Untriaged → Widget: Gtk
Product: Firefox → Core
Blocks: glxtest
OS: Unspecified → Linux

Can you run Firefox with MOZ_GFX_DEBUG=1 env variable and attach the log here?
Thanks.

Flags: needinfo?(willrabbermann)

Also do I understand correctly that Firefox crashes and doesn't start in Wayland mode?

Yes.

$ MOZ_GFX_DEBUG=1 firefox
GLX_TEST: childgltest start
GLX_TEST: get_pci_status start
GLX_TEST: get_pci_status finished
GLX_TEST: wayland_egltest start
GLX_TEST: get_egl_status start
GLX_TEST: get_egl_gl_status start
GLX_TEST: get_egl_gl_status finished
GLX_TEST: get_egl_status finished with return: 1
GLX_TEST: wayland_egltest finished
PCI_VENDOR_ID
0x10de
PCI_DEVICE_ID
0x2504
PCI_VENDOR_ID
0x10de
PCI_DEVICE_ID
0x2182
VENDOR
NVIDIA Corporation
RENDERER
NVIDIA GeForce GTX 1660 Ti/PCIe/SSE2
VERSION
4.6.0 NVIDIA 535.104.05
TFP
TRUE
DRM_RENDERDEVICE
/dev/dri/renderD128
MESA_VENDOR_ID
0x10de
MESA_DEVICE_ID
0x2182
TEST_TYPE
EGL
GLX_TEST: childgltest finished
GLX_TEST: childgltest start
GLX_TEST: get_pci_status start
GLX_TEST: get_pci_status finished
GLX_TEST: wayland_egltest start
GLX_TEST: get_egl_status start
GLX_TEST: get_egl_gl_status start
GLX_TEST: get_egl_gl_status finished
GLX_TEST: get_egl_status finished with return: 1
GLX_TEST: wayland_egltest finished
PCI_VENDOR_ID
0x10de
PCI_DEVICE_ID
0x2504
PCI_VENDOR_ID
0x10de
PCI_DEVICE_ID
0x2182
VENDOR
NVIDIA Corporation
RENDERER
NVIDIA GeForce GTX 1660 Ti/PCIe/SSE2
VERSION
4.6.0 NVIDIA 535.104.05
TFP
TRUE
DRM_RENDERDEVICE
/dev/dri/renderD128
MESA_VENDOR_ID
0x10de
MESA_DEVICE_ID
0x2182
TEST_TYPE
EGL
GLX_TEST: childgltest finished
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: More than 1 GPU from same vendor detected via PCI, cannot deduce device
(t=0.249396) [GFX1-]: More than 1 GPU from same vendor detected via PCI, cannot deduce device

[Parent 8272, Main Thread] ###!!! ABORT: Divide by zero: file /var/tmp/portage/www-client/firefox-115.3.1/work/firefox-115.3.1/toolkit/xre/nsSigHandlers.cpp:181

Flags: needinfo?(willrabbermann)
Flags: needinfo?(willrabbermann)
Attached file Firefox crash strace

I ran strace firefox &> firefox_strace
If this isn't ok, let me know ill give you a different trace.

Flags: needinfo?(willrabbermann)

Thanks but I'd need stack trace from crash. strace prints kernel calls but doen't provide info about crash. See
https://fedoraproject.org/wiki/Debugging_guidelines_for_Mozilla_products#Using_coredumpctl_to_get_backtrace
Thanks.

Flags: needinfo?(willrabbermann)
Flags: needinfo?(stransky)
Flags: needinfo?(stransky)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: