FrameBuffer/DRM

 

双缓冲framebuffer功能需要自行修改内核源码适配

内核修改:

  1. 修改 fb_fix_screeninfo.smem_len 这个参数,而固定参数不能在应用层修改,所以需要在内核里扩充它的长度

  2. 修改内核中mmap函数的分配内存的长度,dma的传输范围

  3. 修改内核中fb_pan_display,以适配显示

应用层修改:

  1. 在应用层需要把xres_virtual扩充到xres的两倍

  2. 如果想在主屏幕上显示的话,需要设置 fb_var_screeninfo.xoffset=0;在副屏幕上显示的话,需要设置 fb_var_screeninfo.xoffset=xres;

  3. 通过ioctl(fd, FBIOPUT_VSCREENINFO, &var);修改参数

  4. 通过ioctl(fd, FBIOPAN_DISPLAY, &var);把参数传入到内核里,就可以切换屏幕了

 

 

Linux 驱动开发 / fbdev 双缓存 / 快速入门 - 知乎 (zhihu.com)

信息挖掘 - Linux 帧缓冲驱动程序 (vonos.net)

Ubuntu 8.10控制台启用FrameBuffer模块 (ngui.cc)

FrameBuffer 的几种使用方式 | AWStudio专业版 (zlg.cn)  双缓存

(33条消息) 在ubuntu虚拟机中使用framebuffer画图_ubuntu 画图_SGuniver_22的博客-CSDN博客

ubuntu下framebuffer的操作 - 哔哩哔哩 (bilibili.com)  有代码

18. 屏幕显示(framebuffer) — [野火]Linux基础与应用开发实战指南——基于LubanCat-RK系列板卡 文档 (embedfire.com)  双缓存

需要实现一个非标准的framebuffer驱动,是否有比较好的方案? - 知乎 (zhihu.com)

【正点原子I.MX6U-MINI应用篇】3、Framebuffer应用编程,操作屏幕 (betheme.net)

Linux应用开发【第一章】Framebuffer应用开发 - 知乎 (zhihu.com)

 

(1条消息) 最简单的DRM应用程序 (plane-test)_drm plane_LIUHUING的博客-CSDN博客

(1条消息) drm学习笔记4-ubuntu DRM API演示_libdrm安装_菜卓的博客-CSDN博客

linux系统上drm的简单demo程序_云季的博客-CSDN博客

GitHub - freedreno/libdrm

 

GUI比较,EFL介绍

(33条消息) 主流嵌入式开源GUI比较(二)_anyuliuxing的博客-CSDN博客

全志系列开发板 Tina Linux图形系统框架详解 - 哔哩哔哩 (bilibili.com)

 

 

条件一:使用ctrl+alt+F1切换到命令行显示模式(恢复ctrl+alt+F7);
  (新版本ubuntu20,更改为ctrl+alt+F6进入命令行,ctrl+alt+F1恢复)


条件二:使用sudo运行程序。

posted @ 2023-03-30 16:32  迷人的危险~  阅读(173)  评论(0编辑  收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css