User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
Admin
Wyvern-shaped software developer and hobby vector artist. Also sometimes a fluffy werewolf alien creature (Areon).

Creator of the neofoxes, neocats and other emojis.
wvrnBox
Website
https://volpeon.ink/
Speaking German, English
Age 30s
Pronouns he / him
Backup Account @volpeon@goto.wyvern.rip
Bonus Content @areon@icy.wyvern.rip
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
@Houl It has the way more powerful Nvidia GPU, while the Linux host gets the RX 570
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
Well, I won't keep playing Minecraft on my Windows VM if the RAM problem persists. Having to reboot the computer to free up the RAM every 30 minutes is kind of a pain.
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
I always have grand ideas, just like with my art and programming projects
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
I should've done this sooner because I always get frustrated that material I need for my buildings is way too cumbersome too obtain at scale drgn_woozy
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
I never played Minecraft in creative mode so I'm doing that now. drgn_uwu
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
@anthropy I added the numa part for virtiofs. Looks weird to me, too, but that's what you're supposed to do according to their docs: virtio-fs.gitlab.io/howto-qemu.html

(I only did one thing differently, and that is using memory-backend-memfd instead of memory-backend-file)
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
@anthropy I really need to clean this thing up. It grew over the years. drgn_woozy
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
@anthropy I allocated 32gb. I'm not sure about ballooning, but here's the command I use:
taskset -c ${CPU_CORE} qemu-system-x86_64 \
   -name "Windows 10" \
   -machine q35,mem-merge=off,vmport=off \
   -accel kvm \
   -accel kvm,kernel-irqchip=on \
   -cpu host,+topoext,kvm=off,hv_spinlocks=0x1fff,hv_relaxed,hv_vapic,hv_time,hv_crash,hv_reset,hv_vpindex,hv_runtime,hv_synic,hv_stimer,hv_vendor_id=Gigabyte \
   -smp 12,sockets=1,cores=6,threads=2 \
   -global ICH9-LPC.disable_s3=1 \
   -global ICH9-LPC.disable_s4=1 \
   -m ${RAM_SIZE} \
   -mem-prealloc \
   -rtc clock=host,base=localtime,driftfix=slew \
   -global kvm-pit.lost_tick_policy=delay \
   -overcommit mem-lock=off \
   -global kvm-pit.lost_tick_policy=discard \
   -nographic \
   -vga none \
   -serial none \
   -parallel none \
   -k en-us \
   -msg timestamp=on \
   -spice port=${SPICE_PORT},disable-ticketing=on \
   -usb \
   -audio driver=pipewire,model=hda,id=snd1 \
   -device ioh3420,chassis=1,bus=pcie.0,addr=03.0,id=ioh3420-root-port-1 \
   -device ivshmem-plain,memdev=ivshmem,bus=pcie.0 \
   -object memory-backend-file,id=ivshmem,share=on,mem-path=/dev/shm/looking-glass,size=128M \
   -chardev socket,id=chrtpm,path=/var/run/emulated_tpm/swtpm-sock \
   -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0 \
   -object iothread,id=iothread0 \
   -netdev bridge,id=virbr0 \
   -device virtio-net-pci,netdev=virbr0,id=nic1 \
   -object input-linux,id=kbd1,evdev=${EV_KBD},grab_all=on,repeat=on,grab-toggle=alt-alt \
   -object input-linux,id=mouse1,evdev=${EV_MOUSE} \
   -device virtio-mouse-pci \
   -device virtio-keyboard-pci \
   -device vfio-pci,host=${VGA_ADDR},bus=ioh3420-root-port-1,addr=00.0,x-pci-sub-device-id=${VGA_SSID},x-pci-sub-vendor-id=${VGA_SVID},multifunction=on,x-vga=on \
   -drive file=${KVM_CODE},if=pflash,format=raw,unit=0,readonly=on \
   -drive file=${KVM_VARS},if=pflash,format=raw,unit=1 \
   -device virtio-scsi-pci,iothread=iothread0,num_queues=8,id=scsi \
   -drive file="${KVM_DISK}",index=0,media=disk,format=raw,if=none,aio=native,cache.direct=on,id=disk \
   -drive file="${KVM_DISK_2}",index=1,media=disk,format=raw,if=none,aio=native,cache.direct=on,id=disk2 \
   -device scsi-hd,drive=disk \
   -device scsi-hd,drive=disk2 \
   -drive file="${KVM_OPTI}",index=1,media=cdrom \
   -drive file="${KVM_CDRV}",index=2,media=cdrom \
   -device usb-tablet ${USB_DEVS} \
   -boot menu=on \
   -chardev stdio,mux=on,id=monitor-0 \
   -mon chardev=monitor-0 \
   -chardev socket,id=char0,path=/tmp/vhostqemu \
   -device vhost-user-fs-pci,queue-size=1024,chardev=char0,tag=Host \
   -object memory-backend-memfd,id=vfsmem,size=${RAM_SIZE},share=on \
   -numa node,memdev=vfsmem
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
@kura But how would Windows even be able to go beyond the 32gb RAM I allocated? 32gb is immediately gone, but there's about 20gb that gets used on top of that and it only returns long after I stopped QEMU.
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
Good luck suspending me on my own instance lmfao
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
At start, I was at ~15gb and nothing in swap. After QEMU it's this and I got lag because of the swapping. Why. Process managers don't show me any process using this much.
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
There's something that's eating quite a lot of RAM when using my Windows VM in QEMU. I don't know what it is because it persists for a while after I stopped QEMU.
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
It Minecraft time drgn_cool
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
This is the result of a 3D map with 2 layers. The · are pillars which appear in identical spots across all layers.
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
@unnick That's right drgn_uwu
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
It lacks backtracking, but that shouldn't be too difficult. But more importantly, even though this implementation is more powerful the code is way more concise than what I had in TypeScript
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
Heck yeah, it works! ​:areonNMlem:​
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
You can tell that Koka is still far from being complete. The language server will often get stuck on errors in your code and will stop updating information about the rest of the file until the error is resolved. Makes it a bit annoying to work with, but it's not impossible. woozy_baa
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
11mo
Not only did a sneaky mosquito take my blood, the puncture sites are very big and itchy as heck neofox_googly_shocked