Re: [radeonhd] latest radeonhd crashes Xorg - Asus A8Jp, Mobility Radeon X1700
On Nov 27, 07 00:55:35 +0200, Kirill Belokurov wrote:
On Monday 26 November 2007, Matthias Hopf wrote:
(btw, is it OK that size is told to be "0mm x 0mm" ? the xdpyinfo e.g. reports "380x238 millimeters")
Got it :) Let me know if you need any help with reproducing/debugging this.
Fixed. Side effect of a bigger bug. Well, sort-of. Another user is still having issues. So please re-test current git master :)
Still doesn't work for me :( Here is output from xrandr (size is still 0mm x 0mm):
You might want to try latest git - I just pushed a change upstream that
could (!) fix this. However, as I don't have a panel with a fixed mode
provided by AtomBIOS here, so I cannot test that. Also, it could be that
AtomBIOS does not provide an EDID block at all, in that case the new
code won't make a difference.
CU
Matthias
--
Matthias Hopf
(btw, is it OK that size is told to be "0mm x 0mm" ? the xdpyinfo e.g. reports "380x238 millimeters")
Got it :) Let me know if you need any help with reproducing/debugging this.
Fixed. Side effect of a bigger bug. Well, sort-of. Another user is still having issues. So please re-test current git master :)
Still doesn't work for me :( Here is output from xrandr (size is still 0mm x 0mm):
You might want to try latest git - I just pushed a change upstream that could (!) fix this. However, as I don't have a panel with a fixed mode provided by AtomBIOS here, so I cannot test that. Also, it could be that AtomBIOS does not provide an EDID block at all, in that case the new code won't make a difference.
Just checked with the latest git - nothing changed, it is still "0mm x 0mm": fenikso@miracle:~$ xrandr Screen 0: minimum 320 x 200, current 1440 x 900, maximum 1440 x 900 VGA_1 disconnected PANEL connected 1440x900+0+0 0mm x 0mm 1440x900 59.9*+ TV_SVIDEO disconnected DVI-D_1 disconnected Probably this is an AtomBIOS issue - how can I help you somehow to test/check that? (I emailed the BIOS dump sometime ago). Regards, Kirill -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On Dec 27, 07 20:36:08 +0200, Kirill Belokurov wrote:
provided by AtomBIOS here, so I cannot test that. Also, it could be that AtomBIOS does not provide an EDID block at all, in that case the new code won't make a difference. Just checked with the latest git - nothing changed, it is still "0mm x 0mm":
Ok, I attach a patch for calculating width and height if none is available (assuming 96dpi always). As I cannot test this for side effects right now, I don't want to commit it yet. Please test. It won't get the exact size, of course, but at least aspect should be good, and most programs should be happy with it.
Probably this is an AtomBIOS issue - how can I help you somehow to test/check that? (I emailed the BIOS dump sometime ago).
We haven't found any other possibilities to get panel sizes from the
BIOS except by EDID entries - and both your BIOS and the panel don't
provide any...
Thanks
Matthias
--
Matthias Hopf
On Dec 29, 07 01:25:09 +0100, Matthias Hopf wrote:
Ok, I attach a patch for calculating width and height if none is available (assuming 96dpi always). As I cannot test this for side effects right now, I don't want to commit it yet. Please test. It won't get the exact size, of course, but at least aspect should be good, and most programs should be happy with it.
Ping?
diff --git a/src/rhd_randr.c b/src/rhd_randr.c index c82ec41..bec2932 100644 --- a/src/rhd_randr.c +++ b/src/rhd_randr.c @@ -857,6 +857,25 @@ rhdRROutputGetModes(xf86OutputPtr output) rhdPtr->forceReduced.val.bool;
xf86OutputSetEDID (output, rout->Connector->Monitor->EDID); + + /* If no EDID data is available, calculate mm_size by assuming 96dpi + * for the preferred (or first if no preferred) mode */ + if (! rout->Connector->Monitor->EDID) { + DisplayModePtr m; + for (m = rout->Connector->Monitor->Modes; m; m = m->next) + if (m->type & M_T_PREFERRED) + break; + if (! m) + m = rout->Connector->Monitor->Modes; + if (m) { +#define DEFAULT_MM_PER_DOT (25.4 / 96) + output->mm_width = m->HDisplay * DEFAULT_MM_PER_DOT; + output->mm_height = m->VDisplay * DEFAULT_MM_PER_DOT; + xf86DrvMsg(rhdPtr->scrnIndex, X_WARNING, + "No monitor size info, assuming 96dpi.\n"); + } + } + return rout->Connector->Monitor->Modes; }
Matthias
--
Matthias Hopf
On Monday 14 January 2008, Matthias Hopf wrote:
On Dec 29, 07 01:25:09 +0100, Matthias Hopf wrote:
Ok, I attach a patch for calculating width and height if none is available (assuming 96dpi always). As I cannot test this for side effects right now, I don't want to commit it yet. Please test. It won't get the exact size, of course, but at least aspect should be good, and most programs should be happy with it.
Ping?
Sorry, somehow I missed the previous email :( OK, I just applied patch to latest git, now it calculates the panel size OK: $ xrandr Screen 0: minimum 320 x 200, current 1440 x 900, maximum 1440 x 900 VGA_1 disconnected PANEL connected 1440x900+0+0 381mm x 238mm 1440x900 59.9*+ Just a small note, the width is by 1mm different from what the xdpyinfo thinks about this screen: $ xdpyinfo | grep -A 2 "screen #0" screen #0: dimensions: 1440x900 pixels (380x238 millimeters) resolution: 96x96 dots per inch The 381mm value looks correct to me, so probably this is a truncation in xdpyinfo. Thank you for your help. Best regards, Kirill -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org
On Jan 15, 08 10:39:16 +0200, Kirill Belokurov wrote:
On Monday 14 January 2008, Matthias Hopf wrote: Sorry, somehow I missed the previous email :( OK, I just applied patch to latest git, now it calculates the panel size OK:
Ok, then I will commit it.
Just a small note, the width is by 1mm different from what the xdpyinfo thinks about this screen: [..] The 381mm value looks correct to me, so probably this is a truncation in xdpyinfo.
Yeah, of-by-1 in floating point calculation is easily achieved ;-)
CU
Matthias
--
Matthias Hopf
participants (2)
-
Kirill Belokurov
-
Matthias Hopf