Blue Tooth mouse disappeared, but it's there?

Kind of a weird VM setup. A keyboard/mouse with wifi/bluetooth connectivity. When all wifi I got terrible feedback through the speakers, so I moved just the mouse to blue tooth. This is on a Windows 11 host. Then I have installed four Linux VMs - and it solved it for all the guests and host. Did an update to MX Linux 25.2 VM, and after the reboot I could no longer see the mouse cursor. I know it is there, because I can get items to highlight, and then use the keyboard to navigate. I thought it might be a graphics driver issue, but now think some setting is corrupt or incorrect. Any idea what might cause this?

3 Likes

If the mouse still moves and highlights things, but the pointer itself is invisible, I’d look at the cursor theme/settings. try:

xfconf-query -c xsettings -p /Gtk/CursorThemeName

check Settings > Mouse and Touchpad > Theme. Switching to another cursor theme and back may be enough?

Other than that maybe look at the Bluetooth/USB device handling inside the VM as well.

1 Like

Thanks, Gave your suggestions a try, and it doesn’t fix it. I added themes too, but no good. So I looked at where it exactly happened. It was the kernel upgrade from 7.1.6 to 7.1.8 - I’ve done about five more upgrades since then, but fortunately all those older ones were available. I’m seeing that the bluetooth panel is grayed out, so I looked at the Virtualbox controls. It’s seems to claim I have to install the guest addons to capture the mouse? I don’t think I have ever had to do that in MX - so I add the guest CD, it shows up, and nothing happens. No run as a program, permissions query - nothing?

Edit - I updated virtualbox and made a complete mess of everything. All four VMs refused to boot. I see some changes in networking and usb in the newer VB version. So I went back to VB 7.2.6. BTW there are two versions of VB 7.2.6 one that has a suffix of “a”, and a file size about 25% larger. The larger version refused to install over VB 7.2.18, but the old version of VB 7.2.6 installed just fine - and everything is working again. Looks like my MX box is stuck at the 7.1.6 kernel.

2 Likes

Not an expert on MX specifically but I’ve messed with enough VMs to have a guess.

First, I wouldn’t worry about the Bluetooth panel being grayed out. The VM can’t see your Bluetooth adapter at all. VirtualBox just gives the guest its own fake mouse no matter how it’s hooked up on the Windows side, so that’s normal.

The fact that it broke right on the kernel update is the big clue for me. I’m pretty sure it’s the Guest Additions. When mouse integration is on, the guest hides its own cursor and lets the host draw it instead. If the vbox modules didn’t get rebuilt for 7.1.8, VirtualBox still thinks integration is working but nothing is actually handing it a cursor. So the mouse works, stuff highlights, you just can’t see it. And every kernel after that would have the same problem, which is probably why you’re stuck on 7.1.6.

Easy way to check: boot into the newer kernel and hit Right Ctrl + I to turn mouse integration off. If the cursor pops back up, that’s probably it.

If so, I’d run these on the new kernel and see what comes back:

uname -r
lsmod | grep -i vbox
dkms status

My guess is the headers for the new kernel never got installed, so DKMS had nothing to build with. This should cover that:

sudo apt install linux-headers-$(uname -r) dkms build-essential

Then reinstall your vbox guest packages (dpkg -l | grep -i vbox shows what you’ve got) and reboot. Just don’t mix the MX packages and the ISO version, from what I’ve read they fight each other.

Also the Guest CD not doing anything is normal on Linux, it doesn’t autorun like Windows does. Open the disc in a terminal and run sudo sh ./VBoxLinuxAdditions.run.

Couple other things I’d check. Under Settings > Display, the Graphics Controller should be VMSVGA for Linux guests. And when all your VMs wouldn’t boot after the VirtualBox update, my first thought is the Extension Pack. It has to match your VirtualBox version exactly, and if it doesn’t and you’ve got USB 2.0 or 3.0 turned on in the VM, none of them will start.

Sticking with 7.1.6 is fine for now, but I’d try getting the modules to build so you’re not stuck on an old kernel forever. Let us know what the Right Ctrl + I test does.

4 Likes

Thank you Itachixkurosaki for taking the time to try and help me out here.
ctrl + l invokes something called “seamless mode” no effect on the cursor or mouse integration

I ran the cl’s and everything looks to be correct except two things

uname -r = 7.2.6.1-liquorix-amd64
lsmod | grep -i vbox = vboxquest 569344 5 {That don’t look right?}

every kernel claims to be installed on the status cl

The header install says they already are installed

