Bugzilla – Bug 1169203
Bad performance of Wayland/GNOME on Virtio GPU
Last modified: 2020-10-08 06:00:08 UTC
Created attachment 835452 [details]
Wayland performs very bad in comparison to X11.
Even with plenty amount of free ram (3GB+ free of total 4GB), Wayland/GNOME behaves slower and a key presses are missed.
This bad performance is more visible on aarch64, even more on qemu VM, where a lot of short-time visual artifacts make very uncomfortable to use the system.
This could be another cause of typing issues shown in openQA.
When selecting "GNOME on Xorg" at the login screen, the situation improves a lot. The response of GNOME is still a little bit to slow for a 4GB QEMU VM, but I was not able to reproduce missing keys nor have visual artifacts.
I was trying to debug why on aarch64 the opensuse-welcome popup is not shown.
The top bar shows the name, but the windows doesn't appear.
I tried to login with "GNOME on Xorg" where I could execute opensuse-welcome in a terminal and see the popup.
Then I activated the checkbox "Show on startup", I logged out, selected "GNOME" (Wayland) and login doesn't work. It crashes and show GDM again.
Please, find attached the systemd journal output since GDM login on Wayland/GNOME to the crash.
Which graphics hardware is this? Maybe gdm greeter should better disable GNOME/Wayland sessions on that one.
(In reply to Stefan Dirsch from comment #1)
> Which graphics hardware is this? Maybe gdm greeter should better disable
> GNOME/Wayland sessions on that one.
It is a QEMU VM under seattle10.arch.suse.de
This appears to be a an aarch64 machine.. I guess in the VM an aarch64 guest is running. I don't know which graphics emulation is being used for that. Could you tell me the qemu otions?
The graphic emulation is virtio-gpu-pci
In case it is helpful, here is the whole command used by openQA:
Thanks. Could you also provide the output of
inxi -x -G
on the guest? Also
on the guest. The whole X logfile of the guest would also be useful.
Created attachment 835750 [details]
Created attachment 835751 [details]
Hardware Class: graphics card
Model: "Red Hat Virtio GPU"
Vendor: pci 0x1af4 "Red Hat, Inc."
Device: pci 0x1050 "Virtio GPU"
SubVendor: pci 0x1af4 "Red Hat, Inc."
SubDevice: pci 0x1100
Driver Modules: "virtio_pci"
Thanks. I suggest to disable Wayland/GNOME with this GPU. Reassigning to GNOME component.
here are a few more ideas for debugging.
(In reply to Stefan Dirsch from comment #8)
> Hardware Class: graphics card
> Model: "Red Hat Virtio GPU"
> Vendor: pci 0x1af4 "Red Hat, Inc."
> Device: pci 0x1050 "Virtio GPU"
> SubVendor: pci 0x1af4 "Red Hat, Inc."
> SubDevice: pci 0x1100
> Revision: 0x01
> Driver: "virtio-pci"
> Driver Modules: "virtio_pci"
This is a virtual graphics card that uses the host's HW for rendering.
What graphics hardware does the host contain?
Stefan, do we ship the virgl Mesa driver? If so, can we find out if Gnome on Wayland uses it?
Thomas, yes we have the build of virgl driver enabled. I see
in the Mesa-dri aarch64 package on TW. I guess you can figure out which driver is being used for OpenGL with
glxinfo | grep "OpenGL renderer"
(In reply to Thomas Zimmermann from comment #9)
> What graphics hardware does the host contain?
I think the host doesn't have any. I cannot find any VGA/GPU with lspci nor hwinfo.
Is there any other command to know that?
(In reply to Sergio Lindo Mansilla from comment #11)
> (In reply to Thomas Zimmermann from comment #9)
> > What graphics hardware does the host contain?
> Hi Thomas,
> I think the host doesn't have any. I cannot find any VGA/GPU with lspci nor
> Is there any other command to know that?
lspci -v should be fine. Can you post its output?
If there's no host graphics card, virtio would use software rendering. No wonder it's slow.
Ok. Thanks for giving it a try. Maybe we should disable Wayland on aarc64 in general ...
(In reply to Stefan Dirsch from comment #19)
> Ok. Thanks for giving it a try. Maybe we should disable Wayland on aarc64 in
> general ...
No. Honestly, this performance problem is caused by the lack of HW accelerarion AFAICT. We're trying to get aarch64 support into better shape. Disabling features to fix a corner case would not help.
Why corner case? AFAIK Wayland/GNOME is our default sessions type. So more or less every aarch64 user runs into this issue ...
Or at least openQA ...
(In reply to Stefan Dirsch from comment #21)
> Why corner case? AFAIK Wayland/GNOME is our default sessions type. So more
> or less every aarch64 user runs into this issue ...
Every aarch64 is affected? This report is about a performance problem that comes from the lack for HW rendering. Driver quality aside, there are other aarch64 systems that have HW available (e.g., RasPi3).
Am I missing something?
*** Bug 1170586 has been marked as a duplicate of this bug. ***
This is a regression since Leap 15.2 on aarch64 has no problem.
But I am not sure it is really a problem of performance on Wayland.
https://bugzilla.opensuse.org/show_bug.cgi?id=1170586#c1 suggests it is a race condition on session start as running "opensuse-welcome" manually works fine, and logout/login reproduces the problem.
How could we move forward here?
Installed aarch64 iso on my machine with qemu, both Xorg and Wayland is terrible, do I missed something?
(In reply to Alynx Zhou from comment #29)
> Installed aarch64 iso on my machine with qemu, both Xorg and Wayland is
> terrible, do I missed something?
Did you enable KVM? Without KVM, performances are much lower.
So, if you use an aarch64 host, please enable KVM.
(In reply to Guillaume GARDET from comment #30)
> (In reply to Alynx Zhou from comment #29)
> > Installed aarch64 iso on my machine with qemu, both Xorg and Wayland is
> > terrible, do I missed something?
> Did you enable KVM? Without KVM, performances are much lower.
> So, if you use an aarch64 host, please enable KVM.
I see, I am using my X86 machine...