From 0b3d57562f0ef60c905e16559f46fe64174a6839 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Fri, 1 Aug 2003 20:48:32 +0000 Subject: => do as Chris Picton suggested Chris Picton said (nearly one year ago :-/) : I have found the need for many low res screen resolutions for such thingas as movie playing, xmame, etc. The method XFdrake uses to enable modes is to enumerate each mode in the XF86Config file. For example (a newly created file): Subsection "Display" Depth 24 Modes "1280x960" "1152x864" "1024x768" "800x600" "640x480" EndSubsection It would be better (at least under XFree 4, which automatically provides resoltions from the monitor, if it is capable), to not limit the modes provided to the user If I use instead, the following: Subsection "Display" Depth 24 Virtual 1280 960 EndSubsection My maximum mode is exactly the same as before, but I have many more low resolution modes. --- perl-install/Xconfig/xfree3.pm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'perl-install/Xconfig/xfree3.pm') diff --git a/perl-install/Xconfig/xfree3.pm b/perl-install/Xconfig/xfree3.pm index 8f61fe55a..2c753f148 100644 --- a/perl-install/Xconfig/xfree3.pm +++ b/perl-install/Xconfig/xfree3.pm @@ -85,6 +85,30 @@ sub set_wacoms { sub depths { 8, 15, 16, 24, 32 } +sub set_resolution { + my ($raw_X, $resolution, $o_Screen_) = @_; + + foreach my $Screen ($o_Screen_ ? $o_Screen_ : $raw_X->get_screens) { + $Screen ||= $raw_X->get_default_screen or internal_error('no screen'); + + $Screen->{DefaultColorDepth} = { val => $resolution->{Depth} }; + $Screen->{Display} = [ map { + my $modes = do { + if ($raw_X->is_fbdev($Screen)) { + '"default"'; + } else { + my @Modes = grep { + if_(m/(\d+)x(\d+)/, + $1 <= $resolution->{X} && (!$resolution->{Y} || $2 <= $resolution->{Y})); + } reverse @Xconfig::xfreeX::resolutions; + join(" ", map { qq("$_") } @Modes); + } + }; + { l => { Depth => { val => $_ }, Modes => { val => $modes } } }; + } $raw_X->depths ]; + } +} + sub get_device_section_fields { qw(VendorName BoardName Chipset VideoRam); #-); } -- cgit v1.2.1