I’ve installed the addons by command lone before, but some distros add a popup, or even a button when you insert the CD (usually Caja file mangers instead of Thunar) - so I was lazy I guess. Anyway, trying to re-install gave multiple errors for each kernel. I can hardly read the log file, because of the crappy light gray font on a blinding white background, but it specifically mentions the mouse cursor. That it is “incompatible” - thing is, I have tried out other cursor sets? Here is a bit of the log towards the end after I did an “error” search

gcc -Wp,-MMD,./.VBoxGuestR0LibHGCM.o.d -nostdinc -I/usr/src/linux-headers-7.2.6-1-liquorix-amd64/arch/x86/include -I/usr/src/linux-headers-7.2.6-1-liquorix-amd64/arch/x86/include/generated -I/usr/src/linux-headers-7.2.6-1-liquorix-amd64/include -I/usr/src/linux-headers-7.2.6-1-liquorix-amd64/include -I/usr/src/linux-headers-7.2.6-1-liquorix-amd64/arch/x86/include/uapi -I/usr/src/linux-headers-7.2.6-1-liquorix-amd64/arch/x86/include/generated/uapi -I/usr/src/linux-headers-7.2.6-1-liquorix-amd64/include/uapi -I/usr/src/linux-headers-7.2.6-1-liquorix-amd64/include/generated/uapi -include /usr/src/linux-headers-7.2.6-1-liquorix-amd64/include/linux/compiler-version.h -include /usr/src/linux-headers-7.2.6-1-liquorix-amd64/include/linux/kconfig.h -include /usr/src/linux-headers-7.2.6-1-liquorix-amd64/include/linux/compiler_types.h -D__KERNEL__ -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -std=gnu11 -fms-extensions -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -mno-avx2 -fno-tree-vectorize -fcf-protection=branch -fno-jump-tables -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=x86-64 -mtune=generic -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O3 -fno-allow-store-data-races -fstack-protector-strong -ftrivial-auto-var-init=zero -fno-stack-clash-protection -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -fmin-function-alignment=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -g -Wno-declaration-after-statement -fno-pie -include .//include/VBox/VBoxGuestMangling.h -fshort-wchar -I/usr/src/linux-headers-7.2.6-1-liquorix-amd64/include -I./ -I./include -I./r0drv/linux -D__KERNEL -DMODULE -DRT_WITHOUT_PRAGMA_ONCE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DVBOX_WITH_HGCM -DIN_MODULE -DIN_GUEST -DIN_GUEST_R0 -DRT_NO_EXPORT_SYMBOL -DRT_ARCH_AMD64 -DMODULE -DKBUILD_BASENAME=‘“VBoxGuestR0LibHGCM”’ -DKBUILD_MODNAME=‘“vboxsf”’ -D__KBUILD_MODNAME=vboxsf -c -o VBoxGuestR0LibHGCM.o VBoxGuestR0LibHGCM.c

2 Likes

No problem, glad to help. Quick thing first, it’s Right Ctrl + I (the letter i), not L. Right Ctrl + L is seamless mode like you found. Give the i one a try, that’s the mouse integration toggle.

But I think your uname output is the real answer here. You’re on a Liquorix kernel, and 7.2 at that. That’s a very new kernel, and my guess is the Guest Additions you have just don’t know how to build against it yet. VirtualBox usually lags behind brand new kernels for a bit, so the modules fail to compile and you end up with a half working setup. That would also explain why it broke right when the kernel updated.

The vboxguest line in lsmod is actually fine. The mainline kernel ships its own vboxguest driver now, so that’s probably the kernel’s built in one loading, not the one from the Additions. That’s why some things work and the cursor doesn’t.

Also that chunk of the log is just the compiler command, not the error itself. If you want to see what actually failed, try:

grep -i “error” /var/log/vboxadd-setup.log | head -20

That should pull the real error lines out without having to read the whole thing. And don’t worry about cursor themes, I don’t think that has anything to do with it.

Honestly though, if it were me I’d just boot the regular MX kernel instead of Liquorix inside the VM. Liquorix is tuned for desktop responsiveness on real hardware, and in a VM you don’t really get anything out of it, just more chances for the Guest Additions to break. If the cursor comes back on the stock kernel, that pretty much confirms it. The other option is updating VirtualBox and the Guest Additions to the newest release so they support the newer kernel, but I’d try the stock kernel first since it’s the quicker test.

Post the error lines if the grep turns anything up and we can go from there.

4 Likes

