Firstly, many thanks for PGenerator. It's a wonderful tool and great to see more open source options appearing for use in colour calibration.
I'm using PGenerator on old CRTs, and wanting to calibrate SD television modes (HCFR does Rec.601 quite nicely). I've had to make a change to PGenerator to allow it to work with interlaced modes.
Specifically the file /usr/share/PGenerator/command.pm calls "tvservice -s" to get the video mode. With progressive scan 480p (hdmi_mode=2), the output looks like:
state 0xa [HDMI CEA (2) RGB full 4:3], 720x480 @ 60.00Hz, progressive
When switching to hdmi_mode=6 480i, tvservice reports:
state 0xa [HDMI CEA (6) RGB full 4:3 x2], 720x480 @ 60.00Hz, interlaced
The extra "x2" field throws out get_hdmi_info, as it pushes the resolution field one column to the right.
My perl-fu isn't good enough to find out where to fix this downstream, so I've just hard-coded in the string with out the "x2" part and it works for me. However I thought I'd mention it in case someone smarter than me can provide the correct fix and a diff (as my method means I need to switch back and forth when using the pattern generator on higher res displays).