[02/28] weston-init: replace deprecated/disabled fbdev with drm backend

Message ID 20220217160939.1424397-2-alex@linutronix.de
State Accepted, archived
Commit 432f24ef9af3c0e6e0c769dc2a751023138f7bae
Headers show
Series [01/28] gdb: update 11.1 -> 11.2 | expand

Commit Message

Alexander Kanavin Feb. 17, 2022, 4:09 p.m. UTC
drm will default to opengl rendering by default; if this is
problematic, --use-pixman option may help, apply only where
it's proven necessary.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/recipes-graphics/wayland/weston-init.bb | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

Comments

Khem Raj Feb. 17, 2022, 7:54 p.m. UTC | #1
On 2/17/22 8:09 AM, Alexander Kanavin wrote:
> drm will default to opengl rendering by default; if this is
> problematic, --use-pixman option may help, apply only where
> it's proven necessary.
> 
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>   meta/recipes-graphics/wayland/weston-init.bb | 8 +-------
>   1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb
> index e02da0c358..8e8c0454be 100644
> --- a/meta/recipes-graphics/wayland/weston-init.bb
> +++ b/meta/recipes-graphics/wayland/weston-init.bb
> @@ -19,13 +19,7 @@ PACKAGECONFIG ??= ""
>   PACKAGECONFIG[no-idle-timeout] = ",,"
>   
>   DEFAULTBACKEND ??= ""
> -DEFAULTBACKEND:qemuall ?= "fbdev"
> -DEFAULTBACKEND:qemuarm64 = "drm"
> -DEFAULTBACKEND:qemux86 = "drm"
> -DEFAULTBACKEND:qemux86-64 = "drm"
> -# gallium swrast was found to crash weston on startup in x32 qemu
> -DEFAULTBACKEND:qemux86-64:x86-x32 = "fbdev"
> -DEFAULTBACKEND:x86-x32 = "fbdev"
> +DEFAULTBACKEND:qemuall ?= "drm"
>   

Does this switch fbdev->drm backend work on all qemu implementations we 
have in oe-core ?


>   do_install() {
>           if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#161819): https://lists.openembedded.org/g/openembedded-core/message/161819
> Mute This Topic: https://lists.openembedded.org/mt/89212436/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin Feb. 17, 2022, 7:57 p.m. UTC | #2
On Thu, 17 Feb 2022 at 20:54, Khem Raj <raj.khem@gmail.com> wrote:
>
> Does this switch fbdev->drm backend work on all qemu implementations we
> have in oe-core ?
>

Yes, I ran a-full with this change on top of my transition-to-weston
branch (where image-sato is swapped for image-weston), and it passed
with flying colours. Without kvm performance may not be great, but we
can tweak that with --use-pixman later :)

Alex
Alexander Kanavin Feb. 17, 2022, 7:59 p.m. UTC | #3
On Thu, 17 Feb 2022 at 20:57, Alexander Kanavin via
lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org>
wrote:
> Yes, I ran a-full with this change on top of my transition-to-weston
> branch (where image-sato is swapped for image-weston), and it passed
> with flying colours. Without kvm performance may not be great, but we
> can tweak that with --use-pixman later :)

Ah, one exception was x86-x32 (seatd doesn't build there, and swrast
historically segfaulted with X11), but that target should be changed
to cmdline only testing, or removed altogether. Intel invented it to
look better in benchmarks :)

Alex
Khem Raj Feb. 17, 2022, 8:03 p.m. UTC | #4
On 2/17/22 11:59 AM, Alexander Kanavin wrote:
> On Thu, 17 Feb 2022 at 20:57, Alexander Kanavin via
> lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org>
> wrote:
>> Yes, I ran a-full with this change on top of my transition-to-weston
>> branch (where image-sato is swapped for image-weston), and it passed
>> with flying colours. Without kvm performance may not be great, but we
>> can tweak that with --use-pixman later :)
> 
> Ah, one exception was x86-x32 (seatd doesn't build there, and swrast
> historically segfaulted with X11), but that target should be changed
> to cmdline only testing, or removed altogether. Intel invented it to
> look better in benchmarks :)
> 

what qemu targets are exercised by AB for full runtime tests ?

> Alex
Alexander Kanavin Feb. 17, 2022, 8:04 p.m. UTC | #5
On Thu, 17 Feb 2022 at 21:03, Khem Raj <raj.khem@gmail.com> wrote:
> what qemu targets are exercised by AB for full runtime tests ?

x86/x86-64/x86-x32/arm/arm64/mips32/mips64/ppc32

Alex
Alexander Kanavin Feb. 17, 2022, 8:16 p.m. UTC | #6
On Thu, 17 Feb 2022 at 21:04, Alexander Kanavin via
lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org>
wrote:
>
> On Thu, 17 Feb 2022 at 21:03, Khem Raj <raj.khem@gmail.com> wrote:
> > what qemu targets are exercised by AB for full runtime tests ?
>
> x86/x86-64/x86-x32/arm/arm64/mips32/mips64/ppc32

As for risc-v, qemuriscv.inc has:
QB_GRAPHICS = "-device bochs-display"

If I remember right, that driver has kms/drm support, so it should
work like every other target, subject to bugs.

Alex
Khem Raj Feb. 17, 2022, 8:34 p.m. UTC | #7
On Thu, Feb 17, 2022 at 12:16 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> On Thu, 17 Feb 2022 at 21:04, Alexander Kanavin via
> lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org>
> wrote:
> >
> > On Thu, 17 Feb 2022 at 21:03, Khem Raj <raj.khem@gmail.com> wrote:
> > > what qemu targets are exercised by AB for full runtime tests ?
> >
> > x86/x86-64/x86-x32/arm/arm64/mips32/mips64/ppc32
>
> As for risc-v, qemuriscv.inc has:
> QB_GRAPHICS = "-device bochs-display"
>
> If I remember right, that driver has kms/drm support, so it should
> work like every other target, subject to bugs.
>


yeah, I will see it soon,

> Alex

Patch

diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb
index e02da0c358..8e8c0454be 100644
--- a/meta/recipes-graphics/wayland/weston-init.bb
+++ b/meta/recipes-graphics/wayland/weston-init.bb
@@ -19,13 +19,7 @@  PACKAGECONFIG ??= ""
 PACKAGECONFIG[no-idle-timeout] = ",,"
 
 DEFAULTBACKEND ??= ""
-DEFAULTBACKEND:qemuall ?= "fbdev"
-DEFAULTBACKEND:qemuarm64 = "drm"
-DEFAULTBACKEND:qemux86 = "drm"
-DEFAULTBACKEND:qemux86-64 = "drm"
-# gallium swrast was found to crash weston on startup in x32 qemu
-DEFAULTBACKEND:qemux86-64:x86-x32 = "fbdev"
-DEFAULTBACKEND:x86-x32 = "fbdev"
+DEFAULTBACKEND:qemuall ?= "drm"
 
 do_install() {
         if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then