elFarto / nvidia-vaapi-driver

A VA-API implemention using NVIDIA's NVDEC
Other
1.17k stars 53 forks source link

Works great in firefox, fails in beta and nightly #214

Closed pallaswept closed 8 months ago

pallaswept commented 1 year ago

Hi there elFarto, first off thanks for sharing this with us, it's nice to have working hardware acceleration in the browser. I thought that I should share this with you in case something is changing in future versions, so you could be ahead of the curve, but perhaps I'm just doing it wrong.

I've been enjoying this in the current release version of Firefox (113) but had some totally unrelated problems with my browser (missing scroll buttons in the all tabs list, seriously unrelated), and since I used to use ff nightly, I thought maybe I'd see if those problems were fixed in that version, so I installed it and noticed that this driver wasn't functioning. I checked by running nvidia-smi and looking for the 'C' and sure enough, not there. I thought maybe something had changed in nightly so I gave beta a shot and it's not behaving there, either. I'm using the same FF profile in each case, with the necessary environment variables in my /usr/etc/environment file and necessary Firefox settings in a user.js file, so I'm sure my settings are correct. I've been through the issues to see if anything similar has been reported and didn't see anything of the sort other than #182, but I already have the setting applied from that issue, as per your readme.

One thing which immediately struck me was that when running nvidia-smi, in the working release version, I see two entries for firefox, one of which has the 'C+G' marking, and obviously is a separate process for decoding the video. When running either nightly or beta versions, I only see a single entry for firefox in that list, with the 'G' but no 'C'. It's as though firefox isn't even trying to use the decoder at all.

I ran nightly with NVD_LOG=1 as you had requested in other threads, perhaps this information will be of some use:


> NVD_LOG=1 firefox-nightly 
[GFX1-]: Wayland protocol error: warning: queue 7efee45042b0 destroyed while proxies still attached:

[GFX1-]: Wayland protocol error:   wl_registry@47 still attached

[fluent] Missing message in locale en-GB: identity-credential-policy-description
[fluent] Missing message in locale en-GB: identity-credential-urlbar-anchor
[fluent] Missing message in locale en-GB: identity-credential-urlbar-anchor
[fluent] Missing message in locale en-GB: identity-credential-urlbar-anchor
[fluent] Missing message in locale en-GB: identity-credential-urlbar-anchor
[fluent] Missing message in locale en-GB: identity-credential-urlbar-anchor
Validation error without device target: No suitable adapter found
Validation error without device target: No suitable adapter found
Validation error without device target: No suitable adapter found
[GFX1-]: Wayland protocol error: warning: queue 7efee4504400 destroyed while proxies still attached:

[GFX1-]: Wayland protocol error:   zwp_linux_dmabuf_v1@53 still attached

> NVD_LOG=1 firefox --allow-downgrade 
warning: queue 0x56173816f4b0 destroyed while proxies still attached:
  wl_registry@16 still attached
kf.i18n: KLocalizedString: Using an empty domain, fix the code. msgid: "Mozilla Firefox" msgid_plural: "" msgctxt: ""
[Child 25133, Main Thread] WARNING: JSWindowActorChild::SendRawMessage (Conduits, ConduitClosed) not sent: !CanSend() || !mManager || !mManager->CanSend(): file /home/abuild/rpmbuild/BUILD/firefox-113.0.2/dom/ipc/jsactor/JSWindowActorChild.cpp:56  

Edit: The above warning is thrown some thousands of times, I have removed them for ease of reading.

[ERROR glean_core] Error setting metrics feature config: Json(Error("EOF while parsing a value", line: 1, column: 0))
libva info: VA-API version 1.18.0
libva info: User environment variable requested driver 'nvidia'
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
     11388.121957567 [27955-27961] ../src/vabackend.c:2165       __vaDriverInit_1_0 Initialising NVIDIA VA-API Driver: 31
     11388.121961437 [27955-27961] ../src/vabackend.c:2174       __vaDriverInit_1_0 Now have 0 (0 max) instances
     11388.121963757 [27955-27961] ../src/vabackend.c:2200       __vaDriverInit_1_0 Selecting Direct backend
     11388.124647378 [27955-27961] ../src/direct/nv-driver.c: 217            init_nvdriver Initing nvdriver...
     11388.124653078 [27955-27961] ../src/direct/nv-driver.c: 222            init_nvdriver Got dev info: 700 1 2 6
     11388.124708518 [27955-27961] ../src/direct/nv-driver.c: 283            init_nvdriver NVIDIA kernel driver version: 525.116.04
libva info: va_openDriver() returns 0
     11388.167472922 [27955-27961] ../src/vabackend.c:1408      nvQueryImageFormats In nvQueryImageFormats
     11388.181213578 [27955-27961] ../src/vabackend.c: 647           nvCreateConfig got profile: 6 with 0 attributes
     11388.181223558 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 4 (8) (nil) 0
     11388.181226958 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 4 (8) 0x7fd1beb77100 8
     11388.181950636 [27955-27961] ../src/vabackend.c:1835 nvQuerySurfaceAttributes Returning constraints: width: 48 - 4096, height: 16 - 4096
     11388.181958516 [27955-27961] ../src/vabackend.c: 647           nvCreateConfig got profile: 7 with 0 attributes
     11388.181962386 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 4 (8) (nil) 0
     11388.181964976 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 4 (8) 0x7fd1beb77100 8
     11388.182686334 [27955-27961] ../src/vabackend.c:1835 nvQuerySurfaceAttributes Returning constraints: width: 48 - 4096, height: 16 - 4096
     11388.182693314 [27955-27961] ../src/vabackend.c: 647           nvCreateConfig got profile: 13 with 0 attributes
     11388.182697044 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 4 (8) (nil) 0
     11388.182699514 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 4 (8) 0x7fd1beb771c0 8
     11388.183427113 [27955-27961] ../src/vabackend.c:1835 nvQuerySurfaceAttributes Returning constraints: width: 48 - 4096, height: 16 - 4096
     11388.183433943 [27955-27961] ../src/vabackend.c: 647           nvCreateConfig got profile: 14 with 0 attributes
     11388.183437163 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 9 (8) (nil) 0
     11388.183439703 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 9 (8) 0x7fd1beb77100 8
     11388.184287162 [27955-27961] ../src/vabackend.c:1835 nvQuerySurfaceAttributes Returning constraints: width: 48 - 4096, height: 16 - 4096
     11388.184294312 [27955-27961] ../src/vabackend.c: 647           nvCreateConfig got profile: 19 with 0 attributes
     11388.184297583 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) (nil) 0
     11388.184300153 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) 0x7fd1beb77280 8
     11388.185027721 [27955-27961] ../src/vabackend.c:1835 nvQuerySurfaceAttributes Returning constraints: width: 128 - 8192, height: 128 - 8192
     11388.185034921 [27955-27961] ../src/vabackend.c: 647           nvCreateConfig got profile: 32 with 0 attributes
     11388.185038151 [27955-27961] ../src/vabackend.c: 710           nvCreateConfig Unable to determine surface type for VP9/AV1 codec due to no RTFormat specified.
     11388.185042531 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 11 (8) (nil) 0
     11388.185045081 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 11 (8) 0x7fd1beb77100 8
     11388.185901341 [27955-27961] ../src/vabackend.c:1835 nvQuerySurfaceAttributes Returning constraints: width: 128 - 8192, height: 128 - 8192
     11388.185908381 [27955-27961] ../src/vabackend.c: 647           nvCreateConfig got profile: 21 with 0 attributes
     11388.185912131 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (10) (nil) 0
     11388.185914771 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (10) 0x7fd1beb77280 8
     11388.186715750 [27955-27961] ../src/vabackend.c:1835 nvQuerySurfaceAttributes Returning constraints: width: 128 - 8192, height: 128 - 8192
     11388.203377188 [27955-27961] ../src/vabackend.c: 647           nvCreateConfig got profile: 19 with 0 attributes
     11388.203385758 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) (nil) 0
     11388.203388578 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) 0x7fd1beb77100 8
     11388.204312659 [27955-27961] ../src/vabackend.c:1835 nvQuerySurfaceAttributes Returning constraints: width: 128 - 8192, height: 128 - 8192
     11388.204320759 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) (nil) 32721
     11388.204323589 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) 0x7fd1beb77700 8
     11388.205242949 [27955-27961] ../src/vabackend.c:1835 nvQuerySurfaceAttributes Returning constraints: width: 128 - 8192, height: 128 - 8192
     11388.205254410 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb63ac0)
     11388.205258420 [27955-27961] ../src/vabackend.c:1502            nvDeriveImage In nvDeriveImage
     11388.205262470 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb64240)
     11388.205266060 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb642e0)
     11388.205269570 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb63020)
     11388.205272910 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb633e0)
     11388.205278800 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb64600)
     11388.205282660 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb644c0)
     11388.205286080 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb64560)
     11388.205289300 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb64420)
     11388.205292840 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb64e20)
     11388.205296050 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb646a0)
     11388.205299380 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb647e0)
     11388.205302920 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb64ce0)
     11388.205306100 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb64740)
     11388.205312330 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb64880)
     11388.205315270 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb64b00)
     11388.205318880 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb64920)
     11388.205322220 [27955-27961] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1beb649c0)
     11388.221363432 [27955-27961] ../src/vabackend.c: 647           nvCreateConfig got profile: 19 with 0 attributes
     11388.221371702 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) (nil) 0
     11388.221375042 [27955-27961] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) 0x7fd1beb77700 8
     11388.222255842 [27955-27961] ../src/vabackend.c:1835 nvQuerySurfaceAttributes Returning constraints: width: 128 - 8192, height: 128 - 8192
     11388.222264712 [27955-27961] ../src/vabackend.c: 994          nvCreateContext with 18 render targets, 18 surfaces, at 2571x1124
     11388.234748843 [27955-27970] ../src/vabackend.c: 385          resolveSurfaces [RT] Resolve thread for 0x7fd1be752000 started
     11388.235513122 [27955-27961] ../src/vabackend.c:1310             nvEndPicture Decoded frame successfully to idx: 0 (0x7fd1beb649c0)
     11388.235525002 [27955-27970] ../src/vabackend.c: 398          resolveSurfaces Reading from queue: 0 1
     11388.235527442 [27955-27970] ../src/vabackend.c: 414          resolveSurfaces Mapping surface 0
     11388.235547172 [27955-27961] ../src/vabackend.c:2052    nvExportSurfaceHandle Exporting surface: 0 (0x7fd1beb649c0)
     11388.235551902 [27955-27961] ../src/direct/direct-export-buf.c: 198 direct_allocateBackingImage Allocating BackingImages: 0x7fd1be750120 2571x1124
     11388.235557082 [27955-27961] ../src/direct/nv-driver.c: 430              alloc_image Calculated GOB size: 64x128 (0x4)
     11388.235559852 [27955-27961] ../src/direct/nv-driver.c: 439              alloc_image Aligned image size: 2624x1152 = 3022848
     11388.235695974 [27955-27961] ../src/direct/nv-driver.c: 515              alloc_image created image: 2571x1124 300000000606014 2624 2e2000
     11388.235699864 [27955-27961] ../src/direct/nv-driver.c: 430              alloc_image Calculated GOB size: 64x128 (0x4)
     11388.235701034 [27955-27961] ../src/direct/nv-driver.c: 439              alloc_image Aligned image size: 2624x640 = 1679360
     11388.235759225 [27955-27961] ../src/direct/nv-driver.c: 515              alloc_image created image: 1285x562 300000000606014 2624 19a000
     11388.235762235 [27955-27961] ../src/direct/direct-export-buf.c: 204 direct_allocateBackingImage Importing images
     11388.235763415 [27955-27961] ../src/direct/direct-export-buf.c: 118           import_to_cuda importing memory size: 2571x1124 = 2e2000
     11388.235894836 [27955-27961] ../src/direct/direct-export-buf.c: 118           import_to_cuda importing memory size: 1285x562 = 19a000
     11388.236051758 [27955-27961] ../src/vabackend.c:2065    nvExportSurfaceHandle Exporting with 2571 1124 0 2624 300000000606014 0 2624 300000000606014
     11388.236056578 [27955-27961] ../src/vabackend.c:1349            nvSyncSurface Surface 0 not resolved, waiting
     11388.237350923 [27955-27970] ../src/vabackend.c: 418          resolveSurfaces Mapped surface 0 to 205600000 (3072)
     11388.237376243 [27955-27970] ../src/vabackend.c: 422          resolveSurfaces Surface 0 exported
