python – 为Linux上的HDMI端口开发
如何在不允许操作系统自动配置显示输出的情况下,从应用程序专门驱动HDMI输出怎么可能? 例如,使用标准DVI / VGA作为主显示器,但使用设备文件将Mplayer视频输出发送到HDMI. 这是一个很难通过谷歌回答的问题.几乎所有结果都与通过HDMI进行音频工作有关. (在这里编辑) 下面的评论提到使用单独的Xorg服务器.虽然这是一个有用的想法,但它没有回答我提出的一个问题,而且我暗示了一个问题: 1)如何让Linux不希望将控制台放在该显示器上,如果它在另一个显示器之前加载,或者它是唯一的显示器(当只使用SSH登录时)? (在这里编辑) 我看了SVGALib(旧的)和SDL.后者在X内外工作,甚至可以访问OpenGL.我通过某个论坛链接找到了1.3版,但网站和FTP似乎只有1.2.一般来说,SDL是一个很好的解决方案,但它有以下两个特定的缺点: 1)常规create-device调用接受设备索引,但完全忽略它:
特定于驱动程序的调用似乎具有相同的缺陷.例如,DirectFB(我假设,它在控制台下提供图形):
这些函数的主体似乎都没有设置设备索引的位置……毫无疑问,由于缺乏对它们构建的标准接口的支持. 2)无论选择何种适配器,SDL似乎都会自动将所有显示器连接在一起.示例“testsprite2.c”(随附库)接受“–display”参数,该参数在“common.c”中处理(所有示例的通用功能).您可以看到它使用“–display”参数执行的操作是在一个大的组合画布中计算该屏幕的X / Y坐标:
因此,如果它们位于同一个适配器上,则无法将一个显示器与另一个显示器隔离. SDL不起作用. 除非有一个与SDL类似的解决方案,否则将特定设备(devindex)设置在适当的位置(这可能不是这种情况,因此,可能是它未被实现的原因)变得微不足道,似乎是专用和完全专用屏幕的最佳选择是在分配给第二个设备的单独Xorg实例下编写自己的窗口管理器. 最佳答案 您可以直接写入framebuffer设备/ dev / fb(假设您的控制台默认使用一个).要阻止控制台显示,只需禁用所有虚拟终端(然后您将只能远程登录).如果您有多个适配器(这需要确认),您应该获得多个帧缓冲设备.在帧缓冲区上绘制矩形的C示例如下: Paint Pixels to Screen via Linux FrameBuffer
只要你有可用的构建工具,以及系统的头文件,它就应该编译.为了获得快感,请从SSH运行它,并在未登录的物理屏幕上观看它. 应该注意的是,在X11之外有很多工具可以对付帧缓冲区,但它们不会直接访问帧缓冲区.相反,它们通过名为DirectFB的额外抽象层工作. DirectFB将允许相同的应用程序在X11内外运行……包括MPlayer,GStreamer,任何包含SDL的应用程序(称为DirectFB),以及一个名为XDirectFB的轻便,流行的假X11容器(我相信)它应该运行X11应用程序,但不像典型的窗口管理器那样负担过重). (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- python – 创建网络图
- 一个基于python的PowerShell?
- 当我运行python manage.py syncdb时,Django避免在数据库中创
- dict.viewkeys()返回的数据类型是什么? [python 2.7]
- 举例详解Python中的split()函数的使用方法
- python – sklearn pipeline – 在管道中应用多项式特征转换
- python – 为什么pow(x,y)的时间复杂度为O(1),而x ** y为O(
- 版本控制 – Mercurial日志界面
- python – ElementTree find()/ findall()找不到带命名空间
- python下MySQLdb用法实例分析