Skip to content

Add display-driver + GUD example - #12

Open
rhgndf wants to merge 2 commits into
decaday:masterfrom
rhgndf:gud-example
Open

rhgndf wants to merge 2 commits into
decaday:masterfrom
rhgndf:gud-example

Conversation

@rhgndf

@rhgndf rhgndf commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

These kinds of examples would be interesting to add: Use the Linux GUD driver to make the microcontroller act as an additional display output and let your desktop be joined to the screen. This will need a GUD class driver to be added to embassy.

I'm using this as an easy way to try to display images and test out brightness levels on the displays

@decaday

decaday commented Oct 10, 2026

Copy link
Copy Markdown
Owner

This is so awesome!

image

However, this PR just needs a rebase onto master and an update to Cargo.toml .

I don't have a CH32V305, so I ported it to the RP2040 instead. It ran successfully in the end, verifying that the code itself should be fine.

However, it looks like the VID:PID (1209:4FB3) used by the embassy-usb GUD class was only added to the Linux kernel in this patch. I am using kernel 7.1.3, and the first kernel version to include this patch is 7.2, so I spent some time troubleshooting this issue. Perhaps a quick note could be added to the example comments to remind users.

@rhgndf

rhgndf commented Oct 10, 2026

Copy link
Copy Markdown
Contributor Author

This is so awesome!

Thanks!

This will work much better with usb2/usb3 and a larger screen. ch32v305 has high-speed usb, so I got close to 60fps out of it.

I have also submitted a patch to make the default vid/pid the first one which should be supported since the driver has been introduced in the linux kernel.

I think you might have to wait until a new embassy-usb is released before merging this, since the gud class driver is still in the unreleased part.

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

Successfully merging this pull request may close these issues.

2 participants