qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: VGA hardware cursor query


From: BALATON Zoltan
Subject: Re: VGA hardware cursor query
Date: Mon, 8 Aug 2022 23:01:36 +0200 (CEST)

On Mon, 8 Aug 2022, BALATON Zoltan wrote:
On Sun, 7 Aug 2022, BALATON Zoltan wrote:
On Sun, 7 Aug 2022, Mark Cave-Ayland wrote:
On 07/08/2022 12:47, Elliot Nunn wrote:

I want to give Mac OS 9 clients access to hardware cursor support, to improve
responsiveness in absolute-cursor mode.
Would it be acceptable to add a hardware cursor interface to the VGA device?
And if so, can anyone advise on an appropriate register layout?
This is an example of such a patch. Because it alters the Bochs VBE interface it is ONLY an example, NOT fit for acceptance. I have omitted the changes to
the binary driver qemu_vga.ndrv.
Kind regards,
Elliot Nunn
Nice work! Have you been in contact with the Bochs developers to see what their thoughts are to your proposed changes? Generally QEMU prefers to implement documented specifications, so this would be the best route to go.

Thanks! I don't think it would be appropriate to update the Bochs standard with a feature that they don't use. And on reflection, perhaps the compatibility-oriented VGA device is big enough already.

Sure, no worries.

My plan is to write a Mac OS 9/X "ndrv" targeting virtio-gpu. All going this well, this might become the default mac99 GPU until ati-vga is ready.

That sounds really interesting. Is there a forum/mailing list somewhere where it is possible to follow the Mac side of your work? I can certainly advise on the qemu-system-ppc side.

But virtio-gpu is not compiled into qemu-system-ppc by default. What is the difference between CONFIG_VIRTIO_(GPU|PCI|VGA)? And is configs/devices/ppc-softmmu/default.mak the correct place to declare them?

You probably want to add a "select VIRTIO_GPU_PCI" and/or "select VIRTIO_GPU_VGA" in the "config MAC_NEWWORLD" section of hw/ppc/Kconfig to enable the virtio devices for the mac99 machine.

Not sure how this works but pc and pseries machines seem to have imply VIRTIO_VGA so probably that's what you need to add to config MAC_NEWWORLD or just try qemu-system-ppc64 -machine mac99,via=pmu -cpu G4 which should already have it due so pseries but may otherwise be equivalent to the one in qemu-system-ppc.

I've tried this:

qemu-system-ppc64 -M mac99,via=pmu -cpu G4 -m 512 \
-vga none -device virtio-vga,romfile=qemu_vga.ndrv \
-cdrom "Mac OS 9.2.2 Universal Install.iso" -boot d \
-serial stdio

to see if it recognised the card in vga mode but it does not work. (Without the second line disabling stdvga and adding virtio-vgs this does boot for me.) The problem seems to be that openbios does not recognise the rom, maybe because it expects the rom to be at BAR 6 and only tries to map that but virtio-vga seems to have rombar=1 by default (see info qtree in monitor). I did not try if it's settable though so maybe adding virtio-vga,rombar=6 could get it further?

I've tried with rombar=6 but it made no change. I don't fully get how this should work. Even by default when rombar=1 the virtio-vga device does not seem to have BAR 1 but has a BAR 6. Openbios seems to look for that but maybe only for vga devices it knows about. I thought it would also look for device class but maybe it needs to be added to openbios's pci database for it to recognise and try to detect an NDRV in ROM? Maybe Mark could look at it and advise. I think I gave up here, don't want to debug this further but getting MacOS 9 boot with virtio-vga in vga mode would give Elliot a good start to experiment with ndrv and not fight with QEMU and OpenBIOS instead just to get started.

Regards,
BALATON Zoltan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]