0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Linux系统实现屏幕旋转?触觉智能RK3568鸿蒙开发板演示

触觉智能 2024-11-19 23:42 次阅读

本文介绍Linux系统实现屏幕角度旋转的方法,以解决不同产品形态的展现方式,其中Ubuntu、Debian系统可以通过xrandr工具实现屏幕旋转。使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568芯片,搭载四核A55处理器,主频2.0Ghz;1T算力NPU;现已发布全新OpenHarmony5.0 Release固件。

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"含义: 该选项控制是否使用伽玛查找表(Gamma Look-Up Table,Gamma LUT)。伽玛校正用于调整显示器输出的亮度或对比度,以达到更好的图像效果。开启 UseGammaLUT 会引入额外的图像处理步骤,特别是在颜色校正方面,它会影响 GPU 的负载。问题: 虽然伽玛校正与屏幕旋转本身并无直接联系,但如果开启伽玛校正会使得系统需要对每一帧进行额外的颜色调整,可能会影响旋转时的性能表现。如果显卡驱动或硬件对伽玛校正的支持不够完善,可能会导致与旋转操作冲突,最终影响到屏幕的更新和显示。

Option UseGammaLUT "true" 含义: 注释掉这个选项会禁用伽玛校正,减少系统对每一帧图像的处理负担。这对于需要频繁更新图像的操作(如屏幕旋转)有益,因为系统的图像处理变得更轻量化。效果: 通过禁用伽玛 LUT,图像处理变得更加简单,使得旋转操作不会因为额外的颜色处理而受到阻碍。


产品简介

触觉智能EVB3568鸿蒙开发板是一款基于RK3568开发的鸿蒙开发板/工控主板,适用于各种智慧显示终端、工业自动化终端和边缘计算网关类产品。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    4933

    浏览量

    97157
  • 瑞芯微
    +关注

    关注

    23

    文章

    401

    浏览量

    51237
  • Linux开发
    +关注

    关注

    0

    文章

    33

    浏览量

    6892
  • RK3568
    +关注

    关注

    4

    文章

    495

    浏览量

    4919
  • 触觉智能
    +关注

    关注

    1

    文章

    34

    浏览量

    292
