• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/python3
2
3import pykms
4
5# This hack makes drm initialize the fbcon, setting up the default connector
6card = pykms.Card()
7card = 0
8
9card = pykms.Card()
10res = pykms.ResourceManager(card)
11conn = res.reserve_connector()
12crtc = res.reserve_crtc(conn)
13mode = conn.get_default_mode()
14
15fb = pykms.DumbFramebuffer(card, mode.hdisplay, mode.vdisplay, "XR24");
16pykms.draw_test_pattern(fb);
17
18crtc.set_mode(conn, fb, mode)
19
20len=256
21arr = bytearray(len*2*4)
22view = memoryview(arr).cast("H")
23
24for i in range(len):
25    g = round(65535 * pow(i / float(len), 1 / 2.2))
26
27    view[i * 4 + 0] = g
28    view[i * 4 + 1] = g
29    view[i * 4 + 2] = g
30    view[i * 4 + 3] = 0
31
32gamma = pykms.Blob(card, arr);
33
34crtc.set_prop("GAMMA_LUT", gamma.id)
35
36input("press enter to remove gamma\n")
37
38crtc.set_prop("GAMMA_LUT", 0)
39
40input("press enter to exit\n")
41