diff options
author | Mike Fulbright <msf@redhat.com> | 2001-07-17 21:52:59 +0000 |
---|---|---|
committer | Mike Fulbright <msf@redhat.com> | 2001-07-17 21:52:59 +0000 |
commit | a1d3e2db4a89fc2e8815635b8f903dbdba1ef3db (patch) | |
tree | ed123a3fc4e36c3a54b46a3595152200e703ed73 /videocard.py | |
parent | 6e0cc5d9245f490cca7ab256090d37b2e466656d (diff) | |
download | anaconda-a1d3e2db4a89fc2e8815635b8f903dbdba1ef3db.tar.gz anaconda-a1d3e2db4a89fc2e8815635b8f903dbdba1ef3db.tar.xz anaconda-a1d3e2db4a89fc2e8815635b8f903dbdba1ef3db.zip |
handle unprobed card better, introduce concept of frame buffer device and VGA16 device
Diffstat (limited to 'videocard.py')
-rw-r--r-- | videocard.py | 67 |
1 files changed, 64 insertions, 3 deletions
diff --git a/videocard.py b/videocard.py index 77e240100..7467b5371 100644 --- a/videocard.py +++ b/videocard.py @@ -127,6 +127,9 @@ class VideoCard: def getFBBpp(self): return self.fbbpp + + def isFrameBuffer(self): + return 0 def shortDescription(self): if self.devID and self.devID != "": @@ -140,7 +143,10 @@ class VideoCard: if dontResolve: return self.cardData else: - return Video_cardsDBLookup(self.cardData["NAME"]) + if self.cardData: + return Video_cardsDBLookup(self.cardData["NAME"]) + else: + return None def canTestSafely(self): cardData = self.getCardData() @@ -153,7 +159,57 @@ class VideoCard: return 1 + def hasFixedMode(self): + return 0 + + +# fake card entry for frame buffer +class FrameBufferCard(VideoCard): + def getCardData(self, dontResolve = 0): + # fake entry for a frame buffer (not in cards db) + card = {} + card["DRIVER"] = "fbdev" + card["NAME"] = "VGA VESA Framebuffer" + return card + + def getXServer(self): + return "XFree86" + + def isFrameBuffer(self): + return 1 + + def hasFixedMode(self): + return 1 + + def FixedMode(self): + fb = isys.fbinfo() + if fb: + (x, y, bpp) = fb + rc = {} + rc[str(bpp)] = ["%sx%s" % (x, y)] + return rc + return None + +# fake card entry for frame buffer +class VGA16Card(VideoCard): + def getCardData(self, dontResolve = 0): + # fake entry for a frame buffer (not in cards db) + card = {} + card["DRIVER"] = "vga" + card["NAME"] = "Generic VGA" + + return card + + def getXServer(self): + return "XFree86" + + def hasFixedMode(self): + return 1 + + def FixedMode(self): + return { "4" : ["640x480"]} + class VideoCardInfo: # @@ -178,7 +234,6 @@ class VideoCardInfo: return self.videocards[self.primary] else: return None - def possible_ram_sizes(self): #--Valid video ram sizes-- @@ -303,9 +358,15 @@ class VideoCardInfo: vc.setXServer(server) self.videocards.append(vc) - if len(self.videocards) == 0: + # insert a best guess at a card + vc = VideoCard() + vc.setDescription(_("Unknown Card")) + self.videocards.append(vc) + self.orig_videocards = copy.deepcopy(self.videocards) + self.primary = 0 + self.orig_primary = self.primary return # default primary card to be the first card found |