File N_fix_fglrx_screendepth_issue.patch of Package xorg-x11-server.19121

From: Stefan Dirsch <sndirsch@suse.de>

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
@@ -75,6 +75,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 +187,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);
     }

openSUSE Build Service is sponsored by