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

NVIDIA Releases Open-Source GPU Kernel Modules

  •  
  •   SuperXX · 2022-05-12 07:09:42 +08:00 · 4096 次点击
    这是一个创建于 927 天前的主题,其中的信息可能已经有所发展或是发生改变。

    NVIDIA is now publishing Linux GPU kernel modules as open source with dual GPL/MIT license, starting with the R515 driver release. You can find the source code for these kernel modules in the NVIDIA Open GPU Kernel Modules repo on GitHub.

    https://github.com/NVIDIA/open-gpu-kernel-modules

    来源: https://developer.nvidia.com/blog/nvidia-releases-open-source-gpu-kernel-modules/

    19 条回复    2022-05-15 13:56:56 +08:00
    geekvcn
        1
    geekvcn  
       2022-05-12 07:31:29 +08:00   ❤️ 2
    虽然一直很不喜欢英伟达,但是干人事还是值得表扬的。等 Linux GUI 生态全面切换到 wayland 后端 vulkan 渲染,支持 HDR 后,我就再也不会用 Windows 了。

    Linux 现在最大的问题就是我闲暇时候打游戏 X.org 输入延时整整 20 多 ms ,简直折磨特别是 FPS 游戏,日常除了不支持 HDR ,色彩管理还不如 Windows 外,真的体验越来越好了。对了还有解码方面的坑,就是浏览器默认都关闭硬件解码支持,虽然能手动支持,但是对于一般用户特别是笔记本续航绝对大下降
    geekvcn
        2
    geekvcn  
       2022-05-12 07:37:33 +08:00   ❤️ 1
    其实支持好 Linux 生态,对英伟达绝对是好事,因为英伟达没有 x86 处理器,ARM 跑 Windows 先不说高通目前处于独占期,ARM 版 Windows 的生态远不如 Linux ,因为开源代码稍作调整或者不作调整就可以直接编译成多个二进制版本,但是闭源生态转换架构就一堆坑,比如 Windows 。
    geekvcn
        3
    geekvcn  
       2022-05-12 07:50:30 +08:00
    不对图灵架构之前的老显卡支持,感觉社区也没必要向下移植了,现在等矿潮过去直接换新显卡了
    ysc3839
        4
    ysc3839  
       2022-05-12 10:35:22 +08:00 via Android
    我到现在都没搞懂 Linux GUI 的硬件加速是什么模式,硬件编解码有个 v4l2 、有个 vaapi 。渲染用哪个接口性能最好? x11? xvideo? vaapi? opengl? vulkan?怎么实现 FreeSync 或者 G-SYNC ?
    感觉 Linux 底层的 API(POSIX API)很简洁,但上层的则混乱不堪,比 Windows 还复杂。
    secondwtq
        5
    secondwtq  
       2022-05-12 11:33:10 +08:00
    这些大公司以前看上去很牛逼,实际上根本就不懂产品也不懂架构,这次算是揭了老底了,怪不得最近股价跌得这么狠,真是活该。
    secondwtq
        6
    secondwtq  
       2022-05-12 11:34:13 +08:00
    @secondwtq s/狠,真 /狠,原来是因为都去搞开源了,真
    icyalala
        7
    icyalala  
       2022-05-12 11:38:30 +08:00
    不管怎么说,都算往前迈了一步
    wlh233
        8
    wlh233  
       2022-05-12 12:18:22 +08:00   ❤️ 4
    Fork you, Nvidia!
    jtshs256
        9
    jtshs256  
       2022-05-12 12:19:54 +08:00   ❤️ 1
    中指还是没黑客威胁管用
    leimao
        10
    leimao  
       2022-05-12 12:29:08 +08:00   ❤️ 1
    :)
    darksword21
        11
    darksword21  
       2022-05-12 12:35:37 +08:00 via iPhone
    @wlh233 Furk !
    44670
        12
    44670  
       2022-05-12 12:42:36 +08:00
    原来 linux kernel module 之前可以不开源么?
    feather12315
        13
    feather12315  
       2022-05-12 12:48:22 +08:00 via Android
    12101111
        14
    12101111  
       2022-05-12 14:33:42 +08:00
    @feather12315 没有

    固件的大小膨胀到 34M, 比我现在用的 Linux 内核还大, 恐怕核心的逻辑都在 GPU 上跑了
    ooxxcc
        15
    ooxxcc  
       2022-05-12 15:45:54 +08:00
    @geekvcn 不一定适合你的情况,你可以尝试关闭 compositor ,我之前遇到的输入延迟在关闭 compositor 后得到了很大改善
    jim9606
        16
    jim9606  
       2022-05-13 03:06:51 +08:00   ❤️ 1
    @ysc3839
    video codec 方面相关的 API 有 VAAPI 和 VDPAU ,VAAPI 支持编解码,VDPAU 是 NV 提出的只能解码的 API ,Intel 只支持前者,NV 只支持后者,AMD 两个都有,V4L2 主要是管摄像头之类的 IO 设备的跟 codec 没太大关系。

    剩下那些就是渲染和呈现相关的东西了,大致关系是: HW--KMD--DRM/KMS--(syscall)--libdrm(包含 UMD)--mesa3d--(OpenGL/OpenGL ES/Vulkan call)--wayland APP/Wayland/Xserver--(wayland,X,EGL)--X APP/wayland APP 。
    Wayland APP 使用 OpenGL ES/VAAPI 等直接调用 UMD 离屏渲染,渲染完的 framebuffer 通过 wayland 协议交由 wayland-server 合成和呈现。X APP 通常不直接与 UMD 交互,而是通过 X 协议(包含 Xv/GLX 扩展)交由 Xserver 代为渲染。

    https://en.wikipedia.org/wiki/Mesa_(computer_graphics)#/media/File:The_Linux_Graphics_Stack_and_glamor.svg
    ysc3839
        17
    ysc3839  
       2022-05-13 10:10:24 +08:00 via Android
    @jim9606 谢谢。不过关于 v4l2 ,我是在 gstreamer 里面看到 v4l2 的 encoder 和 decoder 的。
    opentrade
        18
    opentrade  
       2022-05-13 13:01:06 +08:00
    拥抱开源是好事
    qbqbqbqb
        19
    qbqbqbqb  
       2022-05-15 13:56:56 +08:00   ❤️ 1
    @ysc3839 你提到的这几个都是功能不同的东西。

    x11 是 Linux 目前最常用的 GUI 子系统,类比 Windows 的话可以理解为 Windows 里面原生 Win32GUI + GDI 的部分(就是 Windows API 里用到各种 hWnd, hDC 的这部分)。一般情况下除了底层开发以外很少直接用这套 API 做开发,都会借助一些 toolkit 。

    v4l2, xvideo, vaapi 这些都是视频相关的,v4l2 主要是外部视频设备(一般都是摄像头) I/O 方面的功能,xvideo 提供视频画面渲染输出的功能,vaapi 是视频编解码硬件加速。类比 Windows 的话前两者加起来类似于 Windows 的 DirectShow ,vaapi 类似于 Windows 的 DXVA 。

    最后 OpenGL, Vulkan 才是正经的(三维图形)渲染 API 。这个就不解释了,Windows 里也有。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2789 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:14 · PVG 15:14 · LAX 23:14 · JFK 02:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.