vc4-fkms-v3d and framebuffer

Open
#3,391 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
c

Research direction

Start by reproducing the fbset commands on an RPI4B using vc4-fkms-v3d, with the resolution set in config.txt. Investigate the framebuffer handling for FBIOPUT_VSCREENINFO and compare the requested values with the reported framebuffer information. Done means increasing resolution, changing color depth, and applying pixel clock updates work as described.

Written by the indexing model from the issue text.

Description

Waiting for external input

Hello,

With the introduction of the new vc4-fkms-v3d with the RPI4, I encounter many problems with this new emulated framebuffer.

First trouble :
It's impossible to increase framebuffer size.
For example, if you define a 640x480 framebuffer/resolution in your config.txt, you canno't increase it to 800x600 by issuing this kind of command :
fbset -xres 800
give you
ioctl FBIOPUT_VSCREENINFO: Invalid argument
while reducing framebuffer works :
fbset -xres 600

Second trouble :
Issuing a command to change color depth also give an error :
fbset -depth 16
give the same invalid error
ioctl FBIOPUT_VSCREENINFO: Invalid argument

Third error
Pixel clock is not saved in the framebuffer information
fbset -pixclock 1000
give no error but the value is not applied

Tested on a RPI4B, buster, firmware 4.19.88-v7l+

Those options were essentials when you wanted to change resolutions on the fly : #637

Thanks

Dominant language
C
Stars
13.2k
Forks
5.5k
Avg merge
2d 21h
Merged PRs (30d)
21

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from raspberrypi/linux

All issues in raspberrypi/linux

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.