Giter Site home page Giter Site logo

Comments (5)

MichaIng avatar MichaIng commented on June 21, 2024 1

Since you enabled the KMS driver, isn't it possible to use KMS/DRM with HamClock instead of the framebuffer device?

I actually was not aware that /dev/fb0 is internally already using KMS/DRM in this case. However, using DRI directly seems more natural, when possible.

Also, did you check whether the mode/depth is reported as supported?

cat /sys/class/drm/HDMI-A-1/modes
tvservice -m DMT
tvservice -m CAE

/etc/fb.modes contains all supported modes for fbset, and could be expanded.
I am generally not sure whether framebuffer_* settings still affect the resolution when KMS/DRM is enabled, or whether one needs to use the kernel command-line video= parameter already. At least with the new kernel/firmware stack this is the case. That the framebuffer is named vc4drmfb however looks like it could work.

And another thing:

sudo usermod -a -G render "$USER"

The render group is required for direct DRI access (/dev/dri/card0 etc). So in case this is indirectly done as well when using it via /dev/fb0, this might be needed.

from dietpi.

oxoocoffee avatar oxoocoffee commented on June 21, 2024

I am checking several things and will reply with more output/findings. Thank you for a quick reply. I am also installing the rPI 5 with the latest image and will test it as well.

from dietpi.

oxoocoffee avatar oxoocoffee commented on June 21, 2024

@MichaIng

  • I did not have time yet to look at what changes would be needed in HamClock to make it work with DRI. I will look into it at some not a distant point.
  • As for /sys/class/drm/HDMI-A-1/modes I think you mean /sys/class/drm/card1-HDMI-A-1/modes. Your path does no exist on my rPI 5. Here is /sys/class/drm listing
card0  card1  card1-HDMI-A-1  renderD128  version

cat /sys/class/drm/version prints drm 1.1.0 20060810
cat /sys/class/drm/card1-HDMI-A-1/modes prints

1920x1080
1920x1080
1920x1080i
1920x1080i
1680x1050
1280x1024
1440x900
1280x960
1280x800
1280x720
1280x720
1280x720
1280x720
1280x720
1024x768
800x600
720x480
720x480
720x480
720x480
720x480
  • sudo apt install fbset fbcat fbterm fbi
  • sudo fbset -i
mode "1920x1080"
    geometry 1920 1080 1920 1080 16
    timings 0 0 0 0 0 0 0
    rgba 5/11,6/5,5/0,0/0
endmode

Frame buffer device information:
    Name        : vc4drmfb
    Address     : 0
    Size        : 4147200
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 1
    YPanStep    : 1
    YWrapStep   : 0
    LineLength  : 3840
    Accelerator : No
  • I do not have tvservice installed.
  • So I did write two small samples one for fb and the other for DRI. Here is my groups output adm tty dialout sudo audio video users input render netdev gpio i2c spi which I added post-installation followed by a reboot.
  • Both samples fail but for different reasons.
  • fb will not work when forced to create a 32-bit plane. A 16-bit works.
  • drm I think I might create a separate ticket if that is the preference.
  • I did try to switch from default "dtoverlay=vc4-kms-v3d" to "dtoverlay=vc4-fkms-v3d". Same as above. 16-bit: ok, 32-bit: fails.
  • sudo install drm-info which produces a lot of output which I have not looked at yet.
  • If needed I can attach my samples to each ticket for a reference if it might be worth it.

from dietpi.

oxoocoffee avatar oxoocoffee commented on June 21, 2024

Forgot to add cat /boot/config.txt | grep gpu_mem

gpu_mem_256=76
gpu_mem_512=76
gpu_mem_1024=76

from dietpi.

oxoocoffee avatar oxoocoffee commented on June 21, 2024

I changed the color depth from default 16 to 32 by adding a kernel parameter.

$ cat /boot/cmdline.txt 
root=PARTUUID=f0cf2e93-02 rootfstype=ext4 rootwait net.ifnames=0 logo.nologo console=tty1 video=HDMI-A-1:1920x1080M-32@60

After reboot, I see the following

$ fbset -i

mode "1920x1080"
    geometry 1920 1080 1920 1080 32
    timings 0 0 0 0 0 0 0
    accel true
    rgba 8/16,8/8,8/0,0/0
endmode

Frame buffer device information:
    Name        : vc4drmfb
    Address     : 0
    Size        : 8294400
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 1
    YPanStep    : 1
    YWrapStep   : 0
    LineLength  : 7680
    Accelerator : No

Which is great. It is in 32. Would 24 work as well?
But now I am wondering about the last entry

Accelerator : No

Is there a way to enable it to get hardware acceleration? At least 2D operations, line lines, and bitmaps.


Perhaps I should open a separate request for this?
Is there a way? or could there be a way to add an option during the first boot, to increase console font size? On my 10.1" 1920x1080 touch screen and a few similar the text is almost not readable. I have to SSH and edit /etc/default/console-setup and change it from 8x16 to 16x32, save and run setupcon

from dietpi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.