WSL 中的 /lib/modules 中没有显示内核模块

WSL 中的 /lib/modules 中没有显示内核模块

我在 Windows 11 下使用 WSL2 运行 Ubuntu 20.04.5,并尝试解决(并自我教育)与显示内核模块(我理解为设备驱动程序的 Linux 等效项)有关的问题。

我正在尝试从 Linux 终端在 Mplayer 和 VLC 上运行本地视频(一个.avi和一个.mp4)。两者都可以运行,但效果不佳,有很多断断续续的情况。

如果我从 Windows 运行相同的视频,它们运行完美。

我的显示驱动程序(从 Windows 11 来看)是Intel Iris Xe 版本 31.0.101.4091这是最新版本。

回复类似帖子询问Ubuntu问题是内核模块存储在 /lib/modules 中,但是当我查看该目录时,它是空的。

edablin@EdsSamsungLaptop:/lib/modules$ ls -alF  
total 16  
drwxr-xr-x   2 root root  4096 Apr 23  2020 ./  
drwxr-xr-x 146 root root 12288 Feb 19 08:45 ../  
edablin@EdsSamsungLaptop:/lib/modules$  
edablin@EdsSamsungLaptop:/lib/modules$ ls -R /lib/modules/$(uname -r)/kernel/  
ls: cannot access '/lib/modules/5.15.79.1-microsoft-standard-WSL2/kernel/': No such file or directory   

这是我的机器:

  • 处理器 第 11 代英特尔® 酷睿™ i7-1165G7 @ 2.80GHz 2.80 GHz

  • 已安装 RAM 16.0 GB(可用 15.7 GB)

  • 系统类型 64位操作系统,基于x64的处理器

  • 版本 Windows 11 家庭版

  • 版本 22H2

  • 安装于 ‎2023/02/14

  • 操作系统内部版本 22621.1265

以下是我试图理解的一些回应:

[VO_XV] It seems there is no Xvideo support for your video card available.  
[VO_XV] Run 'xvinfo' to verify its Xv support and read  
[VO_XV] DOCS/HTML/en/video.html#xv!  
[VO_XV] See 'mplayer -vo help' for other (non-xv) video out drivers.  
[VO_XV] Try -vo x11.  

       ************************************************  
       **** Your system is too SLOW to play this!  ****  
       ************************************************   

那么,我认为显示内核模块不存在是因为 Windows 负责处理显示的设备驱动程序,这样对吗?有人能给我指出关于你的显卡不支持 Xvideo消息。如果没有解决方案,请告诉我需要去哪里查找。谢谢

答案1

所以我是否可以正确地认为显示内核模块不存在,因为 Windows 负责显示的设备驱动程序?

是的,有点。WSLg 中的“显示”实际上是 Wayland/XWayland/Weston 实现,它输出到 RDP(远程桌面协议),而不是物理显示器。是的,因为 RDP客户正在运行视窗,处理实际输出的是 Windows 驱动程序。

WSL 在启动时还会将一些库挂载到 Ubuntu 中,这些库可提供与 GPU 的一些交互。您可以在 中找到这些库/usr/lib/wsl/lib。这些库与 Windows 端的等效 DLL 和驱动程序进行通信,以使 Windows GPU 功能可供 Ubuntu 使用。

虽然这些通常是用于 GPU 计算任务,但我也遇到过这则趣闻其中提到了最近添加的 GPU 加速视频解码(以及更多)。我还没有机会尝试这一点或深入了解细节。

/lib/modules 中没有显示内核模块

另请注意,默认的 WSL2 内核具有全部驱动程序静态编译,没有可加载模块。您可以使用以下命令查看当前正在使用的内核配置:

zless /proc/config.gz

no Xvideo support for your video card有人能给我指出这条消息的正确方向吗

据我所知,这仅仅意味着 XVideo X 扩展在用于 WSLg 的 RDP 后端中不可用。

然而,RDP 后端支持 OpenGL 加速,因此您可能找到更好的结果:

mplayer -vo gl <filename>

后端-vo sdl也可能是一种可能性,但请注意,Mplayer 手册页说 SDL 后端“有缺陷/过时”。

也许还值得尝试一下mpv,它是支持 Mesa 图形的 Mplayer 的一个分支。

Your system is too SLOW to play this!

不幸的是,我无法在我的系统上使用 2070 Super 重现这种情况,但是它(从我在基准评级中看到的情况来看)比 Iris Xe 快 5 倍左右。

但是,希望使用不同的输出后端和/或硬件加速视频解码(使用最新的 1.1.0 或更高版本的 WSL 和合适的播放器),您将能够克服这个问题。

相关内容