微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 Raspberry Pi 3 和 Pi 4 的帧缓冲深度不同?如何使用 Raspberry Pi 4 成功映射到 4k 帧缓冲区?

如何解决为什么 Raspberry Pi 3 和 Pi 4 的帧缓冲深度不同?如何使用 Raspberry Pi 4 成功映射到 4k 帧缓冲区?

我目前有一个从 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 举报,一经查实,本站将立刻删除。