src/gbm_drv_common.c:56: GBM-DRV error (get_bytes_per_component): Unknown or not supported format: 538982482

src/gbm_drv_common.c:56: GBM-DRV error (get_bytes_per_component): Unknown or not supported format: 538982482

     11388.268617876 [27955-27968] ../src/vabackend.c:1083         nvDestroyContext Destroying context: 28
     11388.268626357 [27955-27968] ../src/vabackend.c: 294           destroyContext Signaling resolve thread to exit
     11388.268629827 [27955-27968] ../src/vabackend.c: 300           destroyContext Waiting for resolve thread to exit
     11388.268636017 [27955-27970] ../src/vabackend.c: 427          resolveSurfaces [RT] Resolve thread for 0x7fd1be752000 exiting
     11388.268686447 [27955-27968] ../src/vabackend.c: 302           destroyContext pthread_timedjoin_np finished with 0
     11388.278071143 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface 0 (0x7fd1beb649c0)
     11388.278077723 [27955-27968] ../src/direct/direct-export-buf.c: 243      destroyBackingImage Destroying BackingImage: 0x7fd1be750120
     11388.278153474 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb64920)
     11388.278156574 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb64b00)
     11388.278157864 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb64880)
     11388.278159494 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb64740)
     11388.278161114 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb64ce0)
     11388.278162664 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb647e0)
     11388.278164154 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb646a0)
     11388.278165984 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb64e20)
     11388.278167654 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb64420)
     11388.278169074 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb64560)
     11388.278171504 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb644c0)
     11388.278173335 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb64600)
     11388.278174895 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb633e0)
     11388.278176585 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb63020)
     11388.278178615 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb642e0)
     11388.278179815 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb64240)
     11388.278181135 [27955-27968] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1beb63ac0)
     11388.278183975 [27955-27968] ../src/vabackend.c:2075              nvTerminate Terminating 0x7fd1ed6265c0
     11388.278237275 [27955-27968] ../src/vabackend.c:2089              nvTerminate Now have 0 (0 max) instances
