[Bug 2552] New: Stretching the output to fill laptop LCD pannel
should be optional.
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Feb 16 08:10:57 PST 2005
Please do not reply to this email: if you want to comment on the bug, go to
the URL shown below and enter yourcomments there.
https://bugs.freedesktop.org/show_bug.cgi?id=2552
Summary: Stretching the output to fill laptop LCD pannel should
be optional.
Product: xorg
Version: 6.8.1
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Driver/Radeon
AssignedTo: xorg-bugzilla-noise at freedesktop.org
ReportedBy: rsbrand at gmail.com
The default behavior of the Radeon driver (w/ 250 Lf; M9) is to use the
chipset's RMX facility to stretch the output to fill the LCD display. This
results in ugly/annoying smearing of fonts and other graphics when stretching
from 1280x1024 to 1400x1050.
The BIOS is set to not expand but the Radeon driver does it anyway.
The following patch (to the code from the Suse 9.2 update) turns off the
stretching if the ``NoStretch'' option is set to true.
Unfortunately the output is now in the upper lefthand corner instead of being
centered and I have no idea what needs to be modified to center the output.
I do not know if the registers are programmed correctly when this patch is used
but I do get a non stretched display on my laptop.
Also, it would be really nice if the stretching could be toggled (like windows
can) without restarting the xserver.
diff -wubr ORIG/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
BUILD/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
--- ORIG/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2005-02-13
18:10:11.000000000 -0500
+++ BUILD/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2005-02-16
06:54:02.531263544 -0500
@@ -164,7 +164,8 @@
OPTION_SUBPIXEL_ORDER,
#endif
OPTION_SHOWCACHE,
- OPTION_DYNAMIC_CLOCKS
+ OPTION_DYNAMIC_CLOCKS,
+ OPTION_NO_STRETCH
} RADEONOpts;
static const OptionInfoRec RADEONOptions[] = {
@@ -209,6 +210,7 @@
#endif
{ OPTION_SHOWCACHE, "ShowCache", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_DYNAMIC_CLOCKS, "DynamicClocks", OPTV_BOOLEAN, {0}, FALSE },
+ { OPTION_NO_STRETCH, "NoStretch", OPTV_BOOLEAN, {0}, FALSE },
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
@@ -2881,8 +2883,11 @@
p->VSyncEnd = p->VSyncStart + info->VSyncWidth;
p->Clock = info->DotClock;
+ if (!xf86ReturnOptValBool(info->Options, OPTION_NO_STRETCH, FALSE))
+ {
p->Flags |= RADEON_USE_RMX;
}
+ }
maxVirtX = MAX(maxVirtX, p->HDisplay);
maxVirtY = MAX(maxVirtY, p->VDisplay);
@@ -3099,7 +3104,11 @@
new->VSyncStart = info->PanelYRes + info->VOverPlus;
new->VSyncEnd = new->VSyncStart + info->VSyncWidth;
new->Clock = info->DotClock;
+
+ if (!xf86ReturnOptValBool(info->Options, OPTION_NO_STRETCH, FALSE))
+ {
new->Flags |= RADEON_USE_RMX;
+ }
new->type |= M_T_USERDEF;
@@ -3150,8 +3159,11 @@
new->VSyncStart = info->PanelYRes + info->VOverPlus;
new->VSyncEnd = new->VSyncStart + info->VSyncWidth;
new->Clock = info->DotClock;
- new->Flags |= RADEON_USE_RMX;
+ if (!xf86ReturnOptValBool(info->Options, OPTION_NO_STRETCH, FALSE))
+ {
+ new->Flags |= RADEON_USE_RMX;
+ }
new->type |= M_T_DEFAULT;
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the xorg-bugzilla-noise
mailing list