From nobody Fri Jul 28 14:25:41 2023 X-Original-To: freebsd-drivers@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 4RCl2H24LLz4pFVg; Sat, 29 Jul 2023 12:59:19 +0000 (UTC) (envelope-from owner-freebsd-hackers@freebsd.org) Received: from mail5.nevz.com (mail5.nevz.com [91.240.220.33]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail5.nevz.com", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RCl2G4dSFz3m1X; Sat, 29 Jul 2023 12:59:18 +0000 (UTC) (envelope-from owner-freebsd-hackers@freebsd.org) Authentication-Results: mx1.freebsd.org; none Received: from Srv054.nevz.com (172.17.200.54) by Srv054.nevz.com (172.17.200.54) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Sat, 29 Jul 2023 15:59:09 +0300 Received: from SRV032.nevz.com (172.17.200.32) by Srv054.nevz.com (172.17.200.54) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.1.2507.23 via Frontend Transport; Sat, 29 Jul 2023 15:59:09 +0300 Received: from Pickup by Srv032.nevz.com with Microsoft SMTP Server id 14.3.498.0; Sat, 29 Jul 2023 12:59:05 +0000 x-sender: freebsd-hackers+bounces-2417-kozarenkoas=nevz.com@FreeBSD.org x-receiver: spam@vSrv021.nevz.com X-Virus-Scanned: amavisd-new at nevz.com X-Authentication-Warning: mailgate.nevz.com: Host [172.16.200.14] claimed to be tmh-chpt003 X-MTA-CheckPoint: {64C3D034-0-CC810AC-51FA} DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690554405; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=jDQ4feONKUpE2iqLM6PvGeXjFbd+1fYJjBsm1yOJSvY=; b=iAU3wmjqo2Wi2e/zDMyWC7PoKg9P3Q5d3Np18rzBhjn+e2JhD9ldot6IkoxU45HlA5PoX2 9lNfweJ/b2zjEmOZy9zVe22HVB5BdrJEnFU5qlpgUd2LGIFt65Ss7IMmZZcYu7JI8xmG/B E88MnjK/1HYpFKO10KrV7VZ7Z7to1kOPHacnzucdW0pl1ihPosBcFZk8bl9zZ67ZXQR6Ij MeFTXP2H7kPcKPaNLkoOhQjqp6v7rVGh8gj/0Yi5jWAUjpnZOLHscG3I2e+HfaDpGAl5RC TgVHIDug5WV1ijeE8jbcV42g9h7SYL7tY9TgXWTfy4NLDRGNSLXsFJeUG5OCGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690554405; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=jDQ4feONKUpE2iqLM6PvGeXjFbd+1fYJjBsm1yOJSvY=; b=LoaqOe1p28zxkeLgk81Xtc9xaOoUDHHAZNqk1UUIThfNdFESC0HkFQ2QMyc+X6YW4ZMx6q JBbtOP/ciSL0SDLqEiRqBhtaKR8jZAdXJHi/+QndyF3FtlHHnzYZ2LyNXi2wV6PKrc1o6n CrPtPB/OwCc8qyJchKMs2E4mWVIc2uLoSOHxyaTzm6hoTj3xyncnGyB371uflzDzmy+Gho razMX2N1aghyxeCqG0aHfAudjORsgJW5wvEFf5Hq29l1FF0GBhsCucITT41p6Kz2g/5SHo iwFlCv1WB55c05tsi0ahJfxSynv5UqsooIjbBvsZZiNj+C97S7Gfmuelk3gkOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690554405; a=rsa-sha256; cv=none; b=BVPOqUrfQQMgHxs8oiToFrHHskx0aWmi9W5PTxfKCSszZ1OCejyqbBlJIYS8pELR7HTvpx iQoEQG6ueiX2imZoBqSHpZlmL3rTfyZjk3bPeZBwDUBFh0E7Uev0m9l0LAxUQIjZTsESjh t8Ch5doNA5An4lxjZt9RwmXUz9ox2+pS0jC6QqQ4oGLafoAOR0Kv99ICelOSkZas+TLSIz DPl340pDtAXF+0yH6axKXW5Ggg+dPf1izUr+7hlcwYEyv6rTodH4dBDojqylrXP0wcrr6m hpR2Onwhqfn24U63OTgLO9uANAJ8dK8e0zP52dD+h5eF7FoTwSPSF5W5Fz9Btw== X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690554378; x=1691159178; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=jDQ4feONKUpE2iqLM6PvGeXjFbd+1fYJjBsm1yOJSvY=; b=OrFiUyez+agBg1MDzC1nlcRLNsjaAJS188hmfPG+vFsioanh4nsvl98XVPUBvSltNx jR0VOxXitHWNAlEMaqp4LMb4dCOmoovZWBXP0wb7sJPv6xl0BFteDhe/5W7hWAnr0WO6 4+XoHtIR8PRe1ss99ynkLD2VsxbJ6UaoxO464fqM0QeacvEOlzd8OHYRrXm805wzQ4UC NfeiGc6fW712ZaYcQwdOp8T2FMsllwd7w3IR8rQBBhdBU+cgF8tPWznIXazFRQTS+C4m 9jQUKTBsI18kQc++G5FtFt+L2O9N1nc87cnaDVrRWDvTllNoySIwGRW69ZlJwKl7iQD0 3zzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690554378; x=1691159178; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=jDQ4feONKUpE2iqLM6PvGeXjFbd+1fYJjBsm1yOJSvY=; b=QwGaEBBx2x36fyirb76YKk5MYk5pCxLHHAMaZV3vmDrNo3BfAYp6pI2GdiiF1m5sfK p7tXA13iLm80ekxTutEiMy9ha1djchdGY++cG+Qj85nchbtcYEH4BC0stN0OIXO73MIA V75u6yM6SCOjDk+gPvTnftCnQkYNO2JZX3Y65KUHZ+vmsYwChVAwVRuzDOW8atkk4MAL wIoTKCYJwLO/CDyjhdsxnoA4PrMBwYF5Vj99k905EyQN/2jqlRnzY8kmUcQo7QR0aqcN 3iM1/f0ClXxAQx6Gl/lqlch94oL43KA5pp/riN5bLGYb54WuIVT+qIVJzR3MCZn45rK/ BMMg== X-Gm-Message-State: ABy/qLYb31o/Z3CK7q0rPdRM109yFQuglWxaMlPSUin47CeoxKIEBKrM NnSA6f4eVYZ0dphi9km2VCeOCZ0PBVSgikVv1GSoJ8T/jfM= X-Google-Smtp-Source: APBJJlGYmvcIJRYGvrvIAbMLrDDoOH16D0c+esgiLUQ2RFdE2KWSMQsQFWwC6szeUaOEknOF8nLovqeDB7V3z8GoMQI= X-Received: by 2002:a17:906:3f16:b0:99b:d977:c00c with SMTP id c22-20020a1709063f1600b0099bd977c00cmr2287334ejj.45.1690554378133; Fri, 28 Jul 2023 07:26:18 -0700 (PDT) List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: List-Id: Writing device drivers for FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-drivers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-drivers@freebsd.org MIME-Version: 1.0 References: <5b3e32fa-f5cf-b965-a3f6-2788a1c6ef37@FreeBSD.org> In-Reply-To: <5b3e32fa-f5cf-b965-a3f6-2788a1c6ef37@FreeBSD.org> From: Mario Marietto Date: Fri, 28 Jul 2023 16:25:41 +0200 Message-ID: Subject: 5.7 points Re: Virtual GPU for FreeBSD as guest virtualized with qemu / kvm -- best alternative ? Cirrus ? To: Ronald Klop CC: , FreeBSD virtualization , FreeBSD Mailing List , freebsd-hackers , Content-Type: multipart/related; boundary="0000000000002ed3be06018cdddc" X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-FE-Attachment-Name: unnamed.png X-FEAS-DKIM: Valid X-FE-Last-Public-Client-IP: 96.47.72.81 X-FE-Envelope-From: freebsd-hackers+bounces-2417-kozarenkoas=nevz.com@freebsd.org X-FE-Policy-ID: 1:1:1:nevz.com X-Greylist: internal networks OS Linux 3.11 and newer X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.4 (mailgate.nevz.com [172.17.206.231]); Fri, 28 Jul 2023 17:27:11 +0300 (MSK) X-Spam-Flag: YES X-Spam-Status: Yes, score=5.7 required=5.0 tests=ARC_SIGNED=0.001, ARC_VALID=0.001,BAYES_00=-1.9,DC_PNG_UNO_LARGO=0.001,DKIM_SIGNED=0.1, DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.25,FREEMAIL_FROM=0.001, FSL_HELO_NON_FQDN_1=0.001,HEADER_FROM_DIFFERENT_DOMAINS=5, HTML_MESSAGE=1,MAILING_LIST_MULTI=-1,SUSPICIOUS_RECIPS=2.51, T_SCC_BODY_TEXT_LINE=-0.01 mailgate.nevz.com; whitelist Reported 0 times, welcomelisted 0 times. autolearn=no autolearn_force=no version=4.0.0 X-Spam-Orig-To: ORCPT=rfc822;kozarenkoas@nevz.com X-Spam-Report: * 0.0 ARC_VALID Message has a valid ARC signature * 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily * valid * -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's * domain * -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature * 0.0 ARC_SIGNED Message has a ARC signature * -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from * envelope-from domain * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] * 0.0 FSL_HELO_NON_FQDN_1 No description available. * 2.5 SUSPICIOUS_RECIPS Similar addresses in recipient list * 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider * [marietto2008(at)gmail.com] * 5.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail * domains are different * 1.0 HTML_MESSAGE BODY: HTML included in message * -0.0 T_SCC_BODY_TEXT_LINE No description available. * 0.2 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and * EnvelopeFrom freemail headers are different * 0.0 DC_PNG_UNO_LARGO Message contains a single large png image * -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list * manager X-Spam-Level: ***** X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mailgate.nevz.com X-OriginalArrivalTime: 28 Jul 2023 14:27:15.0349 (UTC) FILETIME=[9B2B2450:01D9C15F] X-Rspamd-Queue-Id: 4RCl2G4dSFz3m1X X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:59416, ipnet:91.240.220.0/24, country:RU] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated --0000000000002ed3be06018cdddc Content-Type: multipart/alternative; boundary="0000000000002ed3bd06018cdddb" --0000000000002ed3bd06018cdddb Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks. it does not work. This is the error I get : (on the attached picture,you can read "segmentation fault"... [image: unnamed.png] On Fri, Jul 28, 2023 at 4:18=E2=80=AFPM Ronald Klop wr= ote: > On 7/23/23 16:27, Mario Marietto wrote: > > 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=3DGenuineIntel,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xs= ave,+xsaveopt,check > \ -m 8G -vga qxl -audiodev dsound,id=3Dsnd0 -device ich9-intel-hda -devic= e \ > 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=3Dnet= 0 \ > -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\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/ < > 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=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 decent > for my case. I would like to try with the cirrus display driver. Maybe th= is > one : > > > > > > https://www.freshports.org/x11-drivers/xf86-video-cirrus/ < > 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 > > > > > > 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 : > > > > > > 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. > > > A https://www.freshports.org/x11-drivers/xf86-video-qxl/ driver exists. > It didn't work on my qemu on Mac/ARM. Maybe it works for you. > > Ronald. > > --=20 Mario. --0000000000002ed3bd06018cdddb Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks. it does not work. This is the error I get : (= on the attached picture,you can read "segmentation fault"...
<= /div>

3D"unnamed.png"

On Fri, Jul 28, 2023 at 4:18=E2=80= =AFPM Ronald Klop <ronald@freebsd.= org> wrote:
On 7/23/23 16:27, Mario Marietto wrote:
> Hello to everyone.
>
>
> I would like to virtualize FreeBSD on Windows 11 with qemu-kvm (for Wi= ndows). I've end up with the following parameters which are working : >
>
> |I:\OS\qemu\Linux\qemu\qemu-system-x86_64w.exe -accel whpx -machine q3= 5 \ -cpu Westmere,vendor=3DGenuineIntel,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+= aes,+xsave,+xsaveopt,check \ -m 8G -vga qxl -audiodev dsound,id=3Dsnd0 -dev= ice ich9-intel-hda -device \ hda-duplex,audiodev=3Dsnd0 \ -hda "I:\OS\= ISO\FreeBSD\FreeBSD-13.2-RELEASE-amd64-disc1.iso" \ -hdb "I:\OS\q= emu\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-p= ci,netdev=3Dnet0,id=3Dnet0,mac=3D52:54:00:11:22:33 \ -device ich9-ahci,id= =3Dsata -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 belo= w there is a good list of all options available :
>
>
> https://www.kraxel.org/blog/2019/09= /display-devices-in-qemu/ <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 :
>
>
>=C2=A0 1.
>
>=C2=A0 =C2=A0 =C2=A0for amdgpu : kld_list=3D"amdgpu"
>
>=C2=A0 2.
>
>=C2=A0 =C2=A0 =C2=A0for intel : kld_list=3D"i915kms"
>
>=C2=A0 3.
>
>=C2=A0 =C2=A0 =C2=A0for radeonkms : kld_list=3D"radeonkms" >
>
> qemu does not cover any of those. I don't know which option is dec= ent 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/ <https://www.fre= shports.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
>
>
> 2023-07-23 15_21_33-QEMU.png
>
> I have created xorg.conf with this content :
>
> |Section "Device" Identifier "Device0" Driver &quo= t;cirrus" BusID "PCI:0:1:0" Screen 0 EndSection|
>
>
> error : no screens found.
> This is the reason why it does not work :
>
>
> 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* ; modesett= ing_drv.so ; scfb_drv.so ; vesa_drv.so ;|
>
>
> What should I do ?
>
> --
> Mario.


A https://www.freshports.org/x11-drivers/xf86-= video-qxl/ driver exists. It didn't work on my qemu on Mac/ARM. May= be it works for you.

Ronald.



--
Mario.
--0000000000002ed3bd06018cdddb-- --0000000000002ed3be06018cdddc Content-Type: image/png; name="unnamed.png" Content-Disposition: inline; filename="unnamed.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_lkmodv4w0 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 --0000000000002ed3be06018cdddc-- From nobody Tue Aug 22 04:23:41 2023 X-Original-To: freebsd-drivers@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 4RVGSW1h4Xz4qGyv for ; Tue, 22 Aug 2023 04:23:55 +0000 (UTC) (envelope-from archimedes.gaviola@gmail.com) Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com [IPv6:2a00:1450:4864:20::230]) (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 4RVGST6m2wz4JLy for ; Tue, 22 Aug 2023 04:23:53 +0000 (UTC) (envelope-from archimedes.gaviola@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20221208 header.b=QlmVDgWr; spf=pass (mx1.freebsd.org: domain of archimedes.gaviola@gmail.com designates 2a00:1450:4864:20::230 as permitted sender) smtp.mailfrom=archimedes.gaviola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lj1-x230.google.com with SMTP id 38308e7fff4ca-2bb8a12e819so62829581fa.1 for ; Mon, 21 Aug 2023 21:23:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1692678231; x=1693283031; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=5oAKdDi6uP6NWhZPCJ+WyEyhGyIdI1eC1wrLArf+RFI=; b=QlmVDgWrM42f1jz16n9IIp+VFhbRmGIz9ZnTDBeMbMQsBrZgsP6wFiVG1s7E/F90jJ mvBtLD2QXJkiff3aa6v6BRdEvPFdV6+kBWQabMJoLSpkGwhgP0Ybs6G0iu9K5zTtW45k e9CzctXyPVEO2WL4w8fjCzXZCsy0e/FYreJRXuu6Kk2xUopsoQW0e1ZbrNO2G1bkAIVr 2KnHHXCkhYN2GPIjFB6qpPHNAq/Y82HWc1ZcRzW+4j47SOPav3wHvISWZVOu9O+BigiU eUUVXKmXaKh9QsNkQBbKmgu2EBR8siqgJ7BDUEcRfyMNUWWRSrG8HHvY/5xLfWqHqFFi X03w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692678231; x=1693283031; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=5oAKdDi6uP6NWhZPCJ+WyEyhGyIdI1eC1wrLArf+RFI=; b=PTi2tQBPUZVbWvlGijK49xo5pwLjexBy/EVcdXhULD7FLLwLrD+2XDa3UA0pJGDdQK 7drW1beCcKyuYb5QglTT6KyX1N8QPNO5LxzN1l36o9+xxjsHr7BYg2FjH/d1lDKXRGLv Fk90bHcwvmNFR/oQws7knnn7FSOifpY++H3Z/xpf2ikQKIUHaey7RTJsrVEvxNx1pHzA lNwnUexzk/mTZuNBOSPRHNfOyXlGhop1mhi9k8/dRmKMvtCn1viyk5oXQ6fsZsD48Ms2 QNyI0chtSugecwrcwLhYeA8cPhzhmVtWy0iGYgSEP9dIMrqmoAmy0SruEcdrw1jIX73U x/aw== X-Gm-Message-State: AOJu0Yz/lELOR2oFrxA4HN+PwlXsnkZRfeebQut41bO6phvLPrhSr1wv v/MCA1oN12Q5IYf0CrDc401rYCiUz29zTLy0JIq+JkmVw5M0ZA== X-Google-Smtp-Source: AGHT+IFABhfMvy7wXloX3fRsM2qXhUIYUVRQAytRAQ2q2THwtzu8zKYupV5c7cr3mi7/gAIqksCMt3k9GAp9Kn1uCTc= X-Received: by 2002:a2e:86d8:0:b0:2bc:c771:5498 with SMTP id n24-20020a2e86d8000000b002bcc7715498mr1704918ljj.18.1692678231364; Mon, 21 Aug 2023 21:23:51 -0700 (PDT) List-Id: Writing device drivers for FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-drivers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-drivers@freebsd.org MIME-Version: 1.0 From: Archimedes Gaviola Date: Tue, 22 Aug 2023 12:23:41 +0800 Message-ID: Subject: Graphics adapter without framebuffer To: freebsd-drivers@freebsd.org Content-Type: multipart/alternative; boundary="000000000000b3174f06037b5cf5" X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20221208]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; PREVIOUSLY_DELIVERED(0.00)[freebsd-drivers@freebsd.org]; ARC_NA(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::230:from]; DKIM_TRACE(0.00)[gmail.com:+]; MID_RHS_MATCH_FROMTLD(0.00)[]; TO_DN_NONE(0.00)[]; TAGGED_FROM(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; MLMMJ_DEST(0.00)[freebsd-drivers@freebsd.org] X-Spamd-Bar: --- X-Rspamd-Queue-Id: 4RVGST6m2wz4JLy --000000000000b3174f06037b5cf5 Content-Type: text/plain; charset="UTF-8" Hi, Good day! How does FreeBSD handle graphics device drivers when a chipset doesn't have a framebuffer for the VGA DAC (digital-to-analog converter)? This device is a Fresco Logic FL2000, a USB to VGA adapter. Its design uses the host computer memory to continuously stream the display content via USB. Is there any existing device driver that uses the same approach that I can refer to? Thanks, Archimedes --000000000000b3174f06037b5cf5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

Good day!

=
How does FreeBSD handle graphics device drivers when a chipset d= oesn't have a framebuffer for the VGA DAC (digital-to-analog converter)= ? This device is a Fresco Logic FL2000, a USB to VGA adapter. Its design us= es the host computer memory to continuously stream the display content via = USB. Is there any existing device driver that uses the same approach that I= can refer to?

Thanks,
Archimedes
--000000000000b3174f06037b5cf5--