Driver does not support the 0x4626 PCI ID.

I have a problem with the correct launch of the application. When I run snap I get an error

you really have to be a bit more specific, what application, what did you do to trigger the error, can you attach some logs etc etc …

Sorry for the lack of details. I accidentally posted a message without finishing it and I was blocked ((

I have a react app with 3d elements. I am using build https://github.com/electron-react-boilerplate/electron-react-boilerplate I just added a 3d scene with 2 animated cubes and displayed fps statistics. When I run locally on the device, fps = 60. When I create a snap and run it (locally and through the snap store), fps = 10. And I get errors while running in the terminal.

19:57:12.257 › checkForUpdatesAndNotify called, downloadPromise is null
    Driver does not support the 0x4626 PCI ID.
    libGL error: failed to create dri screen
    libGL error: failed to load driver: iris
    Driver does not support the 0x4626 PCI ID.
    libGL error: failed to create dri screen
    libGL error: failed to load driver: iris
    [2169759:0201/195713.110895:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
    Driver does not support the 0x4626 PCI ID.
    [2169775:0201/195713.252434:ERROR:command_buffer_proxy_impl.cc(128)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.

I am getting this error on the device

Intel_R_ Client Systems NUC12WSHi5

12th Gen Intel® Core™ i5-1240P × 16

Mesa Intel® Graphics (ADL GT2)

Linux Ubuntu 22.04

Works well on device

Intel_R_ Client Systems NUC11PAHi7

11th Gen Intel® Core™ i7-1165G7 @ 2.80GHz × 8

Mesa Intel® Xe Graphics (TGL GT2)

Linux Ubuntu 22.04

could you post your snapcraft.yaml (or a link to it) too ?

I am not using the file snapcraft.yaml I have added script “package-snap” to package.json https://fex.net/ru/s/xnzrslt

"package-snap": "ts-node ./.erb/scripts/clean.js dist && yarn build && electron-builder build --publish never --linux snap",

"linux": {
      "target": [
        "deb",
        "rpm",
        "AppImage"
      ],
      "category": "Development"
    },
    "snap": {
      "summary": "app test",
      "confinement": "strict",
      "grade": "stable",
      "environment": {
        "DISABLE_WAYLAND": 1
      },
      "plugs": [
        "default",
        "camera"
      ],
      "publish": {
        "provider": "snapStore",
        "repo": "app-test-electron",
        "channels": "[edge]"
      }
    },

well, there is no opengl plug defined at all nor are you using the gnome extension (which would simply bring that plug along (together with fonts you might need, themes and other bits))

i sadly have no clue about that build system you are using over there, but it seems to me that it is very limited compared to simply using a snapcraft.yaml

this works with electron-builder

Why does it work on nuc10 and nuc11. Doesn’t work on nuc12. Maybe nuc12 has graphics drivers installed that snap does not support? This is my guess. What do you think about this? And thanks for the quick replies

While that might be true, snapd does not do anything with the drivers, they live in the kernel or respectively in the mesa libs (for the userspace side) … in a snapcraft.yaml based build i’d at least make sure that base: core22 is being used, to get the latest supported mesa libs from 22.04 included in your snap (it is not really clear what base is being used by default in your electron build system)

I managed to put “base”:“core22”

And now I’m getting other errors

hmm, interesting, that seems to indicate you are using the gnome extension (it tries to load the mesa libs from the “gnome-platform” snap), is the interface connected ?

you can check with:

snap connections <your snap name>

I found such information. Maybe this is related to my problem.

The solution proposed by Mahyar Mirrashed is working for me. On my system (Ubuntu 22.04) the libstdc++.so.6 file is located in /usr/lib/x86_64-linux-gnu/libstdc++.so.6 To know where to find this file I suggest to run the following command :

find / -name libstdc++.so.6 2>/dev/null

which resulted with files from miniconda, snap and /usr/lib/… I added the export LD_PRELOAD to my .bashrc file and it’s working fine.

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6

I have several such files

    /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    /usr/lib/i386-linux-gnu/libstdc++.so.6
    /snap/core20/1587/usr/lib/x86_64-linux-gnu/libstdc++.so.6
    /snap/core20/1778/usr/lib/x86_64-linux-gnu/libstdc++.so.6
    /snap/core18/2679/usr/lib/x86_64-linux-gnu/libstdc++.so.6
    /snap/core18/2667/usr/lib/x86_64-linux-gnu/libstdc++.so.6
    /snap/core22/484/usr/lib/x86_64-linux-gnu/libstdc++.so.6

uuuuh … this can not work … for whatever reason you are using the gnome-3-28-1804 extension with a base: core22 snap which can only work together with the gnome-42-2204 extension … something is clearly wrong with the build tool here setting the wrong extensions: value …

I tested this build on another device (nuc10). Works without errors

Are you sure your snap on there uses base : core22 ?

During installation, I see the text “Download core22”

How can I check it?

grep base: /snap/<your snap name>/current/meta/snap.yaml

the gnome extension can also be identified in that file at the bottom in the plugs: section …

I want to try to build an electron project using a file snapcraft.yaml But I don’t know how to create this file correctly. Maybe I can get a ready-made file snapcraft.yaml for an electron project somewhere?