Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Deepin Integration]~[V23-Beta3] feat: update libdrm to 2.4.123-1 by deepin-community-bot[bot]@deepin-community/libdrm by deepin-community-ci-bot[bot] #10895

Closed
deepin-bot bot opened this issue Nov 15, 2024 · 5 comments
Assignees
Labels
Project:integrated 集成管理相关 吴波 吴波
Milestone

Comments

@deepin-bot
Copy link

deepin-bot bot commented Nov 15, 2024

Package information | 软件包信息

包名 版本
libdrm 2.4.123-1

Package repository address | 软件包仓库地址

deb [trusted=yes] https://ci.deepin.com/repo/obs/deepin:/CI:/TestingIntegration:/test-integration-pr-2223/testing/ ./

Changelog | 更新信息

libdrm (2.4.123-1) unstable; urgency=medium

  • New upstream release.
  • Add upstream metadata, drop old git url from d/watch.
  • Update signing-key.asc.
@deepin-bot deepin-bot bot added the Project:integrated 集成管理相关 label Nov 15, 2024
@deepin-bot deepin-bot bot added this to the V23-Beta3 milestone Nov 15, 2024
@deepin-bot deepin-bot bot moved this to In progress in v23-集成管理 Nov 15, 2024
@deepin-bot
Copy link
Author

deepin-bot bot commented Nov 15, 2024

Integration Test Info

This library implements the userspace interface to the kernel DRM services. DRM stands for "Direct Rendering Manager", which is the kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is currently used on Linux to provide hardware-accelerated OpenGL drivers.

Test suggestion | 测试建议

libdrm(Direct Rendering Manager Library)是一个用于 Linux 下直接渲染管理器 (Direct Rendering Manager, DRM) 的开源库,主要用于与 GPU(图形处理单元)进行低级别交互。它在 X.Org Server 和 Wayland 等显示服务器中广泛使用,负责处理 GPU 渲染、图形加速和显示输出管理。

主要功能

  1. 与 GPU 交互:提供接口与显卡驱动进行通信,直接控制 GPU 硬件的功能。
  2. 缓冲区管理:管理图形缓冲区,用于渲染内容的存储和操作。
  3. 帧缓冲控制:负责管理显示输出帧缓冲区,以实现图形的无缝刷新。
  4. 多种图形 API 支持:支持 OpenGL、Vulkan 等图形 API,能与 Mesa 等开源图形库配合。
  5. 多种设备支持libdrm 支持 Intel、AMD、NVIDIA 等不同厂商的 GPU 硬件设备。

安装 libdrm

在大多数 Linux 系统中,可以通过包管理器安装 libdrm

Debian/Ubuntu 系统上:

sudo apt update
sudo apt install libdrm-dev

CentOS/RHEL 系统上:

sudo yum install libdrm-devel

libdrm 的典型使用场景

  1. 图形显示服务器:X.Org Server 和 Wayland 使用 libdrm 与 GPU 通信,以实现高效的图形显示和加速。
  2. 视频播放:视频播放器利用 libdrmVA-APIVDPAU 实现视频硬件解码。
  3. 游戏和图形加速libdrm 支持的图形驱动和 API 能帮助 3D 游戏和图形密集型应用实现更好的性能。

简单示例

以下代码示例展示了如何通过 libdrm 获取显卡设备的文件描述符。

#include <stdio.h>
#include <fcntl.h>
#include <xf86drm.h>
#include <xf86drmMode.h>

int main() {
    // 打开 DRM 设备 (这里假设是 `/dev/dri/card0`,具体路径可能因设备不同而异)
    int fd = open("/dev/dri/card0", O_RDWR | O_CLOEXEC);
    if (fd < 0) {
        perror("无法打开 DRM 设备");
        return -1;
    }

    // 获取设备信息
    drmVersionPtr version = drmGetVersion(fd);
    if (version) {
        printf("驱动名称: %s\n版本: %d.%d.%d\n描述: %s\n",
               version->name, version->version_major, version->version_minor, version->version_patchlevel, version->desc);
        drmFreeVersion(version);
    } else {
        printf("无法获取 DRM 版本信息\n");
    }

    close(fd);
    return 0;
}

编译示例

保存代码为 example.c,并使用以下命令进行编译:

gcc -o example example.c -ldrm

运行生成的 example 文件可以获取到 DRM 设备的信息。


libdrm 是 Linux 图形堆栈中的核心组件之一,对直接访问 GPU 硬件和实现图形加速至关重要。通过 libdrm,可以更低层次地控制和管理显卡资源,使得图形密集型应用能充分利用硬件优势。

Influence | 影响范围

ADDITIONAL INFORMATION | 额外补充

@deepin-bot
Copy link
Author

deepin-bot bot commented Nov 15, 2024

IntegrationProjector Notify the author
@deepin: Integrated issue updated

@deepin-bot
Copy link
Author

deepin-bot bot commented Nov 15, 2024

IntegrationProjector Bot
Deepin Testing Integration Project Manager Info
Link to deepin-community/Repository-Integration#2223

@Zeno-sole Zeno-sole assigned babyfengfjx and unassigned Zeno-sole and hudeng-go Nov 15, 2024
@babyfengfjx babyfengfjx assigned kobe337 and unassigned babyfengfjx Nov 15, 2024
@babyfengfjx babyfengfjx moved this from In progress to 测试中 in v23-集成管理 Nov 15, 2024
@babyfengfjx babyfengfjx added the 吴波 吴波 label Nov 15, 2024
@babyfengfjx
Copy link

@kobe337 请开展集成验证。

@kobe337
Copy link

kobe337 commented Nov 18, 2024

【环境】:
镜像:Deepin OS-25-20241028133527-1_x86_64
内核:Linux deepin-PC 6.6.59-amd64-desktop-hwe #23.01.00.39 SMP PREEMPT_DYNAMIC Tue Nov 5 17:23:22 CST 2024 x86_64 GNU/Linux

【结论】:
测试通过,暂无严重问题及影响, 覆盖以下内容:
1、安装校验、版本核对
2、播放常用视频格式,覆盖4K、8K、1080等常用分辨率
3、内核模块加载情况查看、日志加载情况查看
4、相关应用包安装验证:wayland-utils、xcb-app、tyanlims、ru.browser.yandex、rp-app、io.webtorrent.webtorrent、io.podman-desktop、dockit、com.skype.www、com.visualstudio.code、com.opera.developer、com.obs-studio、com.github.unlimited-clipboard.unlimited-clipboard、com.github.i5sing、com.github.codecentric.merge-request-notifier、com.falktx.synthv1、com.browser.softedge.stable-pre、com.brave.brave-browser、cn.loongnix.lbrowser、cn.google.chrome-pre、1password、xdg-desktop-portal-wlr、libwaylib、radeontop、glmark2-drm、libkpipewiredmabuf5、libhsa-runtime64-1、weston、libwlroots12、mpv、libdrm-dev。
以上内容验证通过,请研发同事确认,是否推送内测。
Image

@kobe337 kobe337 assigned Zeno-sole and unassigned kobe337 Nov 18, 2024
@kobe337 kobe337 moved this from 测试中 to 测试通过 in v23-集成管理 Nov 18, 2024
@Zeno-sole Zeno-sole moved this from 测试通过 to 已集成 in v23-集成管理 Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Project:integrated 集成管理相关 吴波 吴波
Projects
Status: 已集成
Development

No branches or pull requests

4 participants