diff options
-rw-r--r-- | comps.py | 3 | ||||
-rw-r--r-- | isys/isys.c | 18 | ||||
-rw-r--r-- | xf86config.py | 19 |
3 files changed, 28 insertions, 12 deletions
@@ -11,8 +11,7 @@ XFreeServerPackages = { 'XFree86-3DLabs' : 1, 'XFree86-8514' : 1, 'XFree86-Mach8' : 1, 'XFree86-Mono' : 1, 'XFree86-P9000' : 1, 'XFree86-S3' : 1, 'XFree86-S3V' : 1, 'XFree86-SVGA' : 1, - 'XFree86-W32' : 1, 'XFree86-Sun' : 1, - 'XFree86-SunMono' : 1, 'XFree86-Sun24' : 1 } + 'XFree86-W32' : 1 } # Package selection is complicated. Here are the rules: # diff --git a/isys/isys.c b/isys/isys.c index c4712cb6b..670c30f56 100644 --- a/isys/isys.c +++ b/isys/isys.c @@ -975,6 +975,23 @@ static PyObject * doFbconProbe (PyObject * s, PyObject * args) { int x[4], y[4], vtotal, laced = 0, dblscan = 0; char *p; double drate, hrate, vrate; +#ifdef __sparc__ + switch (fix.accel) { + case FB_ACCEL_SUN_CREATOR: + var.bits_per_pixel = 24; + /* FALLTHROUGH */ + case FB_ACCEL_SUN_LEO: + case FB_ACCEL_SUN_CGSIX: + case FB_ACCEL_SUN_CG14: + case FB_ACCEL_SUN_BWTWO: + case FB_ACCEL_SUN_CGTHREE: + case FB_ACCEL_SUN_TCX: + var.xres = var.xres_virtual; + var.yres = var.yres_virtual; + fix.smem_len = 0; + break; + } +#endif depth = var.bits_per_pixel; sprintf(vidmode, "%dx%d", var.xres, var.yres); x[0] = var.xres; @@ -1032,6 +1049,7 @@ static PyObject * doFbconProbe (PyObject * s, PyObject * args) { switch (depth) { case 8: case 16: + case 24: case 32: return Py_BuildValue("(iiss)", size, depth, vidmode, vidres); } diff --git a/xf86config.py b/xf86config.py index 4e722d6e5..ea02086f6 100644 --- a/xf86config.py +++ b/xf86config.py @@ -442,12 +442,10 @@ EndSection Section "Module" Load "dbe" - Load "extmod" - %(nonSparcMods)s + Load "extmod"%(nonSparcMods)s Load "pex5" Load "record" - Load "xie" - %(ia64Mods)s + Load "xie"%(ia64Mods)s EndSection Section "InputDevice" @@ -816,12 +814,10 @@ class XF86Config: except: pass if not self.vidRam and self.device: - if self.server and self.server[0:3] == 'Sun': - # fbconProbe gives bogus video RAM reports on SBUS and UPA servers - return try: (vidram, depth, mode, monitor) = isys.fbconProbe("/dev/" + self.device) - self.vidRam = "%d" % vidram + if vidram: + self.vidRam = "%d" % vidram if depth: self.modes = { "%d" % depth : [ mode ] } self.monSect = monitor @@ -1029,7 +1025,10 @@ Section "Screen" screens = screens + """ EndSubsection """ - data = { "mouseProto" : self.mouse.info['XMOUSETYPE'], + mouseProto = self.mouse.info['XMOUSETYPE'] + if mouseProto == 'sun': + mouseProto = 'BusMouse' + data = { "mouseProto" : mouseProto, "mouseDevice" : self.mouse.device, "cardsOptions" : self.vidCards[self.primary].get ("LINE", @@ -1042,7 +1041,7 @@ Section "Screen" "files" : self.files, "screenModes" : screens, "ia64Mods" : "", - "nonSparcMods" : 'Load "fbdevhw"', + "nonSparcMods" : '\nLoad "fbdevhw"', "XkbRules" : self.keyRules, "XkbModel" : self.keyModel, "XkbLayout" : self.keyLayout, |