cam.py: fix initial modeset
[android/external-libkmsxx.git] / py / tests / cam.py
index b44f8f9cece674dc038ad5c8f184c4a2ee845288..c813b2ff58599a4b14474e846c4ee7e313631a6b 100755 (executable)
@@ -3,18 +3,11 @@
 import sys
 import selectors
 import pykms
-from helpers import *
-
 
 w = 640
 h = 480
 fmt = pykms.PixelFormat.YUYV
 
-
-# This hack makes drm initialize the fbcon, setting up the default connector
-card = pykms.Card()
-card = 0
-
 card = pykms.Card()
 res = pykms.ResourceManager(card)
 conn = res.reserve_connector()
@@ -22,6 +15,13 @@ crtc = res.reserve_crtc(conn)
 plane = res.reserve_overlay_plane(crtc, fmt)
 
 mode = conn.get_default_mode()
+modeb = mode.to_blob(card)
+
+req = pykms.AtomicReq(card)
+req.add(conn, "CRTC_ID", crtc.id)
+req.add(crtc, {"ACTIVE": 1,
+        "MODE_ID": modeb.id})
+req.commit_sync(allow_modeset = True)
 
 NUM_BUFS = 5
 
@@ -48,7 +48,7 @@ def readvid(conn, mask):
     fb = cap.dequeue()
 
     if card.has_atomic:
-        set_props(plane, {
+        plane.set_props({
             "FB_ID": fb.id,
             "CRTC_ID": crtc.id,
             "SRC_W": fb.width << 16,