1
0
xorg-x11-server/N_fix_fglrx_screendepth_issue.patch
Stefan Dirsch d1a7e7ee12 - u_fbdevhw_kernel6.9_break_fbdev_open.patch
* Linux kernel v6.9 has changed the symlink to point to the
    parent device.  This breaks fbdev_open() detection logic.
    Change it to use the subsystem symlink instead which will
    remain stable (gitlab xserver issue#1714)

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=889
2024-07-18 11:00:29 +00:00

41 lines
1.4 KiB
Diff

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
@@ -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);
}