问题描述
我目前有一个从 RaspBerry PI 3 运行的图形应用程序。我正在使用 LG B9 4k 电视 (3840x2160),而 Pi 将其映射到 1920x1080 以将我的应用程序投影到电视上。这工作正常,但分辨率当然没有那么清晰。
我现在有一台 Pi 4 可以使用 4k 分辨率。但是帧缓冲区映射失败。我尝试比较两者的 /boot/config.txt 文件,两次执行之间的一个区别是帧缓冲区的颜色深度?我的 Pi 3 具有每像素 32 位的颜色深度,这似乎有效。 Pi 4 的每像素位数为 16 并且这不起作用,所以我假设问题是颜色深度。如何更改帧缓冲区的颜色深度?为什么我的帧缓冲区映射失败是电视分辨率与我在代码中设置的分辨率相匹配?这是我的设置和我打印的输出的配置文件。
编辑:(潜在解决方案)我能够通过禁用 3d 加速将分辨率更改为 3840x2160,每像素 32 位,即配置文件中的 dtoverlay=vc4-fkms-v3d。
Pi 3 设置 (1920x1080)
# 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=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=1
#hdmi_mode=63
hdmi_mode=95
# 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 serial console
enable_uart=1
# Added by Nisarg:Use RGB full(0-255)
#hdmi_pixel_encoding = 2
hdmi_enable_4kp60=1
**OUTPUT**:
xRes =1920,yRes=1080
bits/pixel = 32
bpc = 4
bits/pixel = 32
real x = 3840
real y = 2160
virtual x = 3840
virtual y = 2160
here19201080frame buffer size = 8294400
herehereUsb Click Open
timer 1ms ID is 0x121410
timer 100ms ID is 0x121420
Pi 4 设置 (3840x2160)
# 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=3840
#framebuffer_height=2160
#framebuffer_depth=32
# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1
# 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=1
#hdmi_mode=95
# 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,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 infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18
# Additional overlays and parameters are documented /boot/overlays/README
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2
[all]
#dtoverlay=vc4-fkms-v3d
#hdmi_enable_4kp60=1
OUTPUT:
xRes =3840,yRes=2160
bits/pixel = 16
bpc = 4
bits/pixel = 32
real x = 3840
real y = 2160
virtual x = 3840
virtual y = 2160
here38402160frame buffer size = 33177600
fb map Failed!
Segmentation fault
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)