summary refs log tree commit diff stats
path: root/results/classifier/accel-gemma3:12b/kvm/553
blob: 87e1ff6767daf76f3a7703f6e1fecfc24b87e4e6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Virtio-vga with blobs on fails, when qemu compiled with enabled modules
Description of problem:
When using qemu configured with `--enabled-modules` and starting qemu with command line above, qemu crashes with following output:
```
qemu-system-x86_64: -device virtio-vga,blob=on: cannot enable blob resources without udmabuf
```
While qemu configured without `--enabled-modules` runs this command successfully.
Steps to reproduce:
1. Get latest qemu source code
2. Build qemu `mkdir build && cd build && ../configure && ninja`
3. Check if following command runs without errors and show sdl qemu window
 ```
 sudo ./qemu-system-x86_64  \
      -object memory-backend-memfd,id=mem1,size=512M \
      -machine memory-backend=mem1 \
      -display sdl \
      -device virtio-vga,blob=on

 ```
4. Then try to build with modules enabled  `mkdir build && cd build && ../configure --enable-modules && ninja`
5. Try to do step 3 again
Additional information:
I tried to debug this bug, and found that problem is with function `virtio_gpu_have_udmabuf`: when qemu is build without modules this function is from `hw/display/virtio-gpu-udmabuf.c` (which is correct), but when qemu compiled with modules this function comes from `stubs/virtio-gpu-udmabuf.c` and when `hw-display-virtio-gpu.so` is loaded, `virtio_gpu_have_udmabuf` is not replaced, and remains function from stub (which always return 0) and command fails.

I think I will submit patch that fix it tomorrow