--- XFree86-3.3.6/xc/programs/Xserver/hw/gsx/gsxinit.c.orig	Sun Jul 14 18:22:45 2002
+++ XFree86-3.3.6/xc/programs/Xserver/hw/gsx/gsxinit.c	Sun Jan  7 17:23:01 2007
@@ -54,11 +54,20 @@ extern int monitorResolution;
 
 #define DEFAULT_MIX ((int)(0.35f * 255.0f))
 
-#define TV_MARGIN_X(x) ((x/20) > 31 ? 31 : (x/20))
-#define TV_MARGIN_Y(y) (y/20)
+int TV_MARGIN_X(int x) {
+  if (getenv("TV_MARGIN_X"))
+    return atoi(getenv("TV_MARGIN_X"));
+  return 0;
+}
 
-#define DTV_MARGIN_X(x) ((x/20) > 31 ? 31 : (x/20))
-#define DTV_MARGIN_Y(y) (y/20)
+int TV_MARGIN_Y(int y) {
+  if (getenv("TV_MARGIN_Y"))
+    return atoi(getenv("TV_MARGIN_Y"));
+  return 0;
+}
+
+#define DTV_MARGIN_X(x) ( getenv("DTV_MARGIN_X") ? atoi(getenv("DTV_MARGIN_X")) : 0)
+#define DTV_MARGIN_Y(y) ( getenv("DTV_MARGIN_Y") ? atoi(getenv("DTV_MARGIN_Y")) : 0)
 
 
 typedef struct
