Re: [PULL] input fixes for server-1.5-branch

2008-11-25 Thread Rémi Cardona
Le 25/11/2008 02:09, Peter Hutterer a écrit :
> Ajax,
>
> Please pull a few input fixes for server-1.5-branch:

What about this patch from you? We've had it in our branch for a while 
and it helped quite a few users.

http://cvs.fedoraproject.org/viewvc/rpms/xorg-x11-server/devel/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch?view=markup

Cheers

-- 
Rémi Cardona
LRI, INRIA
[EMAIL PROTECTED]
[EMAIL PROTECTED]
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: Dinamically switch between Xinerama and Multiseat

2008-11-25 Thread Kārlis Repsons
On Monday 24 November 2008 16:29:12 Tobias Kaminsky wrote:
> Hello,
>
> I have 2 TFTs with each 1280x1024.
> Normally I work alone on the pc -> Xinerama.
> But sometimes my girlfriend wants to work on the pc, too. But I do not want
> to log out, change KDM and log in again.
>
> So I need something that works on the fly.
>
> Here is what I have this far:
>
> 1) Starting X across both TFTs.
> 2) DISPLAY=:0 Xephyr :1 -br +xinerama -screen 2560x1024
> This lets me have one big screen where I can load KDM.
> 3) DISPLAY=:1 xrandr -s 1280x1024 lets me change the size to one TFT.
>
> 3.1) Starting another Xephyr on the other TFT with a small Window Manager
> is no big deal.
> > Two Xephyr, one one each TFT
>
> Now "backwards":
> Closing one Xephyr.
>
> 4) DISPLAY=:1 xrandr -s 2560x1024
> Not a supported mode any longer.
>
> This is my problem. Starting Xephyr with 2560x1024 works fine.
> But after resizing it, the maximum resolution is 1600x1200.
>
> Also adding a new modeline does not help as it is accepted for the first
> time but not being displayed nor possible to select it.
>
> Any suggestions would be nice.
Well, maybe you will have to get 3rd display? I am in a similar problematic 
and this looks like best thing to do... Additionally, you won't have to do 
all the movement each time your girlfriend needs a PC. Just an extra screen, 
which will mostly be unused. Choice is yours.
You can* also start that Xephyr maximised on second screen - Xinerama supports 
it! Should work fine, if your girlfried makes no security threat to you :) 
(in a case when you have to leave your session open)
* is an indirect conclusion, which has some assumptions

I am currently slowly testing those things, so not many questions I can 
answer, just some ideas.

Regards

>
> --
> xrandr-1.2.3
> xorg-server-1.5.2
>
> Portage 2.2_rc15 (default/linux/amd64/2008.0, gcc-4.3.2,
> glibc-2.8_p20080602- r0, 2.6.27.6 x86_64)
> System uname:
> Linux-2.6.27.6-x86_64-AMD_Phenom-tm-_9850_Quad-Core_Processor-
> with-glibc2.2.5
> --
>
> Thanks
> Tobi
> ___
> xorg mailing list
> xorg@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: dvorak works fine, but ctrl+ is wrong (not even qwerty)

2008-11-25 Thread Peter Hutterer
On Thu, Nov 20, 2008 at 09:24:56AM +0100, Dieter Plaetinck wrote:
> I'm using a regular ps/2 azerty keyboard but with dvorak layout.  The
> problem is the dvorak layout by itself works fine, but when I press (and
> hold) ctrl the other buttons behave totally differently, some seem to be
> qwerty again but sometimes it's even different.
> I test this in urxvt and xterm, so no gtk or gnome is involved (not that
> I know)
> Examples: (xev output follows later)
> * ctrl+c becomes ctrl+i (dvorak c is on qwerty i)
> * ctrl+j on dvorak does not become ctrl+c (what it would be in qwerty).
> * ctrl+a only produces a ctrl character.

I tried reproducing your problem a few days ago but failed. Please open a
bugreport and attach the output of xkbcomp -xkb :0 -. Don't think there'll be
anything interesting, but it might be a start.

> * xev ctrl+j
> 
> KeyPress event, serial 29, synthetic NO, window 0x1c1,
> root 0x188, subw 0x0, time 1240357, (171,-26), root:(197,69),
> state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
> XLookupString gives 0 bytes:
> XmbLookupString gives 0 bytes:
> XFilterEvent returns: False
> 
> KeyPress event, serial 32, synthetic NO, window 0x1c1,
> root 0x188, subw 0x0, time 1241550, (171,-26), root:(197,69),
> state 0x14, keycode 54 (keysym 0x6a, j), same_screen YES,
> XLookupString gives 1 bytes: (0a) "
> "
> XmbLookupString gives 1 bytes: (0a) "
> "
> XFilterEvent returns: False
> 
> KeyRelease event, serial 32, synthetic NO, window 0x1c1,
> root 0x188, subw 0x0, time 1241644, (171,-26), root:(197,69),
> state 0x14, keycode 54 (keysym 0x6a, j), same_screen YES,
> XLookupString gives 1 bytes: (0a) "
> "
> XFilterEvent returns: False
> 
> KeyRelease event, serial 32, synthetic NO, window 0x1c1,
> root 0x188, subw 0x0, time 1242297, (171,-26), root:(197,69),
> state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
> XLookupString gives 0 bytes:
> XFilterEvent returns: False

at least this one doesn't look weird, the other two are different. Have you
tried starting a plain X server with nothing but xterm? Does this reproduce
the issue?
 
Cheers,
  Peter
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Simulating a lower resolution on the OLPC XO Laptop

2008-11-25 Thread Strider
Hi,
I have a XO Laptop which is a nice machine machine with a high res display
of 1200x900 pixels. The problem with this is that the laptop isn't powerful
enugh to handle fullscreen applications at this resolution. If only the
display could switch to a lower resolution things would be much better but
it seems that this laptop only supports a single resolution.

So I was wondering if it would be possible of simulating lower res at a low
level, that is the xf86-video-geode driver.
I'm not an expert in video drivers but i imagine that there are functions to
request a pixel to be drawn on screen based on what's in the video ram.
Now let's say that it's not one pixel but two that we put on screen, and
that we draw each lines two times. That would result in a 600x450
resolution.
If we do the same thing but repating the operations three times , we would
have a 400x300 resolution.
Some emulators have a scale option to do such a thing and manage it quite
well, but if we had such an option in the video driver, the result would be
even faster !

So what do you think about this? Is it possible ?

Regards, Mathieu
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: Is Xephyr going to support GLX in a near future?

2008-11-25 Thread Kamalneet Singh
Kārlis Repsons wrote:
> One more sad thing: Xephyr doesn't support GLX, which means, most likely no 
> 3D 
> for it's users... I would like to ask someone better informed here, if that 
> is going to be addressed in near future?

From an earlier post by ajax:

