From: Stefan Dirsch Set DefaultDepth for implicite screen section when using FGLRX driver The binary only AMD FGLRX driver doesn't set the default depth in the driver. Do it for it in the server. Index: hw/xfree86/common/xf86AutoConfig.c =================================================================== --- hw/xfree86/common/xf86AutoConfig.c.orig +++ hw/xfree86/common/xf86AutoConfig.c @@ -77,6 +77,13 @@ "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \ "EndSection\n\n" +#define BUILTIN_SCREEN_SECTION_FOR_FGLRX \ + "Section \"Screen\"\n" \ + "\tIdentifier\t" BUILTIN_SCREEN_NAME "\n" \ + "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \ + "\tDefaultDepth\t24\n" \ + "EndSection\n\n" + #define BUILTIN_LAYOUT_SECTION_PRE \ "Section \"ServerLayout\"\n" \ "\tIdentifier\t\"Builtin Default Layout\"\n" @@ -187,8 +194,12 @@ xf86AutoConfig(void) snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION, md.matches[i], 0, md.matches[i]); AppendToConfig(buf); - snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, - md.matches[i], 0, md.matches[i], 0); + if (strcmp(md.matches[i], "fglrx") == 0) + snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION_FOR_FGLRX, + md.matches[i], 0, md.matches[i], 0); + else + snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, + md.matches[i], 0, md.matches[i], 0); AppendToConfig(buf); }