[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#229850: DEFAULT_HORIZ_SYNC and DEFAULT_VERT_REFRESH still ignored (updated patch)



There's at least one bug in configure_monitor that I found during my
testing.  The place where configure_monitor decides to pre-answer the
selection method with "Advanced" may be wrong.  If I leave it as it
appears in the original file:

    db_subst xserver-xfree86/config/monitor/selection-method default "Advanced"

then the horiz-sync and vert-refresh debconf items never get set.  If
I change it to this instead:

    db_set xserver-xfree86/config/monitor/selection-method "Advanced"

then everything works -- well, at least I get answers to those
questions in the debconf database.  Here's the relevant background.

I should point out that preinst and config do not appear to be in sync
at the moment, or at least I don't have correct versions.  I used
viewCVS from necrotic.deadbeast.net to grab the latest
xserver-xfree86.config.in and xserver-xfree86.preinst.in along with
shell-lib.sh.  I reconstructed config and preinst manually by
inserting shell-lib.sh at the right place.  Upon doing this, I
observed that there were no meaningful changes in either preinst or
shell-lib.sh, which was not surprising since they still had an older
svn revision.  Since the overall structure of config changed quite a
bit, I couldn't just drop configure_monitor in and instead had to use
the entire new config file.

For whatever reason, discover decides that the vesa device, rather
than the ATI device, is the right one for my card.  Even with correct
settings, my monitor refresh rate is at 60Hz with the vesa driver and
at 75Hz with the ati driver (which works fine as long as I don't load
radeonfb).  I have a Radeon 9600 card.

Regardless of my DEBIAN_PRIORITY, I end up with a zero-length
XF86Config file, and I get asked three times (once in config and twice
in preinst) whether I wish to try hardware autodetection.  In the end,
apt-get install aborts saying that
xserver-xfree86/config/monitor/horiz-sync is not set and tells me to
run dpkg-reconfigure xserver-xfree86.  Looking at
/var/log/xserver-xfree86.config.log, I see this:

2004-09-26 04:36:36 PM-0400 configure_monitor(): using "" selection method

which is what made me decide to try the change I described above.

After I make the change, I get:

2004-09-26 04:42:11 PM-0400 configure_monitor(): using "Advanced" selection method

I'll admit to not having a deep knowledge of debconf, so I'm not sure
why the original code is wrong.  There is a db_get on
xserver-xfree86/config/monitor/selection-method before the above
message, but I never see the question.  In any case, the comment
doesn't say that it wants to change the default: it says it wants to
pre-answer the question, so I think the db_set is probably correct.

I also can't see what in preinst is causing the autodetect_video_card
question to be asked twice even though we've been through it already
in config.

The good news is that, if I make the one-line change I made, at least
I do eventually get an XF86Config-4 that has the correct refresh
rates.

So obviously, there's some more work to do.... and I don't know how
much of my testing problems were the result of my trying to cobble
together configuration files from subversion.  Again, please let me
know if you need additional testing.  I'll also try on some hardware
that discover recognizes better to see whether some of the problems go
away.

-- 
Jay Berkenbilt <ejb@ql.org>
http://www.ql.org/q/




Reply to: