问题背景
我目前有一个 Raspberry Pi 连接到一个运行FullPageOS的触摸屏 LCD 面板,它基本上是 Debian,它以全屏模式启动 Chromium 到所需的网页。我有两个问题:
- 网页不会完全扩展:
这个问题延伸到控制台(不仅仅是铬):
如果我在控制台中输入的内容比全屏更远,那么我就是在屏幕外输入。
- 触摸屏已关闭
我触摸的点不是鼠标所在的位置。离我所在的屏幕左上角越远,这个错误就越严重。例如,如果我触摸左上角,鼠标几乎匹配。
问题总结
这使我相信分辨率已关闭,因为屏幕上的内容不正确。根据我购买它的网站的原始分辨率是,1366x768
但似乎我的 Raspberry Pi 正在运行1280x800
。
我试过的
我已经尝试了几个月来解决这个问题。
- 我已经完全重新安装了产生相同结果的操作系统。
- 我试图更改控制台中的分辨率:
DISPLAY=:0.0 randr
列出屏幕HDMI-1
如下:
- 因为它只列出了一个可供选择的分辨率,所以我也尝试手动添加一个新的分辨率,但得到了错误
Configure crtc 0 failed
。见下文:
问题
所以我不知道我能尝试什么。我的问题的解决方案是否像我想象的那样?如果是这样,由于我尝试过的方法无效,我该如何解决?
配置文件
# 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
您可以尝试通过编辑 /boot/config.txt 来强制 Raspberry Pi 以预设分辨率启动
见https://elinux.org/RPiconfig#Video
在您的情况下,您可以尝试添加以下行:
并重新启动。
hdmi_mode = 81 选择 1366 x 768 x 60Hz。
在链接页面上,您可以找到一些替代方案,例如 hdmi_mode = 86 选择 1366 x 768 并减少消隐, hdmi_mode = 39 选择 1360 x 768。
如果您有任何问题,请确保您有办法恢复原始 /boot/config.txt。
因此,在我的屏幕上,无论我尝试将其配置为不同的触摸屏,都很难将其设置为 1366 x 768。这就是为什么触摸的位置与鼠标移动的位置不匹配的原因。
我的解决方案是放弃 FullPageOS 并安装最新版本的 Raspbian。我看到我的分辨率不在 GUI 的下拉列表中(Preferences > Raspberry Pi Configuration > Set Resolution),所以我编辑
/boot/config.txt
添加了以下行:我重新启动,我的分辨率和触摸屏问题消失了!
这一定意味着 FullPageOS 中的某些东西阻止了我对 config.txt 的更改。我希望这个解决方案在未来能帮助其他人,即使它不是公认的答案。