> Why do you think it wouldn't work for a JPEG? I just made one like that, and it worked just fine.
JPGs are lossy encodings; my use-case would definitely not work with JPGs, not matter how high you put the quality.
For testing a display (like displaymate does) you literally want to light up specific pixels with specific colors. You can't do that with JPGs.
You can do that with JPEGs, just not the obvious way (i.e. by exporting the JPEG at the target resolution.)
Instead, you need to export the JPEG at a resampled resolution that's a multiple of your target resolution, such that each pre-transform source-image pixel gets mapped to its own entirely-independent JPEG color block.
Most obvious (though perhaps not optimal?) approach: nearest-neighbour upscale your image by 8x, and then save as JPEG with 100% quality (which will create 8x8 blocks with 4:4:4 subsampling.)