libva info: VA-API version 1.18.0
libva info: User environment variable requested driver 'nvidia'
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
     11388.706610111 [27955-27981] ../src/vabackend.c:2165       __vaDriverInit_1_0 Initialising NVIDIA VA-API Driver: 31
     11388.706612871 [27955-27981] ../src/vabackend.c:2174       __vaDriverInit_1_0 Now have 0 (0 max) instances
     11388.706615171 [27955-27981] ../src/vabackend.c:2200       __vaDriverInit_1_0 Selecting Direct backend
     11388.706628042 [27955-27981] ../src/direct/nv-driver.c: 217            init_nvdriver Initing nvdriver...
     11388.706630602 [27955-27981] ../src/direct/nv-driver.c: 222            init_nvdriver Got dev info: 700 1 2 6
     11388.706693372 [27955-27981] ../src/direct/nv-driver.c: 283            init_nvdriver NVIDIA kernel driver version: 525.116.04
libva info: va_openDriver() returns 0
     11388.745788045 [27955-27981] ../src/vabackend.c:1408      nvQueryImageFormats In nvQueryImageFormats
     11388.759758633 [27955-27981] ../src/vabackend.c: 647           nvCreateConfig got profile: 19 with 0 attributes
     11388.759766813 [27955-27981] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) (nil) 0
     11388.759769073 [27955-27981] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) 0x7fd1beba2d00 8
     11388.760655763 [27955-27981] ../src/vabackend.c:1835 nvQuerySurfaceAttributes Returning constraints: width: 128 - 8192, height: 128 - 8192
     11388.760661823 [27955-27981] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) (nil) 32721
     11388.760663743 [27955-27981] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) 0x7fd1beba21c0 8
     11388.761405821 [27955-27981] ../src/vabackend.c:1835 nvQuerySurfaceAttributes Returning constraints: width: 128 - 8192, height: 128 - 8192
     11388.761415511 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb3600)
     11388.761418581 [27955-27981] ../src/vabackend.c:1502            nvDeriveImage In nvDeriveImage
     11388.761421801 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb36a0)
     11388.761423871 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb3ba0)
     11388.761427601 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb3740)
     11388.761429762 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb3f60)
     11388.761431812 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb3c40)
     11388.761434652 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb37e0)
     11388.761436932 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb3920)
     11388.761439302 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb3ce0)
     11388.761441252 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb39c0)
     11388.761443482 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb3a60)
     11388.761445942 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb3b00)
     11388.761451332 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb3d80)
     11388.761453752 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb3e20)
     11388.761457562 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffb3ec0)
     11388.761460522 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffe63e0)
     11388.761463012 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffe7240)
     11388.761465062 [27955-27981] ../src/vabackend.c: 930        nvCreateSurfaces2 Creating surface 2571x1124, format 1 (0x7fd1bffe6200)
     11388.774448259 [27955-27981] ../src/vabackend.c: 647           nvCreateConfig got profile: 19 with 0 attributes
     11388.774453709 [27955-27981] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) (nil) 0
     11388.774455969 [27955-27981] ../src/vabackend.c:1762 nvQuerySurfaceAttributes with 10 (8) 0x7fd1beba2d00 8
     11388.775210927 [27955-27981] ../src/vabackend.c:1835 nvQuerySurfaceAttributes Returning constraints: width: 128 - 8192, height: 128 - 8192
     11388.775217537 [27955-27981] ../src/vabackend.c: 994          nvCreateContext with 18 render targets, 18 surfaces, at 2571x1124
     11388.787585547 [27955-27985] ../src/vabackend.c: 385          resolveSurfaces [RT] Resolve thread for 0x7fd1be8c0000 started
     11388.788406737 [27955-27981] ../src/vabackend.c:1310             nvEndPicture Decoded frame successfully to idx: 0 (0x7fd1bffe6200)
     11388.788416257 [27955-27985] ../src/vabackend.c: 398          resolveSurfaces Reading from queue: 0 1
     11388.788419127 [27955-27985] ../src/vabackend.c: 414          resolveSurfaces Mapping surface 0
     11388.788438707 [27955-27981] ../src/vabackend.c:2052    nvExportSurfaceHandle Exporting surface: 0 (0x7fd1bffe6200)
     11388.788441747 [27955-27981] ../src/direct/direct-export-buf.c: 198 direct_allocateBackingImage Allocating BackingImages: 0x7fd1be8be1f0 2571x1124
     11388.788444177 [27955-27981] ../src/direct/nv-driver.c: 430              alloc_image Calculated GOB size: 64x128 (0x4)
     11388.788445707 [27955-27981] ../src/direct/nv-driver.c: 439              alloc_image Aligned image size: 2624x1152 = 3022848
     11388.788563798 [27955-27981] ../src/direct/nv-driver.c: 515              alloc_image created image: 2571x1124 300000000606014 2624 2e2000
     11388.788567279 [27955-27981] ../src/direct/nv-driver.c: 430              alloc_image Calculated GOB size: 64x128 (0x4)
     11388.788568819 [27955-27981] ../src/direct/nv-driver.c: 439              alloc_image Aligned image size: 2624x640 = 1679360
     11388.788624769 [27955-27981] ../src/direct/nv-driver.c: 515              alloc_image created image: 1285x562 300000000606014 2624 19a000
     11388.788627599 [27955-27981] ../src/direct/direct-export-buf.c: 204 direct_allocateBackingImage Importing images
     11388.788629119 [27955-27981] ../src/direct/direct-export-buf.c: 118           import_to_cuda importing memory size: 2571x1124 = 2e2000
     11388.788760941 [27955-27981] ../src/direct/direct-export-buf.c: 118           import_to_cuda importing memory size: 1285x562 = 19a000
     11388.788911352 [27955-27981] ../src/vabackend.c:2065    nvExportSurfaceHandle Exporting with 2571 1124 0 2624 300000000606014 0 2624 300000000606014
     11388.788916052 [27955-27981] ../src/vabackend.c:1349            nvSyncSurface Surface 0 not resolved, waiting
     11388.790222057 [27955-27985] ../src/vabackend.c: 418          resolveSurfaces Mapped surface 0 to 205600000 (3072)
     11388.790242797 [27955-27985] ../src/vabackend.c: 422          resolveSurfaces Surface 0 exported
