From: Debian NVIDIA Maintainers Date: Sat, 22 Aug 2020 20:31:43 +0000 (+0100) Subject: Support for AMD APU+NVIDIA setup X-Git-Tag: archive/raspbian/3.2.1-26+rpi1^2~5 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c45dd800f53b02fff1c7f444b9a0318a600d2faa;p=bumblebee.git Support for AMD APU+NVIDIA setup Origin: upstream, https://github.com/Bumblebee-Project/Bumblebee/pull/1009 Gbp-Pq: Name amd-apu.patch --- diff --git a/src/bumblebeed.c b/src/bumblebeed.c index 6e0ade5..3fa9ddc 100644 --- a/src/bumblebeed.c +++ b/src/bumblebeed.c @@ -464,12 +464,19 @@ int main(int argc, char* argv[]) { /* First look for an intel card */ struct pci_bus_id *pci_id_igd = pci_find_gfx_by_vendor(PCI_VENDOR_ID_INTEL, 0); + + /* Then look for an amd card */ + if (!pci_id_igd) { + bb_log(LOG_INFO, "No Intel video card found, testing for system with an AMD APU.\n"); + pci_id_igd = pci_find_gfx_by_vendor(PCI_VENDOR_ID_AMD, 0); + } + if (!pci_id_igd) { /* This is no Optimus configuration. But maybe it's a dual-nvidia configuration. Let us test that. */ pci_id_igd = pci_find_gfx_by_vendor(PCI_VENDOR_ID_NVIDIA, 1); - bb_log(LOG_INFO, "No Intel video card found, testing for dual-nvidia system.\n"); + bb_log(LOG_INFO, "No Intel/AMD video card found, testing for dual-nvidia system.\n"); if (!pci_id_igd) { /* Ok, this is not a double gpu setup supported (there is at most diff --git a/src/pci.h b/src/pci.h index 476c3a1..7f2e5bc 100644 --- a/src/pci.h +++ b/src/pci.h @@ -21,6 +21,7 @@ #pragma once #include /* necessary for int32_t */ +#define PCI_VENDOR_ID_AMD 0x1002 #define PCI_VENDOR_ID_NVIDIA 0x10de #define PCI_VENDOR_ID_INTEL 0x8086 #define PCI_CLASS_DISPLAY_VGA 0x0300