如何通知 Xorg 我已经设置的解决方案?

如何通知 Xorg 我已经设置的解决方案?

我试图让我的 Banana Pi Pro 在 HDMI 屏幕上在 1920x1080 和 1280x720 分辨率之间切换。如果我将它们设置为两个分辨率都可以正常工作uEnv.txt:

 disp.screen0_output_mode=1280x720p60
 or
 disp.screen0_output_mode=1920x1080p60 

当然,更改引导加载程序脚本需要重新启动才能生效,这是不可取的。但是,有一种无需重新启动即可更改分辨率的方法:echo D:1280x720p-60>/sys/class/graphics/fb0/mode有效地将分辨率更改为 1280x720。

问题是 Xorg 没有意识到这一变化,并继续使用帧缓冲区作为 1920x1080 数组,导致“斑马”效果(类似于或者)。通过设置虚拟分辨率可以部分修复此效果fbset

fbset -xres 1280 -yres 720 -vxres 1920 -vyres 1080

现在我得到了一个干净的图像,但是,只有 1920x1080 虚拟屏幕的 1280x720 左上角物理显示。同样,Xorg 不知道所发生的分辨率更改,因此不会启用平移,并且在左上角之外生成的任何 GUI 控件都保持不可见。

xrandr我还尝试通过中描述的方式更改分辨率这个答案,但似乎xrandr不知道如何更改我的硬件上的分辨率,并且拒绝设置新模式:

# xrandr --output default --mode 1280x720_60.00
xrandr: Failed to get size of gamma for output default
xrandr: Configure crtc 0 failed

有没有办法告诉 Xorg 屏幕分辨率已经改变,无论报告什么错误,或者根本xrandr不使用?xrandr它所需要做的就是将帧缓冲区设备视为 1280x720 数组而不是 1920x1080。

如果重要的话,我会使用 Openbox/LXDE 运行 Debian Wheezy(armhf 端口)。

相关内容