"Xephyr supports GLX.  It's even accelerated in 1.5.  I think the
acceleration support requires the use of a DRI driver under the skin
(ie, not nVidia's driver), but I could be wrong."
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: Is Xephyr going to support GLX in a near future?

2008-11-25 Thread Kārlis Repsons
On Tuesday 25 November 2008 13:11:24 you wrote:
> Kārlis Repsons wrote:
> > One more sad thing: Xephyr doesn't support GLX, which means, most likely
> > no 3D for it's users... I would like to ask someone better informed here,
> > if that is going to be addressed in near future?
>
> From an earlier post by ajax:
>
> "Xephyr supports GLX.  It's even accelerated in 1.5.  I think the
> acceleration support requires the use of a DRI driver under the skin
> (ie, not nVidia's driver), but I could be wrong."

Oh, glad to see, I am wrong about that, but still: the quote above makes me 
ask, if its possible to use nvidia cards with Xephyr properly (that is, use 
their capabilities, not make CPU work more)? Anyone here knows that?
Well, anyway, later I will try with glxgears.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: ctrl+ incorrect/missing keycodes with dvorak layout

2008-11-25 Thread Dieter Plaetinck
Hi again list,
I still haven't managed to figure this one out.  the resulting keycodes 
when holding control are 'weird', to say at least.
Any help is appreciated.

Dieter Plaetinck wrote:
> Hi list,
> I'm using:
> xorg 7.4
> xorg-server 1.5.3
> xkeyboard-config 1.4
>
> I'm using a regular ps/2 azerty keyboard but with dvorak layout.  The
> problem is the dvorak layout by itself works fine, but when I press (and
> hold) ctrl the other buttons behave totally differently, some seem to be
> qwerty again but sometimes it's even different.
> I test this in urxvt and xterm, so no gtk or gnome is involved (not that
> I know)
> Examples: (xev output follows later)
> * ctrl+c becomes ctrl+i (dvorak c is on qwerty i)
> * ctrl+j on dvorak does not become ctrl+c (what it would be in qwerty).
> * ctrl+a only produces thew  ctrl character.
>
> I have this problem both with hal hotplugging and with the classic
> method (autoadddevices false).
> I have this with both layout dvorak and dvorak-intl.
> setxkbmap -layout dvorak[-intl] doesn't change anything
>
> [EMAIL PROTECTED] ~ $ setxkbmap -v
> Trying to build keymap using the following components:
> keycodes:   xfree86+aliases(qwerty)
> types:  complete
> compat: complete
> symbols:pc+us(dvorak-intl)
> geometry:   pc(pc104)
>
> ( I posted my xorg.conf and fdi file here:
> http://bbs.archlinux.org/viewtopic.php?pid=451182#p451182 )
>
> [EMAIL PROTECTED] ~ $xmodmap -pke # some relevant keys
> keycode  31 = c C c C ccedilla dead_abovedot
> keycode  38 = a A a A agrave
> keycode  39 = o O o O ocircumflex
> keycode  40 = e E e E eacute
> keycode  41 = u U u U ucircumflex
> keycode  42 = i I i I icircumflex
>
>
> And now, the xev's:
>
> * xev ctrl+c (press+hold ctrl, press c, release c, release ctrl !)
> KeyPress event, serial 32, synthetic NO, window 0x1c1,
>root 0x188, subw 0x0, time 1817959, (170,-29), root:(196,66),
>state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
>XLookupString gives 0 bytes:
>XmbLookupString gives 0 bytes:
>XFilterEvent returns: False
>
> FocusOut event, serial 32, synthetic NO, window 0x1c1,
>mode NotifyGrab, detail NotifyAncestor
>
> FocusIn event, serial 32, synthetic NO, window 0x1c1,
>mode NotifyUngrab, detail NotifyAncestor
>
> KeymapNotify event, serial 32, synthetic NO, window 0x0,
>keys:  4294967176 0   0   0   32  0   0   0   0   0   0   0   0
> 0   0   0
>   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
>
> KeyRelease event, serial 32, synthetic NO, window 0x1c1,
>root 0x188, subw 0x0, time 1820112, (170,-29), root:(196,66),
>state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
>XLookupString gives 0 bytes:
>XFilterEvent returns: False
>
>
>
> * xev ctrl+j
>
> KeyPress event, serial 29, synthetic NO, window 0x1c1,
>root 0x188, subw 0x0, time 1240357, (171,-26), root:(197,69),
>state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
>XLookupString gives 0 bytes:
>XmbLookupString gives 0 bytes:
>XFilterEvent returns: False
>
> KeyPress event, serial 32, synthetic NO, window 0x1c1,
>root 0x188, subw 0x0, time 1241550, (171,-26), root:(197,69),
>state 0x14, keycode 54 (keysym 0x6a, j), same_screen YES,
>XLookupString gives 1 bytes: (0a) "
> "
>XmbLookupString gives 1 bytes: (0a) "
> "
>XFilterEvent returns: False
>
> KeyRelease event, serial 32, synthetic NO, window 0x1c1,
>root 0x188, subw 0x0, time 1241644, (171,-26), root:(197,69),
>state 0x14, keycode 54 (keysym 0x6a, j), same_screen YES,
>XLookupString gives 1 bytes: (0a) "
> "
>XFilterEvent returns: False
>
> KeyRelease event, serial 32, synthetic NO, window 0x1c1,
>root 0x188, subw 0x0, time 1242297, (171,-26), root:(197,69),
>state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
>XLookupString gives 0 bytes:
>XFilterEvent returns: False
>
>
> * xev ctrl+a (press+hold ctrl, press a, release a, release ctrl !)
>
> KeyPress event, serial 29, synthetic NO, window 0x181,
>root 0x188, subw 0x0, time 16768525, (171,-26), root:(185,38),
>state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
>XLookupString gives 0 bytes:
>XmbLookupString gives 0 bytes:
>XFilterEvent returns: False
>
> FocusOut event, serial 32, synthetic NO, window 0x181,
>mode NotifyGrab, detail NotifyAncestor
>
> FocusIn event, serial 32, synthetic NO, window 0x181,
>mode NotifyUngrab, detail NotifyAncestor
>
> KeymapNotify event, serial 32, synthetic NO, window 0x0,
>keys:  4294967290 0   0   0   32  0   0   0   0   0   0   0   0   0 
>   0   0
>   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
>
> KeyRelease event, serial 32, synthetic NO, window 0x181,
>root 0x188, subw 0x0, time 16770786, (171,-26), root:(185,38),
>state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
>XLo

Re: DeliverPropertyEvent() accessing unallocated memory

2008-11-25 Thread Matthieu Herrb
Adam Jackson wrote:
> On Sat, 2008-11-22 at 13:07 +0100, Matthieu Herrb wrote:
>> Matthieu Herrb wrote:
>>> Hi,
>>>
>>> using OpenBSD's memory allocator (which has an option to fill free()'d
>>> memory with a specific pattern) I found out that xserver 1.5.3 is
>>> dumping core on exit.
>> Same problem on git's master.
>>
>>> This is caused by a bad pointer caused by accessing free'd memory in
>>> DeliverPropertyEvent, because when the RRProperties are destroyed, the
>>> associated windows have been free'd already.
>>>
>> So, no help on how to fix that? Should we just remove
>> RRDeleteAllOutputProperties() since it can't work?
> 
> It does work, when outputs are deleted at runtime.  It just can't work
> during server shutdown since windows are already gone, so there's
> nothing to deliver events to.
> 
> Something like this maybe:
> 
> --- a/randr/rrproperty.c
> +++ b/randr/rrproperty.c
> @@ -59,7 +59,8 @@ DeliverPropertyEvent(WindowPtr pWin, void *value)
>  
>  static void RRDeliverPropertyEvent(ScreenPtr pScreen, xEvent *event)
>  {
> -WalkTree(pScreen, DeliverPropertyEvent, event);
> +if (!(dispatchException & (DE_RESET | DE_TERMINATE)))
> +   WalkTree(pScreen, DeliverPropertyEvent, event);
>  }
>  
>  void
> 
> ---

Thanks for the answer. That seems to work indeed.


-- 
Matthieu Herrb
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: Simulating a lower resolution on the OLPC XO Laptop

2008-11-25 Thread Strider
On Tue, Nov 25, 2008 at 12:52 PM, <[EMAIL PROTECTED]> wrote:

> On Tue, Nov 25, 2008 at 11:57:17AM +0100, Strider wrote:
> > The problem with this is that the laptop isn't powerful enugh
> > to handle fullscreen applications at this resolution.
>
> All those I have tried have worked fine at this resolution.  Which
> particular applications are you referring to?
>
> I've tried; konqueror, galeon, gpredict, xclock, firefox, emacs, xterm,
> inkscape, gimp, abiword, openoffice, wesnoth, and xastir.  I'm probably
> not using an application you're using.  Which is it?  Perhaps there is a
> design problem in the application.  Perhaps the application requires a
> display bandwidth that exceeds what is available.
>
> --
> James Cameronmailto:[EMAIL PROTECTED] http://quozl.netrek.org/


It is indeed the applications that are in cause. I tried zsnes which is not
usable in other resolution than the original 256x224, I also ran the amiga
emulator e-uae which does not support upscaling but only resolution changes.

Other emulators such as dgen for the Sega Genesis or gnuboy for the game boy
have a software scaling option working really well. One solution would be to
patch each problematic application to support 1200x900 but it's will not be
possible with closed source software.
I'd also like to try to run games that ran on 1999's PCs such as Quake 3 and
Unreal Tournament, I think the laptop is powerful enough to run these games
at a 400x300 resolution but i doubt it will be smooth at 1200x900.

I have found this message :
http://lists.x.org/archives/xorg-driver-geode/2008-August/000353.html on the
x.org mailing list and it might be what i'm talking about, I have to give it
a try.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: Additional NULL (??) layout group with evdev+hal

2008-11-25 Thread Thomas Fritzsche
Hi Peter,

I`m just new to all this, but here is something odd:
...
key  {
type[group1]= "FOUR_LEVEL",
symbols[Group1]= [less, greater, bar,
brokenbar ],
symbols[Group2]= [less, greater ],
symbols[Group3]= [ bar ]
};
...

group1: German keyboard
group2: Japanese

This seems refer a key ONLY available in German Keyboard layout (it
doesn`t exist on Japanese keyboard).
I can understand this is here and group1 one get's type `FOUR_LEVEL"
as I have 3rd level indicator active (e.g. for € or @ in German
keyboard).

What I don`t understand is group2... simply there is not such a key on
a Japanese keyboards (but separate key with comma/less and
period/greater).

Here what I think:
1) Where are these symbols come from? --> It looks like a copy of
German keyboard layout
2) There is no special type assigned to group2 --> I just had a few
minutes to read in the xkb specs (e.g. chapter 12.2.2 Assigning
Symbols To Groups),,, I'm maybe not correct but 2 shift levels are
maybe the standard if no keytype is indicating somethings else
As a result the system "implicitly" seems to assume a 3rd group (as
this would the the standard distribution of the symbols. So the copied
(??) "bar" might be in this 3rd group.

The source is a little bit complex for a keyboard novice, but this
comment you made
here:
/* See XKB Protocol Sec, Section 12.4.
   A 1-group key with ABCDE on a 2 group keyboard must be
   duplicated across all groups as ABABCDECDE.
 */

This seems to somehow indicate a little you are duplicating here  entries.
Just a speculation: This might be in general OK, but I wonder such
special keys (e.g. just existing in German OR Japanese but not in
both). Does this still work correctly?
(especially having (maybe) not the key type ("FOUR_LEVEL") copied too?

Sorry for bothering you so much about this and thanks so much for your help.
Cheers,
Thomas

On Tue, Nov 25, 2008 at 8:44 PM, Thomas Fritzsche <[EMAIL PROTECTED]> wrote:
> Hello Peter,
>
> output of "X -version":
> ..
> X.Org X Server 1.5.2
> Release Date: 10 October 2008
> X Protocol Version 11, Revision 0
> Build Operating System: Linux 2.6.24-19-server i686 Ubuntu
> Current Operating System: Linux sakura 2.6.27-7-generic #1 SMP Tue Nov
> 4 19:33:20 UTC 2008 i686
> Build Date: 24 October 2008  08:00:16AM
> .
>
> I double checked the source package contains the patches (as expected).
> There are some other patches applied by Ubuntu, relevant for keyboard
> seems to be only this one:
> ...
> From 638cab7e1dc3711f7fb04155bcdabf4b8895cc5e Mon Sep 17 00:00:00 2001
> From: Peter Hutterer <[EMAIL PROTECTED]>
> Date: Mon, 4 Aug 2008 17:08:36 +0930
> Subject: [PATCH] xfree86: force SwitchCoreKeyboard for evdev devices 
> (updated).
>
> If an evdev keyboard device is added through the HAL mechanism, force a
> SwitchCoreKeyboard to load the evdev map into the VCK. This way, by the time a
> client starts the evdev keymap is already there, leading to less pain lateron.
> ...
>
> I attached another "xkbcomp -xkb :0 -" output. This run is just a pure
> X session with xterm but nothing else.
>
> There is one warning that comes up when executing "xkbcomp -xkb :0 -":
> ...
> Warning:  Could not load keyboard geometry for :0
>  BadAlloc (insufficient resources for operation)
>  Resulting keymap file will not describe geometry
> ...
> (as it's on stderr it didn't show in the files attached before)
> This warning comes ONLY when I have this strange 3rd layout group.
> After calling manually setxkbmap it doesn't show this warning any more.
>
> Thanks for your help!
> Cheers,
> Thomas
>
> On Tue, Nov 25, 2008 at 1:35 PM, Peter Hutterer
> <[EMAIL PROTECTED]> wrote:
>> On Tue, Nov 25, 2008 at 11:11:29AM +0900, Thomas Fritzsche wrote:
>>> Hello Peter,
>>> That's oddI have installed latest Ubuntu package for xorg-server
>>> and this is 1.5.2.
>>> http://changelogs.ubuntu.com/changelogs/pool/main/x/xorg-server/xorg-server_1.5.2-2ubuntu3/changelog
>>
>> 2:1.5.1-1ubuntu3 should have the patch and unless it disappeared since, it
>> should still be in there.
>>
>>> Is there any more information I can provide you except of the earlier
>>> attached output from "xkbcomp -xkb :0 -" ?
>>
>> Please try to find the simplest reproduceable test-case. Ideally, this would
>> be a plain X server with nothing but xterm (or even just the X server 
>> itself).
>>
>> Other than that, it's pretty much down to looking at the code.
>>
>> Cheers,
>>  Peter
>>
>
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Siliconmotion driver update for XFree 4.3?

2008-11-25 Thread Gerhart, Bjoern
Dear list,

in the past, our company got a siliconmotion driver update to release 1.4.9 of 
the siliconmotion driver. But it seems that the features of the 1.4.9 release 
have not been given back to the xorg developer community. I have the source 
code for this release, and it can be compiled against XFree 4.3.

Now as we want to change to newer Linux distributions, also the Xorg version 
increases to Xorg 7.1 or newer. But: On the one hand the siliconmotion driver 
part of Xorg 7.1 does not have the features we had in release 1.4.9. On the 
other hand I can not simply recompile the 1.4.9 sources against Xorg 7.1.

Does it make sense when I create a diff between my siliconmotion 1.4.9 source 
code and the original siliconmotion source code part of XFree 4.3? Maybe with 
such a patch, there would be a simple way to port the new siliconmotion driver 
release to the current Xorg version?

btw: sorry for the long signature at the bottom, it's automatically added  :-(

Best Regards
  Björn

-- 
WINCOR NIXDORF International GmbH 
Sitz der Gesellschaft: Paderborn 
Registergericht Paderborn HRB 3507
Geschäftsführer: Eckard Heidloff (Vorsitzender), Stefan Auerbach, Dr. Jürgen 
Wunram
Vorsitzender des Aufsichtsrats: Karl-Heinz Stiller 
Steuernummer: 339/5884/0020 - Ust-ID Nr.: DE812927716 - WEEE-Reg.-Nr. DE44477193

Diese E-Mail enthält vertrauliche Informationen. Wenn Sie nicht der richtige 
Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie 
bitte sofort den Absender und vernichten Sie diese E-Mail. Das unerlaubte 
Kopieren sowie die unbefugte Weitergabe dieser E-Mail ist nicht gestattet.

This e-mail may contain confidential information. If you are not the intended 
recipient (or have received this e-mail in error) please notify the sender 
immediately and destroy this e-mail. Any unauthorised copying, disclosure or 
distribution of the material in this e-mail is strictly forbidden. 

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: Siliconmotion driver update for XFree 4.3?

2008-11-25 Thread Paulo Cesar Pereira de Andrade
Gerhart, Bjoern wrote:
> Dear list,

  Hi,

> in the past, our company got a siliconmotion driver update to release
> 1.4.9 of the siliconmotion driver. But it seems that the features of
> the 1.4.9 release have not been given back to the xorg developer
> community. I have the source code for this release, and it can be
> compiled against XFree 4.3.

  It is not that it has not been given back, in most cases, it is
just that they lost contacts with opensource developers, or there
wasn't any developer working on integrating their patches.

  I have the latest sources from siliconmotion, and I have been on
contact with them for some time now. If you are using XFree86, probably
you will want to use that version, that you can also get from
http://www.loongson.cn/support/cgi-bin/gitweb/gitweb.cgi?p=siliconmotion/xorg;a=summary

  You may also want to check the latest freedesktop git, just run:

git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-siliconmotion

  There isn't yet an official version, so you need a snapshot. But
some of the features in that driver include randr 1.2 (with multihead),
exa, basic composite accel, compatible with xorg latest xorg xserver,
etc.

> Now as we want to change to newer Linux distributions, also the Xorg
> version increases to Xorg 7.1 or newer. But: On the one hand the
> siliconmotion driver part of Xorg 7.1 does not have the features we
> had in release 1.4.9. On the other hand I can not simply recompile
> the 1.4.9 sources against Xorg 7.1.

  What features you had? Anyway, note that I am working mainly on the
smi 501/502 support, but Francisco Jerez did a lot of work for the
Lynx3D chipsets, and is the main author of several new features like
the randr 1.2 (I only adapted that code to smi 501).

  I have been working on an some experiments with a drm module for
the smi 501, the hardware doesn't have 3d support, but it has a
"batch buffer" and dma transfers from/to system/video memory, and
Francisco also did some work on implementing composite on top of
Lynx3D hardware. Hopefully that can also be integrated soon.

> Does it make sense when I create a diff between my siliconmotion
> 1.4.9 source code and the original siliconmotion source code part of
> XFree 4.3? Maybe with such a patch, there would be a simple way to
> port the new siliconmotion driver release to the current Xorg
> version?

  They are already in version 2.2.8, while we are on version 1.6.1 :-)
If you can send me the tarball it should be easier to handle, then
real diffs. As there may exist useful features that were removed...

> btw: sorry for the long signature at the bottom, it's automatically
> added  :-(
>
> Best Regards Björn

Paulo

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: X server 1.6_beta1 pending pixman

2008-11-25 Thread Soeren Sandmann
Keith Packard <[EMAIL PROTECTED]> writes:

> So, we'll see if we can't get a bit of pixman review and perhaps a
> pixman release done tomorrow so that the X server beta can head out.

Here are some comments on the matrix code. I didn't review all the
numericals, but nothing jumped out at me either.

- I'd like to have the interface const correct, for example in

pixman_transform_multily (struct pixman_transform_t *dst,
  struct pixman_transform_t *l,
  struct pixman_transform_t *r);

  l and r could be const

- For the rotation interfaces, maybe expand the names s and c to sin
  and cos? I first thought c meant center and was then mystified what
  s could mean.

- The interfaces that take forward/reverse matrices should probably
  accept NULL's.

- Pixman's version numbering scheme is similar to cairo's: The git
  master version has an odd micro number, released versions have even
  micro numbers.

- The name pixman_f_transform bothers me, but I don't have a better
  suggestion since pixman_transformf would be worse.

- Is there any particular reason for the fixed point epsilon of 2 (as
  opposed to 1)?

- There is a comment about floating point interfaces, but the file
  contains both fixed and floating point interfaces.



Thanks,
Soren
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: dvorak works fine, but ctrl+ is wrong (not even qwerty)

2008-11-25 Thread Dieter Plaetinck

Peter Hutterer wrote:

On Thu, Nov 20, 2008 at 09:24:56AM +0100, Dieter Plaetinck wrote:
  

I'm using a regular ps/2 azerty keyboard but with dvorak layout.  The
problem is the dvorak layout by itself works fine, but when I press (and
hold) ctrl the other buttons behave totally differently, some seem to be
qwerty again but sometimes it's even different.
I test this in urxvt and xterm, so no gtk or gnome is involved (not that
I know)
Examples: (xev output follows later)
* ctrl+c becomes ctrl+i (dvorak c is on qwerty i)
* ctrl+j on dvorak does not become ctrl+c (what it would be in qwerty).
* ctrl+a only produces a ctrl character.



I tried reproducing your problem a few days ago but failed. Please open a
bugreport and attach the output of xkbcomp -xkb :0 -. Don't think there'll be
anything interesting, but it might be a start.

  

* xev ctrl+j

KeyPress event, serial 29, synthetic NO, window 0x1c1,
root 0x188, subw 0x0, time 1240357, (171,-26), root:(197,69),
state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x1c1,
root 0x188, subw 0x0, time 1241550, (171,-26), root:(197,69),
state 0x14, keycode 54 (keysym 0x6a, j), same_screen YES,
XLookupString gives 1 bytes: (0a) "
"
XmbLookupString gives 1 bytes: (0a) "
"
XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x1c1,
root 0x188, subw 0x0, time 1241644, (171,-26), root:(197,69),
state 0x14, keycode 54 (keysym 0x6a, j), same_screen YES,
XLookupString gives 1 bytes: (0a) "
"
XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x1c1,
root 0x188, subw 0x0, time 1242297, (171,-26), root:(197,69),
state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False



at least this one doesn't look weird, the other two are different. Have you
tried starting a plain X server with nothing but xterm? Does this reproduce
the issue?
 
Cheers,

  Peter
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg
  

Peter, thank you so much.
I've spent way too much time searching in the wrong direction.  When 
starting x with plain xterm/urxvt all was fine, so gradually I could 
build up my environment and check where it went wrong.

As it turned out the culprit is compiz:
compiz --replace --sm-disable --ignore-desktop-hints ccp <-breaks keys
compiz --replace --sm-disable --ignore-desktop-hints <- doesn't break keys

I'll now try to figure out why the 'core plugin' changes my keys (maybe 
it's me who configured something incorrectly)


Thanks,
Dieter

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: X server 1.6_beta1 pending pixman

2008-11-25 Thread Keith Packard
On Tue, 2008-11-25 at 17:58 +0100, Soeren Sandmann wrote:
> Keith Packard <[EMAIL PROTECTED]> writes:
> 
> > So, we'll see if we can't get a bit of pixman review and perhaps a
> > pixman release done tomorrow so that the X server beta can head out.
> 
> Here are some comments on the matrix code. I didn't review all the
> numericals, but nothing jumped out at me either.

I just copied the code from the X server where it hasn't demonstrated
any problems. I think most of the paths are actually tested in the
projective transform RandR work too.

> - I'd like to have the interface const correct, for example in
> 
> pixman_transform_multily (struct pixman_transform_t *dst,
>   struct pixman_transform_t *l,
>   struct pixman_transform_t *r);

Yeah, I briefly considered doing that; I'll go fix it.

> - For the rotation interfaces, maybe expand the names s and c to sin
>   and cos? I first thought c meant center and was then mystified what
>   s could mean.

Ok.

> - The interfaces that take forward/reverse matrices should probably
>   accept NULL's.

Ok.

> - Pixman's version numbering scheme is similar to cairo's: The git
>   master version has an odd micro number, released versions have even
>   micro numbers.

What version would you like?

> - The name pixman_f_transform bothers me, but I don't have a better
>   suggestion since pixman_transformf would be worse.

I'll leave this alone then.

> - Is there any particular reason for the fixed point epsilon of 2 (as
>   opposed to 1)?

Just giving more space to allow for rounding errors.

> - There is a comment about floating point interfaces, but the file
>   contains both fixed and floating point interfaces.

I'll fix the comment.

Thanks for the review!

-- 
[EMAIL PROTECTED]


signature.asc
Description: This is a digitally signed message part
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: X server 1.6_beta1 pending pixman

2008-11-25 Thread Soeren Sandmann
Keith Packard <[EMAIL PROTECTED]> writes:

> > - Pixman's version numbering scheme is similar to cairo's: The git
> >   master version has an odd micro number, released versions have even
> >   micro numbers.
> 
> What version would you like?

Before releasing, bump to 0.13.2, after releasing, bump to 0.13.3. Or
if you don't want to release, but still want a number to depend on,
just bump to 0.13.3.


Soren
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [synaptics] [patch] touchpad output noise that confuse driver

2008-11-25 Thread Marius Gedminas
On Tue, Nov 25, 2008 at 09:46:38AM +1000, Peter Hutterer wrote:
> On Sun, Nov 23, 2008 at 08:46:14PM +0100, Batchty wrote:
> > Hello, I have a Dell Inspiron 1520 with a Synaptics touchpad. This touchpad 
> > for
> >  a unknown reason loves to send event like these after every finger release 
> > :
> > 
> > time xy   z f  w  l r u d m multi  gl gm gr gdx gdy
> >1.563  3224 1625  57 1  5  0 0 0 0 0     0  0  0   0   0
> >1.574  3251 1632  30 1  5  0 0 0 0 0     0  0  0   0   0
> >1.584  3292 1673  10 1  5  0 0 0 0 0     0  0  0   0   0
> >1.594 1 5855   3 2  5  0 0 0 0 0     0  0  0   0   0
> >1.634 1 5855   1 2  5  0 0 0 0 0     0  0  0   0   0
> >1.746 1 5855   0 0  0  0 0 0 0 0     0  0  0   0   0
> >1.897 1 5855   1 2  5  0 0 0 0 0     0  0  0   0   0
> > 
> > Most of the time these events are ignored by the driver. but sometimes
> >  it confuse two-finger scrolling and tap detection.
...
> > Oh, and thanks for maintaining this driver. :) i tried to contact previous
> >  upstream but they didn't answer.
> 
> Pushed, thanks a lot!

Looks like this was

  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=437254

and

  
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/133060

but I can't find the issue in the freedesktop bugzilla (was it never
forwarded upstream)?

It's great to have it fixed.

Marius Gedminas
-- 
This loads a GDT entry into the "Task Register": that entry points to a
structure called the Task State Segment.  Some comments scattered though the
kernel code indicate that this used for task switching in ages past, along
with blood sacrifice and astrology.
-- lguest source code


signature.asc
Description: Digital signature
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: X server 1.6_beta1 pending pixman

2008-11-25 Thread Keith Packard
On Tue, 2008-11-25 at 19:17 +0100, Soeren Sandmann wrote:
> Keith Packard <[EMAIL PROTECTED]> writes:
> 
> > > - Pixman's version numbering scheme is similar to cairo's: The git
> > >   master version has an odd micro number, released versions have even
> > >   micro numbers.
> > 
> > What version would you like?
> 
> Before releasing, bump to 0.13.2, after releasing, bump to 0.13.3. Or
> if you don't want to release, but still want a number to depend on,
> just bump to 0.13.3.

Ok, so I've set it to 0.13.2 in this patch:

From ba65df0b2ac45582eba952acad31ce6a8c61c2f2 Mon Sep 17 00:00:00 2001
From: Keith Packard <[EMAIL PROTECTED]>
Date: Mon, 24 Nov 2008 11:49:32 -0800
Subject: [PATCH] Move matrix operations from X server to pixman

Signed-off-by: Keith Packard <[EMAIL PROTECTED]>
---
 configure.ac   |2 +-
 pixman/Makefile.am |3 +-
 pixman/pixman-matrix.c |  598 
 pixman/pixman-utils.c  |   32 ---
 pixman/pixman.h|  150 -
 5 files changed, 748 insertions(+), 37 deletions(-)
 create mode 100644 pixman/pixman-matrix.c

diff --git a/configure.ac b/configure.ac
index 7937f95..063f6eb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,7 @@ AC_PREREQ([2.57])
 
 m4_define([pixman_major], 0)
 m4_define([pixman_minor], 13)
-m4_define([pixman_micro], 1)
+m4_define([pixman_micro], 2)
 
 m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
 
diff --git a/pixman/Makefile.am b/pixman/Makefile.am
index 6d5a643..c4612ea 100644
--- a/pixman/Makefile.am
+++ b/pixman/Makefile.am
@@ -26,7 +26,8 @@ libpixman_1_la_SOURCES =  \
pixman-edge-imp.h   \
pixman-trap.c   \
pixman-compute-region.c \
-   pixman-timer.c
+   pixman-timer.c  \
+   pixman-matrix.c
 
 libpixmanincludedir = $(includedir)/pixman-1/
 libpixmaninclude_HEADERS = pixman.h pixman-version.h
diff --git a/pixman/pixman-matrix.c b/pixman/pixman-matrix.c
new file mode 100644
index 000..28124bd
--- /dev/null
+++ b/pixman/pixman-matrix.c
@@ -0,0 +1,598 @@
+/*
+ * Copyright © 2008 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  The copyright holders make no representations
+ * about the suitability of this software for any purpose.  It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+
+/*
+ * Floating point matrix interfaces
+ */
+
+#include "config.h"
+#include 
+#include 
+#include "pixman-private.h"
+
+#define F(x)   pixman_int_to_fixed(x)
+
+PIXMAN_EXPORT void
+pixman_transform_init_identity(struct pixman_transform *matrix)
+{
+   int i;
+
+   memset(matrix, '\0', sizeof (struct pixman_transform));
+   for (i = 0; i < 3; i++)
+   matrix->matrix[i][i] = F(1);
+}
+
+typedef pixman_fixed_32_32_t   pixman_fixed_34_30_t;
+
+PIXMAN_EXPORT pixman_bool_t
+pixman_transform_point_3d(const struct pixman_transform *transform,
+ struct pixman_vector *vector)
+{
+   struct pixman_vector result;
+   pixman_fixed_32_32_t partial;
+   pixman_fixed_48_16_t v;
+   int i, j;
+
+   for (j = 0; j < 3; j++)
+   {
+   v = 0;
+   for (i = 0; i < 3; i++)
+   {
+   partial = ((pixman_fixed_48_16_t) 
transform->matrix[j][i] *
+  (pixman_fixed_48_16_t) vector->vector[i]);
+   v += partial >> 16;
+   }
+   if (v > pixman_max_fixed_48_16 || v < pixman_min_fixed_48_16)
+   return FALSE;
+   result.vector[j] = (pixman_fixed_t) v;
+   }
+   *vector = result;
+   if (!result.vector[2])
+   return FALSE;
+   return TRUE;
+}
+
+PIXMAN_EXPORT pixman_bool_t
+pixman_transform_point(const struct pixman_transform *transform,
+  struct pixman_vector *vector)
+{
+   pixman_fixed_32_32_t partial;
+   pixman_fixed_34_30_t v[3];
+   pixman_fixed_48_1

Re: Possible bitrot detected while compiling full xorg tree

2008-11-25 Thread Alan Coopersmith
Alex Villací­s Lasso wrote:
> - driver/xf86-video-via generates an error about "expected
> specifier-qualifier-list before 'uint32_t'" when including drm.h. I
> skipped this one since my chipset is a radeon.

That's rotted alright - I've pushed a build.sh change to stop building it.
(The replacement, xf86-video-openchrome, doesn't live in X.Org's git repos,
 so needs to be grabbed & built on it's own.)

-- 
-Alan Coopersmith-   [EMAIL PROTECTED]
 Sun Microsystems, Inc. - X Window System Engineering

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

EXA and migration [was: shrink xrender featureset]

2008-11-25 Thread Juliusz Chroboczek
> Sorry just to clarify - can't Xorg draw a gradient directly to the pixmap
> over PCI, rather than migrating the pixmap out of the video card?

We've been flaming on this subject on this list before.

Apparently, the current incarnation of EXA is built on the assumption that
everything should be accelerated, and that when it isn't, it's a bug.  Hence,
it pays no attention whatsoever to the performance of software rendering.

(Strong vocabulary chosen deliberately, to get some EXA expert to react.)

Juliusz

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [IDEA] shrink xrender featureset

2008-11-25 Thread Juliusz Chroboczek
> Well if you let me decide between software rendering on client or
> software rendering on server, I would prefer the latter.

It's not that clear cut.  At least some of the motivation behind Render is
about moving time-consuming operations into the client, notably font 
rasterisation.

There are two reasons why you may want to move stuff into the client.  One
is flexibility: for most users, it's easier to install a new version of
a library, than a new version of the X server.  This was the principal
reason why Render moves font rasterisation into the client.

The other point is that having time-consuming operations in the server
increases client latency.  Before Render, all font rasterisation happened
in the server, and this would cause noticeable pauses (with the whole
server frozen, not just a single client).

While it is possible to implement background processing in the server,
using ``Block Handlers'' (that's how I implemented the now-deceased XFree86
DPS extension), it's difficult, error-prone, and there are just three
people in the universe who know how it's done.

Juliusz
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: EXA and migration [was: shrink xrender featureset]

2008-11-25 Thread Michel Dänzer
On Tue, 2008-11-25 at 19:54 +0100, Juliusz Chroboczek wrote:
> > Sorry just to clarify - can't Xorg draw a gradient directly to the pixmap
> > over PCI, rather than migrating the pixmap out of the video card?
> 
> We've been flaming on this subject on this list before.
> 
> Apparently, the current incarnation of EXA is built on the assumption that
> everything should be accelerated, and that when it isn't, it's a bug.  Hence,
> it pays no attention whatsoever to the performance of software rendering.
> 
> (Strong vocabulary chosen deliberately, to get some EXA expert to react.)

That's not 'strong vocabulary' but simply baseless flamebait.


-- 
Earthling Michel Dänzer   |  http://tungstengraphics.com
Libre software enthusiast |  Debian, X and DRI developer

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: EXA and migration [was: shrink xrender featureset]

2008-11-25 Thread Clemens Eisserer
> That's not 'strong vocabulary' but simply baseless flamebait.

Would it make sence to implement some fallback-optimizations like:
- Copy pictures without drawables (gradients) to a temporary surface,
if the driver supports composition?
- Support solid write-only operations (X11 core drawing) for which EXA
does not provide hooks (e.g. diagonal lines) through a temporal mask,
if the driver supports composition?

For both cases I saw ping-pong migration killing performance, and I
had to implement work-arrounds in my application myself which are
built on assumptions about the accaleration architecture's behaviour
and sometimes cause degraded performance.

By the way thanks a lot for the EXA improvements in 1.5/1.6 :)

- Clemens
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [IDEA] shrink xrender featureset

2008-11-25 Thread Clemens Eisserer
> The other point is that having time-consuming operations in the server
> increases client latency.  Before Render, all font rasterisation happened
> in the server, and this would cause noticeable pauses (with the whole
> server frozen, not just a single client).
Wasn't the reason to do font rasterization primiary to give
applications more control over font rendering?
After all isn't that just an implementation problem of the xserver?

When doing e.g. gradients client-side, all hope for hw accaleration is
lost, furthermore it would mean transferring a _lot_ of data between
the client and the server which would pretty much kill network
performance.
Furthermore it would lead to more frequent syncs (when shm is used) or
increased copy-overhead (when going through protocol).

- Clemens
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: EXA and migration [was: shrink xrender featureset]

2008-11-25 Thread Dave Airlie
On Wed, Nov 26, 2008 at 5:38 AM, Clemens Eisserer <[EMAIL PROTECTED]> wrote:
>> That's not 'strong vocabulary' but simply baseless flamebait.
>
> Would it make sence to implement some fallback-optimizations like:
> - Copy pictures without drawables (gradients) to a temporary surface,
> if the driver supports composition?
> - Support solid write-only operations (X11 core drawing) for which EXA
> does not provide hooks (e.g. diagonal lines) through a temporal mask,
> if the driver supports composition?
>
> For both cases I saw ping-pong migration killing performance, and I
> had to implement work-arrounds in my application myself which are
> built on assumptions about the accaleration architecture's behaviour
> and sometimes cause degraded performance.
>
> By the way thanks a lot for the EXA improvements in 1.5/1.6 :)

Yeah I'm with this, EXA really needs optimisations that know you have composite,
and just to render the stuff with the CPU and composite it on. Generally it does
stupid things like fill on the GPU, then render with CPU then composite.

When you have kernel managed pixmaps and they are uncached CPU side
for the GPU to use them
EXA isn't currently the acceleration architecture you are looking for.
I'm starting to think a bit more
about the requirements on the XA for sw fallbacks in this case.

another things that would be nice, would be instead of the current
prepare/op/op/op/done, we could
possibly tell prepare how many ops are coming so it can more
efficiently batch things.

Dave.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [synaptics] [patch] touchpad output noise that confuse driver

2008-11-25 Thread Nicolas Cavallari
Marius Gedminas wrote :
> but I can't find the issue in the freedesktop bugzilla (was it never
> forwarded upstream)?

It was forwarded to the old upstream (http://web.telia.com/~u89404340/touchpad/)
which was half-dead back then.


___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: EXA and migration

2008-11-25 Thread Juliusz Chroboczek
>> Apparently, the current incarnation of EXA is built on the assumption that
>> everything should be accelerated, and that when it isn't, it's a bug.  Hence,
>> it pays no attention whatsoever to the performance of software rendering.

> That's not 'strong vocabulary' but simply baseless flamebait.

Sorry if you took it that way.

I think you'll agree that current incarnations of EXA do some rather silly
things when some, but not all operations in a sequence can be accelerated.
Since some rather smart people are working on EXA, I have trouble understanding
why this rather obvious shortcoming.

Juliusz
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: Blend modes take 3

2008-11-25 Thread Soeren Sandmann
"Benjamin Otte" <[EMAIL PROTECTED]> writes:

> On Wed, Nov 19, 2008 at 7:00 PM, Soeren Sandmann <[EMAIL PROTECTED]> wrote:
> > Hi Benjamin,
> >
> > Overall, the separable blend mode stuff looks good, except for the
> > component alpha versions.
> >
> New update pushed to my git branches of pixman/cairo.

Comments on separable blend modes:

- In both fbCombineMultiplyC and fbCombine ## name ## C, 

- When mask is 0, there is no reason to read the source.

- The continue is incorrect; it needs to write out 0 in that case,
  since the intermediate buffer is not zero-filled.

- In fbCombineMultiplyC,

- There is no reason to read the destination if the inverse
  combined src/mask is 0

- In FlashSubtractC, the m = ~m is not used. And fbCombineMaskC()
  seems like it could just be fbCombineMaskValueC.

I still don't completely understand the non-separable blend modes, and
how they interact with premultiplied alpha and with component
alpha. But here are some questions about the code:

- In SetLum and SetSat you have, respectively:

>   if (Max (tmp) > sa) while (1);
>   if (Max (dest) > 255 * 255) while (1);  

Are these supposed to never happen?

- In SetLum:

>  if (min < 0) {
>tmp[0] = l + (tmp[0] - l) / 4 * l / (l - min) * 4;
>tmp[1] = l + (tmp[1] - l) / 4 * l / (l - min) * 4;
>tmp[2] = l + (tmp[2] - l) / 4 * l / (l - min) * 4;
>  }
>  if (max > a) {
>tmp[0] = l + (tmp[0] - l) / 4 * (a - l) / (max - l) * 4;
>tmp[1] = l + (tmp[1] - l) / 4 * (a - l) / (max - l) * 4;
>tmp[2] = l + (tmp[2] - l) / 4 * (a - l) / (max - l) * 4;
>  }

Where do those 4s come from?


Soren
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [IDEA] shrink xrender featureset

2008-11-25 Thread Juliusz Chroboczek
> Wasn't the reason to do font rasterization primiary to give applications
> more control over font rendering?

If memory serves, Keith was trying to find a design to solve both issues
with core fonts -- lack of flexibility and latency.  There was an extended
brain-storming session on the old XFree86 list (Keith, Ralf, Rob Pike,
myself, probably others I forget), and suddenly there was this collective
insight -- client-side rasterisation solves both problems in an elegant
way.

> After all isn't that just an implementation problem of the xserver?

The fact that other clients are locked out during font rasterisation is.
However, it's tricky to fix -- it basically requires either threading the
server, or converting your font rasteriser to continuation-passing style.

The fact that fonts cannot be rasterised incrementally but must be fully
rasterised at font open time, on the other hand, is a design flaw of the
core fonts mechanism.  (Due to the fact that the core protocol requires
providing accurate ink metrics at font open time.)

> When doing e.g. gradients client-side, all hope for hw accaleration is
> lost, furthermore it would mean transferring a _lot_ of data between the
> client and the server which would pretty much kill network performance.
> Furthermore it would lead to more frequent syncs (when shm is used) or
> increased copy-overhead (when going through protocol).

In no way am I claiming that client-side gradients are the right solution.
I'm simply saying that the client- vs. server-side debate is seldom as
clear cut as a previous speaker made it, and that the pros and the cons
need to be carefully weighted.  My personal instincts tend to go towards
client-side operations whenever possible -- every complex server-side
operation I tend to see as a failure to design the right protocol-level
abstractions.

As far as network and SHM performance -- Keith convinced me at some point
that we don't currently have a good pixmap transport extension.  I'd like
to see something that uses a windowed, non-blocking form of SHM when
working locally, and some smart compression method when working remotely.
(There's no reason why the compression mechanism shouldn't have an ad-hoc
encoding for gradients, if gradients are found to be important.)

Point taken about hw acceleration, although I happen to think (or hope)
that hw acceleration of 2D graphics is going the way of the dodo.

Juliusz
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


HOWTO for dual-head and ipnut device hotplugging

2008-11-25 Thread Matija Šuklje
Hullo,

you've probably seen me (ab)use this list (as well as the bugzilla and 
[EMAIL PROTECTED]) quite a bit in the past days.

So, to make it up, I decided to write a HOWTO on what I learnt from all your 
help. I hope it's of any use to anyone:
http://matija.suklje.name/?q=node/56


Cheers,
Matija

-- 
gsm: +386 41 849 552
e-mail: [EMAIL PROTECTED]
www: http://matija.suklje.name

aim: hookofsilver
icq: 110183360
jabber/g-talk: [EMAIL PROTECTED]
msn: [EMAIL PROTECTED]
yahoo: matija_suklje
GPG/PGP fingerprint: FB64 FFAF B8DA 5AB5 B18A 98B8 2B68 0B51 0549 D278


signature.asc
Description: This is a digitally signed message part.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: Blend modes take 3

2008-11-25 Thread Benjamin Otte
On Tue, Nov 25, 2008 at 10:10 PM, Soeren Sandmann <[EMAIL PROTECTED]> wrote:
>- When mask is 0, there is no reason to read the source.
>
>- There is no reason to read the destination if the inverse
>  combined src/mask is 0
>
Don't compilers take care of that?
The code looks better to me if the variable assignments all occur in one place.

>- The continue is incorrect; it needs to write out 0 in that case,
>  since the intermediate buffer is not zero-filled.
>
Oh, the code is supposed to modify the _source_ parameter, too?
Someone really needs to document what component alpha does properly so
I really grok it.
Fixed.

> - In FlashSubtractC, the m = ~m is not used. And fbCombineMaskC()
>  seems like it could just be fbCombineMaskValueC.
>
Fixed.

>>   if (Max (tmp) > sa) while (1);
>>   if (Max (dest) > 255 * 255) while (1);
>
> Are these supposed to never happen?
>
Yeah, It's my poor man's choice at an assertion statement while
debugging. Unfortunately I always forget removing them after I'm done
debugging.
Fixed.

>>  if (min < 0) {
>>tmp[0] = l + (tmp[0] - l) / 4 * l / (l - min) * 4;
>>tmp[1] = l + (tmp[1] - l) / 4 * l / (l - min) * 4;
>>tmp[2] = l + (tmp[2] - l) / 4 * l / (l - min) * 4;
>>  }
>>  if (max > a) {
>>tmp[0] = l + (tmp[0] - l) / 4 * (a - l) / (max - l) * 4;
>>tmp[1] = l + (tmp[1] - l) / 4 * (a - l) / (max - l) * 4;
>>tmp[2] = l + (tmp[2] - l) / 4 * (a - l) / (max - l) * 4;
>>  }
>
> Where do those 4s come from?
>
Overflow protection. The tmp value can range from -COMP2_T_MAX .. 2 *
COMP2_T_MAX (I think), so I took the shortcut to just divide by a high
enough number to avoid it. Also, this code will break on 64bit cases
as I'm using ints there for lack of a signed comp4_t type.
It's one of the cases I asked about previously on IRC I think as I was
unsure if this is a case for doubles or how it should best be handled.


Benjamin
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: HOWTO for dual-head and ipnut device hotplugging

2008-11-25 Thread Peter Hutterer
On Tue, Nov 25, 2008 at 10:36:40PM +0100, Matija Šuklje wrote:
> you've probably seen me (ab)use this list (as well as the bugzilla and 
> [EMAIL PROTECTED]) quite a bit in the past days.
> 
> So, to make it up, I decided to write a HOWTO on what I learnt from all your 
> help. I hope it's of any use to anyone:
> http://matija.suklje.name/?q=node/56

thanks for writing that up. Quick skim left me with two comments:
synaptics fdi:
don't specify the range unless you really need to. synaptics reads the range
from the kernel and unless the hardware reports false ranges or you're not
happy with the edges, don't specify them.

"Now you can (and should) safely remove the mouse settings from the xorg.conf
file:"
that particular section wouldn't do anything even if you'd leave it in. It
doesn't have a device option, so it's mute.

Cheers,
  Peter
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: Simulating a lower resolution on the OLPC XO Laptop

2008-11-25 Thread Mathieu Comandon
Jordan Crouse a écrit :
> Bert Freudenberg wrote:
>>
>> On 25.11.2008, at 17:37, Jordan Crouse wrote:
>>
>>> Bert Freudenberg wrote:
 On 25.11.2008, at 11:57, Strider wrote:
> Hi,
> I have a XO Laptop which is a nice machine machine with a high 
> res  display of 1200x900 pixels. The problem with this is that the 
> laptop  isn't powerful enugh to handle fullscreen applications at 
> this  resolution. If only the display could switch to a lower 
> resolution  things would be much better but it seems that this 
> laptop only  supports a single resolution.
>
> So I was wondering if it would be possible of simulating lower 
> res  at a low level, that is the xf86-video-geode driver.
> I'm not an expert in video drivers but i imagine that there are  
> functions to request a pixel to be drawn on screen based on 
> what's  in the video ram.
> Now let's say that it's not one pixel but two that we put on 
> screen,  and that we draw each lines two times. That would result 
> in a  600x450 resolution.
> If we do the same thing but repating the operations three times , 
> we  would have a 400x300 resolution.
> Some emulators have a scale option to do such a thing and manage 
> it  quite well, but if we had such an option in the video driver, 
> the  result would be even faster !
>
> So what do you think about this? Is it possible ?
 The Geode actually can do real upscaling (that is, scale multiple  
 graphics resolutions to the panel resolution), it works fine on 
 other  machines and LCDs. But latest word is that this somehow 
 interacts  badly with our DCON, so no-one has gotten it to work 
 correctly on the  XO yet.
>>>
>>> Indeed.  I think there is a DCON interaction happening, because the 
>>> mouse gets "corrupted" during upscaling as well - and that implies 
>>> that the issue is happening after the screen is constructed.  The 
>>> upscaling works fine on a CRT and on a "standard" TFT panel, so that 
>>> is what leads me back to the DCON.  Its also a long shot that the 
>>> 1200x900 resolution is confusing the scaler, but I doubt it since 
>>> the aspect ratio is still 4:3.  I would love for other people to try 
>>> the driver (it is in the latest debxo, I think); perhaps you can see 
>>> the pattern that I can't.
>>>
 There still may be hope, because the video upscaler can take RGB 
 5:6:5  data, so in theory a lower-res 16 bpp frame buffer could be 
 upscaled  on-the-fly (and the upscaler does 30 fps easily). But I 
 guess getting  this to work would require a very determined X 
 hacker ...
>>>
>>> The RGB video overlay should just work (TM).  So it would take less 
>>> of a determined X hacker, and more of a determined application 
>>> hacker to put all the pieces together.
>>
>>
>> Well, I meant that this could be used to actually provide, say, an 
>> 800x600x16 mode in the driver, without having to hack applications. 
>> While adapting a single app may be comparatively easy, it's still a 
>> major hassle to patch each and every app. Having it in the driver 
>> would make things just work (TM). But that would be a major hack, 
>> don't you agree?
>
> So if I understand what you are getting at - you want to set up a 
> single  overlay over the whole screen, and render everything on that?  
> Thats probably doable - you could set up a shadow framebuffer like we 
> do for rotation, and hook the damage code into the video overlay.  It 
> might work out well, but it would preclude using the video overlay for 
> anything else (such as, video).  It would probably also preclude 
> rotation - maybe not.
>
> But rather then invent fanciful ways to handle this, the efforts would 
> be better spent figuring out how to fix the current driver.  Mitch 
> reports that the Windows driver works just fine, so clearly the bug is 
> on our side.
>
> We need developers to start understanding how the driver works. 
> Everybody with a professional interest in the X driver has moved on to 
> other pastures, and OLPC desperately needs community members to pick 
> up the slack.
>
> Jordan
>
Knowing that changing resolution on Windows XP sure brings hope to solve 
this problem :)
I have installed the latest DebXO on a SD Card and xrandr shows several 
choices where Ubuntu and Fedora showed only the native 1200x900.
I tried the other modes but they're all messed up. It's clearly a 
problem about timings.
Here's a photo of what it looks like when I try run run Scummvm in 
fullscreen mode : http://img155.imageshack.us/img155/5589/img0700qg4.jpg

I had a similar "out of sync" problem on my other laptop back when the 
radeon driver had problems on my display.  Windows XP had no problems 
and I had a tool which allowed me to find the correct timing to add 
valid ModeLines to xorg.conf. Later versions of Ubuntu corrected this 
problem and I could switch resolutions without any problems. I hope the 
same t

Is it possible to use i810 driver in Xorg7.3 without agpgart kernel module

2008-11-25 Thread hinet
Hi All,

Is it possible to use i810 driver in Xorg7.3 without agpgart kernel module ?
I use kernel 2.4.31. And It's OK for XFree86 4.6.

-- 
Regards,

Paul Lin


___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: xinput test crashes server when touchpad clicked

2008-11-25 Thread Peter Hutterer
On Wed, Nov 19, 2008 at 10:07:59PM +, Magnus Kessler wrote:
> With the latest server and synaptics driver from git I can reliably crash 
> the server by starting
> 
> xinput test "SynPS2/2 Synaptics Touchpad"
> 
> and then clicking the any of the physical buttons or tapping the pad to 
> simulate a click.

How about this one?

>From 87f5aa009d65e44f516bfc0168249ea29433b2b4 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <[EMAIL PROTECTED]>
Date: Wed, 26 Nov 2008 12:20:00 +1000
Subject: [PATCH] xkb: don't attempt to filter events for devices without key 
classes.

Reported by Magnus Kessler.

Signed-off-by: Peter Hutterer <[EMAIL PROTECTED]>
---
 xkb/xkbEvents.c |   10 +-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/xkb/xkbEvents.c b/xkb/xkbEvents.c
index 151849c..02565a4 100644
--- a/xkb/xkbEvents.c
+++ b/xkb/xkbEvents.c
@@ -819,7 +819,8 @@ XkbSrvInfoPtr   xkbi;
 pXDev = inputInfo.keyboard;
 }
 
-xkbi= pXDev->key->xkbInfo;
+xkbi= (pXDev->key) ? pXDev->key->xkbInfo : NULL;
+
 if ( pClient->xkbClientFlags & _XkbClientInitialized ) {
if ((xkbDebugFlags&0x10)&&
((xE[0].u.u.type==KeyPress)||(xE[0].u.u.type==KeyRelease)||
@@ -841,6 +842,10 @@ XkbSrvInfoPtr  xkbi;
(_XkbIsReleaseEvent(xE[0].u.u.type)) ) {
return False;
}
+
+if (!xkbi)
+return True;
+
if ((pXDev->deviceGrab.grab != NullGrab) 
 && pXDev->deviceGrab.fromPassiveGrab &&
((xE[0].u.u.type==KeyPress)||(xE[0].u.u.type==KeyRelease)||
@@ -884,6 +889,9 @@ XkbSrvInfoPtr   xkbi;
 else {
register CARD8  type;
 
+if (!xkbi)
+return True;
+
for (i=0;ihttp://lists.freedesktop.org/mailman/listinfo/xorg


Re: HOWTO for dual-head and ipnut device hotplugging

2008-11-25 Thread Matija Šuklje
Dne sreda 26. novembra 2008 je Peter Hutterer napisal(a):
> thanks for writing that up. Quick skim left me with two comments:
> synaptics fdi:

Thanks for your quick proof-reading. It's greatly appreciated :]

> don't specify the range unless you really need to. synaptics reads the
> range from the kernel and unless the hardware reports false ranges or
> you're not happy with the edges, don't specify them.

I've removed that now. 

> "Now you can (and should) safely remove the mouse settings from the
> xorg.conf file:"
> that particular section wouldn't do anything even if you'd leave it in. It
> doesn't have a device option, so it's mute.

The side goal of this HOWTO is also to clean up xorg.conf as much as possible, 
but I removed "(and should)" from that sentance.

Cheers,
Matija
-- 
gsm: +386 41 849 552
e-mail: [EMAIL PROTECTED]
www: http://matija.suklje.name

aim: hookofsilver
icq: 110183360
jabber/g-talk: [EMAIL PROTECTED]
msn: [EMAIL PROTECTED]
yahoo: matija_suklje
GPG/PGP fingerprint: FB64 FFAF B8DA 5AB5 B18A 98B8 2B68 0B51 0549 D278


signature.asc
Description: This is a digitally signed message part.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: Is it possible to use i810 driver in Xorg7.3 without agpgart kernel module

2008-11-25 Thread Paulo César Pereira de Andrade
> Hi All,

  Hi,

> Is it possible to use i810 driver in Xorg7.3 without agpgart kernel module
> ?
> I use kernel 2.4.31. And It's OK for XFree86 4.6.

  I think it should work with older versions of the i810 driver, as
long the driver recognizes your hardware.

  Some months ago I worked on something that should be similar to
what you are doing, we needed to backport the agpgart kernel module,
and i810 XFree86 driver to "certified" linux distros (redhat and
conectiva), so that they would work with "today's hardware".

> --
> Regards,
>
> Paul Lin

Paulo

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


[PATCH 1/2] xf86-video-intel: i830_driver: drop I830GetRec

2008-11-25 Thread Andres Salomon

There are a number of minor issues w/ I830GetRec:
 - pI830 is local, and therefore never gets used
 - it only ever returns TRUE (no need to check the result)
 - it's only ever called once, so there's not much point in protecting
   against multple calls

So, this drops I830GetRec and instead just calls xnfcalloc directly.  Since
xnfcalloc will never fail, there's no point in checking the result.

Signed-off-by: Andres Salomon <[EMAIL PROTECTED]>
---
 src/i830_driver.c |   16 +---
 1 files changed, 1 insertions(+), 15 deletions(-)

diff --git a/src/i830_driver.c b/src/i830_driver.c
index 1407a22..a24c8da 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -402,17 +402,6 @@ I830AvailableOptions(int chipid, int busid)
return NULL;
 }
 
-static Bool
-I830GetRec(ScrnInfoPtr pScrn)
-{
-   I830Ptr pI830;
-
-   if (pScrn->driverPrivate)
-  return TRUE;
-   pI830 = pScrn->driverPrivate = xnfcalloc(sizeof(I830Rec), 1);
-   return TRUE;
-}
-
 static void
 I830FreeRec(ScrnInfoPtr pScrn)
 {
@@ -1755,11 +1744,8 @@ I830PreInit(ScrnInfoPtr pScrn, int flags)
if (flags & PROBE_DETECT)
return TRUE;
 
-   /* Allocate driverPrivate */
-   if (!I830GetRec(pScrn))
-  return FALSE;
+   pI830 = pScrn->driverPrivate = xnfcalloc(sizeof(I830Rec), 1);
 
-   pI830 = I830PTR(pScrn);
pI830->SaveGeneration = -1;
pI830->pEnt = pEnt;
pI830->use_drm_mode = drm_mode_setting;
-- 
1.5.6.5

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


[PATCH 2/2] xf86-video-intel: i810_driver: drop I810GetRec

2008-11-25 Thread Andres Salomon

There aren't as many issues with I810GetRec, but there's not much point
for its existence, either.  Since it's only ever called once, drop it
and simply call xnfcalloc directly.  Since xnfcalloc will never fail,
there's no point in checking the result.

Signed-off-by: Andres Salomon <[EMAIL PROTECTED]>
---
 src/i810_driver.c |   20 +++-
 1 files changed, 3 insertions(+), 17 deletions(-)

diff --git a/src/i810_driver.c b/src/i810_driver.c
index cc28ad8..20d1fe1 100644
--- a/src/i810_driver.c
+++ b/src/i810_driver.c
@@ -528,22 +528,12 @@ i810Setup(pointer module, pointer opts, int *errmaj, int 
*errmin)
 
 #ifndef I830_ONLY
 /*
- * I810GetRec and I810FreeRec --
+ * I810FreeRec --
  *
  * Private data for the driver is stored in the screen structure.
- * These two functions create and destroy that private data.
+ * This function destroys that private data.
  *
  */
-static Bool
-I810GetRec(ScrnInfoPtr pScrn)
-{
-   if (pScrn->driverPrivate)
-  return TRUE;
-
-   pScrn->driverPrivate = xnfcalloc(sizeof(I810Rec), 1);
-   return TRUE;
-}
-
 static void
 I810FreeRec(ScrnInfoPtr pScrn)
 {
@@ -921,11 +911,7 @@ I810PreInit(ScrnInfoPtr pScrn, int flags)
if (pScrn->numEntities != 1)
   return FALSE;
 
-   /* Allocate driverPrivate */
-   if (!I810GetRec(pScrn))
-  return FALSE;
-
-   pI810 = I810PTR(pScrn);
+   pI810 = pScrn->driverPrivate = xnfcalloc(sizeof(I810Rec), 1);
 
pI810->pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
if (pI810->pEnt->location.type != BUS_PCI)
-- 
1.5.6.5

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


[PATCH] xf86-video-geode: DCON: set the default (physical) screen size if we detect a DCON

2008-11-25 Thread Andres Salomon

We can be assured that a DCON device has an OLPC panel that's 152x114 mm.
This adds fields to GeodeRec to allow other panels to potentially
override physical width/height fields, and also allows xorg.conf to
override the values.

Signed-off-by: Andres Salomon <[EMAIL PROTECTED]>
---
 src/geode.h  |2 ++
 src/geode_dcon.c |6 ++
 src/lx_output.c  |   11 +++
 3 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/src/geode.h b/src/geode.h
index e748ec6..37bee2e 100644
--- a/src/geode.h
+++ b/src/geode.h
@@ -196,6 +196,8 @@ typedef struct _geodeRec
 Bool tryCompression;
 Bool tryHWCursor;
 
+int mm_width, mm_height;   /* physical display size */
+
 unsigned long CursorStartOffset;
 
 int Pitch;/* display FB pitch */
diff --git a/src/geode_dcon.c b/src/geode_dcon.c
index 0baa178..13e5fd2 100644
--- a/src/geode_dcon.c
+++ b/src/geode_dcon.c
@@ -92,6 +92,9 @@ dcon_init(ScrnInfoPtr pScrni)
 {
 GeodeRec *pGeode = GEODEPTR(pScrni);
 
+pGeode->mm_width = 0;
+pGeode->mm_height = 0;
+
 if (!dcon_present()) {
xf86DrvMsg(pScrni->scrnIndex, X_DEFAULT, "No DCON is present\n");
return FALSE;
@@ -115,6 +118,9 @@ dcon_init(ScrnInfoPtr pScrni)
 pGeode->panelMode->VTotal = 912;
 pGeode->panelMode->Flags = V_NHSYNC | V_NVSYNC;
 
+pGeode->mm_width = 152;
+pGeode->mm_height = 114;
+
 xf86SetModeDefaultName(pGeode->panelMode);
 
 /* TODO: Print board revision once sysfs exports it. */
diff --git a/src/lx_output.c b/src/lx_output.c
index 53a538a..5508477 100644
--- a/src/lx_output.c
+++ b/src/lx_output.c
@@ -249,6 +249,7 @@ LXSetupOutput(ScrnInfoPtr pScrni)
 {
 xf86OutputPtr output;
 LXOutputPrivatePtr lxpriv;
+GeodePtr pGeode = GEODEPTR(pScrni);
 
 output = xf86OutputCreate(pScrni, &lx_output_funcs, "default");
 
@@ -267,6 +268,16 @@ LXSetupOutput(ScrnInfoPtr pScrni)
 
 GeodeI2CInit(pScrni, &lxpriv->pDDCBus, "CS5536 DDC");
 
+if (pScrni->monitor->widthmm && pScrni->monitor->heightmm) {
+   /* prioritize the admin's screen size */
+   output->mm_width = pScrni->monitor->widthmm;
+   output->mm_height = pScrni->monitor->heightmm;
+} else if (pGeode->mm_width && pGeode->mm_height) {
+   /* if we have a panel that we're certain of the size of, set it */
+   output->mm_width = pScrni->monitor->widthmm = pGeode->mm_width;
+   output->mm_height = pScrni->monitor->heightmm = pGeode->mm_height;
+}
+
 /* We only have one CRTC, and this output is tied to it */
 output->possible_crtcs = 1;
 }
-- 
1.5.6.5

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg