On 04/07/2011 06:57 AM, Adam Jackson wrote:
> On 4/6/11 6:38 PM, Aaron Plattner wrote:
>> On Wed, Apr 06, 2011 at 02:37:52PM -0700, Antoine Martin wrote:
>>> diff --git a/src/dummy_driver.c b/src/dummy_driver.c
>>> index 804e41e..05450d5 100644
>>> --- a/src/dummy_driver.c
>>> +++ b/src/dummy_driver.c
>>> @@ -85,6 +85,9 @@ static Bool   dummyDriverFunc(ScrnInfoPtr pScrn,
>>> xorgDriverFuncOp op,
>>>   #define DUMMY_MINOR_VERSION PACKAGE_VERSION_MINOR
>>>   #define DUMMY_PATCHLEVEL PACKAGE_VERSION_PATCHLEVEL
>>>
>>> +#define DUMMY_MAX_WIDTH=4096
>>> +#define DUMMY_MAX_HEIGHT=4096
>>
>> 4096 is low.  Modern GPUs go up to at least 16kx16k, and I think you can
>> get away with X screens at the protocol level up to 32kx32k, though I
>> vaguely recall there being some restriction against that.
>
> It should be 64k-1, but because of protocol bugs (and 4G overflow on
> 32bpp) it ends up being 32k-1.
OK, please find an updated patch attached (using 2^15-1 as maximum size).

There is also a specfile patch for Fedora, RPMs for Fedora 13,14,15 and
rawhide can be found here:
http://winswitch.org/dists/rpm/Fedora/

I have tested it on Fedora 14 quite a bit, are there any specific
validation tests I should be aware of?
I went up to resolutions like these (does use a lot of RAM!):
screen #0:
  dimensions:    16384x8192 pixels (4335x2167 millimeters)
But to test higher than this I would need a modeline calculator that
doesn't overflow (xtiming did):
Modeline "32000x32000@0" -38917.43 32000 32032 -115848 -115816 32000
32775 32826 33601



Any chance of seeing a new minor version of dummy tagged?
This would help push this to users sooner rather than later.

Last question: can anyone think of a distro agnostic way of detecting if
the dummy driver has this big-screen support without starting a full
Xorg instance and seeing the result? My software would need to know this
in order to choose between Xvfb and Xorg+dummy.

strings /usr/lib*/xorg/modules/drivers/dummy_drv.so
isn't very clean and doesn't show any version information.

> Also, #define A B, not #define A=B.
Ooops, sorry about that, that's obviously not what I had used for building.

Thanks
Antoine

diff --git a/src/dummy_driver.c b/src/dummy_driver.c
index 804e41e..305bd3c 100644
--- a/src/dummy_driver.c
+++ b/src/dummy_driver.c
@@ -85,6 +85,9 @@ static Bool   dummyDriverFunc(ScrnInfoPtr pScrn, 
xorgDriverFuncOp op,
 #define DUMMY_MINOR_VERSION PACKAGE_VERSION_MINOR
 #define DUMMY_PATCHLEVEL PACKAGE_VERSION_PATCHLEVEL
 
+#define DUMMY_MAX_WIDTH 32767
+#define DUMMY_MAX_HEIGHT 32767
+
 /*
  * This is intentionally screen-independent.  It indicates the binding
  * choice made in the first PreInit.
@@ -402,8 +405,8 @@ DUMMYPreInit(ScrnInfoPtr pScrn, int flags)
        int apertureSize = (pScrn->videoRam * 1024);
        i = xf86ValidateModes(pScrn, pScrn->monitor->Modes,
                              pScrn->display->modes, clockRanges,
-                             NULL, 256, 2048,(8 * pScrn->bitsPerPixel),
-                             128, 2048, pScrn->display->virtualX,
+                             NULL, 256, DUMMY_MAX_WIDTH,(8 * 
pScrn->bitsPerPixel),
+                             128, DUMMY_MAX_HEIGHT, pScrn->display->virtualX,
                              pScrn->display->virtualY, apertureSize,
                              LOOKUP_BEST_REFRESH);
 
--- SPECS/xorg-x11-drv-dummy.spec.bak   2011-04-07 03:30:12.475432407 +0700
+++ SPECS/xorg-x11-drv-dummy.spec       2011-04-07 16:35:27.649728314 +0700
@@ -13,6 +13,10 @@
 
 Source0:   ftp://ftp.x.org/pub/individual/driver/%{tarball}-%{version}.tar.bz2
 
+### Patches ###
+# allow bigger screens:
+Patch0: xf86-video-dummy-allowbigscreens.diff
+
 ExcludeArch: s390 s390x
 
 BuildRequires: xorg-x11-server-sdk >= 1.4.99.1
@@ -25,6 +29,7 @@
 
 %prep
 %setup -q -n %{tarball}-%{version}
+%patch0 -p1
 
 %build
 %configure --disable-static
_______________________________________________
[email protected]: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: [email protected]

Reply via email to