Closed Merith-TK closed 3 years ago
# /boot/config.txt
hdmi_force_hotplug = 1
hdmi_cvt = 128 128 60 1 0 0 0
hdmi_group = 2
hdmi_mode = 87
# /etc/rc.local ## the command is where i store my built binaries
/opt/userbin/fbcp &
built with #77 and it works... although display is squished to hell
Take note of the message
Source GPU display is 480x720.
in the log. If you have
hdmi_cvt = 128 128 60 1 0 0 0
then fbcp-ili9341 should be saying that the source GPU display is 128x128. Given that it is not, it means that some piece of software has resized the HDMI framebuffer size from 128x128 to 480x720. Try to remove running such software, or try to configure that to also adapt to 128x128 resolution.
You can also try using the tvservice
and fbset
command line tools to adjust the resolution after boot, but that should be done while fbcp-ili9341
is not running, because changing the resolution will crash Pi's DispmanX library (issue https://github.com/raspberrypi/userland/issues/461 )
Thats part of the problem. nothing in my system would controll the display at all, and surprisingly, it doesnt crash, the resize works
I have fbcp running as a systemd service to clean things up and make things easier (litterally, just running fbcp) Using the Python SPI library for this it works without issue and scales properly.
However no matter what i do, if it the x and y res values are the same, i get a boarder that shrinks my display space by atleast 10-20px on all sides.
And the only way i am able to get the display to work at a readable resolution, is by using fbset
currently,
I have my Pi setup with tty auto login
fbset 128x128-60
The fbmode i have setup so fbset even works, Otherwise i get a larger display signal than what i want
mode "128x128-60"
# D: 25.175 MHz, H: 31.469 kHz, V: 59.94 Hz
geometry 128 128 128 128 32
timings 39722 48 16 33 10 96 2
endmode
/boot/config.txt
# For more options and information see
# http://rpf.io/configtxt
# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
overscan_left=-10
overscan_right=0
overscan_top=0
overscan_bottom=0
# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720
# 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=87
hdmi_cvt = 128 128 60 1 0 0 0
ctv_width=130
ctv_height=129
cvt_framerate=60
cvt_aspect=1
cvt_margins=0
cvt_interlace=0
cvt_rb=1
# uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
dtparam=spi=on
dtparam=audio=on
[all]
#dtoverlay=vc4-fkms-v3d
enable_uart=1
## GPIO DISPLAY ##
display_rotate = 2
and even when i set framebuffer_width/height
to 128, i still get this nasty boarder
What does tvservice -s
give?
https://www.raspberrypi.org/forums/viewtopic.php?t=25933 suggests one can run
tvservice -m CEA
tvservice -m DMT
to list the available modes. There should be a custom mode string to set arbitrary resolution like 128x128.
I don't know if /boot/config.txt is sensitive to spaces, so might try having hdmi_cvt=128 128 60 1 0 0 0
instead of hdmi_cvt = 128 128 60 1 0 0 0
.
Also try removing dtparam=spi=on
, that can interfere with fbcp-ili9341.
The options
cvt_framerate=60
cvt_aspect=1
cvt_margins=0
cvt_interlace=0
cvt_rb=1
overscan_left=-10
overscan_right=0
overscan_top=0
overscan_bottom=0
should not be needed, try removing those as well. (fbcp-ili9341 can also be configured to do cropping)
pi@merithpi:~ $ tvservice -s
state 0xa [HDMI DMT (4) RGB full 4:3], 640x480 @ 60.00Hz, progressive
pi@merithpi:~ $ tvservice -m CEA
Group CEA has 2 modes:
mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive
mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive
pi@merithpi:~ $ tvservice -m DMT
Group DMT has 1 modes:
(prefer) mode 4: 640x480 @ 60Hz 4:3, clock:25MHz progressive
your suggested changes fixed the boarder issue (aside from a small but tolerable amount on the bottom)
Tvservice should be showing the 128x128 mode. This suggests something has reset it, or the /boot/config.txt field did not apply.
Check out e.g. https://www.raspberrypi.org/forums/viewtopic.php?t=24679 for more discussion about custom modesetting.
Closing out old issues.
Built with
Pi3b+