summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2005-05-03 02:00:45 +0000
committerJeremy Katz <katzj@redhat.com>2005-05-03 02:00:45 +0000
commit2521c76d7c2b0eedf6e6e224ff97ea30f8b8fe8a (patch)
tree5e6b947284f1ca179c20d084268f9e4921163d32
parent0ca4092ba10994638954a4d3c4afb34db1dd9e26 (diff)
downloadanaconda-2521c76d7c2b0eedf6e6e224ff97ea30f8b8fe8a.tar.gz
anaconda-2521c76d7c2b0eedf6e6e224ff97ea30f8b8fe8a.tar.xz
anaconda-2521c76d7c2b0eedf6e6e224ff97ea30f8b8fe8a.zip
2005-05-02 Jeremy Katz <katzj@redhat.com>
* iw/progress_gui.py (InstallProgressWindow_NEW.setPackage): Slightly shorter strings. * anaconda: If the monitor doesn't support 800x600, try 1024x768; helps with G3 iMac. Use the same xconfig for post-install as during install. Allow booting with "usefbx" to go back to old fbdev X behavior on ppc. (#149188) * loader2/loader.c (parseCmdLineFlags): Add usefbx
-rw-r--r--ChangeLog15
-rwxr-xr-xanaconda44
-rw-r--r--iw/progress_gui.py2
-rw-r--r--loader2/loader.c3
4 files changed, 44 insertions, 20 deletions
diff --git a/ChangeLog b/ChangeLog
index 2d9e626ea..2c9d70624 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2005-05-02 Jeremy Katz <katzj@redhat.com>
+
+ * iw/progress_gui.py (InstallProgressWindow_NEW.setPackage):
+ Slightly shorter strings.
+
+ * anaconda: If the monitor doesn't support 800x600, try 1024x768;
+ helps with G3 iMac. Use the same xconfig for post-install as
+ during install. Allow booting with "usefbx" to go back to old
+ fbdev X behavior on ppc. (#149188)
+ * loader2/loader.c (parseCmdLineFlags): Add usefbx
+
2005-05-02 Chris Lumens <clumens@redhat.com>
* image.py (NfsIsoInstallMethod.__init__): Fix parameter passing so
@@ -7,6 +18,10 @@
2005-04-29 Jeremy Katz <katzj@redhat.com>
+ * packages.py (InstallCallback.cb): Switch these back. Otherwise,
+ things are wrong in GUI. Text mode is just not going to be quite
+ right with the text.
+
* image.py (CdromInstallMethod.getRPMFilename): Beep when asking
to insert the CD, not after...
diff --git a/anaconda b/anaconda
index 73c999948..712109bca 100755
--- a/anaconda
+++ b/anaconda
@@ -406,7 +406,7 @@ try:
'lang=', 'keymap=', 'kbdtype=', 'module=', 'class=',
'expert', 'serial', 'lowres', 'nofb', 'rescue', 'nomount',
'autostep', 'resolution=', 'skipddc', 'noselinux', 'selinux',
- 'vnc', 'vncconnect=', 'vnc=', 'cmdline', 'headless',
+ 'vnc', 'vncconnect=', 'vnc=', 'cmdline', 'headless', 'usefbx'
'virtpconsole='])
except TypeError, msg:
sys.stderr.write("Error %s\n:" % msg)
@@ -449,6 +449,9 @@ graphical_failed = 0
# on hardware where we break things if we probe
isHeadless = 0
+# should we use fbdev for X?
+useFBX = False
+
# probing for hardware on an s390 seems silly...
if iutil.getArch() == "s390":
isHeadless = 1
@@ -554,6 +557,8 @@ for n in args:
flags.virtpconsole = arg
elif (str == '--headless'):
isHeadless = 1
+ elif (str == '--usefbx'):
+ useFBX = True
elif (str == '--vnc'):
flags.usevnc = 1
@@ -907,6 +912,15 @@ if display_mode == 'g' and not os.environ.has_key('DISPLAY') and not flags.usevn
hsync = monitorhw.getMonitorHorizSync()
vsync = monitorhw.getMonitorVertSync()
res_supported = monitor.monitor_supports_mode(hsync, vsync, runres)
+
+ # XXX: this is a bit of a hack, but there are a reasonable number of
+ # monitors that will work in 1024x768 and not 800x600... check if this
+ # is one of them
+ if not res_supported and runres == "800x600":
+ runres = "1024x768"
+ res_supported = monitor.monitor_supports_mode(hsync, vsync, runres)
+ if not res_supported:
+ runres = "800x600"
if not res_supported:
import rhpl.guesslcd as guesslcd
@@ -925,12 +939,17 @@ if display_mode == 'g' and not os.environ.has_key('DISPLAY') and not flags.usevn
xlogfile = "/tmp/ramfs/X.log"
else:
xlogfile = None
-
- xsetup_failed = xserver.startXServer(videohw, monitorhw, mousehw, kbd,
- runres,
- xStartedCB=doStartupX11Actions,
- xQuitCB=doShutdownX11Actions,
- logfile=xlogfile)
+
+
+ xsetup_failed = False
+ try:
+ xcfg = xserver.startX(runres, videohw, monitorhw, mousehw, kbd,
+ logfile = xlogfile,
+ xStartedCB = doStartupX11Actions,
+ xQuitCB = doShutdownX11Actions,
+ useFB = useFBX)
+ except RuntimeError:
+ xsetup_failed = True
if xsetup_failed:
dup_log(" X startup failed, falling back to text mode")
@@ -1066,17 +1085,6 @@ if xcfg is None and not isHeadless:
xcfg = None
if xcfg is not None:
- #
- # XXX - hack - here we want to enforce frame buffer requirement on ppc
- # pick 640x480x8bpp cause that is what frame buffer inits to
- # when the machine reboots
- if iutil.getArch() == "ppc":
- cardname = "Framebuffer driver (generic)"
- xcfg.set_videocard_card(cardname)
- xcfg.set_videocard_name(cardname)
- xcfg.set_colordepth(8)
- xcfg.set_resolution("640x480")
-
xsetup = xsetup.XSetup(xcfg)
# HACK - if user overrides resolution then use it and disable
diff --git a/iw/progress_gui.py b/iw/progress_gui.py
index cc495e048..253fa8c05 100644
--- a/iw/progress_gui.py
+++ b/iw/progress_gui.py
@@ -231,7 +231,7 @@ class InstallProgressWindow_NEW (InstallWindow):
if (summary == None):
summary = "(none)"
else:
- summary = "%.75s" %(summary,)
+ summary = "%.70s" %(summary,)
self.curPackage["summary"].set_text (summary)
def setSizes (self, total, totalSize, totalFiles):
diff --git a/loader2/loader.c b/loader2/loader.c
index bcd4a4183..612f199ad 100644
--- a/loader2/loader.c
+++ b/loader2/loader.c
@@ -631,7 +631,8 @@ static int parseCmdLineFlags(int flags, struct loaderData_s * loaderData,
!strncasecmp(argv[i], "nomount", 7) ||
!strncasecmp(argv[i], "vnc", 3) ||
!strncasecmp(argv[i], "vncconnect=", 11) ||
- !strncasecmp(argv[i], "headless", 8)) {
+ !strncasecmp(argv[i], "headless", 8) ||
+ !strncasecmp(argv[1], "usefbx", 6)) {
int arglen;
/* vnc implies graphical */