必备条件:
底层图形开发工程师,负责在 linux平台上实现基于 DRM/KMS 和 Vulkan 的显示屏接管功能,或使用 OpenGL ES 结合 Fr amebuffer/EGL 进行离屏渲染的替代方案。该职位需要深入理解 linux系统架构、Linux 内核显示驱动(如 DRM/KMS)、以及现代图形 API(如 Vulkan 和 OpenGL ES)。候选人将参与定制化显示渲染开发,优化性能并确保与 MediaTek Dimensity 9300 等平台的兼容性。
优先条件:
35以内 企业是做VR眼镜的 行业相关更好
岗位职责:
核心开发:使用 Vulkan 的 VK_KHR_display 扩展,通过 DRM/KMS 实现直接渲染到硬件显示缓冲区,绕过 linux桌面和 SurfaceFlinger。
实现 Vulkan 离屏渲染,并将渲染结果写入 Framebuffer(如 /dev/fb0),作为备用方案。
使用 OpenGL ES 和 EGL 实现离屏渲染,结合 Framebuffer 或硬件缓冲区,确保高效的屏幕接管。
系统集成:修改 linux系统源码(AOSP),调整显示相关服务以支持自定义渲染。
适配 MediaTek Dimensity 9300 平台的 GPU(Immortalis-G720 MP12)和显示驱动。
调试和优化 SELinux 策略,确保对 /dev/dri/card0 或 /dev/fb0 的访问权限。
性能优化:优化 Vulkan/OpenGL ES 渲染管线,减少 GPU 到 CPU 的数据拷贝开销。
确保渲染性能满足实时需求(如 60 FPS),支持复杂 2D/3D 图形或静态内容。
测试与验证:在目标设备上测试渲染效果,验证分辨率、像素格式(如 RGBA8888、RGB565)兼容性。
使用调试工具(如 dmesg、vulkan-tools、fbset)排查问题。
文档与协作:编写技术文档,记录实现方案、代码结构和调试方法。
与硬件团队和系统开发团队协作,确保方案与设备驱动兼容。
任职要求:
教育背景:计算机科学、电子工程或相关领域的本科及以上学历。
技术经验:3年以上 linux系统开发经验,熟悉 linux 源码和编译流程。
精通 Vulkan API(1.2/1.3),熟悉 VK_KHR_display 扩展和渲染管线配置。
熟悉 OpenGL ES(3.0+)和 EGL,具备离屏渲染经验。
了解 Linux 内核显示驱动(DRM/KMS 或 Framebuffer),熟悉 /dev/dri/card0 或 /dev/fb0 操作。
熟练使用 C/C++ 进行底层开发,具备 mmap、ioctl 等系统调用经验。
工具与平台:熟悉 linux编译环境
熟悉调试工具,如 dmesg、logcat、Vulkan 验证层。
了解 MediaTek 平台(如 Dimensity 9300)的 GPU 架构和驱动特性。
权限与安全:了解 linuxSELinux 策略配置,能够调整权限以访问底层设备。
熟悉 root 权限开发或系统级应用开发。
加分技能
熟悉硬件光线追踪(Ray Tracing)在 Vulkan 中的应用。
具备 DRM/KMS 开发经验,熟悉 libdrm 库和 drmModeSetCrtc 等接口。
熟悉 linux的 drm 源码。
有嵌入式设备或定制 ROM 开发经验。
熟悉 GPU 性能分析工具(如 ARM Mali GPU 工具集、RenderDoc)。
具备 linux开发经验,能够在 linux应用层与底层交互。
软性技能
良好的问题解决能力和调试能力,能够快速定位底层图形问题。
较强的学习能力,愿意深入研究 Vulkan、DRM/KMS 等复杂技术。
优秀的团队协作和沟通能力,能够与硬件和系统团队高效配合。
能够编写清晰的技术文档,记录开发和调试过程。