diff -Naur Xautoconfig-0.23.orig/XF4text.h Xautoconfig-0.23/XF4text.h --- Xautoconfig-0.23.orig/XF4text.h 2005-02-21 13:12:31.036404520 +0100 +++ Xautoconfig-0.23/XF4text.h 2005-02-21 13:12:49.315625656 +0100 @@ -1,4 +1,6 @@ -/* This file hold the various bits of the config file for XFree86 4.2+ */ +/* This file hold the various bits of the config file for X.org >=6.7.0 */ + +/* Modified for Gentoo PPC Distribution by Matt Jarjoura and Lars Weiler */ static char *header = "# File generated by Xautoconfig.\n" @@ -20,10 +22,26 @@ "\n" " RgbPath \"/usr/X11R6/lib/X11/rgb\"\n"; -static char *fontpath = -" FontPath \"unix/:7100\"\n" +static char *fontpath_gentoo = +" # For XFS, uncomment this and comment the others\n" +" # FontPath \"unix/:-1\"\n" +" FontPath \"/usr/share/fonts/local/\"\n" +" FontPath \"/usr/share/fonts/misc/\"\n" +" FontPath \"/usr/share/fonts/75dpi/:unscaled\"\n" +" FontPath \"/usr/share/fonts/100dpi/:unscaled\"\n" +" FontPath \"/usr/share/fonts/Type1/\"\n" +" FontPath \"/usr/share/fonts/TTF/\"\n" +" FontPath \"/usr/share/fonts/CID/\"\n" +" FontPath \"/usr/share/fonts/Speedo/\"\n" +" FontPath \"/usr/share/fonts/75dpi/\"\n" +" FontPath \"/usr/share/fonts/100dpi/\"\n" "EndSection\n\n"; +/* static char *fontpath = +" FontPath \"unix/:7100\"\n" +"EndSection\n\n"; +*/ + static char *fontpath_anaconda = " FontPath \"/usr/X11R6/lib/X11/fonts/misc:unscaled\"\n" " FontPath \"/usr/X11R6/lib/X11/fonts/Type1/\"\n" @@ -57,13 +75,12 @@ static char *inputdev_section = "Section \"InputDevice\"\n" " Identifier \"Keyboard0\"\n" -" Driver \"keyboard\"\n"; +" Driver \"kbd\"\n"; static char *keyboard_linux = "# Change \"XkbModel\" to \"macintosh_old\" if you are using\n" "# the deprecated adb keycodes.\n" -" Option \"XkbRules\" \"xfree86\"\n" -" Option \"XkbModel\" \"macintosh\"\n" +" Option \"XkbModel\" \"pc104\"\n" " Option \"XkbLayout\" \"us\"\n" "EndSection\n\n"; diff -Naur Xautoconfig-0.23.orig/Xautoconfig.c Xautoconfig-0.23/Xautoconfig.c --- Xautoconfig-0.23.orig/Xautoconfig.c 2005-02-21 13:12:31.036404520 +0100 +++ Xautoconfig-0.23/Xautoconfig.c 2005-02-21 13:14:02.989425536 +0100 @@ -1,5 +1,6 @@ -/* Xautoconfig: versatile XF86Config creation tool for powerpc +/* Xautoconfig: versatile XF86Config/xorg.conf creation tool for powerpc * + * Copyright (C) 2004 Matt Jarjoura * Copyright (C) 2002-2004 Dan Burcaw * Copyright (C) 1999-2001 Tom Rini * @@ -33,6 +34,8 @@ extern void usage(); extern char * macMachineType(void); +char XorgTest(void); + struct monitor_sync { int h_min; @@ -41,6 +44,21 @@ int v_max; }; +/* Gentoo Likes Color, so I decided to add some to this tiny utility + since this is a gentoo specific application */ + +#define GENTOO_COLOR + +#ifdef GENTOO_COLOR + #define GENTOO_BOLD "\x1b[01m" + #define GENTOO_RESET "\x1b[0m" + #define GENTOO_RED "\x1b[31;06m" +#else + #define GENTOO_BOLD "" + #define GENTOO_RESET "" + #define GENTOO_RED "" +#endif + int main(int argc, char **argv) { FILE * f; int i, depth, fd; @@ -51,6 +69,8 @@ unsigned int htotal, vtotal; char manufacturer[4]; + char xorg = 0; + struct monitor_sync sync; struct fb_fix_screeninfo fix; struct fb_var_screeninfo var; @@ -79,8 +99,11 @@ var.yres = 600; } + printf("%sXautoconfig: Release 0.23.[Gentoo] %s\n\n", GENTOO_BOLD, GENTOO_RESET); + if (rc) { - fprintf(stderr, "Can't access %s. Exiting.\n", name); + fprintf(stderr, "%sCan't access %s. Exiting.%s\n", + GENTOO_RED, name, GENTOO_RESET); return -1; } @@ -205,18 +228,48 @@ return -1;; } } else { - /* Let's be nice and backup an existing XF86Config */ - if ((f = fopen("/etc/X11/XF86Config", "r"))) { - system("mv /etc/X11/XF86Config /etc/X11/XF86Config.xautoconfig"); + + /* Test to see if it's xorg or XFree86 */ + if (XorgTest()) + { + xorg = 0; /* false, using XF86Config */ + + /* Let's be nice and backup an existing XF86Config */ + if ((f = fopen("/etc/X11/XF86Config", "r"))) + { + fclose(f); + printf("XF86Config found, moving to XF86Config.orig...\n"); + system("mv /etc/X11/XF86Config /etc/X11/XF86Config.orig"); + } + + if (!(f = fopen("/etc/X11/XF86Config", "w"))) + { + fprintf(stderr, "%sCan't write to /etc/X11/XF86Config. Exiting.%s\n", + GENTOO_RED, GENTOO_RESET); + return -1; + } } + else + { + xorg = 1; /* true, using xorg.conf */ + + /* Let's be nice and backup an existing XF86Config */ + if ((f = fopen("/etc/X11/xorg.conf", "r"))) + { + fclose(f); + printf("xorg.conf found, moving to xorg.conf.orig...\n"); + system("mv /etc/X11/xorg.conf /etc/X11/xorg.conf.orig"); + } - if (!(f = fopen("/etc/X11/XF86Config", "w"))) { - fprintf(stderr, "Can't write to /etc/X11/XF86Config. Exiting.\n"); - return -1;; + if (!(f = fopen("/etc/X11/xorg.conf", "w"))) + { + fprintf(stderr, "%sCan't write to /etc/X11/xorg.conf. Exiting.%s\n", + GENTOO_RED, GENTOO_RESET); + return -1; + } } } - /*** BEGIN XF86Config ***/ fprintf(f, "%s", header); @@ -224,7 +277,7 @@ if (anaconda) fprintf(f, "%s", fontpath_anaconda); else - fprintf(f, "%s", fontpath); + fprintf(f, "%s", fontpath_gentoo); /* modules section */ fprintf(f, "%s", modules_section); @@ -362,6 +415,7 @@ /* ATI Radeon */ case 38: fprintf(f, "%s", driver_on_opts); + fprintf(f, " Option \"EnablePageFlip\"\n"); fprintf(f, " Driver \"radeon\"\n"); break; default: @@ -369,6 +423,7 @@ if ((!strncmp(fix.id, "ATI Radeon", 10)) && (strncmp(fix.id, "ATI Radeon VE", 13))) { fprintf(f, "%s", driver_on_opts); + fprintf(f, " Option \"EnablePageFlip\"\n"); fprintf(f, " Driver \"radeon\"\n"); } else if (!strncmp(fix.id, "Rage128", 7)) { fprintf(f, "%s", driver_on_opts); @@ -431,7 +486,26 @@ if (anaconda) fprintf(stdout, "Wrote /tmp/XF86Config.test\n"); else - fprintf(stdout, "Wrote /etc/X11/XF86Config\n"); - + { + if (xorg) + fprintf(stdout, "Wrote /etc/X11/xorg.conf %s\n", GENTOO_RESET); + else + fprintf(stdout, "Wrote /etc/X11/XF86Config %s\n", GENTOO_RESET); + } + return 0; } + +/** + * @return char true if running X.org, false XFree86 + */ +char XorgTest(void) +{ + FILE *f; + + if (!(f = fopen("/usr/X11R6/bin/Xorg", "r"))) + return -1; + else + return 0; +} +