From: Risto S. <ris...@gm...> - 2007-04-07 08:34:16
|
On 4/6/07, Joseph Jezak <jo...@ge...> wrote: > Risto Suominen wrote: > > Hi, > > > > The following patch helped me solve my XDGA problem. It should be > > applied in mol-0.9.72 with 'patch -p0 -i mol-0.9.72-xdga.patch'. It's > > tested on a beige G3 with Ubuntu Dapper and xorg 7.0.0. It probably > > works with older releases of MOL, as well. I don't really know what is > > right and what is wrong: whether the XDGA mode numbering should begin > > from 0 or 1... > > > > Risto > > > > mol-0.9.72-xdga.patch: > > --- src/drivers/video/xdga.c.org 2004-03-21 03:24:34.000000000 +0200 > > +++ src/drivers/video/xdga.c 2007-04-06 19:36:50.000000000 +0300 > > @@ -251,7 +251,7 @@ > > skip = 0; > > > > printm(" %c Mode %d: \"%s\": %dx%d %2d (%dx%d) %.2f > > Hz %04x %d %d\n", > > - skip ? ' ' : '*', i, mm[i].name, > > + skip ? ' ' : '*', i+1, mm[i].name, > > mm[i].imageWidth, mm[i].imageHeight, > > mm[i].depth, mm[i].pixmapWidth, mm[i].pixmapHeight, > > mm[i].verticalRefresh, > > @@ -269,7 +269,7 @@ > > m[n].h = mm[i].viewportHeight; > > m[n].depth = mm[i].depth; > > m[n].refresh = (mm[i].verticalRefresh * 65536) + 0.5; > > - m[n].module_data = (void*)i; > > + m[n].module_data = (void*)(i+1); > > m[n].next = NULL; > > if( n>0 ) > > m[n-1].next = &m[n]; > > > > Looking at the docs suggests that you are correct[1]. I'll apply > the patch. You didn't say if it actually worked any better. :) > > Thanks! > -Joe > > [1] - http://www.die.net/doc/linux/man/man3/xdga.3.html > > Thanks, It worked much better. In the beginning the resolutions were incorrect: I only saw upper left corner of my desktop (320x240 of 1024x768). The remaining problem is that I cannot enable normal windowed mode (xvideo), and toggle between them. This would make it really useful. A comment in molrc.video says: Cntrl-Cmd-space leaves XDGA mode and switches back to X. Maybe it could work the other way, too... as it's now, there is no way to tell if it really works. Looking at the docs makes me think that the correct way to handle the XDGA mode numbering would be as follows (on top of the previous patch)... Risto mol-0.9.72-xdga-2.patch: --- src/drivers/video/xdga.c.p1 2007-04-06 19:36:50.000000000 +0300 +++ src/drivers/video/xdga.c 2007-04-07 10:20:22.000000000 +0300 @@ -251,7 +251,7 @@ skip = 0; printm(" %c Mode %d: \"%s\": %dx%d %2d (%dx%d) %.2f Hz %04x %d %d\n", - skip ? ' ' : '*', i+1, mm[i].name, + skip ? ' ' : '*', mm[i].num, mm[i].name, mm[i].imageWidth, mm[i].imageHeight, mm[i].depth, mm[i].pixmapWidth, mm[i].pixmapHeight, mm[i].verticalRefresh, @@ -269,7 +269,7 @@ m[n].h = mm[i].viewportHeight; m[n].depth = mm[i].depth; m[n].refresh = (mm[i].verticalRefresh * 65536) + 0.5; - m[n].module_data = (void*)(i+1); + m[n].module_data = (void*)mm[i].num; m[n].next = NULL; if( n>0 ) m[n-1].next = &m[n]; |