#18677 closed defect (fixed)
Can't Resize display in virtualbox guest -> fixed after June 7 2019
Reported by: | Knud | Owned by: | |
---|---|---|---|
Component: | other | Version: | VirtualBox 6.0.8 |
Keywords: | Cc: | ||
Guest type: | Linux | Host type: | Linux |
Description
Description of problem:
Changing resolution in the guest (KDE spin F31 kernel 5.1.0-1 f31.x86_64 or f31 kernel 5.2.0-0.rc0.git.1) Done by KDE control panel
You see a short flickering and the resolution stays the same, mouse position (actual compared to visible) is corrupted. Can partly be restored by shifting to fullscreen console in the guest by HOST+F2 =>HOST+F1
Resizing from host does not change the visibel part of the guest screen, only a grey frame.
I have tried Guest desktops both Gnome, Cinnamon, either do the same or give an error.
It are complete fresh guest F31 installs
HOST is F30 ...but I dont believe it matters because problem was also with older F28 HOST
Using VboxSVGA, have tried the 2 other vbox display adapters VMSVGAm VboxVGA, does not affect the problem.
Version-Release number of selected component (if applicable): VirtualBox-guest-additions 6.0.8 (Host is also Vbox 6.0.8)
How reproducible: Always
Just make fresh F31 install as a guest
See also bug https://bugzilla.redhat.com/show_bug.cgi?id=1713986
Knud
Attachments (1)
Change History (27)
comment:1 by , 5 years ago
comment:2 by , 5 years ago
By the way, if you prefer building yourself, this is the change against the development source (it should be visible in a few minutes):
https://www.virtualbox.org/changeset/78778/vbox
It should apply easily against 6.0 as well. And if the change does not fix the problem for you please upload a log file from an Oracle build of VirtualBox and a virtual machine you are seeing the problem with.
comment:3 by , 5 years ago
Sorry I didn't got information(email) that bug was updated.
Answer: I have not tested builds (guest additions) from Virtualbox only the fedora builds
Question: Do I need to shift the host package or is sufficient to shift the guest addition ?
Knud
comment:4 by , 5 years ago
In this case the host is Win7 (however I have this issue on Win8.1 hosts also).
To add to Knud's description, in my case when the screen resizing fails it also kills mouse integration (cursor is lost). If I launch a virtual console and kill lightdm I can get things working again, until the next window resize event.
(1) Installed VirtualBox-6.0.9-130970-Win Problems persisted.
(2) Uninstalled virtualbox-guest-additions-6.0.8-2.fc31.x86_64 then tried to build drivers from the guest additions CD by running VBoxLinuxAdditions.run as root as I usually do, but got some build problems as follows:
/tmp/vbox.0/vbox_fb.c: In function ‘vboxfb_create’: /tmp/vbox.0/vbox_fb.c:335:2: error: implicit declaration of function ‘drm_fb_helper_fill_fix’; did you mean ‘drm_fb_helper_fill_info’? [-Werror=implicit-function-declaration] 335 | drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth); | ^~~~~~~~~~~~~~~~~~~~~~ | drm_fb_helper_fill_info /tmp/vbox.0/vbox_fb.c:339:2: error: implicit declaration of function ‘drm_fb_helper_fill_var’; did you mean ‘drm_fb_helper_fill_info’? [-Werror=implicit-function-declaration] 339 | drm_fb_helper_fill_var(info, &fbdev->helper, sizes->fb_width, | ^~~~~~~~~~~~~~~~~~~~~~ | drm_fb_helper_fill_info cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:279: /tmp/vbox.0/vbox_fb.o] Error 1 make[1]: *** [Makefile:1600: _module_/tmp/vbox.0] Error 2 make: *** [/tmp/vbox.0/Makefile-footer.gmk:111: vboxvideo] Error 2
Despite the error after a reboot lsmod reports a vboxvideo module loaded. However the behavior is exactly the same from what I can see, including the loss of mouse cursor and so on.
comment:5 by , 5 years ago
I just noticed that sometimes when I try to change the screen size (not every time) I get a notification saying something along the lines of "Failed to change monitor configuration". It flickers so quickly it is hard to catch what it is saying. There is a second line of text but I cannot make it out, sometimes the notification box is mostly outside the screen area.
comment:6 by , 5 years ago
I have tested the guest-addition 6.0.9 build 130987 (6.0.8 host package) No change same problem.
Updated Guest to Fedora F31 kernel 5.2.0-0.rc2.git0.1.fc31.x86_64 which fixed some GUI issues in native HW. No change in the above guest problem
Knud
comment:7 by , 5 years ago
Quick answer as I am not working today.
@Knudch If you are seeing the problem I think then you need to update the host side. I assume you are using a Linux host as you said. And if you are not getting notifications, check that your e-mail is set in your account settings (on virtualbox.org trac, not the Oracle account).
@nixuser I am guessing that is a different issue. See the patch on the vbox-dev mailing list. You could apply it directly to the driver code in the guest under /usr/src/vboxguest... and rebuild using "/sbin/rcvboxadd setup". The vboxvideo module which is loaded is probably the one from Fedora.
In any case, both, please attach a log file from the virtual machine you are running.
comment:8 by , 5 years ago
@Not working to day..... OK
Tried to install 6.0.9 build 130970_el7-1.x86_64.rpm on host.....not possible "nothing provides libvpx.so.1"
In installed libvpx package there is a libvpx.so.6
Search packages for libvpx.so.1....none provide that so.1 libvpx.so.4 and .5 are provided
(Fedora F30 kernel 5.0.17)
Knud
comment:9 by , 5 years ago
As I said above, please use the .run installer. It uninstalls cleanly, really.
comment:10 by , 5 years ago
Sorry misunderstood you..thought you meant guest-additions .run file
Installed host .run install...went ok
Bug behavior did not change...same problem.
By the way this build seems rather "sluggish" and spreading quite a load on the host machine (No big deal AMD Threadripper 12/24 core, 64GB ram)
Log from virtual guest machine attached
Knud
comment:11 by , 5 years ago
@Michael You can see the problem by yourself
Host: What ever
Guest: Fedora F30 with Vbox installed 6.0.8
Nested guest: F31 rawhide KDE spin live kernel 5.1.0-1.fc31.x86_64
Vsvga driver
try to change resolution from systemsettings=> monitors => change settings
Knud
comment:12 by , 5 years ago
FYI
Fedora F30 with kernel 5.1.5-300.fc30.x86_64 as guest is not affected by this problem
So it seems not to be kernel version related.
Knud
comment:13 by , 5 years ago
@Knudch For me the problem came and went across adjacent release candidates of the 5.1.0 kernel for Rawhide. For example, rc7 exhibited the issue while rc6 did not. The final release kernel-5.1.0-1.fc31.x86_64 worked (for me) and I have a backed up VM with this kernel that works perfectly. So I am not surprised (but am very happy to see) the latest F30 kernel works OK.
@Michael Any idea when the patched guest additions iso will appear on the test builds page? I tried VBoxGuestAdditions_6.0.9-130987.iso but the build issues due to the API change remain.
comment:14 by , 5 years ago
@Knudch You mentioned a nested guest. I think I missed that before. Can you reproduce this without nesting? I must admit that I have not yet tested the Additions nested.
comment:15 by , 5 years ago
@Michael
Original the bug was discovered without nesting. So yes the bug is there without nesting. And that is still where I am doing any test with different versions etc.
Nested setup was only done recently to see if it was related to my native HOST HW/OS. So it was only a additional test. I don't know if you can reproduce the bug, I thought at least you could reproduce it in that way.
Afterwards it came to my mind that you need a AMD Ryzen/Threadripper HW to do nested virtualization.
Knud
comment:16 by , 5 years ago
I am still having problems building the drivers with the test build ISO images.
VBoxGuestAdditions_6.0.9-131148.iso gives me the following:
VBoxClient: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
comment:17 by , 5 years ago
I suspect that there are at least two problems here. Making our kernel modules work with Linux 5.2 and bug #18682. I will address the first of the two on this bug and the second on that.
comment:18 by , 5 years ago
Summary: | Can't Resize display in virtualbox guest → Can't Resize display in virtualbox guest -> fixed after June 7 2019 |
---|
The modules builds should be fixed as of revisions 131178 (development version), 131182 (6.0) and 131184 (5.2). Test builds should be available shortly. Please try them with the work-around from ticket #18682 to see if they solve the problem.
comment:19 by , 5 years ago
Configuration tested was:
Host: VirtualBox-6.0.9-131183-Win.exe on a Win8.1 host. Guest: Fedora Rawhide running kernel-5.2.0-0.rc3.git0.1.fc31.x86_64.
Works perfectly for me, I can resize the screen by dragging the window corners as expected. Great result, thank you.
comment:20 by , 5 years ago
I can confirm that guest additions 6.0.9-131183.iso works in Linux F31 kernel 5.2.0-0.rc3.git0.1 as guest under F30 kernel 5.1.6-300.fc30.x86_64
Thank you :)
Knud
comment:21 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
follow-up: 23 comment:22 by , 5 years ago
I appreciate your help, but the issues persist with VirtualBox-guest-additions un version 6.0.12 Both with the VBoxVGA as well as the VBoxSVGA. Screen will blink and Also when ghe screen Is re-sized, but with these controllers the screen can ve re-sized but blinks; with the VMSVGA controller it can't be re-sized in Real Time but ir dies not blinks. Attached dime videos that show it.
comment:23 by , 5 years ago
Replying to luispautt:
Both with the VBoxVGA as well as the VBoxSVGA.
Your videos show a Linux guest, in which case the VBoxSVGA vGPU is *not* the proper option, as it's used for Win guests only, see the User Manual.
- It's usually better and faster, if issues get first addressed in the VirtualBox forums, a lot more eyes there. More than 95% of the issues are resolved in the forums, which keeps the developers focusing on the bug fixes and enhancements, and there is no need for another ticket to keep track of. Plus a discussion and analysis on the bug tracker is going to help me, you, and potentially a future drive-by user or two. Not so in the forums, many more tend to benefit...
- You were supposed to follow these steps when you filed the bug, and provide a VBox.log:
Attach a (full) log file ("Machine" menu/"Show Log" in the main VirtualBox Manager window) straight away to save time for you and for us. The log file contains a lot of useful information about both the host and the guest systems as well as information about what happened during a particular machine run. Please do not cut and paste it.
Please open a new thread in the Linux Guests section of the forums. Please be sure to mention that you came from the bug tracker and include the ticket number.
comment:24 by , 4 years ago
for the record, this had been fixed with revision r131178
and the diffs where:
Index: src/VBox/Additions/linux/drm/vbox_fb.c =================================================================== --- src/VBox/Additions/linux/drm/vbox_fb.c (revision 131177) +++ src/VBox/Additions/linux/drm/vbox_fb.c (revision 131178) @@ -335,13 +335,17 @@ info->apertures->ranges[0].base = pci_resource_start(dev->pdev, 0); info->apertures->ranges[0].size = pci_resource_len(dev->pdev, 0); -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) || defined(RHEL_75) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 2, 0) + drm_fb_helper_fill_info(info, &fbdev->helper, sizes); +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) || defined(RHEL_75) drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth); #else drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth); #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0) drm_fb_helper_fill_var(info, &fbdev->helper, sizes->fb_width, sizes->fb_height); +#endif info->screen_base = (char __iomem *)bo->kmap.virtual; info->screen_size = size; Index: src/VBox/Additions/linux/drm/vbox_ttm.c =================================================================== --- src/VBox/Additions/linux/drm/vbox_ttm.c (revision 131177) +++ src/VBox/Additions/linux/drm/vbox_ttm.c (revision 131178) @@ -310,7 +310,11 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) || defined(RHEL_71) dev->anon_inode->i_mapping, #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0) DRM_FILE_PAGE_OFFSET, true); +#else + true); +#endif if (ret) { DRM_ERROR("Error initialising bo driver; %d\n", ret); #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
comment:25 by , 4 years ago
more for the record, these changes where required to support the Linux 5.2 kernel version:
https://lkml.org/lkml/2019/5/8/1122
https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.2
https://github.com/torvalds/linux/commit/c8613fc6293b0f8c1d303c991338d085cf4d9f12
Linux kernel version 5.2-rc1 commit:
commit 168b85e9b2237d3507255dad484eae2399d6b270 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Tue Mar 26 14:20:08 2019 +0100 drm/fb-helper: Unexport fill_{var,info} Not used by drivers anymore.
unexported drm_fb_helper_fill_fix() and drm_fb_helper_fill_var(), so now use the new helper drm_fb_helper_fill_info() instead.
the other change was related to removing the argument:
drm/ttm: Remove file_page_offset parameter from ttm_bo_device_init()
https://www.mail-archive.com/spice-devel@lists.freedesktop.org/msg47331.html
https://patchwork.kernel.org/cover/10800601/
First question, since you asked first on the Red Hat bugzilla - can you reproduce this with our builds of VirtualBox? I am uploading test builds with a possible fix, which should be there in an hour or so. The revision containing the change is 130865 for the development version and 130866 for the 6.0 branch, so any test builds of that or a later revision will contain it. You can get the test builds from the test build download page:
https://www.virtualbox.org/wiki/Testbuilds
For Linux hosts you will have to first remove your current version and use the Makeself shell script installer (.run extension), unless one of the EL6 or EL7 RPMs works for you. The shell script installer uninstalls again cleanly using the uninstall script under /opt/VirtualBox*. You can unpack it without installing if you are interested by adding the arguments --keep --noexec (do not run it as root in that case) and will find the install shell script inside the unpacked folder.