From owner-freebsd-emulation@freebsd.org Tue Jun 25 18:22:31 2019 Return-Path: Delivered-To: freebsd-emulation@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DB97A15D35D0 for ; Tue, 25 Jun 2019 18:22:30 +0000 (UTC) (envelope-from johalun@FreeBSD.org) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 717416F6E6 for ; Tue, 25 Jun 2019 18:22:30 +0000 (UTC) (envelope-from johalun@FreeBSD.org) Received: by mailman.ysv.freebsd.org (Postfix) id 355FB15D35CF; Tue, 25 Jun 2019 18:22:30 +0000 (UTC) Delivered-To: emulation@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EC0D215D35CD for ; Tue, 25 Jun 2019 18:22:29 +0000 (UTC) (envelope-from johalun@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8F3656F6E2 for ; Tue, 25 Jun 2019 18:22:29 +0000 (UTC) (envelope-from johalun@FreeBSD.org) Received: by freefall.freebsd.org (Postfix) id E3AF720E0F; Tue, 25 Jun 2019 18:22:28 +0000 (UTC) Delivered-To: vbox@localmail.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [96.47.72.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mx1.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by freefall.freebsd.org (Postfix) with ESMTPS id 9F62320E0E; Tue, 25 Jun 2019 18:22:28 +0000 (UTC) (envelope-from johalun@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 104B26F6DA; Tue, 25 Jun 2019 18:22:28 +0000 (UTC) (envelope-from johalun@FreeBSD.org) Received: from [10.46.14.95] (wsip-72-212-151-146.ph.ph.cox.net [72.212.151.146]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: johalun) by smtp.freebsd.org (Postfix) with ESMTPSA id 8E7A613C2F; Tue, 25 Jun 2019 18:22:27 +0000 (UTC) (envelope-from johalun@FreeBSD.org) Subject: Re: Accelerated graphics in vbox 6 To: Jung-uk Kim Cc: vbox@freebsd.org, FreeBSD X11 References: <4a697e5a-8ecc-cda9-6f80-3e78d09c924f@FreeBSD.org> <874a0def-1e1e-971b-ae65-4e700295a9e9@FreeBSD.org> From: Johannes Lundberg X-Tagtoolbar-Keys: D20190625112225366 Message-ID: <1441b58b-2fc1-381b-9db0-e28d4677436d@FreeBSD.org> Date: Tue, 25 Jun 2019 11:22:25 -0700 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-Rspamd-Queue-Id: 8F3656F6E2 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-7.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-1.00)[-0.997,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-Mailman-Approved-At: Tue, 25 Jun 2019 18:27:36 +0000 X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Jun 2019 18:22:31 -0000 On 6/25/19 10:47 AM, Jung-uk Kim wrote: > On 19. 5. 21., Jung-uk Kim wrote: >> On 19. 5. 21., Johannes Lundberg wrote: >>> Hi >>> >>> On 5/21/19 11:46 AM, Jung-uk Kim wrote: >>>> On 19. 5. 21., Johannes Lundberg wrote: >>>>> Hi vbox folks! (cc: x11 list) >>>>> >>>>> According to this >>>>> https://www.phoronix.com/scan.php?page=article&item=virtualbox-60-vmsvga&num=1 >>>>> vbox can now use the vmwgfx kernel driver for accelerated graphics. With >>>>> that I assume that virtualbox's own drm driver project is scrapped. >>>> Actually, they moved vboxvideo KMS/DRM driver to Linux kernel. >>>> >>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/vboxvideo >>> It's been there for quite some time and no progress have been made for >>> the time I've been tracking it. Seems abandoned to me and my impression >>> is that that one is scrapped in favor of vmwgfx... Do anyone know if >>> vboxvideo is suppose to be in working state (the one in linux kernel)? >> It was added to staging for almost two years ago. Please see the >> original patch submission. >> >> https://lwn.net/Articles/726355/ >> >> Recently they moved it out of staging (via merging drm-next-2019-05-09). >> >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=131abc56e1bacef23cb7b340519d36e2f5adb2a9 >> >> It means Linux 5.2 release will have it by default. >> >> It doesn't look dead to me. ;-) >> >>>> And DDX driver was moved to Xorg repository. >>>> >>>> https://cgit.freedesktop.org/xorg/driver/xf86-video-vbox >>>> >>>>> I've been working on porting vmwgfx from Linux to our linuxkpi. It works >>>>> pretty well with freebsd 13 as vmware guest on macos as long you're >>>>> using only one vcpu (some race condition issue to be solved..).  It >>>>> would be cool if we could get accelerated graphics in vbox, with freebsd >>>>> as both host and guest since vmware can't run as host on freebsd. >>>> Can you please port the vboxvideo driver to linuxkpi? >>> vmwgfx seems like the better choice if it's used by both vmware and vbox >>> (v6+). But if it's suppose to be in a working state I can take a look.. >> ... >> >> AFAIK VirtualBox graphics stack is in a working state. > I found it is ported now. > > https://github.com/FreeBSDDesktop/kms-drm/commits/drm-v5.0 > > I tried it and it's somewhat working, thanks! Hi! So you found it :)  The reason I ported it now was that I realized that vboxideo does not build anymore with Xorg 1.20. Maybe it's deprecated in favor of KMS+modesetting? > > However, I found two problems. > > 1. Console does not refresh automatically. > > When vboxvideo.ko is loaded, console stays black. Console preview looks > fine, though. I found it's redrawn when the window is resized. Note I > only tried it on a Windows host. I will try it with FreeBSD host soon > but I think it'll be the same. Yeah I've been trying to debug this but it's somewhat tricky... Same issue on VMWare. On VMWare I ended up copying the whole fb driver from the kernel to the vmwgfx driver so I can refresh the screen without adding extra KPI in the kernel (as a temporary solution). Need to figure out why it works on real hardware but not in VMs.. It might just be something simple... > > 2. Console does not resize dynamically. > > Actually, it is not vboxvideo.ko's fault. It happens because vt(4) does > not support monitor hotplug. > > https://www.virtualbox.org/wiki/Guest_resizing > > After I tried it out, I realized vboxvideo.ko is just a KMS driver and > modesetting driver is used for X.org. IOW, we cannot resize X.org > window dynamically when vboxvideo.ko is used. With vboxvideo.ko or > vboxvideo_drv.so, 3D acceleration is still handled by the Chromium > OpenGL pass-through stub. As always, it may be enabled with setting > OPENGL option for emulators/virtualbox-ose-additions. Yeah it would be nice to have the guest resize when resizing the window on the host. Do you mean that this functionality is missing in the modesetting ddx? /Johannes > > BTW, Phoronix once reported 3D acceleration with VMware driver does not > look good on VirtualBox anyway. :-p > > http://www.phoronix.com/vr.php?view=27348 > > Jung-uk Kim >