V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
chenkx
V2EX  ›  Linux

如何高帧率串流 Windows 虚拟机画面到 PVE 主机?

  •  
  •   chenkx · 2023-12-14 11:03:49 +08:00 · 2856 次点击
    这是一个创建于 376 天前的主题,其中的信息可能已经有所发展或是发生改变。

    PVE 主机是一台笔记本电脑,自带 144 Hz 的屏幕,安装了 KDE 桌面。主机浏览器里测试有 144 fps 。

    Imgur

    vGPU unlock 显示正常。

    Imgur

    采用 sunshine + moonlight 串流,moonlight 设置了 144 fps 。

    Imgur

    但在 Windows 虚拟机测试的结果只有 60 fps 。

    Imgur

    查看 Windows 虚拟机的 Nvidia 控制面板,vGPU 工作正常,但刷新率只有 60 Hz 选项。

    Imgur

    各位知道怎么解锁高刷新率吗?

    第 1 条附言  ·  2023-12-14 17:48:04 +08:00

    @FishBear @fukhak 虚拟显示器 Easy Virtual Display 安装后运行正常,但是 testufo 一直只有 60 fps ,不知道问题出在哪里?

    设置里是 144 Hz 的刷新率。 imgur

    Sunshine 的 Logs 也是 144 Hz 。

    imgur

    testufo 只有 60 fps

    imgur

    试过在 Moonlight 里关闭垂直同步,仍然是 60 fps 。按道理屏幕本身是 144 Hz 的,开垂直同步也能到 144 fps 。

    FishBear
        1
    FishBear  
       2023-12-14 11:08:18 +08:00
    上虚拟显示器欺骗一下你的显卡
    https://github.com/KtzeAbyss/Easy-Virtual-Display
    比如这个
    chenkx
        2
    chenkx  
    OP
       2023-12-14 11:12:01 +08:00
    @FishBear 好的,我去试一下
    fukhak
        3
    fukhak  
       2023-12-14 15:43:52 +08:00
    垂直同步開了當然鎖 60 啊。。。
    fukhak
        4
    fukhak  
       2023-12-14 15:46:20 +08:00
    呀,看錯 op 的話了,宿主機本來只有 60hz 屏幕,那當然上限會限死了,和上邊一樣想法都是做一個假的顯示器
    FishBear
        5
    FishBear  
       2023-12-15 05:58:45 +08:00 via iPhone
    你的浏览器能跑 144 桢吗?
    是不是浏览器的问题
    chenkx
        6
    chenkx  
    OP
       2023-12-15 09:01:31 +08:00
    @FishBear 浏览器是 Microsoft Edge ,版本 120.0.2210.61 (正式版本) (64 位)。

    https://www.testufo.com/browser.html 测了,显示 Browser supports VSYNC!

    testufo 显示标绿的 READY 时是 60 fps ,就是说 VSYNC 垂直同步的帧率为 60 fps 。同时 Windows 任务管理器 GPU 的 Video Encode 占用率和原来的 60 fps 也是一样的。
    sunbroke
        7
    sunbroke  
       2023-12-15 11:49:55 +08:00
    应该不是浏览器的问题 感觉还是虚拟显示器的问题 我是特斯拉 P4 也全部设置 144hz 进 Windows11 浏览器测试也只有 60hz, 进 csgo 也锁住 60 了。
    我进 nvdia 面板 发现 显卡设置里还是只有 60hz 选项,但是 Windows 设置里我已经设置成 144hz 。
    sunbroke
        8
    sunbroke  
       2023-12-15 12:40:13 +08:00
    我刚刚查看了下英伟达文档,发现 VGPU 默认会开启一个 FRL 限制:
    启用后,帧速率限制器 (FRL) 会限制最大帧速率(以帧为单位) vGPU 的每秒 (FPS) 如下:

    对于 B 系列 vGPU ,最大帧速率为 45 FPS 。
    对于 Q 系列、C 系列和 A 系列 vGPU ,最大帧速率为 60 FPS 。
    默认情况下,所有 GPU 均启用 FRL 。vGPU 时 FRL 被禁用 GPU 上的默认尽力而为调度程序的调度行为已更改,支持 替代 vGPU 调度程序。有关详细信息,请参阅更改 vGPU 调度行为。在使用尽力而为调度程序的 vGPU 上,可以将 FRL 禁用为 NVIDIA 虚拟 GPU 软件文档 中您所选虚拟机管理程序的发行说明中对此进行了说明。
    tsanie
        9
    tsanie  
       2023-12-15 13:32:40 +08:00
    用的 vgpu_unlock-rs 吗?试试创建 /etc/vgpu_unlock/profile_override.toml

    [profile.nvidia-259]
    frl_enabled = 0

    括号里根据使用的 mdev 类型修改。
    tsanie
        10
    tsanie  
       2023-12-15 13:43:06 +08:00
    我开了 144Hz ,但是 ufotest 只能到差不多 124 左右,我是 2070 分了两个 nvidia-259 ,一个给黑裙一个给 windows ,可能性能受限吧。

    chenkx
        11
    chenkx  
    OP
       2023-12-15 14:47:25 +08:00
    @sunbroke
    @tsanie
    刚才根据你们的提示找到了相关教程 https://gitlab.com/polloloco/vgpu-proxmox#vgpu-overrides ,确实是 frl 的问题,关闭 frl 后能跑 126 fps 。非常感谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5412 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 08:27 · PVG 16:27 · LAX 00:27 · JFK 03:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.