Linux旋转屏幕的方法
-
临时旋转-通用各Linux发行版
执行xrandr -o normal/inverted/left/right,可以实现临时旋转屏幕方向,命令说明:
normal:表示顺时针旋转0度;
right:表示顺时针旋转90度;
inverted:表示顺时针旋转180度;
left:表示顺时针旋转270度;
以inverted命令为例:
linaro@linaro-alip:~$ xrandr -o inverted
-
永久旋转-适用Ubuntu系统
修改/etc/default/xrandr启动文件,可以实现永久旋转。以旋转180度为例,命令如下:
root@ido:~# vi /etc/default/xrandr #!/bin/sh /usr/bin/xrandr -o inverted root@ido:~#永久旋转-适用Debian系统
修改启动文件,目录如下:
/home/linaro/.config/lxsession/LXDE/autostart,将xrandr命令内置,实现永久旋转,主板重启后依旧生效。以旋转180度为例,命令如下:
linaro@linaro-alip:~$ vi /home/linaro/.config/lxsession/LXDE/autostart @lxpanel --profile LXDE @pcmanfm --desktop --profile LXDE @xscreensaver - no -splash xrandr -o inverted linaro@linaro-alip:~$旋转屏幕可能遇到的问题
-
Debian系统旋转90度和270度失败
修改以下目录文件:
/etc/X11/xorg.conf.d/20-modesetting.conf
具体修改如下:
(1)将Option "FlipFB" "always"这段内容改为Option "FlipFB" "none"
(2)将Option "UseGammaLUT" "true"这段内容改为#Option "UseGammaLUT" "true"
(3)重启生效
Section "Device" Identifier "Rockchip Graphics" Driver "modesetting" ### Use Rockchip RGA 2D HW accel # Option "AccelMethod" "exa" ### Use GPU HW accel Option "AccelMethod" "glamor" Option "DRI" "2" ### Set to "always" to avoid tearing, could lead to up 50% performance loss Option "FlipFB" "none" ### Limit flip rate and drop frames for "FlipFB" to reduce performance lost # Option "MaxFlipRate" "60" Option "NoEDID" "true" # Option "UseGammaLUT" "true" EndSection Section "Screen" Identifier "Default Screen" Device "Rockchip Graphics" Monitor "Default Monitor" EndSection ### Valid values for rotation are "normal" , "left" , "right" Section "Monitor" Identifier "Default Monitor" Option "Rotate" "normal" EndSection
-
FlipFB选项的作用
Option "FlipFB" "always"含义: 这个选项控制帧缓存翻转(Framebuffer flipping)。当设置为 "always" 时,它会强制启用帧缓存翻转。这种翻转有助于减少图像撕裂(tearing),但可能会带来性能损失,特别是在需要频繁更新或大规模绘制屏幕时(如旋转时)。
问题: 在配置中,FlipFB 设置为 "always" 可能会使驱动强制以某种方式处理显示管线,导致旋转操作无法顺利完成。因为旋转会大大增加对显示内存的访问和帧缓存更新需求,而 "always" 可能使得翻转操作与旋转的需求相冲突,从而触发了错误。
Option "FlipFB" "none"含义: 设置为 "none" 会禁用帧缓存翻转。这意味着系统不再尝试以特定的方式来处理翻转,减少了额外的操作,从而让旋转操作变得更加顺畅。虽然可能会导致轻微的屏幕撕裂,但对于屏幕旋转的需求,这样的设置是更合适的。效果: 通过禁用帧缓存翻转,减少了内存访问冲突或资源争用的问题,使得旋转功能可以正常工作。
-
UseGammaLUT选项的作用
Option UseGammaLUT "true" 含义: 注释掉这个选项会禁用伽玛校正,减少系统对每一帧图像的处理负担。这对于需要频繁更新图像的操作(如屏幕旋转)有益,因为系统的图像处理变得更轻量化。效果: 通过禁用伽玛 LUT,图像处理变得更加简单,使得旋转操作不会因为额外的颜色处理而受到阻碍。
产品简介
阅读全文