![我可以在 ubuntu-core-22 上使用 Nvidia GPU 并使用 ubuntu-frame 进行显示吗?](https://linux22.com/image/1073462/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%20ubuntu-core-22%20%E4%B8%8A%E4%BD%BF%E7%94%A8%20Nvidia%20GPU%20%E5%B9%B6%E4%BD%BF%E7%94%A8%20ubuntu-frame%20%E8%BF%9B%E8%A1%8C%E6%98%BE%E7%A4%BA%E5%90%97%EF%BC%9F.png)
我有一台配备 Nvidia GT 1030 显卡的电脑,我正尝试使用 ubuntu-frame 显示一个简单的网站。最初,提示显示没有任何问题。但是,当我尝试使用 ubuntu-frame 显示更复杂的东西时,我遇到了一个空白屏幕。
我安装了nvidia-core22
和ubuntu-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-kernel
和nvidia-assemble
snap 来组装和加载 nvidia kernelspace 驱动程序。(感谢Xnox 对此进行了澄清!
这很不方便,但反映了 Nvidia Linux 支持打包方式的局限性