问题背景
我目前有一个 Raspberry Pi 连接到触摸屏液晶面板跑步全页操作系统它基本上就是 Debian 以全屏方式启动 Chromium 并进入所需网页。但我有两个问题:
- 网页无法完全展开:
该问题延伸至控制台(不仅仅是 Chromium):
如果我在控制台中输入了足够多的内容,以至于我在页面下方的位置超过了全屏,那么我就是在屏幕外打字。
- 触摸屏关闭
我触摸的点不是鼠标移动的位置。我离屏幕左上角越远,错误就越严重。例如,如果我触摸左上角,鼠标几乎匹配。
问题摘要
这让我相信分辨率不对,因为屏幕上的东西放不下。根据我购买的网站,原始分辨率是,1366x768
但我的 Raspberry Pi 似乎运行的是1280x800
这个分辨率。
我尝试过
我已经尝试了几个月来解决这个问题。
- 我已经完全重新安装了操作系统,但结果还是一样。
- 我试图在控制台中更改分辨率:
DISPLAY=:0.0 randr
列出屏幕如下HDMI-1
:
- 由于它仅列出了一种可供选择的分辨率,因此我尝试手动添加新的分辨率,但出现错误
Configure crtc 0 failed
。见下文:
问题
所以我不知道该尝试什么。这个解决方案是否像我想象的那样是我的问题?如果是这样,既然我尝试的方法没有奏效,我该如何修复它?
配置.txt
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details
# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1
# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1
# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16
# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1366
#framebuffer_height=768
# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1
# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=2
hdmi_mode=81
hdmi_cvt=1366 768 60 3
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2
# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4
# uncomment for composite PAL
#sdtv_mode=2
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800
# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on
# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi
# Additional overlays and parameters are documented /boot/overlays/README
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
# enable raspicam
start_x=1
#gpu_mem=128
dtoverlay=vc4-kms-v3d
答案1
你可以尝试通过编辑 /boot/config.txt 强制 Raspberry Pi 以预设的分辨率启动
看https://elinux.org/RPiconfig#Video
对于您的情况,您可以尝试添加以下几行:
hdmi_group=2
hdmi_mode=81
然后重新启动。
hdmi_mode = 81 选择 1366 x 768 x 60Hz。
在链接页面上,您可以找到一些替代方案,例如 hdmi_mode = 86 选择 1366 x 768 并减少消隐,而 hdmi_mode = 39 选择 1360 x 768。
如果遇到任何问题,请确保您有办法恢复原始的 /boot/config.txt。
答案2
因此,无论我尝试将其配置为不同的分辨率,我的屏幕上的触摸屏分辨率都固定为 1366 x 768。这就是为什么触摸的位置与鼠标的位置不匹配的原因。
我的解决方案是放弃 FullPageOS 并安装最新版本的 Raspbian。我发现我的分辨率不在 GUI 的下拉菜单中(首选项 > Raspberry Pi 配置 > 设置分辨率),因此我编辑并/boot/config.txt
添加了以下几行:
hdmi_group=2
hdmi_mode=81
我重新启动后,分辨率和触摸屏问题就消失了!
这肯定意味着 FullPageOS 中的某些东西阻止了我在 config.txt 中的更改。我希望这个解决方案将来能帮助其他人,即使它不是可接受的答案。