Ok Itachixkurosaki, I once had to remove newer problematic kernels (one at a time) on some old hardware in a Ubuntu Studio media box (because of graphics driver issues), but I don’t have experience switching to a “regular” kernel. I wasn’t aware I was using a special kernel. I just dl the latest iso and created a vm. If I update/upgrade one more time I see in the list of changes that all the old kernels are going to be tossed. Can you explain switching to this “regular” kernel using the command line?

2 Likes

Try:

sudo apt update
sudo apt install linux-image-amd64 linux-headers-amd64
sudo reboot   # pick the Debian kernel under GRUB > Advanced options
uname -r      # confirm it's not liquorix
sudo sh /media/$USER/VBox*/VBoxLinuxAdditions.run   # or reinstall the MX vbox packages, not both

But hold off on the upgrade that purges old kernels until the stock kernel is confirmed working. After that you can remove Liquorix;

sudo apt remove 'linux-image-*liquorix*' 'linux-headers-*liquorix*'
2 Likes

Thanks Hayden. I already decided to hold off on upgrades for a bit. I have an eye appt tomorrow, and will be out of commission for a while.

btw - the ctrl + i toggle doesn’t have any reaction out of this vm. I tried the ctrl + l because a lower case i looks a lot like a lower case l (L), and upper case I (i)

2 Likes

Wishing everything went smoothly today.

2 Likes

I know this is old, but it just happened again on another VM. This time it was Mint 22.3 with the MATE DE. Up to kernel 7.0.0.38-generic it was fine. 7.0.0.42-generic and I have the invisible cursor. It’s there, but you can’t see it.

This time I connected it using wifi instead of blue tooth, and it remained invisible? Does Virtualbox addons have this listed as an error somewhere? All four VM’s have their addons installed for VirtualBox 7.2.6 r172322 When I check the status of the mouse it says it is captured and that the cursor is captured (as well as the keyboard)

2 Likes

Never worry about that here. You are adding to the discussion, so always welcome. Things change over time, sometimes with new software releases, patches, workarounds etc. Which is why we don’t close old threads.

Thanks for adding!

2 Likes

Ha, no worries on it being old. Honestly a second distro doing the same thing helps a lot.

Look at what both of yours have in common. MX on Liquorix and Mint on the regular Ubuntu kernel both broke right on a kernel update, and both are on the 7.2.6 Guest Additions. Different distro, different desktop, same exact problem. So I’m pretty sure it’s not MX, not the cursor theme, and not the mouse. Wifi or Bluetooth won’t make a difference either, the VM never sees your real mouse anyway.

The part that jumps out to me is it saying the mouse is captured. When the Additions are actually working, mouse integration shows as on and your mouse just slides in and out of the window. If it’s capturing, VirtualBox fell back to the old mode because the Additions aren’t working on that kernel. In that mode the guest is supposed to draw its own cursor, and that’s what’s broken.

On the Mint VM booted into -42, try these and post what comes back:

uname -r
sudo /sbin/rcvboxadd status
grep -i error /var/log/vboxadd-setup.log | head -20

My guess is the modules never built for -42, same thing that happened with Liquorix.

If you want the cursor back in the meantime, this makes X draw the cursor itself instead of handing it to the virtual graphics card:

printf 'Section "Device"\n  Identifier "vmsvga"\n  Driver "modesetting"\n  Option "SWcursor" "on"\nEndSection\n' | sudo tee /etc/X11/xorg.conf.d/20-swcursor.conf

Then reboot. If the desktop doesn’t come up, just boot -38 from GRUB and run sudo rm /etc/X11/xorg.conf.d/20-swcursor.conf and you’re back where you started.

Honestly though, if it were me I’d look at updating VirtualBox again. 7.2.6 is getting old compared to the kernels these distros are pushing out, and every kernel update is probably going to keep doing this to you. Snapshot your VMs first. Then update VirtualBox, install the Extension Pack that matches that exact version, and reinstall the Guest Additions in each VM. My guess is a mismatched Extension Pack is what kept all four from booting last time.

Post what the grep turns up and we can go from there.

4 Likes

I just installed the latest VirtualBox, and I dl’d a separate “Extension_Pack” - which I don’t believe I ever noticed before. I didn’t let the new install run until installing the extension pack as well. The original mx IS BACK - WHEW! In fact, typing from the MX install right now. We’ll see about the Mint one next.

also

Noticed the guest addons still listed in the device menu? Should I install those as well - or is the Extension_Pack enough?

Well, the Mint VM is fixed, and it asked for the guest addons right away, so I installed them as well. I guess the extension pack is for the host.

Thank you to everyone!

3 Likes