Open jon-bit opened 2 months ago
I don't know if thit is mint issue but here is what I am encountering:
sudo qemu-system-x86_64 -audio spice -device virtio-gpu-gl-pci,context_init=true,aio=native,resource_uuid=true,blob=true,hostmem=8G -display gtk,gl=on -vga none -m 16G -drive file=test.qcow2 -cpu host -enable-kvm -smp 8 -boot menu=on
qemu-system-x86_64: -device virtio-gpu-gl-pci,context_init=true,aio=native,resource_uuid=true,blob=true,hostmem=8G: Property 'virtio-gpu-gl-pci.context_init' not found
I used the qemu, kernel, and virglrender you provided.
OK I don't know if this is a x11 issue (because mint) but I have a Ubuntu vm now and it "works" but I get DX11 and 12 issues when lunching. I get it with RE8 as well but you got it working. Any idea what I'm doing wrong?
sorry nope. thanks for the help but I got this
qemu-system-x86_64: -device virtio-gpu-gl,venus=true,blob=true,hostmem=8G: Property 'virtio-gpu-gl-pci.venus' not found
EDIT: This works but still does not have direct x support(and RE8 does not launch): qemu-system-x86_64 -audio pa -device virtio-gpu-gl,hostmem=8G,blob=true,vulkan=true -display gtk,gl=on -vga none -m 16G -drive file=test.qcow2 -cpu host -enable-kvm -smp 8 -boot menu=on,order=c
@Hi-im-Robot here is the out put of vulkaninfo --summary:
WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Received return code -3 from call to vkCreateInstance in ICD /usr/lib/x86_64-linux-gnu/libvulkan_virtio.so. Skipping this driver.
==========
VULKANINFO
==========
Vulkan Instance Version: 1.3.275
Instance Extensions: count = 23
-------------------------------
VK_EXT_acquire_drm_display : extension revision 1
VK_EXT_acquire_xlib_display : extension revision 1
VK_EXT_debug_report : extension revision 10
VK_EXT_debug_utils : extension revision 2
VK_EXT_direct_mode_display : extension revision 1
VK_EXT_display_surface_counter : extension revision 1
VK_EXT_surface_maintenance1 : extension revision 1
VK_EXT_swapchain_colorspace : extension revision 4
VK_KHR_device_group_creation : extension revision 1
VK_KHR_display : extension revision 23
VK_KHR_external_fence_capabilities : extension revision 1
VK_KHR_external_memory_capabilities : extension revision 1
VK_KHR_external_semaphore_capabilities : extension revision 1
VK_KHR_get_display_properties2 : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2 : extension revision 1
VK_KHR_portability_enumeration : extension revision 1
VK_KHR_surface : extension revision 25
VK_KHR_surface_protected_capabilities : extension revision 1
VK_KHR_wayland_surface : extension revision 6
VK_KHR_xcb_surface : extension revision 6
VK_KHR_xlib_surface : extension revision 6
VK_LUNARG_direct_driver_loading : extension revision 1
Instance Layers: count = 8
--------------------------
VK_LAYER_INTEL_nullhw INTEL NULL HW 1.1.73 version 1
VK_LAYER_KHRONOS_validation Khronos Validation Layer 1.3.275 version 1
VK_LAYER_MESA_device_select Linux device selection layer 1.3.211 version 1
VK_LAYER_MESA_overlay Mesa Overlay layer 1.3.211 version 1
VK_LAYER_VALVE_steam_fossilize_32 Steam Pipeline Caching Layer 1.3.207 version 1
VK_LAYER_VALVE_steam_fossilize_64 Steam Pipeline Caching Layer 1.3.207 version 1
VK_LAYER_VALVE_steam_overlay_32 Steam Overlay Layer 1.3.207 version 1
VK_LAYER_VALVE_steam_overlay_64 Steam Overlay Layer 1.3.207 version 1
Devices:
========
GPU0:
apiVersion = 1.3.274
driverVersion = 0.0.1
vendorID = 0x10005
deviceID = 0x0000
deviceType = PHYSICAL_DEVICE_TYPE_CPU
deviceName = llvmpipe (LLVM 17.0.6, 256 bits)
driverID = DRIVER_ID_MESA_LLVMPIPE
driverName = llvmpipe
driverInfo = Mesa 24.0.9-0ubuntu0.1 (LLVM 17.0.6)
conformanceVersion = 1.3.1.1
deviceUUID = 6d657361-3234-2e30-2e39-2d3075627500
driverUUID = 6c6c766d-7069-7065-5555-494400000000
Also I tryed makeing mesa but I broke my GUI so I will get back to you on that. For now this is all I have. I'll tell youmore results soon when I have them.
OK so now qemu works with venus=ture
(Thanks for that) BUT when I try to build mesa I get:
meson.build:1743:6: ERROR: Dependency lookup for libdrm_amdgpu with method 'pkgconfig' failed: Invalid version, need 'libdrm_amdgpu' ['>=2.4.121'] found '2.4.120'.
Any clue on what is happening?
OK new update the venus=ture
is not as good as vulkan=true
. no clue why but also the vulkaninfo --summary
now does not have venus enabled at all. I will try arch in a sec and mint guest to leave not stone unturned.
OK I have arch on now and it is working ... kinda. It still wants DX11/12. Any idea @Hi-im-Robot ?
Hi @Hi-im-Robot Here some of what I get. It's very late where I am so I have to sleep but here's some info.
vulkaninfo --summary:
I run QEMU with:
./Venus/qemu-9.0.2/build/qemu-system-x86_64 -audio pa -device virtio-vga-gl,blob=true,venus=true,hostmem=8G -display gtk,gl=on -vga none -m 16G -drive file=arch.qcow2 -cpu host -enable-kvm -smp 8 -boot menu=on,order=c -kernel /boot/vmlinuz-6.8.6 -initrd /boot/initrd.img-6.8.6 -append "BOOT_IMAGE=/boot/vmlinuz-6.8.6 root=/dev/sda2 rw loglevel=3 mitigations=off"
I installed mesa and the packages you recommended. I do not have to to extract but I will do that tomorrow. let me know if you find something wrong in the mean time.
OK I did it anyway and nothing in steam will start. No clue why. What should I do?
I don't know why but now if I start a game if freezes and I have to force quit. Any idea?
OK I did lutris same result.
OK. I might have a lead. here's what is looks like when I open buckshot.
and no it did not ask about opengl/DX11/12 (but it did in the past). and same for RE8. I did not see anything put it opened.
and here is the ouput of the vulkan --summary:
@Hi-im-Robot and @TrippleXC Any clue what I have to do?
UPDATE: I go this in the logs of qemu:
virgl_render_server[18289]: vkr: Validation Error: [ VUID-vkGetPhysicalDeviceFormatProperties2-format-parameter ] | MessageID = 0x46835167 | vkGetPhysicalDeviceFormatProperties2(): format (1000470001) does not fall within the begin..end range of the core VkFormat enumeration tokens and is not an extension added token. The Vulkan spec states: format must be a valid VkFormat value (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkGetPhysicalDeviceFormatProperties2-format-parameter)
sorry for the wait. I've been scrambling for the last 3 days and juggling 6 different things before classes start.
hmm. interseting when doing step 8 I get:
gzip: /proc/config.gz: No such file or directory
Also I was using gnome(wayland).
Can you provide the qemu commend? I can't get my VM to lunch right.
@Hi-im-Robot , I'm so sorry I did not think it would be this hard.
WHAT! Now it is doing this!
error: kvm run failed Bad address RAX=0000000000000040 RBX=0000000000000000 RCX=00007d5504003b90 RDX=0000000000000002 RSI=00007d551be04fc0 RDI=000064280b973ca0 RBP=00007ffe33e548e0 RSP=00007ffe33e546b8 R8 =0000000000000001 R9 =0000000000000010 R10=0000000000000001 R11=9bcb2e46706d3f58 R12=0000000000000000 R13=000064280b973ca0 R14=0000000000000000 R15=000064280b973c80 RIP=00007d5535ebdbe5 RFL=00010202 [-------] CPL=3 II=0 A20=1 SMM=0 HLT=0 ES =0000 0000000000000000 ffffffff 00c00000 CS =0033 0000000000000000 ffffffff 00a0fb00 DPL=3 CS64 [-RA] SS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA] DS =0000 0000000000000000 ffffffff 00c00000 FS =0000 00007d5522489a80 ffffffff 00c00000 GS =0000 0000000000000000 ffffffff 00c00000 LDT=0000 0000000000000000 ffffffff 00c00000 TR =0040 fffffe1cb9477000 00004087 00008b00 DPL=0 TSS64-busy GDT= fffffe1cb9475000 0000007f IDT= fffffe0000000000 00000fff CR0=80050033 CR2=000074527b42d000 CR3=0000000112e9d000 CR4=000006f0 DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 DR6=00000000ffff0ff0 DR7=0000000000000400 EFER=0000000000000d01 Code=89 c2 48 c1 fa 04 48 85 c0 7e 17 31 c0 66 90 f3 0f 6f 04 01 <0f> 11 04 06 48 83 c0 10 48 83 ea 01 75 ed c3 66 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e
I feel like I am going to no joke explode
OK I rid of this error by removing -enable-kvm but not it is not that fast.
@Hi-im-Robot OK I did a 100% fresh install and it is "working". I just can the games to work. They do not prompt me for DX11/12 or opengl version but they run an I don't see anything:
here is the script I am running:
IMG="/home/jon/arch.qcow2" STORAGE="/home/jon/arch.qcow2"
MACHIHEFLAGS="q35,accel=kvm" MEM="8G" SPCSPEC="4,maxcpus=4,cores=2,threads=2"
CPUFLAGS="host,migratable=on,topoext=on,invtsc=on,hypervisor=on,hv-reenlightenment=on,hv-frequencies=on,hv-stimer=on,hv-synic=on,hv-relaxed,hv-tlbflush=on,hv-time=on,hv-relaxed=on,hv-vapic=on,hv-vpindex,hv-spinlocks=0x1fff,kvm=on,host-cache-info=on"
KERNEL="/home/jon/qcow/arch/vmlinuz-linux" INITRD="/home/jon/qcow/arch/initramfs-linux-fallback.img"
CUSTOM_QEMU="/home/jon/v/qemu-9.0.2/build/qemu-system-x86_64"
$CUSTOM_QEMU --version
$CUSTOM_QEMU \ -cpu ${CPUFLAGS} \ -smp ${SPCSPEC} \ -M ${MACHIHEFLAGS} \ -m ${MEM} \ -overcommit mem-lock=off \ -rtc base=localtime,clock=rt \ -net nic,model=virtio \ -net user,hostfwd=tcp::2222-:22 \ -device virtio-scsi-pci,id=scsi0 \ -drive file=$STORAGE,if=none,format=qcow2,discard=unmap,aio=native,cache=none,id=someid \ -device scsi-hd,drive=someid,bus=scsi0.0 \ -device virtio-gpu-gl,venus=true,blob=true,hostmem=${MEM} \ -display gtk,show-cursor=on,gl=on \ -vga none \ -initrd $INITRD \ -kernel $KERNEL \ -append "BOOT_IMAGE=/home/jon/qcow/arch/vmlinuz-linux root=/dev/sda2 rw loglevel=3 mitigations=off" \ -usb \ -object memory-backend-memfd,id=mem1,size=${MEM} \ -machine memory-backend=mem1 \ -device ich9-intel-hda \ -audiodev alsa,id=audio0 \ -device hda-output,audiodev=audio0 \ -d guest_errors
I am getting this error: virgl_render_server[157914]: vkr: Validation Error: [ VUID-vkGetPhysicalDeviceFormatProperties2-format-parameter ] | MessageID = 0x46835167 | vkGetPhysicalDeviceFormatProperties2(): format (1000470001) does not fall within the begin..end range of the core VkFormat enumeration tokens and is not an extension added token. The Vulkan spec states: format must be a valid VkFormat value (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkGetPhysicalDeviceFormatProperties2-format-parameter)
I think we are close to ending this. @Hi-im-Robot any clue?
here is my vulkan --summary
:
![Uploading Screenshot from 2024-09-08 01-25-53.png…]()
Sorry did not upload - here it is: ![Uploading Screenshot from 2024-09-08 01-25-53.png…]()
Sorry. NOW it's here.
@Hi-im-Robot, Where did your posts go? I think I almost had it.
@TrippleXC Any idea what to do now? I'm stuck at a dead end now.
Hello just wondering where all the comments went on this?
Thanks!
It looks like virglrenderer venus support is coming to QEMU soon: VirtIO-GPU Vulkan Support Approaching Upstream QEMU
I think Hi-im-Robot may have deactivated their account which removed their comments. I was curious so I found them on GH Archive and included them below.
Hi-im-Robot 2024-09-02T02:33:10Z:
I don't know if thit is mint issue but here is what I am encountering:
sudo qemu-system-x86_64 -audio spice -device virtio-gpu-gl-pci,context_init=true,aio=native,resource_uuid=true,blob=true,hostmem=8G -display gtk,gl=on -vga none -m 16G -drive file=test.qcow2 -cpu host -enable-kvm -smp 8 -boot menu=on
qemu-system-x86_64: -device virtio-gpu-gl-pci,context_init=true,aio=native,resource_uuid=true,blob=true,hostmem=8G: Property 'virtio-gpu-gl-pci.context_init' not found
I used the qemu, kernel, and virglrender you provided.
Could you try this instead and see if it works? I'm pretty sure that the pre-patched source code is using v7 of the patches which removed context_init in favor of allowing the user to toggle venus support.
-device virtio-gpu-gl,venus=true,blob=true,hostmem=8G
Hi-im-Robot 2024-09-02T09:31:02Z: @jon-bit Do you have the vulkan-tools installed on the guest virtual machine and could you run the command:
vulkaninfo --summary
It should display Venus along with your host gpu.
If it doesn't show up then make sure to build mesa inside of your virtual machine with Venus support enabled. I don't know what packages you'd need on Mint because I use vanilla Arch for my guest VM, take these steps below with a grain of salt and adapt it to your specific use case.
Note this is for the guest virtual machine:
Download mesa from their gitlab
git clone https://gitlab.freedesktop.org/mesa/mesa.git
Install the dependencies to build Mesa, you'll have to figure that out for your specific distro
cd into the mesa directory and then run this command
meson setup build \ -Dgallium-nine=false -Dgallium-xa=disabled -Dglx=dri \ -Dshared-glapi=enabled -Ddri3=enabled -Degl=enabled -Dgbm=enabled \ -Dglvnd=enabled -Dgallium-drivers=radeonsi,virgl -Dplatforms=x11,wayland \ -Dgles1=disabled -Dgles2=enabled -Dvulkan-drivers=virtio,amd \ -Dlibunwind=disabled -Dbuildtype=release \ -Dprefix=/usr
Then install the new mesa for the user with this command as a super user
sudo ninja -C build install
If this doesn't work then try a different version of Mesa that is compatible with your guest VM.
Hi-im-Robot 2024-09-02T10:37:22Z: I'll also add steps here to build Qemu with the new patches inside of this project right here.
Make a directory to store everything & cd into it
mkdir Venus && cd Venus
Run the git clone command to download this repository
git clone https://github.com/TrippleXC/VenusPatches
Get a copy of the stable build from Qemu
wget https://download.qemu.org/qemu-9.0.2.tar.xz
Unpack the Qemu archive using this command
tar -xvf qemu-9.0.2.tar.xz
Before we apply the patches to Qemu, you need to download one more patch that is missing from this repository found on this site. Click on the button that says "mbox" to download the patch, it should be to the right of the word "diff", and you should get the "v8-01-11-linux-headers-Update-to-Linux-v6.9-rc3.patch" file.
Transfer that Patch file from the Downloads folder into /Venus/VenusPatches/qemu/
and store it with the rest of the other patches for Qemu.
change directory into the Qemu folder
cd qemu-9.0.2
Now apply the patches from the Venus Patches directory into Qemu
for file in ../VenusPatches/qemu/*.patch; do patch -p1 < "$file"; done
Then make a directory inside of the qemu-9.0.2 directory to build Qemu
mkdir build && cd build
Create a build.sh file, make it executable, and then open it with a text editor of your choice, it doesn't have to be nano.
touch build.sh && chmod +x build.sh && nano build.sh
Add this text below into the build.sh, it's a bash script modified from @TrippleXC Qemu pre-patched source code
COMMON_FLAGS="-march=native -mtune=native -O2 -pipe" CFLAGS="${COMMON_FLAGS}" CPPFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" ../configure \ --target-list=x86_64-softmmu \ --enable-kvm \ --disable-werror \ --enable-opengl \ --enable-virglrenderer \ --enable-gtk \ --enable-sdl make -j2 qemu-system-x86_64
Save the build.sh file and then execute it
./build.sh
If everything is done correctly Qemu should be properly built inside of the build directory and if you want to use that specific version of Qemu then you can just point to that directory when executing it.
/path/to/Venus/qemu-9.0.2/build/qemu-system-x86_64
I would recommend using a bash script to execute the custom Qemu at this point. Also make sure to build libvirgl with Venus support along with applying the one kernel patch to the Linux kernel and booting from that for the host machine. The guest setup is then straight forward you just have to build Mesa with Venus support enabled and it should hopefully work with this command set when running Qemu.
-device virtio-gpu-gl,venus=true,blob=true,hostmem=8G \
-display gtk,show-cursor=on,gl=on \
If you're using an Arch-based guest you'd have to install a few extra packages, which are the lib32-vulkan-virtio
and vulkan-virtio
packages which provide driver support for Venus in the guest.
If you have further questions then just keep adding to this thread and I'll try to help out, however I would recommend using an Arch based distro for the guest because it is simpler to setup and I have more knowledge on it compared to using Mint or Ubuntu.
Extra tips: When playing a game inside of a virtual machine using Venus it will stutter terribly and the best way to fix it is to both unlock the framerate in the game to match the host refresh rate (ex: monitor runs at 144hz the game should hit 144 fps) and disabling V-sync (tries to sync frames with the gpu, but Venus is similar to VMware's gpu solution where it passes instructions to the host, but since Venus is still in the experimental phase it is making educated guesses about the hosts capabilities).
Hi-im-Robot 2024-09-03T02:48:51Z:
@jon-bit On Arch is it still displaying llvmpipe when you run vulkaninfo --summary
, if so that means you're on software rendering and Venus isn't enabled, which means that you still have to build mesa inside of Arch. However since the guest is on Arch that means you need to install these packages to build Mesa
sudo pacman -S meson bison ninja expat gcc-libs glibc libdrm libelf libglvnd libomxil-bellagio libx11 libxcb libxext libxfixes libxshmfence libxxf86vm llvm-libs lm_sensors wayland zlib zstd opengl-man-pages cbindgen clang cmake directx-headers elfutils expat gcc-libs glibc glslang libclc libdrm libelf libglvnd libomxil-bellagio libva libvdpau libx11 libxcb libxext libxfixes libxml2 libxrandr libxshmfence libxxf86vm llvm llvm-libs lm_sensors meson python-mako python-packaging python-ply python-sphinx python-sphinx-hawkmoth python-yaml rust rust-bindgen spirv-llvm-translator spirv-tools systemd-libs valgrind vulkan-icd-loader wayland wayland-protocols xcb-util-keysyms xorgproto zlib
After doing that compile Mesa in the Arch guest, and it should work after rebooting.
Keep venus=true
because that's what's working on my end.
If you could tell me what command you're running to launch Qemu then I can compare with what I have currently aswell. Also did you mount the .qcow2 file to extract the kernel vmlinuz-linux
and initramfs-linux.img
files. If you don't do this and pass them to the guest virtual machine through Qemu commandline then it will fail to boot with Venus enabled.
Hi-im-Robot 2024-09-03T19:27:36Z:
@jon-bit Since you're on Arch now did you install the lib32-vulkan-virtio
& vulkan-virtio
packages? If you have done so then that is super strange why it isn't working. You could try adding these at the end of your commandline arguments and see if this works.
-object memory-backend-memfd,id=mem1,size=${MEM}
-machine memory-backend=mem1
-d guest_errors
You're on the right track since you can see your rx 6950 xt in the terminal.
Hi-im-Robot 2024-09-03T21:57:41Z:
I just realized that Github ate the slashes when I posted instructions for building Qemu that's completely my bad. I didn't expect this site to do that, and that is entirely my fault. What you can do is just delete the build folder inside of qemu-9.0.2 and then mkdir build
create the same build.sh file with this inside recompile it and then try it. That is completely my fault, I'm sorry.
Hi-im-Robot 2024-09-05T07:25:53Z:
@jon-bit a few more questions did you install the pre-built virglrenderer in this repository and is your host booting off the pre-built kernel aswell the 6.8.6? If so then I got no clue why Venus is displaying a malformed image on your end. Also what is your desktop environment for the guest, I ask because I used vanilla Arch Linux running Wayland on KDE plasma and it worked flawlessly. You could try to git clone https://gitlab.freedesktop.org/virgl/virglrenderer
and then build it with -Dvenus=true and see if that works. If not then the last option is to git clone https://github.com/Functionable/VenusPatches
and then applying the kernel patch to 6.10.8. The reason why I'm telling you to use this fork is because the kernel patch in @TrippleXC repository doesn't work with 6.10.* kernels and spits out errors. You could try that as a last resort.
Hi-im-Robot 2024-09-05T11:23:54Z: Okay I'll just give you the full setup tutorial here instead of making a mess in the comments
Compile Kernel
mkdir kernel
cd kernel
git clone https://github.com/Functionable/VenusPatches
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.10.8.tar.xz
tar -xvf linux-6.10.8.tar.xz
cd linux-6.10.8
patch -p1 < ../VenusPatches/kernel/*.patch
zcat /proc/config.gz > .config
make olddefconfig
make -j4
note: next steps requires root accesssudo make modules_install
If you're on systemd-boot
12.sudo cp -v arch/x86_64/boot/bzImage /boot/vmlinuz-linux-venus
13.sudo mkinitcpio -k 6.10.8 -g /boot/initramfs-linux-venus.img
If you're on GRUB then figure it out, this video is what I used and it works fine.
Compile Virglrenderer
1.git clone https://gitlab.freedesktop.org/virgl/virglrenderer.git
2.cd virglrenderer
3.meson --prefix=/usr build -Dvenus=true
4.sudo ninja -C build install
Lastly, setup Qemu and Venus using this video I made in the dead of night, sorry for poor quality, it was late.
Note: There was audio when I made the video but for some reason adobe premiere was not having it. My mouse was also super jittery when trying to play Bioshock: Infinite because I didn't pass through my mouse and keyboard using Evdev which I highly recommend. Also disable Vsync or framelock in game to avoid stutters and that should be it. If this still doesn't work then your computer is cursed and you should hire someone to exorcise it.
I was able to build the main branch of QEMU with venus support but it turns out there is an unresolved QEMU 9.1 defect for AMD 7900XT graphics cards so I am unable to proceed further.
Here is what I have tried so far:
cd /tmp git clone --depth 1 https://gitlab.com/qemu-project/qemu.git cd qemu mkdir build cd build
export PREFIX="$(pwd)"/prefix export CMAKE_INSTALL_PREFIX="${PREFIX}" export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig":"${PREFIX}/lib/x86_64-linux-gnu/pkgconfig"
git clone --depth 1 --branch 1.1.0 git://git.freedesktop.org/git/virglrenderer cd virglrenderer meson setup -Ddefault_library=static -Dvenus=true --prefix "${PREFIX}" build/ meson install -C build/ cd ..
export CFLAGS="-I${PREFIX}/include -L${PREFIX}/lib" ../configure --target-list=x86_64-softmmu \ --enable-sdl --enable-kvm --enable-guest-agent \ --enable-spice --enable-pipewire \ --audio-drv-list="alsa, default, oss, pa, sdl" \ --enable-libusb --enable-slirp \ --enable-opengl \ --enable-gtk \ --enable-virglrenderer make sudo make install
sudo echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf sudo ldconfig
cd ~/VMS /usr/local/bin/qemu-img create -f qcow2 test.qcow2 50G
/usr/local/bin/qemu-system-x86_64 \ -d guest_errors \ -machine q35,accel=kvm,memory-backend=mem1 \ -object memory-backend-memfd,id=mem1,size=16G \ -m 16G \ -cpu host \ -smp 16 \ -device virtio-net-pci,netdev=net0 \ -netdev user,id=net0,hostfwd=tcp::8022-:22 \ -audio pa \ -display gtk,show-cursor=on,gl=on \ -device virtio-gpu-gl,hostmem=8G,blob=true,venus=true \ -hda test.qcow2 \ -cdrom "Downloads/ubuntu-24.10-desktop-amd64.iso"
After the OS install, which should have mesa drivers that support venus, I would run the same command above but add -vga none
Sorry of the slow response. I've was so busy I totally forgot about this. These patches worked VERY well for me: https://patchew.org/QEMU/20241024210311.118220-1-dmitry.osipenko@collabora.com/
BUT If you have a AMD you might have to do the things listed in the comments here: https://www.collabora.com/news-and-blog/blog/2021/11/26/venus-on-qemu-enabling-new-virtual-vulkan-driver/
If you need more details or more info feel free to ask. I did get it working so just give a shout if you need me.
Am I correct in interpreting that QEMU 9.2 will not require the patches in the qemu/ folder here, as it appears that these patches are now mainlined as of https://lists.gnu.org/archive/html/qemu-devel/2024-10/msg05805.html ?
First of all thank you so much for giving me hope. Now I never have to go back to windows for gpu virt :p
second I can't get my VM to use Venus. Only llvmpipe (No where near as good). I don't know why but I can't get it to do what you did here: https://www.youtube.com/watch?v=Vk6ux08UDuA or here: https://www.youtube.com/watch?v=HmyQqrS09eo
Can we get scripts to get the best results on VMs and hosts, with bash. I'm having a hard time installing Venus on the vm and (if it's any help) I have a AMD 6950, i9, and use mint (host and VM).
Thank you for the project and I'l get back to you in a few hours about the problem I am having other wise with one command (I have to go back and build it again first)