On 14/03/17 10:00, Alex Bennée wrote: > Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> writes: > >> I've recently noticed some video artifacts appearing in the form of >> horizontal lines whilst testing OpenBIOS boot on some qemu-system-ppc >> images (see https://www.ilande.co.uk/tmp/qemu/macos9-stripe.png for an >> example) which I've finally bisected down to this commit. > > Interesting. Is the video hardware in this case a simple framebuffer or > is there some sort of GPU involved?
For the mac99 machine it's just the normal QEMU PCI std-vga card, so nothing special. Having run tests across SPARC which uses its own framebuffer, there have been no obvious artifacts that I've spotted there to date. >> The horizontal lines tend to appear at different positions with >> different lengths, although it seems to be more common that a complete >> scanline is affected. Reproducing the issue is fairly easy with a MacOS >> 9.2.1 ISO and the command line below: >> >> ./qemu-system-ppc -cdrom MacOS921.iso -boot d -m 512 -M mac99 >> >> Could it be that this patch is still missing a lock somewhere which >> causes these artifacts to appear? > > It depends. If the hardware is accessed via MMIO then the BQL is taken > automatically (unless the area is explicitly marked as doing its own > locking see: mr->global_locking). > > Is the artefact temporary or permanent? Could it be a change in > synchronisation between the emulator updating the framebuffer and > whatever backend updating its display? AFAICT they are temporary in that they appear randomly on the display, but the next time that particular area of the display is updated by the guest then they tend to either change/disappear. MacOS 9 is interesting in that it's effectively an emulator within an emulator, i.e. 68K code running on a PPC emulator and so does tend to stress QEMU in interesting places. Given that I've also seen the occasional issue with Darwin/OS X it seems the problem isn't just constrained to OS 9, however it seems to occur a lot more often there. ATB, Mark.