[Bug] virtio-gpu broken with qemu/kvm on arm64 on kernel 5.5+
Chia-I Wu
olvaffe at gmail.com
Thu Feb 20 18:40:40 UTC 2020
On Thu, Feb 20, 2020 at 4:44 AM Guillaume Gardet
<Guillaume.Gardet at arm.com> wrote:
>
> Hi,
>
> With (guest) kernel 5.5+ with qemu/kvm on arm64, I get lots of display corruptions leading to this kind of screen:
> https://openqa.opensuse.org/tests/1174521#step/yast2_i/24
Looking at the screenshot, it seems cacheline-related?
There was a change of memory type
https://lists.freedesktop.org/archives/dri-devel/2019-August/233456.html
While the guest memory type is ignored on Intel, it is honored on ARM.
This attempt to fix it
https://lists.freedesktop.org/archives/dri-devel/2019-December/248271.html
does not seem to land.
>
> I git bisected it to commit c66df701e783bc666593e6e665f13670760883ee
> **********
> drm/virtio: switch from ttm to gem shmem helpers
>
> virtio-gpu basically needs a sg_table for the bo, to tell the host where
> the backing pages for the object are. So the gem shmem helpers are a
> perfect fit. Some drm_gem_object_funcs need thin wrappers to update the
> host state, but otherwise the helpers handle everything just fine.
>
> Once the fencing was sorted the switch was surprisingly easy and for the
> most part just removing the ttm code.
>
> v4: fix drm_gem_object_funcs name.
>
> Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
> Acked-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> Reviewed-by: Chia-I Wu <olvaffe at gmail.com>
> Link: http://patchwork.freedesktop.org/patch/msgid/20190829103301.3539-15-kraxel@redhat.com
> **********
>
> I also tested kernel 5.6-rc2 which has the same bug.
> Without kvm, the display is fine.
>
> Regards,
> Guillaume
>
More information about the dri-devel
mailing list