xf86-inactive-gpuscreen.patch 1008 B

123456789101112131415161718192021222324252627
  1. diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
  2. index c790d50..a47c2d0 100644
  3. --- a/hw/xfree86/common/xf86platformBus.c
  4. +++ b/hw/xfree86/common/xf86platformBus.c
  5. @@ -387,7 +387,7 @@ xf86platformProbeDev(DriverPtr drvp)
  6. Bool foundScreen = FALSE;
  7. GDevPtr *devList;
  8. const unsigned numDevs = xf86MatchDevice(drvp->driverName, &devList);
  9. - int i, j;
  10. + int i, j, flags;
  11. /* find the main device or any device specificed in xorg.conf */
  12. for (i = 0; i < numDevs; i++) {
  13. @@ -415,7 +415,11 @@ xf86platformProbeDev(DriverPtr drvp)
  14. if (j == xf86_num_platform_devices)
  15. continue;
  16. - foundScreen = probeSingleDevice(&xf86_platform_devices[j], drvp, devList[i], 0);
  17. + flags = 0;
  18. + if (!devList[i]->active)
  19. + flags |= PLATFORM_PROBE_GPU_SCREEN;
  20. +
  21. + foundScreen = probeSingleDevice(&xf86_platform_devices[j], drvp, devList[i], flags);
  22. if (!foundScreen)
  23. continue;
  24. }