VirtualBox 6.0 Guest running Slackware 14.2 no text console display
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
VirtualBox 6.0 Guest running Slackware 14.2 no text console display
I'm not having much success getting a VirtualBox 6.0.16 Windows 7 host to display the text console for a Slackware 14.2 64-bit Guest after the "vboxvideo" module is loaded.
I figured I would ask the question here and also share my work around.
I'm not running the latest major VirtualBox version 6.1 because I've found that the latest version is often broken. I just recently moved from the last 5.x version to 6.0 and thought it was working well until I ran into the text console problem.
The VirtualBox Guest Additions have undergone a major change from 5.x to 6.0. Among other things, the "vboxvideo" driver is now loaded during kernel initialization to support the frame buffer.
The problem is that the frame buffer support in "vboxvideo" seems to be broken. The text console display is only updated sometimes when you switch between screens, but never when you are actually viewing the text console and typing.
Most of the time that isn't important, since a terminal emulator application can be used. It is a big problem when trying to boot into single user mode or multi-user text mode.
My work around was to prevent the "vboxvideo" module from being loaded by the kernel when the framebuffer device is detected.
I created a file named "/etc/modprobe.d/vboxvideo.conf" containing the line to blacklist vboxvideo.
Code:
blacklist vboxvideo
There might be a better way to do that, but it works.
Next, I changed the initialization for run level 3 to stop VirtualBox services rather than start them.
I renamed the following files in "/etc/rc.d/rc3.d".
Code:
S10vboxadd
S35vboxadd-service
Renaming them to begin with "K" makes them stop the services instead of starting the services.
Code:
K10vboxadd
K35vboxadd-service
The drawback to this workaround is that the VirtualBox shared folders and shared clipboard are not available except when using run level 4.
I've found that it's better to work around problems rather than switching versions of VirtualBox because that usually just trades one set of problems for a different set. When I have time, I may try some of the 6.1 versions to see how well they work for me.
If anyone knows a way to get the text console to work properly or a better work around, please post it.
Also, if you are running some version of VirtualBox 6.1, I'm interested in hearing how well it works for you and how you are using it. I mostly run a Windows 7 64-bit host OS with a Windows XP 32-bit or Windows 7 64-bit guest. I sometimes run a Slackware Linux 64-bit guest.
Distribution: VM Host: Slackware-current, VM Guests: Artix, Venom, antiX, Gentoo, FreeBSD, OpenBSD, OpenIndiana
Posts: 1,001
Rep:
assuming that you have all pieces installed (extensions and guest), it does not matter for your client if versions for client and host are similar.
VB requires gui for clipboard to work of course.
I have Slackware (not -14.2 but -current) as host and as client installed and for client vboxvideo works. Also if you run default Slackware kernel, VMSVGA may not be enabled (I a not sure about this as I don't run default kernel)
You can play with vboxvideo drivers:
switching from new
VMSVGA to old VboxSVGA
but this is tricky:
VB Manager will revert automatically (for linux) from VboxSVGA to VMSVGA.
There is preatty easy way to avoid this and keep VboxSVGA (and add up to 256MB video RAM - not available from defaut settings panel) for linux.
Second thing, as reboots are pretty cheap, I would at least try disabling framebuffer andjust running on vboxvideo. Works here.
Can I disable framebuffer using a kernel parameter, or do I need to rebuild the kernel? I know how to rebuild the kernel, so that won't be a problem. I tried changing boot parameters for the text console mode and it had no effect on the framebuffer driver loading. I am using the lilo bootloader, but I can also use grub2 if that will make things easier.
Here is my /etc/lilo.conf
Code:
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
# Append any additional kernel parameters:
append=" vt.default_utf8=0"
lba32
boot = /dev/sda
compact # faster, but won't work on all systems.
bitmap = /boot/slack.bmp
bmp-colors = 255,0,255,0,255,0
bmp-table = 60,6,1,16
bmp-timer = 65,27,0,255
prompt
timeout = 50
change-rules
reset
# VESA framebuffer console @ 1024x768x32k
vga = 791
# Normal VGA console
#vga = normal
# Ask for video mode at boot (time out to normal in 30s)
#vga = ask
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
initrd = /boot/initrd.gz
root = "UUID=**SNIPPED-OUT**"
label = Linux
read-only
# Linux bootable partition config ends
I tried using "vga = normal" and the vboxvideo driver still loaded, making the text console display inoperative.
I think that the Plug-and-Play hardware detection is what loads the vboxvideo module based on detecting the VirtualBox framebuffer device. I put the relevant kernel log output below.
Code:
[ 35.422651] fb: switching to vboxdrmfb from VESA VGA
[ 35.422685] Console: switching to colour dummy device 80x25
[ 35.423903] fbcon: vboxdrmfb (fb0) is primary device
[ 35.424385] Console: switching to colour frame buffer device 100x37
[ 35.425293] vboxvideo 0000:00:02.0: fb0: vboxdrmfb frame buffer device
[ 35.429631] [drm] Initialized vboxvideo 1.0.0 20130823 for 0000:00:02.0 on minor 0
[ 35.793305] 00:26:14.623696 main VBoxService 6.0.16 r135674 (verbosity: 0)
linux.amd64 (Jan 14 2020 10:46:49) release log
I have a Linux host, so the problem is, of course different.
I ignored vga in the lilo section, as once your video driver loads as the kernel boots, all that is forgotten about. I don't have xf86-video-vesa or xf86-video-fb installed, so nothing In X has that option. 'cmd' prompts in windows should be enough to install slackware. AFAIK, vboxvideo simply passes back the video to windows, unless you know otherwise.
If you leave out the 'vga=791' which isn't what you want unless you have a 4:3 monitor, you can blacklist the framebuffer module in /etc/modprobe.d/blacklist, and that should stop it loading temporarily, unless it's in the initrd. It saves the inconvenience of a kernel rebuild.
It also appears you are using vboxdrmfb, not vboxvideo. Framebuffer was originally about console hi-res without vga cards. But with cards like the S3 (1996) & friends, it's days appeared numbered. Those were the days when you had to cobble up your own modeline, allowing for things like flyback time in Analogue monitors. Have you had a look at improving things in the VB settings for your guest?
Distribution: VM Host: Slackware-current, VM Guests: Artix, Venom, antiX, Gentoo, FreeBSD, OpenBSD, OpenIndiana
Posts: 1,001
Rep:
Quote:
Originally Posted by Erik_FL
Can I disable framebuffer using a kernel parameter, or do I need to rebuild the kernel? I know how to rebuild the kernel, so that won't be a problem. I tried changing boot parameters for the text console mode and it had no effect on the framebuffer driver loading. I am using the lilo bootloader, but I can also use grub2 if that will make things easier.
Here is my /etc/lilo.conf
Code:
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
# Append any additional kernel parameters:
append=" vt.default_utf8=0"
lba32
boot = /dev/sda
compact # faster, but won't work on all systems.
bitmap = /boot/slack.bmp
bmp-colors = 255,0,255,0,255,0
bmp-table = 60,6,1,16
bmp-timer = 65,27,0,255
prompt
timeout = 50
change-rules
reset
# VESA framebuffer console @ 1024x768x32k
vga = 791
# Normal VGA console
#vga = normal
# Ask for video mode at boot (time out to normal in 30s)
#vga = ask
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
initrd = /boot/initrd.gz
root = "UUID=**SNIPPED-OUT**"
label = Linux
read-only
# Linux bootable partition config ends
I tried using "vga = normal" and the vboxvideo driver still loaded, making the text console display inoperative.
I think that the Plug-and-Play hardware detection is what loads the vboxvideo module based on detecting the VirtualBox framebuffer device. I put the relevant kernel log output below.
Code:
[ 35.422651] fb: switching to vboxdrmfb from VESA VGA
[ 35.422685] Console: switching to colour dummy device 80x25
[ 35.423903] fbcon: vboxdrmfb (fb0) is primary device
[ 35.424385] Console: switching to colour frame buffer device 100x37
[ 35.425293] vboxvideo 0000:00:02.0: fb0: vboxdrmfb frame buffer device
[ 35.429631] [drm] Initialized vboxvideo 1.0.0 20130823 for 0000:00:02.0 on minor 0
[ 35.793305] 00:26:14.623696 main VBoxService 6.0.16 r135674 (verbosity: 0)
linux.amd64 (Jan 14 2020 10:46:49) release log
Thanks for the replies.
[ 35.422651] fb: switching to vboxdrmfb from VESA VGA
[ 35.422685] Console: switching to colour dummy device 80x25
[ 35.423903] fbcon: vboxdrmfb (fb0) is primary device
I don't know why you have vboxdrmfb. In my case this is vboxvideodrmfb
also what is lpsci -k showing?
I had the same issue.
It seems that is related to guest additions version xxx.22 .
But I found this workaround:
Configure Graphic board in Virtual Box machine settings as VMSVGA instead of VBoxVGA or VBoxxVGA
I hope that with the future guest additions or maybe different kernel this problem will be solved.
Quote:
Originally Posted by Aeterna
[ 35.422651] fb: switching to vboxdrmfb from VESA VGA
[ 35.422685] Console: switching to colour dummy device 80x25
[ 35.423903] fbcon: vboxdrmfb (fb0) is primary device
I don't know why you have vboxdrmfb. In my case this is vboxvideodrmfb
also what is lpsci -k showing?
so the problem may be in the kernel
your lilo is o.k.
I have
vga = 791
in lilo enabbled too. It just shows nicely number of processors and obviously it is more readable.
xf86-video-fb is not even available under -current (at least I don't see it)
in the kernel I have
DRM_VBOXVIDEO
DRM_VMWGFX
DRM_VMWGFX_FBCON
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.