How can I check if I have any missing or upgradable driver on linux? | DEBIAN 10

5,122

Solution 1

In the Linux world, the overwhelming majority of drivers is open source and often integrated to the Linux kernel source code once they are of good enough quality, so as long as your kernel version is new enough, you're probably good. If your kernel is older than your hardware model, you can expect problems.

Some devices may have userspace drivers that won't need to be integrated in the kernel; if they are open-sourced, most distributions will usually pick them up at an appropriate point of their release cycle.

Desktop-oriented distributions like Ubuntu may already process hardware information in their OS installer and/or package management tools, so the package manager might be able to suggest missing driver packages. Unfortunately, Debian is not quite that automated yet.

Also unfortunately, display drivers tend to be the most significant exception of this: modern GPUs may depend on proprietary drivers to get the full performance out of them, as the development of open-source drivers often depends on reverse engineering, which takes time. But some people may want or even need to use the open-source drivers even at the expense of reduced performance, so Debian (as a strong proponent of open source) tends to default to open-source drivers whenever possible. Ubuntu, on the other hand, will tend towards maximizing functionality whenever possible, even if proprietary drivers are required to do so.

Even so, distributions may have packaged the proprietary drivers for you. For NVidia Geforce GTX 1050 Mobile on Debian 10, you'll want to make sure the non-free part of Debian repository is enabled, and install the nvidia-graphics-drivers package and its dependencies. If the version in there seems to be too old, the backports repository may have newer versions available sooner than the main distribution includes them. If that's too old for you, you'll have to get the bleeding-edge driver directly from NVidia.

For general checking, you seem to already have discovered lspci: add the -v option and it will indicate which driver each PCI(e) device is using. If you find a device with no driver associated with it, you may be missing something - or the device might be the "far" end of a PCI bridge device, which is covered by the pcieport or similar driver at the "near" end.

For USB devices, userspace drivers are way more common. But you could still go through the lsusb listing and ask yourself on each device: "Is this device working to my satisfaction?" If the answer is "yes", you don't need an update, unless it's for security reasons - and if you restrict yourself to the packages offered by your distribution and any compatible package repositories, your package manager will automatically know about updates.

For new laptop models, you should Google for keywords "linux" and the model of the laptop, preferably before you actually buy the laptop in question, and look for people reviewing or blogging about their Linux installation and any possible workarounds and experimental drivers that particular model ended up needing for full functionality. You can even find multiples of them and compare their suggestions for a sanity check.

In my opinion, that tends to be more reliable than relying on a mystery third-party website that claims to have all the answers: even though some of such sites may be good now, they may quietly go bankrupt and be sold to or their domain name taken over by a malware pusher with you being none the wiser. The only exception would be if a hardware vendor offers Linux support info for their hardware: then they clearly have a vested interest to ensure their information is both comprehensive and good.

Solution 2

Since you have indicated in your comments that you don't want assistance with the actual underlying hardware issue, but only want to know if there is an equivalent to driverscloud, I'll reply answering only that part.

No.

Share:
5,122

Related videos on Youtube

Adrián Jaramillo
Author by

Adrián Jaramillo

Updated on September 18, 2022

Comments

  • Adrián Jaramillo
    Adrián Jaramillo over 1 year

    Laptop: Asus TUF Gaming FX504GD

    With lspci for example you can check some hardware, and then you can browse the internet and find the drivers to install. But I would like to know if there is any way to check if you have any missing or upgradable drivers on linux.
    I was wondering if there is a program in Linux similar to "DriversCloud" to solve this task. I don't mind if the software has GUI or not.
    I just bought a laptop for studying sysadmin, and I'm having trouble trying to guess which driver I have left to install. Thanks in advance.

    • roaima
      roaima over 4 years
      What hardware are you having problems with?
    • Admin
      Admin over 4 years
      The software for Windows you mentioned and so many other promising the same are for the most part scams.
    • Adrián Jaramillo
      Adrián Jaramillo over 4 years
      @GabrielaGarcia I don't think DriversCloud in particular is a scam. I have used that program for so long time, and I never had problems with it, and worked pretty well.
    • Admin
      Admin over 4 years
      Yeah, and how often do you check for malware/spyware or plain old adware? Or are you so used to it that you think it's "normal"? The fact is there's nothing useful bout that kind of software that you can't do by yourself without it. And unfortunately the side-effect of using it or better, being addicted to it, is transferring that BS mentality to the Linux world. So, back to the beginning, what hardware are you having problems with?
    • roaima
      roaima over 4 years
      Ok. Could you please edit your question to add the make/model of laptop, that the graphic card is a GeForce GTX 1050 Mobile, and a description of what's going wrong.
    • Adrián Jaramillo
      Adrián Jaramillo over 4 years
      @GabrielaGarcia I think there is no need to be salty here. It's simple, I think that software like driverscloud is useful, and I asked if somebody knew if the same kind of software exists for Linux. I just use a software If it's useful and makes me save time. Simple. And as I said before, I'm having problems with my graphics card in particular, maybe you didn't read it because you were focused on "keeping the Linux world clean"
    • Adrián Jaramillo
      Adrián Jaramillo over 4 years
      @roaima I edited the question a little bit, but the topic of the question wasn't about what's the problem. I just wanted to know, if there is in Linux some software that can tell you your missing drivers, so that the pc can work without problems.
  • Adrián Jaramillo
    Adrián Jaramillo over 4 years
    I already knew it, but I checked with lspci -v, and this PC has 2 graphics card. The NVIDIA one and the integrated one. Both say they are using a driver. NVIDIA uses the nvidia driver I installed, and the other one, another. But how can I know which graphics card it's in use? I mean, as long as I can tell, both can't be in use at the same time isn't it?
  • telcoM
    telcoM over 4 years
    So you have what is called an NVidia Optimus system, and that is quite a topic. There are already a number of existing questions on Optimus here, so you should probably check them out first, and then maybe ask another question of your own. There are quite a few variables to nail down: are you using Wayland or traditional X11, are you using open-source nouveau driver for NVidia or the proprietary one, and which outputs are connected to which graphics cards? I don't know much about Wayland, but on X11, xrandr, xrandr --listproviders and/or glxinfo |head may be enlightening.