xorg-x11-server/N_fix_fglrx_screendepth_issue.patch
Stefan Dirsch a39f56179a - re-added and re-enabled u_xfree86-activate-GPU-screens-on-autobind.patch
in order to fix the regression of a black screen in login screen
  (SDDM) on some hybrid graphics Laptop (Intel Meteor Lake-P/
  NVIDIA GeForce RTX 4060) (boo#1234301)

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=900
2024-12-08 19:14:45 +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);
}