因此,我得到了一台带有 iGPU(Intel Xeon E3-1245 v2)的 Intel 处理器的服务器,我想使用它。我安装了所有东西,这样当我通过 SSH 进入机器时,“vainfo”就可以正常工作 - 所以至少有一些东西可以正常工作。在 VNC 会话中,“vainfo”不起作用,我在 VNC 会话上启动的应用程序不使用 GPU,我可以通过 SSH 使用“sudo intel_gpu_top”来监控 GPU。如果我在 VNC 会话中运行“sudo vainfo”,它就可以正常工作。
我尝试在 VNC 的浏览器中播放视频,结果完全卡顿/延迟,基本上 FPS 大幅下降。CPU 使用率上升,GPU 完全不工作。
现在我的问题是:有没有办法让它工作,或者这根本就不可能?我记得使用 VNC 连接到另一台带有独立 GPU 的服务器,它通过 VNC 完美运行。播放视频时几乎没有任何 CPU 使用率,VNC 连接中的卡顿/延迟几乎察觉不到。所以我确信有办法做到这一点,但我(几天来)都无法弄清楚我需要做些什么不同的事情。
我尝试了不同的 Linux 发行版、不同的 Intel GPU 驱动程序(我最终发现我需要 i965)、不同的 VNC 应用程序和不同的配置,但似乎都不起作用。我现在使用的是 Debian 11,但也尝试了 Ubuntu 18.04、20.04 和 22.04。
我做的一些事:
- 将用户添加到视频和使成为团体
- 创建了一个
/etc/X11/xorg.conf.d/10-intel.conf
包含
Section "OutputClass"
Identifier "Intel"
MatchDriver "i915"
Driver "intel"
EndSection
以及许多其他组合,包括设置相同的/etc/X11/xorg.conf
添加
xdg.force_integrated=1
并GRUB_CMDLINE_LINUX_DEFAULT
应用使用sudo update-grub
尝试了以下软件包
sudo apt install xserver-xorg-video-intel
sudo apt install xserver-xorg-video-all
sudo apt-get install i965-va-driver vainfo
sudo apt-get install libvdpau-va-gl1 i965-va-driver vdpauinfo
放
VDPAU_DRIVER=va_gl
删除
nomodeset
并GRUB_CMDLINE_LINUX_DEFAULT
应用使用sudo update-grub
我的意思是,当 vainfo 以某种方式工作时,我并没有成功地让 iGPU 正常工作,或者说准备好工作,但仅此而已。
我能够将 GPU 用于完整桌面和所有正在运行的应用程序的唯一方法是使用 Windows 并通过 RDP 连接,但这不是一个选项,我只是想确保 iGPU 通常可以工作并且与主板不兼容或在 BIOS 中禁用。
如果有人能给我指明正确的方向,那就太好了。提前谢谢。
答案1
您是否在服务模式下运行 VNC?
虚拟模式会话由 CPU 呈现,不能使用硬件加速。
如果您需要硬件加速,请尝试使用服务模式:
sudo systemctl enable vncserver-x11-serviced --now
并连接到端口 5900。
笔记:大多数情况下,您需要连接显示器才能让操作系统正确呈现桌面。
一般来说,如果你追求的是性能,VNC 不是获取它的地方。 你有没有尝试过X11 转发? 不管你信不信,X windows 就是为无缝转发而设计的。你应该试一试。
在你的问题中,你似乎没有意识到 VNC 广播的速度受到网络速度的限制,而显卡可以很少利用这一点。
您确定这台新机器以旧机器的网络速度运行吗?
关于这个话题还有一点补充:这些远程技术之间的性能差异并不像我上面所说的那样黑白分明。我不认为我的说法是错误的,但我也不认为它们是绝对的。