6826940 Xorg server 1.6.1, Mesa 7.4.1, and associated module upgrades [PSARC 2009/292]
6837131 Can't bring up dtlogin with AST2000 driver on nvx_114
Includes fix contributed by Juergen Keil for OpenSolaris Bug #8687:
german keyboard layout: umlaut keys not accepted by Xvnc
http://defect.opensolaris.org/bz/show_bug.cgi?id=8687
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use subject to license terms.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, and/or sell copies of the Software, and to permit persons
# to whom the Software is furnished to do so, provided that the above
# copyright notice(s) and this permission notice appear in all copies of
# the Software and that both the above copyright notice(s) and this
# permission notice appear in supporting documentation.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Except as contained in this notice, the name of a copyright holder
# shall not be used in advertising or otherwise to promote the sale, use
# or other dealings in this Software without prior written authorization
# of the copyright holder.
diff -urp -x '*~' -x '*.orig' hw/xfree86/common/xf86Init.c hw/xfree86/common/xf86Init.c
--- hw/xfree86/common/xf86Init.c 2009-04-14 10:14:57.000000000 -0700
+++ hw/xfree86/common/xf86Init.c 2009-05-08 17:43:47.964208000 -0700
@@ -96,6 +96,7 @@
static Bool probe_devices_from_device_sections(DriverPtr drvp);
static Bool add_matching_devices_to_configure_list(DriverPtr drvp);
static Bool check_for_matching_devices(DriverPtr drvp);
+static void sunLogInfo(void);
#ifdef XF86PM
void (*xf86OSPMClose)(void) = NULL;
@@ -134,7 +135,7 @@ static Bool formatsDone = FALSE;
static void
xf86PrintBanner(void)
{
-#if PRE_RELEASE
+#if 0
ErrorF("\n"
"This is a pre-release version of the X server from " XVENDORNAME ".\n"
"It is not supported in any way.\n"
@@ -234,6 +235,7 @@ xf86PrintBanner(void)
#if defined(BUILDERSTRING)
ErrorF("%s \n",BUILDERSTRING);
#endif
+ sunLogInfo();
ErrorF("\tBefore reporting problems, check "__VENDORDWEBSUPPORT__"\n"
"\tto make sure that you have the latest version.\n");
}
@@ -2014,3 +2016,73 @@ xf86GetBppFromDepth(ScrnInfoPtr pScrn, i
else
return 0;
}
+/* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, and/or sell copies of the Software, and to permit persons
+ * to whom the Software is furnished to do so, provided that the above
+ * copyright notice(s) and this permission notice appear in all copies of
+ * the Software and that both the above copyright notice(s) and this
+ * permission notice appear in supporting documentation.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+ * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+ * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Except as contained in this notice, the name of a copyright holder
+ * shall not be used in advertising or otherwise to promote the sale, use
+ * or other dealings in this Software without prior written authorization
+ * of the copyright holder.
+ */
+
+/*
+ * Custom hack for Solaris to report pkg/patch info - should not be put into
+ * X.Org Community release since they don't use our packages/patches, and
+ * since it cheats a bit to get the information quickly. This could easily
+ * break because we're using private/undocumented interfaces which may change
+ * at any time, but since it's just displaying the information for human
+ * consumption by people reading the logfiles, and we don't depend on it in
+ * any way, we can live with that.
+ */
+
+static void
+sunLogInfo(void)
+{
+ char pibuf[16384]; /* Should be enough for even the longest patch list */
+ const char *pkgs[] = { "SUNWxorg-server", "SUNWxorg-graphics-ddx", "SUNWxorg-mesa", NULL };
+ const char *p;
+ int i;
+ FILE *pkginfo;
+
+#ifdef _LP64
+ ErrorF("\nSolaris ABI: 64-bit\n");
+#else
+ ErrorF("\nSolaris ABI: 32-bit\n");
+#endif
+
+ for (i = 0; pkgs[i] != NULL; i++) {
+ p = pkgs[i];
+ snprintf(pibuf, sizeof(pibuf), "/var/sadm/pkg/%s/pkginfo", p);
+ pkginfo = fopen(pibuf, "r");
+
+ if (pkginfo != NULL) {
+ while(fgets(pibuf, sizeof(pibuf), pkginfo) != NULL) {
+ if (strncmp(pibuf, "VERSION=", 8) == 0) {
+ ErrorF("%s package version: %s", p, pibuf+8);
+ } else if (strncmp(pibuf, "PATCHLIST=", 10) == 0) {
+ ErrorF("%s patches applied: %s", p, pibuf+10);
+ }
+ }
+ fclose(pkginfo);
+ }
+ }
+}
diff -urp -x '*~' -x '*.orig' hw/xfree86/loader/loadmod.c hw/xfree86/loader/loadmod.c
--- hw/xfree86/loader/loadmod.c 2009-05-08 17:43:39.413495000 -0700
+++ hw/xfree86/loader/loadmod.c 2009-05-08 17:43:47.987132000 -0700
@@ -1220,6 +1220,15 @@ LoaderErrorMsg(const char *name, const c
default:
msg = "unknown error";
}
+#ifdef SUNSOFT
+ /* We don't ship fbdev in Solaris, xtsol is only required on Trusted (TX)
+ systems, so it's not an error if either of them are not found */
+ if ( (errmaj == LDR_NOENT) &&
+ ((strcmp(modname, "xtsol") == 0) || (strcmp(modname, "fbdev") == 0)))
+ {
+ type = X_INFO;
+ }
+#endif
if (name)
xf86Msg(type, "%s: Failed to load module \"%s\" (%s, %d)\n",
name, modname, msg, errmin);