Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[help]: How to use HDMI output in Linux with Big Core of CanMV #52

Open
troibe opened this issue Jan 6, 2024 · 4 comments
Open

[help]: How to use HDMI output in Linux with Big Core of CanMV #52

troibe opened this issue Jan 6, 2024 · 4 comments
Assignees

Comments

@troibe
Copy link

troibe commented Jan 6, 2024

Help

I'm trying use the HDMI output to display 3D graphics which are computed on the big core.
My setup is currently running buidroot linux on the big core.

Now I have a couple of questions for the CanMV board:

  • First of all is the HDMI output physically connected to both the small and the big core?
  • Does the CanaanDRM driver work with both cores?

The only document I could find so far is this.
For this document I have the following questions:

  • Is DSI-1 connected to the HDMI port or the DSI connector on the board?
  • If I run modetest the DSI-1 always shows up as connected even if there is no DSI or HDMI screen connected. Is this right?

Background:
I have added Vector extension support to SwiftShader (a graphics driver for CPUs).
Currently I have a working setup in qemu using buildroot that I want to try on real hardware.

@zhangxiaojingCAN
Copy link

zhangxiaojingCAN commented Jan 9, 2024

Hi,
K230 chip only has MIPI DSI interface. On CanMV-K230 board, we use a MIPI-TO-HDMI chip that converts MIPI signal to HDMI video. The MIPI-TO-HDMI chip is controlled by I2C interface.
As you know, in current SDK, big C908 core runs a RTOS and little C908 core runs linux. Both cores can controlled any device like external MIPI-TO-HDMI chip or VO/DSI module of K230 chip. However, in current SDK, HDMI/DSI/VO is only initialized on big C908 core running RTOS. Though little C908 core supports DRM driver, it just controls several graphics layers of VO. In another word, the DRM dirver in linux is not a full version. If you just run a linux on big core, existing DRM driver doesn't initialize full hardware for HDMI output.
We're implementing the full functional DRM driver for linux. It would be released in couple of weeks. By then, you can use HDMI output in a linux. We will also release Ubuntu and Debian image.

@troibe
Copy link
Author

troibe commented Feb 16, 2024

Did you already make any progress on this issue?
For now I resorted to rendering to a virtual framebuffer using Xvfb.
The performance is really promising (close to 2x the framerate compared to scalar execution).
So of course it would be nice to have a visual demo using a real framebuffer.

@intx82
Copy link

intx82 commented Jul 29, 2024

any news?

@zhangxiaojingCAN
Copy link

Linux DRM dirver was released in linux SDK https://github.com/kendryte/k230_linux_sdk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants