RandR 1.4 support for Southern Islands and ShadowFB fallback

Ivan Drobyshevskyi drobyshevskyi at gmail.com
Fri Apr 25 08:53:18 PDT 2014


I'm trying to create a virtual GPU (DisplayLink like but purely RAM
based) and it seems like ShadowFB fallback for recent chips stands in
the way of proper multiple GPU interaction. Below are my debugging
findings but could please someone confirm or dispose of my conclusion
since I'm not familiar with the code base and therefore not fully
sure.

In RADEONPreInitAccel_KMS() there's a fallback to shadowfb for recent
chips ("info->ChipFamily >= CHIP_FAMILY_TAHITI") that that sets
r600_shadow_fb to TRUE.
In RADEONScreenInit_KMS() directRenderingEnabled is not set in case
r600_shadow_fb is set, therefore in RADEONAccelInit() nothing is done
and SharePixmapBacking() callback is not initialized.
Then when I try to enable my virtual display in system settings X
crashes in SharePixmapBacking() when trying to dereference NULL
master->SharePixmapBacking().

I have only HD 7770 to test and it seems like b/c of the fallback code
flow goes in wrong direction.

Thank you.


More information about the xorg-driver-ati mailing list