Can't get graphics acceleration in Tumbleweed Guest VM

I’m trying to switch from Arch Arm to openSUSE Tumbleweed, to see how the support for aarch64 is. But I’m not getting any graphics acceleration working.

I’m using QEMU on macOS via UTM. Having said that, I don’t think the issue is from the setup, as acceleration works in both Arch and Fedora Rawhide with no configuration / extra packages outside of the DE.

I’m running Plasma X11, which was installed with

sudo zypper install \
  patterns-kde-kde_plasma \
  plasma6-session-x11

But kwin-x11 can’t start its compositor:

$ kwin_x11 --replace
kwin_core: Configured compositor not supported by Platform. Falling back to defaults

Here’s some logging info I hope is relevant:

KDE Support Information:

$ qdbus6 org.kde.KWin /KWin org.kde.KWin.supportInformation
KWin Support Information:
The following information should be used when requesting support on e.g. https://discuss.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like https://paste.kde.org instead of pasting into support threads.

==========================

Version
=======
KWin version: 6.4.1
Qt Version: 6.9.1
Qt compile version: 6.9.1
XCB compile version: 1.17.0

Operation Mode: X11

Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_X11_XCB: yes
HAVE_GLX: no

X11
===
Vendor: The X.Org Foundation
Vendor Release: 12101015
Protocol Version/Revision: 11/0
SHAPE: yes; Version: 0x11
RANDR: yes; Version: 0x14
DAMAGE: yes; Version: 0x11
Composite: yes; Version: 0x4
RENDER: yes; Version: 0xb
XFIXES: yes; Version: 0x50
SYNC: yes; Version: 0x31
GLX: yes; Version: 0x0

Decoration
==========
Plugin: org.kde.breeze
Theme: 
Plugin recommends border size: None
onAllDesktopsAvailable: true
alphaChannelSupported: false
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 5, 3, 4
decorationButtonsRight: 
borderSize: 0
gridUnit: 10
font: Noto Sans,10,-1,0,400,0,0,0,0,0,0,0,0,0,0,1
smallSpacing: 2
largeSpacing: 10

Output backend
==============
Name: KWin::X11StandaloneBackend

Cursor
======
themeName: breeze_cursors
themeSize: 24

Options
=======
focusPolicy: ClickToFocus
xwaylandCrashPolicy: 1
xwaylandMaxCrashCount: 3
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: true
placement: 5
activationDesktopPolicy: SwitchToOtherDesktop
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
edgeBarrier: 100
cornerBarrier: 1
rollOverDesktops: false
focusStealingPreventionLevel: 1
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
commandActiveTitlebar1: MouseRaise
commandActiveTitlebar2: MouseNothing
commandActiveTitlebar3: MouseOperationsMenu
commandInactiveTitlebar1: MouseActivateAndRaise
commandInactiveTitlebar2: MouseNothing
commandInactiveTitlebar3: MouseOperationsMenu
commandWindow1: MouseActivateAndRaise
commandWindow2: MouseActivateAndPassClick
commandWindow3: MouseActivateAndPassClick
commandWindowWheel: MouseNothing
commandAll1: MouseUnrestrictedMove
commandAll2: MouseToggleRaiseAndLower
commandAll3: MouseUnrestrictedResize
keyCmdAllModKey: 16777250
doubleClickBorderToMaximize: true
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: true
killPingTimeout: 5000
compositingMode: 1
useCompositing: true
hiddenPreviews: 1
glSmoothScale: 2
glStrictBinding: true
glStrictBindingFollowsDriver: true
glPreferBufferSwap: AutoSwapStrategy
glPlatformInterface: 2
windowsBlockCompositing: true
allowTearing: true
interactiveWindowMoveEnabled: true

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 1x1
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Number of Screens: 1

Screen 0:
---------
Name: Virtual-1
Enabled: 1
Geometry: 0,0,1252x834
Physical size: 318x211mm
Scale: 1
Refresh Rate: 74996
Adaptive Sync: incapable

Compositing
===========
Compositing is not active

glxinfo:

$ glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa (0x1af4)
    Device: virgl (ANGLE (Apple, Apple M1 Pro, OpenGL 4.1 Metal - 89.4)) (0x1010)
    Version: 25.1.4
    Accelerated: yes
    Video memory: 0MB
    Unified memory: no
    Preferred profile: compat (0x2)
    Max core profile version: 0.0
    Max compat profile version: 2.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL vendor string: Mesa
OpenGL renderer string: virgl (ANGLE (Apple, Apple M1 Pro, OpenGL 4.1 Metal - 89.4))
OpenGL version string: 2.1 Mesa 25.1.4
OpenGL shading language version string: 1.20

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 25.1.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

inxi -Gxx:

$ inxi -Gxx
Graphics:
  Device-1: Red Hat Virtio 1.0 GPU driver: virtio-pci v: 1 ports:
    active: Virtual-1 empty: none bus-ID: 00:02.0 chip-ID: 1af4:1050
  Display: x11 server: X.Org v: 21.1.15 with: Xwayland v: 24.1.8
    compositor: kwin_x11 driver: X: loaded: modesetting alternate: fbdev
    dri: virtio_gpu gpu: virtio-pci display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1280x800 s-dpi: 96
  Monitor-1: Virtual-1 model: QEMU Monitor res: 1280x800 hz: 75 dpi: 100
    diag: 383mm (15.1")
  API: EGL v: 1.5 platforms: gbm: drv: virtio_gpu
  API: OpenGL v: 2.1 vendor: mesa v: 25.1.4 glx-v: 1.4 direct-render: yes
    renderer: virgl (ANGLE (Apple Apple M1 Pro OpenGL 4.1 Metal - 89.4))
    device-ID: 1af4:1010
  API: Vulkan v: 1.4.313 surfaces: N/A device: 0 type: cpu driver: N/A
    device-ID: 10005:0000
  Info: Tools: api: eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor wl: wayland-info
    x11: xdpyinfo, xprop, xrandr

Is there a better place to post this? One that might actually get some attention?

@mikewhy very few (if any?) forum users are able to assist…

Hmm, at https://mac.getutm.app/ I see;

Can I run games?
No, probably not. UTM does not currently support GPU emulation/virtualization on Windows and therefore lacks support for 3D acceleration (e.g. OpenGL and DirectX). You may be able to run older games with software rendering options, but nothing with hardware acceleration. There is experimental support for hardware OpenGL acceleration on Linux through Virgl.

So is libvirglrenderer1 installed?

@mikewhy ahh missed that it is, only suggestion would be to try Wayland