src/gbm_drv_common.c:56: GBM-DRV error (get_bytes_per_component): Unknown or not supported format: 538982482

src/gbm_drv_common.c:56: GBM-DRV error (get_bytes_per_component): Unknown or not supported format: 538982482

     11388.791409601 [27955-27984] ../src/vabackend.c:1083         nvDestroyContext Destroying context: 21
     11388.791416411 [27955-27984] ../src/vabackend.c: 294           destroyContext Signaling resolve thread to exit
     11388.791419821 [27955-27984] ../src/vabackend.c: 300           destroyContext Waiting for resolve thread to exit
     11388.791424691 [27955-27985] ../src/vabackend.c: 427          resolveSurfaces [RT] Resolve thread for 0x7fd1be8c0000 exiting
     11388.791448781 [27955-27984] ../src/vabackend.c: 302           destroyContext pthread_timedjoin_np finished with 0
     11388.800404252 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface 0 (0x7fd1bffe6200)
     11388.800409742 [27955-27984] ../src/direct/direct-export-buf.c: 243      destroyBackingImage Destroying BackingImage: 0x7fd1be8be1f0
     11388.800482093 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffe7240)
     11388.800485313 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffe63e0)
     11388.800486953 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb3ec0)
     11388.800488763 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb3e20)
     11388.800490443 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb3d80)
     11388.800492113 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb3b00)
     11388.800493583 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb3a60)
     11388.800496153 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb39c0)
     11388.800498083 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb3ce0)
     11388.800500194 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb3920)
     11388.800502094 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb37e0)
     11388.800504274 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb3c40)
     11388.800505624 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb3f60)
     11388.800507394 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb3740)
     11388.800509634 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb3ba0)
     11388.800511174 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb36a0)
     11388.800512824 [27955-27984] ../src/vabackend.c: 964        nvDestroySurfaces Destroying surface -1 (0x7fd1bffb3600)
     11388.800516044 [27955-27984] ../src/vabackend.c:2075              nvTerminate Terminating 0x7fd1ed6274c0
     11388.800562614 [27955-27984] ../src/vabackend.c:2089              nvTerminate Now have 0 (0 max) instances
