Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1785251

Summary: Support nvidia drivers in fedora runtime
Product: [Fedora] Fedora Modules Reporter: Alexander Larsson <alexl>
Component: flatpak-runtimeAssignee: Owen Taylor <otaylor>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: klember, otaylor
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: flatpak-runtime-f35-3520211208094748.2 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-12-18 00:20:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Alexander Larsson 2019-12-19 13:57:47 UTC
I noticed that the fedora flatpak didn't pick up the nvidia driver extension.

I added this to the platform metadata (/var/lib/flatpak/runtime/org.fedoraproject.Platform/x86_64/f31/active/metadata):

[Extension org.freedesktop.Platform.GL]
version = 1.4
directory = lib/GL
subdirectories = true
no-autodownload = true
autodelete = false
add-ld-path = lib
merge-dirs = vulkan/icd.d;glvnd/egl_vendor.d;OpenCL/vendors
download-if = active-gl-driver
enable-if = active-gl-driver

And then created the /usr/lib/GL directory in the runtime:

  mkdir /var/lib/flatpak/runtime/org.fedoraproject.Platform/x86_64/f31/active/files/GL

And then i could run:

 flatpak run  org.mozilla.Firefox about:support

and it reported the webgl stuff as working with the nvidia driver.

Any reason we're not doing this by default?

Comment 1 Alexander Larsson 2019-12-19 14:45:47 UTC
Additionally we need to configure libglvnd to find the json files in the extension.
With the above example they will appear as:
  /usr/lib/GL/glvnd/egl_vendor.d/10_nvidia.json

It seems like the default libglvnd looks in /usr/share/glvnd/egl_vendor.d and /etc/glvnd/egl_vendor.d, and fedora choses the one in /usr for packaging its drivers, leaving the other for sysadmin overrides. Since there is no sysadmin overrides in flatpak we can use this by making the /etc/glvnd a symlink to /usr/lib/GL/glvnd which will then be filled in by the extension.

Comment 2 Alexander Larsson 2019-12-19 14:48:46 UTC
You also need something similar for vulkan and opencl:

[📦 org.mozilla.Firefox ~]$ ls /usr/lib/GL/OpenCL/vendors/ /usr/lib/GL/vulkan/icd.d/
/usr/lib/GL/OpenCL/vendors/:
nvidia.icd

/usr/lib/GL/vulkan/icd.d/:
nvidia_icd.json

Comment 4 Fedora Update System 2021-12-08 10:21:11 UTC
FEDORA-FLATPAK-2021-1142ccc92e has been submitted as an update to Fedora 35 Flatpaks. https://bodhi.fedoraproject.org/updates/FEDORA-FLATPAK-2021-1142ccc92e

Comment 5 Fedora Update System 2021-12-09 01:40:14 UTC
FEDORA-FLATPAK-2021-1142ccc92e has been pushed to the Fedora 35 Flatpaks testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-FLATPAK-2021-1142ccc92e

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2021-12-09 10:20:47 UTC
FEDORA-FLATPAK-2021-1142ccc92e has been submitted as an update to Fedora 35 Flatpaks. https://bodhi.fedoraproject.org/updates/FEDORA-FLATPAK-2021-1142ccc92e

Comment 7 Fedora Update System 2021-12-10 01:31:47 UTC
FEDORA-FLATPAK-2021-1142ccc92e has been pushed to the Fedora 35 Flatpaks testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-FLATPAK-2021-1142ccc92e

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2021-12-18 00:20:48 UTC
FEDORA-FLATPAK-2021-1142ccc92e has been pushed to the Fedora 35 Flatpaks stable repository.
If problem still persists, please make note of it in this bug report.