Mouse and other USB do not work + beginner’s question

Qubes 4.2.3

Hello I’m just learning this system, so my technical skills are negligible.
I have a few problems that I hope to find an answer here. The system does not detect my usb mouse. There were no errors during the installation of the system. I have sys-usb installed. The mouse is on USB. The system does not see any usb devices.
Can I ask for help on how to solve this problem?

Question 2
If I want to install some program that will run on all ‘Qubes’, where should it be installed?

Question 3
Should I install any drivers at the very beginning? If so, which ones and where?

I apologize for the ‘stupid’ questions, but as I mentioned at the beginning, I’m just learning.

Hi @Justluck, welcome to the forum!

You say that now, but I bet you won’t be saying that after a few weeks :slight_smile:

Ok, so if you’ve got sys-usb running, that means that you’ve taken your USB controllers away from dom0, and given them exclusively to sys-usb. Because of this, dom0 shouldn’t even be able to be aware of their existence. This might explain why dom0 didn’t show anything useful (that’s the way it’s designed).

But if you open a terminal inside of sys-usb and type lsusb, what do you see?

You should be able to see your USB devices there (I’m assuming, because you seem to be able to use your USB keyboard without any issues). Post the output of this command if you need anything explained to you. :slight_smile:


You have several options. If you want everything, including the config files to persist across all qubes, you should install the software in the template that the qube is based on.

I’d honestly be genuinely surprised if you needed to install any sort of drivers. The Linux kernel is pretty comprehensive these days. The only devices that need drivers installed are ones whose manufacturers either refused to provide Linux support, and the Linux community hasn’t figured out how they work and written their own drivers for them (yet)…

They’re not stupid. They’re based on your previous experience with computers. They didn’t really let you see this aspect of your machine before. They would just tell you to “smile and be happy” while they did everything behind closed doors. You’ve taken your first step into a larger world :slight_smile:


There is a command called dmesg -w that will show kernel events as they happen on your screen. This is useful for seeing what the kernel is doing whenever something happens. If you run this command inside of sys-usb, leave it running, and then plug in/unplug your USB mouse, you’ll be able to see whether the kernel knows whether there’s a USB mouse present.

That’ll likely be the first step to getting it working :slight_smile:

1 Like

Do you see this window appear when you disconnect and connect back your mouse cable?

Sys-usb dom0 / mouse

I hope so :wink: There is a lot of learning ahead of me. I’m starting to regret that I didn’t get down to it much earlier

The USB and mouse are already working. I plugged in a wireless mouse, changed the settings in

Qubes OS Global Config - USB Devices - Mouse - selected ‘always ask’.
And so far everything works.

Unfortunately, the command does not work. I get this message:

dmesg -w read kernel buffer failed: Operation not permitted

A question about the installation of programs. If I want to install e.g. LibreOffice and I want to have access from all qubes should I install the program through the dom-0 terminal?

Thank you very much for your time, welcome and help :grinning:

1 Like

Well, I just had a brain fart. See? It happens to the best of us. :sweat_smile:

The kernel won’t open up to a regular user. So you need to run the command as root.

So type this in instead:

sudo dmesg -w

…and it should work.

Oops… :sweat_smile:


If you like “livin’ on the edge”, then sure… (This is a joke. Do not install it in dom0 :slight_smile:)

In all seriousness, no, you should NOT do install anything in dom0 that isn’t absolutely necessary.

The idea of dom0 is meant to be like the “engine room” or “switchboard” of your machine.

Its job is basically to decide what can go in and out of VMs, depending on their origin, destination, and contents.

Things like files going between VMs, network data packets, USB “signals” (just calling them for simplification), clipboard contents, display windows, etc. Dom0 is basically the one that “says yay or nay” (allows or denies) on what the qubes can and can’t do.

Because of the critical function that dom0 performs, it would make sense to ensure its integrity as much as possible, and keep it as barebones as possible.

If you’ve ever set up or managed an internet-connected server before, you’ll know exactly what I mean. Every piece of software could be an attack vector, so the server only needs stuff that allows it to perform its purpose, and nothing more :slight_smile:.

Templates Are For Your Applications

You should install LibreOffice inside your qube of choice. If you want it to survive qube restarts, then you should install it inside the template that your qube of choice is based on.

@apparatus is 100% correct. That link will explain everything you need to know :slight_smile: