From nobody Sun Jul 23 14:27:15 2023 X-Original-To: freebsd-virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R85HK1lkGz4p80J; Sun, 23 Jul 2023 14:27:57 +0000 (UTC) (envelope-from marietto2008@gmail.com) Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R85HJ0SyNz416K; Sun, 23 Jul 2023 14:27:56 +0000 (UTC) (envelope-from marietto2008@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20221208 header.b=iWgh9SZ0; spf=pass (mx1.freebsd.org: domain of marietto2008@gmail.com designates 2a00:1450:4864:20::52a as permitted sender) smtp.mailfrom=marietto2008@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-5222bc916acso230709a12.3; Sun, 23 Jul 2023 07:27:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690122473; x=1690727273; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=IQxgiKSikYiN0jE4zgAq4Sd0scbuAu93HPzmQZSa8E4=; b=iWgh9SZ0oX8ns964/kIbADCBP2fwg9aErxezXvsY3H+iRScOXhujXLDGcv8Miyzbce x9b08AmtYxdPtvANiJDo5ZvXhGGC4SEgOZOXem7KZ3SZzfU+uKpApm6OKdsmTS1m90t6 en4afHGyslMlusEEgqM6Qj9co3lQyMyfYnbmBMjrkY9ELgYcyiQwQRxKYVW1a5EiQSQr lIhrh8dFEUslRdRHuFWECH2E8tn58wIcu13EwZNB6pBwCBpjw1ztnGgORXQx6Unlxc8C T+cCUWOq1glQQOIeXK3sjyhab1g/vWPSo/DNCqIqAj6dV3YQeeTsIRcdf5vJh03Gs1gT rCMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690122473; x=1690727273; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=IQxgiKSikYiN0jE4zgAq4Sd0scbuAu93HPzmQZSa8E4=; b=bGmBeQ/Ivl2vG9W+/OewS6ZAUQ03CXbJ6YqNKjlyvuAoCOWaE9Zod2rX34TxE/eQGr FioBGyEwj1o4yrjU8mkcRI93a2Aw7WT7ipbt+9tcdM+30ynHSg2uYUiM7q/TDpyRgwzy 41PkUceb4Si4B88UlhuskXDtNXRwV7sI+Xi6Z+kMHoL348WEvM6fjANEB1lN5VCmQBdi g2bSbJV6QZyO8U+lEawWnaan73LHje0QobjZjL+sPbKWqiKGJlyLUGvln6J9nvJzCoOE fDuTLMeo568eTKpGh2CFgcxrsmIRGIVT5ePtgkaZOWLkL8cuuDAfShQI6N4WXDT+eUyS uCfA== X-Gm-Message-State: ABy/qLbAYFiGWwaB42beYI2XMS1bwS3QvDNEmlU5Vou4tiVgxfIeGZ+e xF0P3uNksvd3zllQOJUYvjNKHpCDQhZcBV54zBQvYKt98M+G3ExY X-Google-Smtp-Source: APBJJlGlF88fGORG3hK+/0MTNdr3szKkOhP/nzcYGhpsOOBvwpUU2iVthtirZMPHzWe8Kra8mHRhQi/sGggg+ciJKnk= X-Received: by 2002:a17:907:2c74:b0:96f:d345:d0f7 with SMTP id ib20-20020a1709072c7400b0096fd345d0f7mr5756845ejc.62.1690122472200; Sun, 23 Jul 2023 07:27:52 -0700 (PDT) List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-virtualization@freebsd.org X-BeenThere: freebsd-virtualization@freebsd.org MIME-Version: 1.0 From: Mario Marietto Date: Sun, 23 Jul 2023 16:27:15 +0200 Message-ID: Subject: Virtual GPU for FreeBSD as guest virtualized with qemu / kvm -- best alternative ? Cirrus ? To: freebsd-x11@freebsd.org, FreeBSD virtualization , FreeBSD Mailing List , freebsd-hackers , freebsd-drivers@freebsd.org Content-Type: multipart/related; boundary="000000000000953fbb0601284de5" X-Spamd-Result: default: False [-2.30 / 15.00]; SUBJECT_ENDS_QUESTION(1.00)[]; NEURAL_HAM_SHORT(-1.00)[-1.000]; NEURAL_HAM_LONG(-0.72)[-0.719]; NEURAL_HAM_MEDIUM(-0.59)[-0.586]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20221208]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; MIME_GOOD(-0.10)[multipart/related,multipart/alternative,text/plain]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::52a:from]; RCVD_TLS_LAST(0.00)[]; MLMMJ_DEST(0.00)[freebsd-x11@freebsd.org,freebsd-virtualization@freebsd.org,freebsd-questions@freebsd.org,freebsd-hackers@freebsd.org,freebsd-drivers@freebsd.org]; FREEMAIL_ENVFROM(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; DKIM_TRACE(0.00)[gmail.com:+]; MID_RHS_MATCH_FROMTLD(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:~,5:~]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4R85HJ0SyNz416K X-Spamd-Bar: -- --000000000000953fbb0601284de5 Content-Type: multipart/alternative; boundary="000000000000953fba0601284de4" --000000000000953fba0601284de4 Content-Type: text/plain; charset="UTF-8" Hello to everyone. I would like to virtualize FreeBSD on Windows 11 with qemu-kvm (for Windows). I've end up with the following parameters which are working : I:\OS\qemu\Linux\qemu\qemu-system-x86_64w.exe -accel whpx -machine q35 \ -cpu Westmere,vendor=GenuineIntel,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check \ -m 8G -vga qxl -audiodev dsound,id=snd0 -device ich9-intel-hda -device \ hda-duplex,audiodev=snd0 \ -hda "I:\OS\ISO\FreeBSD\FreeBSD-13.2-RELEASE-amd64-disc1.iso" \ -hdb "I:\OS\qemu\Linux\FreeBSD.img" -rtc base=localtime \ -device nec-usb-xhci,id=xhci -device usb-tablet -device usb-kbd \ -global nec-usb-xhci.msi=off -smbios type=2 -nodefaults -netdev user,id=net0 \ -device virtio-net-pci,netdev=net0,id=net0,mac=52:54:00:11:22:33 \ -device ich9-ahci,id=sata -bios "I:\OS\qemu\Linux\OSX-KVM-master\OVMF_combined.fd" Now I'm trying to configure Xorg and the xfce4 desktop environment. Since I'm using qemu,there are a lot of display devices available to try,but I don't know which one is good for FreeBSD. In the website below there is a good list of all options available : https://www.kraxel.org/blog/2019/09/display-devices-in-qemu/ On FreeBSD I have installed the package drm-kmod and it suggests to me to add to the rc.conf file one of these parameters : 1. for amdgpu : kld_list="amdgpu" 2. for intel : kld_list="i915kms" 3. for radeonkms : kld_list="radeonkms" qemu does not cover any of those. I don't know which option is decent for my case. I would like to try with the cirrus display driver. Maybe this one : https://www.freshports.org/x11-drivers/xf86-video-cirrus/ So,I have installed this package : pkg install xf86-video-cirrus I've rebooted and I have changed -vga qxl to -vga cirrus FreeBSD recognized it at 0:1:0 [image: 2023-07-23 15_21_33-QEMU.png] I have created xorg.conf with this content : Section "Device" Identifier "Device0" Driver "cirrus" BusID "PCI:0:1:0" Screen 0 EndSection error : no screens found. This is the reason why it does not work : [image: 2023-07-23 15 49 44.png] but the module seems to be there : cd /usr/local/lib/xorg/modules/drivers/ ls*cirrus_drv.so* ; modesetting_drv.so ; scfb_drv.so ; vesa_drv.so ; What should I do ? -- Mario. --000000000000953fba0601284de4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Hello to everyone.


I would like to virtualize FreeBSD on Windows 11 with qemu-kvm (for Windows)= .=20 I've end up with the following parameters which are working :


I:\OS\qemu\Linux\qemu\qemu-system-x86_64w.exe -accel whpx -=
machine q35 \
-cpu Westmere,vendor=3DGenuineIntel,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,=
+xsave,+xsaveopt,check \
-m 8G -vga qxl -audiodev dsound,id=3Dsnd0 -device ich9-intel-hda -device \
hda-duplex,audiodev=3Dsnd0 \
-hda "I:\OS\ISO\FreeBSD\FreeBSD-13.2-RELEASE-amd64-disc1.iso" \
-hdb "I:\OS\qemu\Linux\FreeBSD.img" -rtc base=3Dlocaltime \
-device nec-usb-xhci,id=3Dxhci -device usb-tablet -device usb-kbd \
-global nec-usb-xhci.msi=3Doff -smbios type=3D2 -nodefaults -netdev user,id=
=3Dnet0 \
-device virtio-net-pci,netdev=3Dnet0,id=3Dnet0,mac=3D52:54:00:11:22:33 \
-device ich9-ahci,id=3Dsata -bios "I:\OS\qemu\Linux\OSX-KVM-master\OVM=
F_combined.fd"


Now I'm trying to configure Xorg and=20 the xfce4 desktop environment. Since I'm using qemu,there are a lot of= =20 display devices available to try,but I don't know which one is good for= =20 FreeBSD. In the website below there is a good list of all options=20 available :


https://www.kraxel.org/blog/2= 019/09/display-devices-in-qemu/


On FreeBSD I have= installed the package drm-kmod and it suggests to me to add to the rc.conf= file one of these parameters :


  1. for amdg= pu : kld_list=3D"amdgpu"

  2. for intel : kld_list= =3D"i915kms"

  3. =

    for radeonkms : kld_list=3D"= ;radeonkms"

qemu does not cover any of= those. I don't know which option is=20 decent for my case. I would like to try with the cirrus display driver. May= be this one :


https://www.freshports.org/x11-drivers/xf86-= video-cirrus/


So,I have installed thi=
s package : pkg install xf86-video-cirrus

I've rebooted and I have ch= anged -vga qxl to -vga= cirrus

FreeBSD recognized it at 0:1:0




I h= ave created xorg.conf with this content :

=09 =09
=09
Section "Device&qu=
ot;
Identifier "Device0"
Driver "cirrus"
BusID "PCI:0:1:0"
Screen 0
EndSection

error : no screens found.
=09
=C2=A0
This is the reason why it does not work :




but the module seems to be there :

=09 =09
=09
cd /usr/local/lib/xorg/=
modules/drivers/
ls
cirrus_drv.so ; modesetting_drv.so ; scfb_drv.so ; vesa_drv.so ;

What should I do ?

--
Mario.
--000000000000953fba0601284de4-- --000000000000953fbb0601284de5 Content-Type: image/png; name="2023-07-23 15_21_33-QEMU.png" Content-Disposition: inline; filename="2023-07-23 15_21_33-QEMU.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_lkfj63bw0 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 Tr65eG49dDub3WokQ+1s4X15Lz+1fo/KbH1b9L5b7VRdMZy2TfHZyp7RQzqnJb65cu6m4q3qly/e udgW8ZFcjcmzs09tdleXNHwzr3KV2dU23lncs1o+8CpxOvjIZa72r+yc68/5IZqGrjiyWsKXZ3xz /dxsZzOvumI4bZvinXxz8dx66HY2u6dGHpD3xoRXXTE8JNOpitPNBJ/dqbpiOG2b4rOVPaOHdE5L fHPl3KbYNlW8VbGtKV6m2BbxW12tRr+12V1d0vDNvMqdzpJVfPZ080D2N7zK3dicw5jwasar0dU9 MfHn/BBNQ1ccubF5im8unju1s5lXXTGctk3x2Z2qq4duZ7N7auQBeW9MeNUVQ7556sZmjs/uVF0x nLZN8dniZn5ccSQmvOqmYVFxYf3cnVmOb75ajX5rs7u6pOGbeZW7ujm6OjvddvWIuhubcxgTXj0g pYw383P9OT9E09AVR25snuKbD9VL+y9tbupVVwynbVN8dqfq6qHb2eyKIzHhC7e01RFSg9QgrcGM QdoheoVaMA2b0e+QFuTmQ9L3vUChQxSgYJDOroSCQVqDmQCFDpFB+mqVN2OqwXuAgkFqkBqkD8HS 2aF4MjkZ+vQ/eO8QGaQBCoudBMYMUoPUIO0OrwejP0LBIDVIu8NrNkYiFF6htj4a7wEKBml3eG1y QvR9P5B2iF6h1iEySA1Sg9QgNUgDFGalotXsWNvgPUDBIO0Or01ucIhqTvvHzgiFMJsf3L+BDu+v UJtVUQhQMDmp4Hv+HRMgrcn9h6SvfIFChyhAwSCd3QoFg7QGMwapQWqQdofXJidDH/0H7+tON/od 0gCF8okOBYO0O7yKyP8E/fJF7tFvR0REnqf/dRG5R78dERF5nv7XRaSo/VgipCIiIiIiIiIiIiIi IiIiIiIiIiIi/6O+6v9QOf4Png6pQWqQBtNQRERE5G/4qj9l8mViwqvuqz6RiIiIyAVf9XcM/9uL V91XfSIRERGRqm/7I6b4t5dbVfXHmYiIiPw9p3/ZtAc3kgGRQdodXpucrORVfHZV5VMiIiIi34j/ ZVP/uycmvMrlPXx2Va2fKCIiIvItyF825I+bXIoJr3LemR9cSxyihJREREREvtTqLxj+l02uHpL4 ylcdjOb6+Kp66VARERGRr3DvL5tWzVDr4uuhxPVNy1XZqsqnRERERL7Rvb9sKn/3jJ6rfyHl/ns3 uXquiIiIyFeY/hFz7++haPRc/Qsp98eEV93VQ0VERES+xY0/bt73FxLf/L5zRURERL5F8S+eqDVE SF+tcm4sdEgNUoM0mIYiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIvJF/vOf/wdz7+wL faKAcgAAAABJRU5ErkJggg== --000000000000953fbb0601284de5 Content-Type: image/png; name="2023-07-23 15 49 44.png" Content-Disposition: inline; filename="2023-07-23 15 49 44.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_lkfj78w12 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 gg== --000000000000953fbb0601284de5--