‹ projects

reverb-m1

Native wired VR on Apple silicon: Reverb G1 display bring-up and stereo demo
git clone https://umhau.org/code/reverb-m1.git
Log | Files | Refs

displaywatch.swift (1013B)


      1 // Logs display add/remove/mode events with timestamps.
      2 import AppKit
      3 import CoreGraphics
      4 setvbuf(stdout, nil, _IOLBF, 0)
      5 func dump(_ tag: String) {
      6     var ids = [CGDirectDisplayID](repeating: 0, count: 8); var n: UInt32 = 0
      7     CGGetOnlineDisplayList(8, &ids, &n)
      8     let d = ids.prefix(Int(n)).map { id -> String in
      9         let m = CGDisplayCopyDisplayMode(id)
     10         return "\(id):\(CGDisplayVendorNumber(id)) \(m?.pixelWidth ?? 0)x\(m?.pixelHeight ?? 0)@\(m?.refreshRate ?? 0)"
     11     }
     12     print(String(format: "%.3f ", Date().timeIntervalSince1970) + "\(tag): \(d.joined(separator: " | "))")
     13 }
     14 CGDisplayRegisterReconfigurationCallback({ id, flags, _ in
     15     if flags.contains(.beginConfigurationFlag) { return }
     16     var f: [String] = []
     17     if flags.contains(.addFlag) { f.append("ADD") }
     18     if flags.contains(.removeFlag) { f.append("REMOVE") }
     19     if flags.contains(.setModeFlag) { f.append("MODE") }
     20     dump("display \(id) [\(f.joined(separator: ","))]")
     21 }, nil)
     22 dump("start")
     23 NSApplication.shared.run()