我可以在 ubuntu-core-22 上使用 Nvidia GPU 并使用 ubuntu-frame 进行显示吗?

我可以在 ubuntu-core-22 上使用 Nvidia GPU 并使用 ubuntu-frame 进行显示吗?

我有一台配备 Nvidia GT 1030 显卡的电脑,我正尝试使用 ubuntu-frame 显示一个简单的网站。最初,提示显示没有任何问题。但是,当我尝试使用 ubuntu-frame 显示更复杂的东西时,我遇到了一个空白屏幕。

我安装了nvidia-core22ubuntu-frame(channel=22/stable),并使用 连接它们snap connect ubuntu-frame:graphics-core22 nvidia-core22:graphics-core22以利用 Nvidia 驱动程序ubuntu-frame

日志ubuntu-frame如下:

2023-06-27T12:43:46Z systemd[1]: Started Service for snap application ubuntu-frame.daemon.
2023-06-27T12:43:46Z ubuntu-frame.daemon[1841]: ++ snapctl get display
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: + '[' -z '' ']'
2023-06-27T12:43:46Z ubuntu-frame.daemon[1847]: + initialise-display-config
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: + disown
2023-06-27T12:43:46Z ubuntu-frame.daemon[1848]: + sh -c 'sleep 5; mkdir "/run/user/007"; rmdir "/run/user/007"'
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: + exec nohup /snap/ubuntu-frame/5776/bin/run-frame /snap/ubuntu-frame/5776/bin/graphics-core22-wrapper /snap/ubuntu-frame/5776/usr/local/bin/frame
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: + [ /snap/ubuntu-frame/5776/bin/graphics-core22-wrapper = --help ]
2023-06-27T12:43:46Z ubuntu-frame.daemon[1853]: + dirname /run/user/0/snap.ubuntu-frame
2023-06-27T12:43:46Z ubuntu-frame.daemon[1849]: Setting up watches.
2023-06-27T12:43:46Z ubuntu-frame.daemon[1849]: Watches established.
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: + XDG_RUNTIME_DIR=/run/user/0
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: + export XDG_RUNTIME_DIR
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: + mkdir -p /run/user/0 -m 700
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: + [ -n  ]
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: + exec /snap/ubuntu-frame/5776/bin/graphics-core22-wrapper /snap/ubuntu-frame/5776/usr/local/bin/frame
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.347553] <information> mirserver: Starting
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.347935] < - debug - > mirserver: Using Linux VT subsystem for session management
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.348063] <information> mircommon: Loading modules from: /snap/ubuntu-frame/5776/usr/lib/x86_64-linux-gnu/mir/server-platform
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.348116] <information> mircommon: Loading module: /snap/ubuntu-frame/5776/usr/lib/x86_64-linux-gnu/mir/server-platform/graphics-eglstream-kms.so.20
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.348133] <information> mircommon: Loading module: /snap/ubuntu-frame/5776/usr/lib/x86_64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.20
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.348146] <information> mircommon: Loading module: /snap/ubuntu-frame/5776/usr/lib/x86_64-linux-gnu/mir/server-platform/server-x11.so.20
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.348158] <information> mircommon: Loading module: /snap/ubuntu-frame/5776/usr/lib/x86_64-linux-gnu/mir/server-platform/input-evdev.so.8
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.349104] <information> mirserver: Found display driver: mir:eglstream-kms (version 2.13.0)
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.358932] < - debug - > eglstream: Found EGLDeviceEXT with device extensions: EGL_MESA_device_software EGL_EXT_device_drm_render_node
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.359002] <information> eglstream: Failed to query DRM node for EGLDevice: Failed to determine DRM device node path from EGLDevice: EGL_BAD_PARAMETER (0x300c)
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.359015] < - debug - > eglstream: EGLDeviceEXTs found, but none are suitable for Mir
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.359033] <information> mirserver: (Unsupported by system environment)
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.359044] <information> mirserver: Found display driver: mir:gbm-kms (version 2.13.0)
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.359170] <information> gbm-kms: Unsupported: No DRM devices detected
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.359183] <information> mirserver: (Unsupported by system environment)
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.359194] <information> mirserver: Found display driver: mir:x11 (version 2.13.0)
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: [2023-06-27 12:43:46.359223] <information> mirserver: (Unsupported by system environment)
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: ERROR: ./src/server/graphics/default_configuration.cpp(233): Throw in function virtual const std::vector<std::shared_ptr<mir::graphics::DisplayPlatform> >& mir::DefaultServerConfiguration::the_display_platforms()
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: Dynamic exception type: boost::wrapexcept<std::runtime_error>
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: std::exception::what: Exception while creating graphics platform
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: ERROR: ./src/server/graphics/platform_probe.cpp(190): Throw in function std::vector<std::pair<mir::graphics::SupportedDevice, std::shared_ptr<mir::SharedLibrary> > > {anonymous}::modules_for_device({anonymous}::ModuleType, const std::vector<std::shared_ptr<mir::SharedLibrary> >&, const mir::options::ProgramOption&, const std::shared_ptr<mir::ConsoleServices>&)
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: Dynamic exception type: boost::wrapexcept<std::runtime_error>
2023-06-27T12:43:46Z ubuntu-frame.daemon[1817]: std::exception::what: Failed to find any platforms for current system
2023-06-27T12:43:46Z systemd[1]: snap.ubuntu-frame.daemon.service: Main process exited, code=exited, status=1/FAILURE
2023-06-27T12:43:46Z systemd[1]: snap.ubuntu-frame.daemon.service: Failed with result 'exit-code'.

据我所知,GMB 不能与 Nvidia 卡一起使用,但 EGL 可以。

有人有同样的问题吗?你知道如何解决这个问题吗?

谢谢

答案1

我知道nvidia-core22并且ubuntu-frame可以在经典的 Ubuntu(服务器或桌面)上运行,但您需要一个支持 Nvidia 的内核快照才能在 Ubuntu Core 上运行。

此外,您还需要pc-kernelnvidia-assemblesnap 来组装和加载 nvidia kernelspace 驱动程序。(感谢Xnox 对此进行了澄清

这很不方便,但反映了 Nvidia Linux 支持打包方式的局限性

相关内容