我正在尝试在 ASUS TinkerBoard 上的 Debian(Buster) 版本上运行 AvaloniaUI 应用程序。我使用的显示器是 7 英寸 1920x1080p 触摸屏显示器。
该应用程序以类似纵向的模式运行(即它以 1080x1920 运行),所以我一直在尝试将显示器旋转到 以便应用程序可以这样运行。
使用 xrandr 旋转显示器并没有给我带来什么成功。当我执行时:
xrandr --output HDMI-1 --rotate left
或者
xrandr --output HDMI-1 --rotate right
它使屏幕短暂空白,但没有效果。我可以使用相同的命令反转屏幕,但这并不能完全解决问题。我还尝试使用 xrandr 和我发现但尚未成功的各种其他命令来更改分辨率。
我还尝试添加:
echo 1 > /sys/class/graphics/fbcon/rotate
到 /etc/rc.local 脚本。使用“echo 3”时,这实际上会导致启动时在屏幕上运行的命令成功旋转。但是,在启动到操作系统时,显示器不再旋转,而是恢复为“横向”(即 1920x1080)。尝试将其作为 shell 脚本或服务运行也未成功。
除了基本的“xrandr”命令之外,我似乎在网上找不到太多关于如何旋转显示器的信息。我为我糟糕的解释道歉,因为我对 Linux 还是比较陌生。
这是输出:
xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 255mm x 255mm
1920x1080 60.00*+
1024x600 60.04 +
1600x900 60.00
1440x810 59.98
1360x768 59.80
1280x720 60.00
1152x648 60.01
1024x576 59.97
800x450 60.05
一个执行我期望的 xrandr 命令是:
xrandr --output HDMI-1 --rotate inverted
这成功地反转了屏幕。
我找到了解决这个问题的方法。我能够在 /etc/X11/xorg.conf.d/ 中编辑文件(我的文件名为“20-modesetting.conf”,但我不确定每个人都会这样做)。在“屏幕”小节中,我为 1080x1920 添加了一个选项:
然后在本节下方,我添加了一个额外的“监视器”部分,如下所示:
这会强制桌面以 1080x1920 分辨率启动,而“旋转”选项会旋转屏幕。
在纵向模式下正确旋转屏幕需要这两个选项。
标识符将特定于您输入的名称,我的是“HDMI-1”。