-
Notifications
You must be signed in to change notification settings - Fork 61
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
Cog not working with modeset renderer on Beagle Bone #502
Comments
From the messages in
Using the GLES renderer works because in that case because Cog picks an EGL configuration with an output pixel format compatible with the selected DRM plane, in this case
You can try setting Another thing we might want to try is making the modeset renderer code smarter so it tries finding a suitable plane that supports ARGB8888/XRGB8888. It would be interesting to have a better idea of what the KMS/DRM driver supports, so if you could provide the output of the drm_info tool (or upload it to the drmdb) that would be useful to know if it would be even possible to find a suitable plane in this hardware. |
FWIW, disabling atomic mode setting should not make a difference in this case, but in case you may want to know, can be done this way: cat > cog.ini <<EOF
[drm]
disable-atomic-modesetting = true
EOF
cog --config=cog.ini ... The supported config file options are listed in the documentation. |
Apparently one can set the default pixel format in cat > /etc/powervr.ini <<EOF
[default]
WindowSystem=libpvrDRMWSEGL.so
DefaultPixelFormat=ARGB8888
EOF I don't have hardware at hand with a PowerVR graphics chip, so unfortunately I cannot try this myself. Hopefully the tips help 🤞🏼 |
Ok I've completly forgot that the pixel format was set in webkit, I actually tried to set RGB565 in https://github.com/Igalia/cog/blob/master/platform/drm/cog-drm-modeset-renderer.c#L243 but this didn't work? Based on drminfo there are three pixel format available: RGB565, BGR888 and XBGR8888 Setting WEBKIT_EGL_PIXEL_LAYOUT=RGB565 works but based on https://github.com/WebKit/WebKit/blob/main/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp#L105 it wouldn't be possible to set it to BGR888 or XBGR8888 ?
Thanks ! |
Im using cog 0.14.1 and it seems that the option is not applied :
|
This doesn't seems to work from what I observed, drm_info always returns RGB565 ? |
Ah, good to know, so we better don't recommend again trying to change the pixel format there. It seems that
@zdobersek, @alexgcastro: Any thoughts on these options? The first two ones would be rather quick to implement, but I could use a second opinion. |
Oh wait, I just realized from the drmdb entry (thanks a lot for posting it!) that the DRM output is driving a LCD controller. Does the LCD panel actually support 24-bit color, or only 16-bit? In the latter case, I think picking RGB565 may be the better option in your case—and we may still want to investigate why the |
Hello,
On the BeagleBone black when drm backend with the modeset renderer is used the display screen remains black and I have the following warning :
(cog:402): Cog-DRM-WARNING **: 07:50:00.867: failed to schedule a page flip: Invalid argument
With the gles renderer cog is running, I attached both logs if it can help.
The issue seems to come from the atomic modesetting but I couldn't figure out which settings could make the drm driver failing ?
I tried to set COG_PLATFORM_DRM_MODE_MAX=1024x768@60 but still nothing on my display.
cog-drm-gles.log
cog-drm-modeset.log
dmesg-cog-drm-gles.log
dmesg-cog-drm-modeset.log
The text was updated successfully, but these errors were encountered: