https://bugzilla.suse.com/show_bug.cgi?id=1219180 https://bugzilla.suse.com/show_bug.cgi?id=1219180#c16 --- Comment #16 from Claudio Fontana <claudio.fontana@suse.com> --- (In reply to Joey Lee from comment #12)
Hi Thomas,
(In reply to Thomas Zimmermann from comment #6)
Here are the results of my investigation so far. The kernel tries to acquire the UEFI boot framebuffer via find_gop() [1]. It fails for all available results at the pixel_format test at [2]. The firmware only supports the BitBlt() EFI call to read/write framebuffer data. It's a boot service, so it's gone after the kernel initialized. We cannot use it.
I've tested with kernel's going back to v6.4. It's always reproducible.
To fix this problem, we have modify qemu's OVMF firmware to provide a pixel format and a framebuffer to which we can memcpy(). AFAICT a pixel format of PIXEL_BIT_MASK [3] would do this.
[1] https://elixir.bootlin.com/linux/v6.8/source/drivers/firmware/efi/libstub/ gop.c#L521 [2] https://elixir.bootlin.com/linux/v6.8/source/drivers/firmware/efi/libstub/ gop.c#L489 [3] https://elixir.bootlin.com/linux/v6.8/source/drivers/firmware/efi/libstub/ efistub.h#L519
Could you please teach me how to create a qemu of aarch64 with graphics window? I used the following qemu command for launching a aarch64 guest. But it always only shows message on terminal console. Not graphic window:
qemu-system-aarch64 \ -m 4096 -cpu cortex-a57 -smp 4 -M virt \
Hi @joey, any reason why you are running with cortex-a57 and TCG? The supported environment for AArch64 is KVM, with cpu host. Here is again the set of recommendations for ARM KVM from the QEMU manual: https://www.qemu.org/docs/master/system/target-arm.html https://www.qemu.org/docs/master/system/arm/virt.html This would avoid a lot of trial and error and unsupported combinations: lets test what is actually supported upstream and downstream. Thanks, C
-drive if=pflash,format=raw,readonly,file=/usr/share/qemu/aavmf-aarch64-code.bin \ -drive if=pflash,format=raw,file=/home/joeyli/qemu-vm/openSUSE-MicroOS-aarch64-vars- store.bin \ -serial mon:stdio \ -net nic,model=virtio -net nic,model=virtio -net bridge,br=br0,helper=/usr/libexec/qemu-bridge-helper \ -drive if=none,file=/home/joeyli/iso/openSUSE-MicroOS-DVD-aarch64-Current.iso, id=hd0 -device virtio-blk-device,drive=hd0 \ -drive if=none,file=/home/joeyli/qemu-vm/openSUSE-MicroOS-aarch64-efi.qcow2,id=hd1 -device virtio-blk-device,drive=hd1 -vnc :93
Thanks! -- You are receiving this mail because: You are on the CC list for the bug.