I was playing with Windows XP on the latest Virtualbox 6.1.26 and discovered that there is no Direct3D support anymore! I've tried everything like 256MB RAM for video and checkbox, for sure.
On one of the page I found info that on the version 5.1.38 it still working. And I reinstall virtualbox from deb package. Install was not clear, since packages 

$ sudo apt purge virtualbox
$ wget https://download.virtualbox.org/virtualbox/5.1.38/virtualbox-5.1_5.1.38-122592~Ubuntu~bionic_amd64.deb
$ wget http://security.ubuntu.com/ubuntu/pool/main/libv/libvpx/libvpx5_1.7.0-3ubuntu0.18.04.1_amd64.deb
$ sudo dpkg -i virtualbox-5.1_5.1.38-122592~Ubuntu~bionic_amd64.deb 
$ sudo dpkg -i libvpx5_1.7.0-3ubuntu0.18.04.1_amd64.deb 
$ sudo dpkg -i virtualbox-5.1_5.1.38-122592~Ubuntu~bionic_amd64.deb

But it fails) 

 /bin/sh: 1: flex: not found
 /bin/sh: 1: bison: not found

Okay no problem.

$ sudo apt install flex bison

The next problem was 

make[2]: *** No rule to make target 'arch/x86/entry/syscalls/syscall_32.tbl', needed by 'arch/x86/include/generated/uapi/asm/unistd_32.h'.  Stop.

That was the last stop. I've decided to revert everything. And here my journey had begun!

$ sudo apt install virtualbox

systemd[1]: Starting LSB: VirtualBox Linux kernel module...
virtualbox[6676]:  * Loading VirtualBox kernel modules...
virtualbox[6676]:  * modprobe vboxdrv failed. Please use 'dmesg' to find out why

When trying to start the VM it displays the info window:
Kernel driver not installed (rc=-1908)
The VirtualBox Linux kernel driver is either not loaded or not set up correctly. Please try setting it up again by executing

Checking if vbox module was loaded

$ lsmod | grep vbox

Reconf means delete + rebuild. With success, sure. 

$ sudo dpkg-reconfigure virtualbox-dkms

But module cant be loaded.

$ sudo modprobe vboxdrv
modprobe: ERROR: could not insert 'vboxdrv': Exec format error

As I understood from the researches, this issue could be related to the compilation process.
Different gcc, diff kernel etc. To check current kernel and which compiler was used.

$ cat /proc/version
Linux version 5.13.0-22-generic (buildd@lgw01-amd64-012) (gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0, GNU ld (GNU Binutils for Ubuntu) 2.37) #22-Ubuntu SMP Fri Nov 5 13:21:36 UTC 2021
$ gcc --version
gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Seems the same) I've tried to switch compiler to gcc-10 with update-alternatives, but no luck.
Also, you can check module info with the command:

$ sudo modinfo vboxdrv
filename:       /lib/modules/5.13.0-22-generic/updates/dkms/vboxdrv.ko
version:        6.1.26_Ubuntu r145957 (0x00300000)
license:        GPL
description:    Oracle VM VirtualBox Support Driver
author:         Oracle Corporation
srcversion:     384D5079D63E907132614A5
depends:        
retpoline:      Y
name:           vboxdrv
vermagic:       5.13.0-22-generic SMP mod_unload modversions 
sig_id:         PKCS#7
signer:         XXX
sig_key:        61:25:97:55:99:82:F9:F4:77:EB:FF:51:E0:22:4C:F8:9F:57:A0:E1
sig_hashalgo:   sha512
signature:      XXXX
parm:           force_async_tsc:force the asynchronous TSC mode (int)

At that moment I was very upset. And almost out of mind. 
But the I've decided to reinstall kernel headers.

$ sudo apt install --reinstall linux-headers-$(uname -r) 
$ sudo dpkg-reconfigure virtualbox-dkms 
$ sudo modprobe vboxdrv

And after that everything was fixed and Vbox working as usual. BUT, without Direct3D support in WinXP.

Add new comment

The content of this field is kept private and will not be shown publicly.
  • No HTML tags allowed.
           ooo        ooooo  oooooooooooo                 oooooooo  oooo    oooo 
`88. .888' `888' `8 dP""""""" `888 .8P'
oooo d8b 888b d'888 888 oooo oooo d88888b. 888 d8'
`888""8P 8 Y88. .P 888 888oooo8 `888 `888 `Y88b 88888[
888 8 `888' 888 888 " 888 888 ]88 888`88b.
888 8 Y 888 888 888 888 o. .88P 888 `88b.
d888b o8o o888o o888o `V88V"V8P' `8bd88P' o888o o888o


Enter the code depicted in ASCII art style.