Hi Gerd, I'm currently trying to get accelerated graphics working on an AArch64 AGL distribution (both in KVM and TCG builds). As far as I can tell the device is being correctly created and I do get a working DRI based display. However the Weston based compositor falls back to the softpipe rendering: Date: 2020-10-22 UTC [19:37:22.296] Using config file '/etc/xdg/weston/weston.ini'. [19:37:22.297] Output repaint window is 7 ms maximum. [19:37:22.298] Loading module '/usr/lib/libweston-8/drm-backend.so' [19:37:22.318] initializing drm backend [19:37:22.323] logind: not running in a systemd session [19:37:22.323] logind: cannot setup systemd-logind helper (-61), using legacy fallback [19:37:22.370] using /dev/dri/card0 [19:37:22.370] DRM: supports universal planes [19:37:22.370] DRM: supports atomic modesetting [19:37:22.370] DRM: supports picture aspect ratio [19:37:22.373] Loading module '/usr/lib/libweston-8/gl-renderer.so' [19:37:22.540] EGL client extensions: EGL_EXT_client_extensions EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug EGL_EXT_platform_wayland EGL_MESA_platform_gbm EGL_MESA_platform_surfaceless EGL_EXT_platform_device [19:37:22.542] EGL version: 1.4 [19:37:22.542] EGL vendor: Mesa Project [19:37:22.542] EGL client APIs: OpenGL OpenGL_ES [19:37:22.542] EGL extensions: EGL_ANDROID_blob_cache EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_image_dma_buf_export EGL_MESA_query_driver [19:37:22.542] warning: Disabling render GPU timeline and explicit synchronization due to missing EGL_ANDROID_native_fence_sync extension [19:37:22.542] EGL_KHR_surfaceless_context available [19:37:22.819] GL version: OpenGL ES 3.1 Mesa 20.0.2 [19:37:22.819] GLSL version: OpenGL ES GLSL ES 3.10 [19:37:22.819] GL vendor: VMware, Inc. [19:37:22.819] GL renderer: softpipe [19:37:22.819] GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays I know the kernel has the right bits enabled (VIRTIO_DRM_GPU) but the kernel seems to think the host needs something else to support it: [ 2.743035] virtio-pci 0000:00:04.0: enabling device (0000 -> 0003) [ 2.746441] virtio-pci 0000:00:05.0: enabling device (0000 -> 0002) [ 2.778843] random: fast init done [ 2.780024] random: crng init done [ 2.781054] bochs-drm 0000:00:02.0: remove_conflicting_pci_framebuffers: bar 0: 0x10000000 -> 0x10ffffff [ 2.781597] bochs-drm 0000:00:02.0: remove_conflicting_pci_framebuffers: bar 2: 0x11014000 -> 0x11014fff [ 2.786609] bochs-drm 0000:00:02.0: enabling device (0000 -> 0002) [ 2.789259] [drm] Found bochs VGA, ID 0xb0c5. [ 2.789639] [drm] Framebuffer size 16384 kB @ 0x10000000, mmio @ 0x11014000. [ 2.791527] [TTM] Zone kernel: Available graphics memory: 2015562 KiB [ 2.792300] [TTM] Initializing pool allocator [ 2.793275] [TTM] Initializing DMA pool allocator [ 2.801629] [drm] Found EDID data blob. [ 2.809735] [drm] Initialized bochs-drm 1.0.0 20130925 for 0000:00:02.0 on minor 0 [ 2.903431] Console: switching to colour frame buffer device 128x48 [ 2.928141] bochs-drm 0000:00:02.0: fb0: bochs-drmdrmfb frame buffer device [ 2.929844] [drm] pci: virtio-gpu-pci detected at 0000:00:05.0 [ 2.930300] [drm] virgl 3d acceleration not supported by host [ 2.930484] [drm] EDID support available. [ 2.931193] [drm] number of scanouts: 1 [ 2.931318] [drm] number of cap sets: 0 [ 2.935329] [drm] Initialized virtio_gpu 0.1.0 0 for virtio4 on minor 1 [ 3.058526] virtio_gpu virtio4: fb1: virtio_gpudrmfb frame buffer device I'm invoking QEMU on both systems with: -device virtio-gpu-pci,virgl=true The full TCG command line is: ./aarch64-softmmu/qemu-system-aarch64 -cpu cortex-a57 \ -machine type=virt,virtualization=on,gic-version=3 \ -serial mon:stdio \ -netdev user,id=unet,hostfwd=tcp::2222-:22 \ -device virtio-net-device,netdev=unet,id=virt-net \ -drive id=disk0,file=$HOME/images/agl/agl-demo-platform-crosssdk-qemuarm64.ext4,if=none,format=raw \ -device virtio-blk-device,drive=disk0 \ -soundhw hda \ -device qemu-xhci \ -device usb-tablet \ -device usb-kbd \ -object rng-random,filename=/dev/urandom,id=rng0 \ -device virtio-rng-pci,rng=rng0 \ -device virtio-serial-device \ -chardev null,id=virtcon \ -device virtconsole,chardev=virtcon \ -m 4096 \ -kernel ~/images/agl/Image \ -append "console=ttyAMA0 root=/dev/vda" \ -display gtk,show-cursor=on \ -smp 4 \ -device virtio-gpu-pci,virgl=true Any tips on how to track down where things are going wrong? -- Alex Bennée -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#8767): https://lists.automotivelinux.org/g/agl-dev-community/message/8767 Mute This Topic: https://lists.automotivelinux.org/mt/77748325/2167316 Group Owner: agl-dev-community+owner@xxxxxxxxxxxxxxxxxxxxxxxxx Unsubscribe: https://lists.automotivelinux.org/g/agl-dev-community/leave/4543822/883735764/xyzzy [list-automotive-discussions82@xxxxxxxxxxx] -=-=-=-=-=-=-=-=-=-=-=-