Display Port configuration method causes the jupyter kernel to die

I try to use the Display Port on my Ultra96-V2 PYNQ v2.5 to display a video on my monitor, but the kernel always dies.

The code is from this example Notebook. The kernel dies as soon as I call the configure function.

For repoducing the error…

from pynq.lib.video import *
displayport = DisplayPort()
displayport.configure(VideoMode(1280, 720, 24), PIXEL_RGB)

when running

cat  /var/log/jupyter.log

it just gives me an “std::runtime_error” and that “could not find compatible mode”. I think it is pretty odd, because shouldn’t PYNQ support the DisplayPort? I am not sure what I did wrong…
Is there a better way to display a video on the Ultra96-V2.

I’ve read something similar in another post.
In this post they’ve mentioned something the following command, but I am not 100% sure when to use it.

!export DISPLAY=:0.0

Thank you already in advance. Hopefully it can also help other guys who are trying to display a Video on the Ultra96-V2.

That error appears when Linux reports that the requested resolution and framerate isn’t supported by the display. It’s on my todo list to make provide a mechanism to enumerate the available modes and make error more descriptive and not crash the notebook.

Couple of questions:

  • Does the display turn on and display the a terminal or desktop when the board boots? If not then there is something wrong at the level below PYNQ. Looking through dmesg for references to “drm” might be able to shed some light on what’s going on. If you are using an DisplayPort->HDMI adapter it needs to be active and even then the Ultra96 can be quite picky.
  • Assuming there is a signal try running the modetest program. You can find it as part of the libdrm repository. This will enumerate all of the supported resolutions for the display using the same mechanism as PYNQ.

Peter

Hey @PeterOgden . First things first, thank you very much for your reply!! :relaxed:

  1. Does the display turn on and display the a terminal or desktop when the board boots?
    No I’m afraid it doesn’t. I’ve run the dmesg command. There are four entries with “drm”. But it didn’t seem to be faulty.

But I’ve got some interesting errors in other sections.

About the DisplayPort->HDMI adapter I’ve already confirmed it is an active one and it already worked with the Ultra96 before.

  1. About the modetest and libdrm
    I’ve tried to install the package from the GitHub Page with following commands…
git clone https://github.com/nobled/libdrm
cd libdrm
make
make install

After the installation, if I try the command modetest, it won’t find and execute the command.