Fedora 25 has been released for some time and its most prominent feature is the substitution of X with Wayland. Wayland relies on libkms (Kernel modesetting, kernel mode setting. The resolution and color depth of the monitor are added to the pattern, and libkms is included in the DRM (Direct Rendering Manager). Intel's Open source Linux graphics driver, AMD's open source Linux graphics drivers are based on Drm,nvidia also in their own closed Linux graphics driver provides the LIBKMS function, in the Intel, AMD, NVIDIA graphics card can run well Wayland. Upper-level desktop systems, such as kde,gnome, support the use of Wayland.
However, Virutalbox does not have DRM support and its kernel drivers do not provide libkms support.
I saw a news "an Fbdev compositor back-end for Wayland/weston", in which they started NOUVEAUFB with Wayland. I am confident that I can pass the Fbdev, let VirtualBox support Wayland.
So I started.
1, first kill the VirtualBox client kernel module and x-Drive.
Emerge-c app-emulation/virtualbox-guest-additions X11-drivers/xf86-video-virtualbox
2, open the kernel of the VESAFB drive, reconfigure the compiler kernel. Configure BOOT.
Genkernel--menuconfig--LVM--install all
Device Drivers--->
Graphics support--->
Frame buffer Device--->
[*] VESA VGA Graphics support
Vi/etc/default/grub
grub_cmdline_linux_default= "DOLVM vga=0x315"
Where the VGA kernel parameter values refer to the kernel document Https://www.kernel.org/doc/Documentation/fb/vesafb.txt
Grub-mkconfig-o/boot/grub/grub.cfg
3, reboot to SDDM, select the session as "Plasma (Wayland)", enter user password login, black screen, and so on, and so on, or black screen.
So doubt the quality of VESAFB, not enough to run Wayland. For example, the Gentoo wiki does not have a VESAFB document, but a UVESAFB document. Online also mentioned that there is a project called VESA-TNG, its successor is UVESAFB. So follow Gentoo wiki UVESAFB UVESAFB
Genkernel--no-clean--no-mrproper--menuconfig--lvm--install all
Device Drivers --->
<*> Connector-unified userspace <-> KERNELSPACE linker --->
Graphics support --->
Frame Buffer Devices --->
[*] Support for frame buffer Devices--->
[*] Enable firmware EDID
<*> U Serspace VESA VGA Graphics support
EMERGE-1A dev-libs/klibc
emerge-a sys-apps/v86d
Genkernel--no-clean--no-mrproper--menuconfig--LVM--install all general
Setup --->
[*] Initial RAM filesystem and RAM disk (INITRAMFS/INITRD) support
(/USR/SHARE/V86D/INITRAMFS) Initramfs source file (s)
Vi/etc/default/grub
grub_cmdline_linux_default= "DOLVM video=uvesafb:800x600-32,mtrr:3,ywrap"
Grub-mkconfig-o/boot/grub/grub.cfg
The middle also encountered v86d can not compile the problem, hint: Error:unknown type name ' atomic_t ', reference to this document to solve
[solved] sys-apps/v86d-0.1.10 fails to compile
https://forums.gentoo.org/viewtopic-t-1058238.html?sid=08a2ec4ff8567c644a1adb933663230d
Reboot to SDDM, select Session as "Plasma (Wayland)", enter user password login, or black screen, and so on, and so on, still black screen.
I was in trouble, reread "an Fbdev compositor back-end for Wayland/weston" The news, saw a sentence "This is a initial version of a Fbdev backend for W Eston ". The original is not Wayland have Fbdev back end, but Wayland ' s Weston have Fbdev back end. Then install Weston:
Vi/etc/portage/package.use/default.use
Dev-libs/weston Fbdev
emerge-a Weston
Write. bash_profile files according to the Gentoo wiki
#!/bin/sh
if Test-z "${xdg_runtime_dir}"; then
export Xdg_runtime_dir=/tmp/${uid}-runtime-dir
if! Test- D "${xdg_runtime_dir}"; Then
mkdir "${xdg_runtime_dir}"
chmod 0700 "${xdg_runtime_dir}"
fi
fi
source. bash_profile
Weston--help found that the back end can be specified with-B, where there are fbdev-backend.so
So run
Weston-b fbdev-backend.so