Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Most, if not all, of the drivers you are looking for are included by default with the Linux kernel, i.e. they are available on nearly every Linux distribution. The one exception that may require some configuration is wifi, but in recent years Linux wifi support has gotten good enough that most major distributions (Fedora, Ubuntu, etc.) are pretty much "plug and play." Create a Live USB or Live CD using the Fedora Media Writer: https://getfedora.org/en/workstation/download/

Then boot from your installation media. You don't have to install Fedora just yet; the live CD/USB stick is a fully functional Fedora system contained on its own "hard drive." Try out different functions and ensure that you're able to connect to the Internet, use your keyboard, mouse, etc. To be absolutely sure your hardware is supported, open a terminal and type:

lspci -vv

This command consists of three parts: "ls" means list. This command can be used to list all of the folders and files in a directory, and is usually found at the beginning of list commands (lspci, lsusb, lsblk, and so on). "pci" means, roughly, "devices connected to the motherboard." The -vv at the end means apply a verbosity level of 2.

The output of this command will show your connected devices, their capabilities, and the kernel modules used. The kernel modules are what you're interested in. For example, part of the output of this command on my machine is:

01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970]
    Subsystem: PC Partner Limited / Sapphire Technology Device aaa0
    Physical Slot: 4
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 32 bytes
    Interrupt: pin B routed to IRQ 34
    NUMA node: 0
    Region 0: Memory at fbe60000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: <access denied>
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel

03:00.0 Network controller: Qualcomm Atheros AR93xx Wireless Network Adapter (rev 01)
    Subsystem: Qualcomm Atheros Device 3112
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 18
    NUMA node: 0
    Region 0: Memory at fbd00000 (64-bit, non-prefetchable) [size=128K]
    Expansion ROM at fbd20000 [disabled] [size=64K]
    Capabilities: <access denied>
    Kernel driver in use: ath9k
    Kernel modules: ath9k

As you can see, my rear audio panel uses the snd_hda_intel kernel module (driver), while my wireless card uses the ath_9k kernel module. As long as you see a kernel module in use for all of your devices and they all function normally, your hardware is supported. Note: you can also use the command lspci -k to get the same information, but in a more compressed form. Personally, I find the output of lspci -vv to be more readable, but you can use either one.

For usb devices, the process is similar. Type usb-devices in the terminal and check to make sure each connected device has an entry after "driver=". Some devices may require proprietary drivers that are not included with Fedora. For those, you can usually find software on the manufacturer's website. Good luck!