有没有办法在Linux帧缓冲文本控制台中添加边距,边框,偏移或填充以补偿HDMI过扫描?

我有一个新购买的便宜的8英寸TFT LCD显示器,它在所有侧面“切掉边缘”(即没有显示所有像素).我已经明白,这是由于“过扫描”,这似乎主要影响使用HDMI输入的电视.

我的内核首先启动到efifb,然后切换到inteldrmfb – 两个帧缓冲驱动程序都出现了问题.我没有使用X窗口,也不想在这个微小的显示器上使用X.我想要做的就是使用Linux文本控制台.所以使用“xrandr”的任何解决方案都已淘汰.

我已经尝试了有关驱动程序级(内核级)帧缓冲区设置的所有内容来解决此问题,包括使用“视频”内核启动参数调整分辨率设置以及使用fbset调整启动后的时序设置,但是无论我用fbset做什么,它似乎都被忽略了.

所以我的问题是:有没有办法,也许比在帧缓冲驱动程序级别更高的级别,我可以在帧缓冲控制台周围添加边距?

我知道我可以使用“stty”缩短Linux将在控制台上使用的列数和行数,但这只会解决右侧和底部的问题,并且仍会在左侧和顶端.有没有办法使用“stty”向控制台添加“第一列”和“第一行”偏移量(即一些空白填充)?如果没有stty,还有一些其他轻量级工具(不是X窗口)?

解决方法:

您可以试试fbset命令.

运行fbset -i将显示有关当前帧缓冲设置的一些信息,包括“时序”行.对我来说,所有值都是0-s,这可能意味着它们没有被使用,但是如果你看到一些实际值,你可以尝试调整它们.

男人fbset的摘录:

   Display timings:

          -pixclock <value>
                 set  the  length  of one pixel (in picosec‐
                 onds). Note that the  frame  buffer  device
                 may only support some pixel lengths

          -left <value>
                 set left margin (in pixels)

          -right <value>
                 set right margin (in pixels)

          -upper <value>
                 set upper margin (in pixel lines)

          -lower <value>
                 set lower margin (in pixel lines)

          -hslen <value>
                 set horizontal sync length (in pixels)

          -vslen <value>
                 set vertical sync length (in pixel lines)

          --timings, -t ...
                 set  all  timing  parameters at once in the
                 order  <pixclock>  <left>  <right>  <upper>
                 <lower>  <hslen> <vslen>, e.g.  -t 35242 64
                 96 35 12 112 2

请注意-left,-right,-upper,-lower参数. fbset甚至有一个-move命令可以增加其中一个值并同时减少相反的值:

   Display positioning:

          -move {left|right|up|down}
                 move the visible part of the display in the
                 specified direction

          -step <value>
                 set  step  size for display positioning (in
                 pixels or pixel lines),  if  -step  is  not
                 given  display will be moved 8 pixels hori‐
                 zontally or 2 pixel lines vertically
上一篇:[ubuntu]如何实现双屏显示


下一篇:HDMI转SDI转换器信号损失方法