[GFX1-]: Wayland protocol error: warning: queue 7fcb8b088880 destroyed while proxies still attached:

[GFX1-]: Wayland protocol error:   zwp_linux_dmabuf_v1@41 still attached

warning: queue 0x56173816f4b0 destroyed while proxies still attached:
  zwp_linux_dmabuf_v1@30 still attached

In the first instance, running firefox-nightly (116), I see only a single firefox process in nvidia-smi, and hardware decoding appears not to be working. In the following instance, I see two, and it appears to be working.

If thre's any information I can provide to help you out, please let me know. For now I'll continue using the release version of FF and enjoying the working hardware decode, so thank you :)

elFarto commented 1 year ago

It's probably worth raising this with Mozilla, as there's nothing I can do about the Wayland errors. The GBM errors look a bit more concerning, I'll need to look into those.

elFarto commented 1 year ago

I've just tested this on X, and everything seems fine, so it's probably a Wayland related issue.

elFarto commented 1 year ago

I've finally got around to retesting it under Wayland, and everything seems to work for me. Which Wayland compositor are you using?

pallaswept commented 1 year ago

I've finally got around to retesting it under Wayland, and everything seems to work for me. Which Wayland compositor are you using?

That's interesting. I'm using kwin. I have since had a version upgrade from 113 to 114 in vanilla FF, and it's working fine, so I'm starting to wonder if it's something to do with the patches that go into the distro (opensuse) build of FF that sort it out. I plan to try and build a FF version from the nightly tree but with those patches and see how it goes, but perhaps the compositor may be playing a role too. I'll be sure to let you know once I get that working (I'm struggling with problems with the package building toolchain at the moment so I'm a bit delayed)

pallaswept commented 1 year ago

Just an update, I've just been upgraded to 115 from the distro and that's the same version as the failing beta earlier - and it's working fine. This pretty much confirms that it's something to do with OpenSUSE's packaging of firefox built from source, compared to the pre-built beta/nightly builds from mozilla. They apply quite a few patches, notably one specifying libavcodec versions, so I guess one of those patches makes the difference.

It might be appropriate to close this issue, I'm not entirely sure so I'll leave it up to you for now. If I'm able to get a self-built nightly from Mozilla's nightly sources but with OpenSUSE's patches, and it works, I'll close this one myself.

pallaswept commented 8 months ago

Thanks @elFarto . I wasn't ignoring this, but I've been quite ill lately and as a result I'm taking way too long to get things done. I am sorry for my delay. FWIW, I was working on this just last night. I didn't mean any disrespect by taking so long, my apologies.

I really appreciate your kindly sharing your great work with us all. Thank you so much.