收藏 人收藏

    评论

    相关推荐

    迅为RK3568开发板Buildroot 系统设置屏幕旋转

    RK3568开发板教程,本文档将 buildroot 系统不同屏幕如何旋转屏幕。Buildroo
    的头像 发表于 06-05 10:12 4337次阅读
    迅为<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>Buildroot <b class='flag-5'>系统</b>设置<b class='flag-5'>屏幕</b><b class='flag-5'>旋转</b>

    鸿蒙OpenHarmony南向/北向快速开发教程-迅为RK3568开发板

    大家期待已久的迅为RK3568开发板终于迎来了鸿蒙4.1系统的强势支持!想知道如何实现快速开发
    发表于 07-23 10:44

    RK3568开发板鸿蒙OpenHarmony系统固件烧写步骤

    \\01_【iTOP-RK3568开发板】基础资料\\09_iTOP-RK3568 开发板鸿蒙镜像”,鸿
    发表于 07-15 16:15

    迅为RK3568开发板鸿蒙OpenHarmony系统固件烧写步骤

    1、迅为RK3568开发板鸿蒙OpenHarmony系统固件烧写首先拷贝烧写器(烧写器在光盘资料“iTOP-3568
    发表于 08-26 17:45

    【ROC-RK3568-PC开发板试用体验】Firefly ROC-RK3568-PC开发板初探

    是天启智能科技推出的嵌入式开发板,基于 Rockchip RK3568 处理器设计,该处理器具有高性能、低功耗特点,四核 64 位 Cortex-A55 处理器,采用全新ARM v8.2-A架构,主频高达
    的头像 发表于 10-18 16:11 3755次阅读
    【ROC-<b class='flag-5'>RK3568</b>-PC<b class='flag-5'>开发板</b>试用体验】Firefly ROC-<b class='flag-5'>RK3568</b>-PC<b class='flag-5'>开发板</b>初探

    触觉智能RK3568_OpenHarmony开发板适配

    触觉智能RK3568_OpenHarmony开发板适配 2023-5-24 master openharmony 4.0.7.3 openharmony版本更新代码会变化,请看当前文件
    的头像 发表于 06-07 16:18 1057次阅读
    <b class='flag-5'>触觉</b><b class='flag-5'>智能</b><b class='flag-5'>RK3568</b>_OpenHarmony<b class='flag-5'>开发板</b>适配

    迅为基于RK3568开发板的嵌入式学习之Linux驱动视频

    迅为基于RK3568开发板的嵌入式学习之Linux驱动视频
    的头像 发表于 05-19 16:30 930次阅读
    迅为基于<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>的嵌入式学习之<b class='flag-5'>Linux</b>驱动视频

    瑞芯微RK3568主板开发板PET_RK3568_P01简述

    瑞芯微RK3568主板开发板PET_RK3568_P01简述
    的头像 发表于 08-08 11:41 2911次阅读
    瑞芯微<b class='flag-5'>RK3568</b>主板<b class='flag-5'>开发板</b>PET_<b class='flag-5'>RK3568</b>_P01简述

    RK3568开发板规格书

    RK3568开发板规格书
    发表于 03-23 15:28 69次下载

    迅为RK3568开发板驱动开发指南-输入子系统

    迅为RK3568开发板驱动开发指南-输入子系统
    的头像 发表于 02-23 15:11 780次阅读
    迅为<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>驱动<b class='flag-5'>开发</b>指南-输入子<b class='flag-5'>系统</b>

    RK3568开发板支持AMP双系统

    RK3568开发板支持AMP双系统
    的头像 发表于 06-04 15:33 626次阅读
    <b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>支持AMP双<b class='flag-5'>系统</b>

    瑞芯微RK3568鸿蒙开发板OpenHarmony系统修改cfg文件权限方法

    本文适用于OpenHarmony开源鸿蒙系统修改cfg文件权限方法,深圳触觉智能研发的RK3566、RK
    的头像 发表于 09-11 13:26 763次阅读
    瑞芯微<b class='flag-5'>RK3568</b><b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>OpenHarmony<b class='flag-5'>系统</b>修改cfg文件权限方法

    瑞芯微RK3566/RK3568 Android11使用OTA升级固件方法,深圳触觉智能鸿蒙开发板演示,备战第九届华为ICT大赛

    本文介绍瑞芯微RK3566/RK3568在Android11系统OTA升级固件方法,使用触觉智能的Purple Pi OH
    的头像 发表于 10-12 11:57 309次阅读
    瑞芯微<b class='flag-5'>RK</b>3566/<b class='flag-5'>RK3568</b> Android11使用OTA升级固件方法,深圳<b class='flag-5'>触觉</b><b class='flag-5'>智能</b><b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b><b class='flag-5'>演示</b>,备战第九届华为ICT大赛

    瑞芯微RK3568开发板Linux编译报错404怎么办?触觉智能教你轻松解决

    本文介绍瑞芯微RK3568主板/开发板SDK编译流程和编译报错404的解决方法,使用触觉智能EVB3568
    的头像 发表于 11-05 11:02 231次阅读
    瑞芯微<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b><b class='flag-5'>Linux</b>编译报错404怎么办?<b class='flag-5'>触觉</b><b class='flag-5'>智能</b>教你轻松解决

    【迅为】瑞芯微RK3588开发板RK3568开发板区别及优势

    RK3568开发板
    的头像 发表于 11-18 14:19 122次阅读
    【迅为】瑞芯微<b class='flag-5'>RK</b>3588<b class='flag-5'>开发板</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>区别及优势