OpenGL 3+ RenderSystem

Discussion area about developing or extending OGRE, adding plugins for it or building applications on it. No newbie questions please, use the Help forum for that.
Post Reply
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

How refreshing :D

Code: Select all

-------------------------
******************************
*** Starting GLX Subsystem ***
******************************
GL3PlusRenderSystem::_createRenderWindow "OGRE Sample Browser", 1440x900 fullscreen  miscParams: FSAA=0 displayFrequency=50 Hz gamma=No vsync= 
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  34 ()
  Serial number of failed request:  18
  Current serial number in output stream:  19
bvanevery@nomad:~/devel/ogre$ 
It's a Linux problem. It may be GeForce 86xx specific. It may be NVIDIA driver specific, affecting many NVIDIA configurations due to some frontend vs. backend issue. Jacmoe reported that it's not specific to a laptop monitor, he observed the problem with a plain LCD display. I still don't understand the issue, haven't read enough of the driver manual. I do know my laptop monitor reports 60 Hz, not 50 Hz as Ogre believes. Yet, plain GL renderer works fine with the 50 Hz setting and GL3PLUS renderer doesn't. I don't see any other settings options in the Ogre configuration tool. I do not use any /etc/X11/xorg.conf or modelines. Everything is done automatically, seemingly via a mechanism called nvidia-auto-select.
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

@masterfalcon

I have tried the GL3 Render using a previous version of the nvidia driver 3.3.0 NVIDIA 295.40 which reports the Display frequency correctly (only supports RandR 1.0 / has a problem indetifying the metamodes). The bad match error still occurs. The problem with the BadMatch can be resolved for me (as with 3.3.0 NVIDIA 310.40) .

http://www.ogre3d.org/forums/viewtopic. ... &start=150

I believe the Nvidia drivers > 3.0.2 support RandR 1.2/1.3 though XOrg.0.log indicates RandR disabled and I'm not sure how the internal Nvidia XINERAMA and RandR now works.

There are other ways to get the display rates e.g (instead of XRRConfigRates) XRRGetScreenResources etc. but I am still checking the different option flags.

As an initial stab someone could try the following and see if the Display Frequencies match that indicated in (b).
a) xrandr
b) xrandr --q1 (shows the ids (??) and matches XRRConfigRates from Ogre)

This probably should be a separate topic since it doesn't appear applicable to only the GL3 renderer.
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

dermont wrote: This probably should be a separate topic since it doesn't appear applicable to only the GL3 renderer.
I disagree because the GL3PLUS renderer is the only place we're seeing this bug. Whatever the plain GL renderer is doing, it's handling this NVIDIA wart just fine.

xrandr etc. output:

Code: Select all

bvanevery@nomad:~/devel/ogre$ xrandr
Screen 0: minimum 8 x 8, current 1440 x 900, maximum 8192 x 8192
VGA-0 disconnected (normal left inverted right x axis y axis)
TV-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected 1440x900+0+0 (normal left inverted right x axis y axis) 367mm x 230mm
   1440x900       60.1*+
bvanevery@nomad:~/devel/ogre$ xrandr --q1
 SZ:    Pixels          Physical       Refresh
*0   1440 x 900    ( 373mm x 230mm )  *50  
 1   1280 x 720    ( 331mm x 184mm )   51  
 2   1024 x 768    ( 265mm x 197mm )   52  
 3    800 x 600    ( 207mm x 153mm )   53  
 4    640 x 480    ( 165mm x 123mm )   54  
 5   1440 x 810    ( 373mm x 207mm )   55  
Current rotation - normal
Current reflection - none
Rotations possible - normal left inverted right 
Reflections possible - X Axis Y Axis
bvanevery@nomad:~/devel/ogre$ 
I'm still trying to figure out how to turn on more verbose reporting from the NVIDIA driver itself. Almost there.
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

bvanevery wrote:
xrandr etc. output:

Code: Select all

bvanevery@nomad:~/devel/ogre$ xrandr
Screen 0: minimum 8 x 8, current 1440 x 900, maximum 8192 x 8192
VGA-0 disconnected (normal left inverted right x axis y axis)
TV-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected 1440x900+0+0 (normal left inverted right x axis y axis) 367mm x 230mm
   1440x900       60.1*+
bvanevery@nomad:~/devel/ogre$ xrandr --q1
 SZ:    Pixels          Physical       Refresh
*0   1440 x 900    ( 373mm x 230mm )  *50  
 1   1280 x 720    ( 331mm x 184mm )   51  
 2   1024 x 768    ( 265mm x 197mm )   52  
 3    800 x 600    ( 207mm x 153mm )   53  
 4    640 x 480    ( 165mm x 123mm )   54  
 5   1440 x 810    ( 373mm x 207mm )   55  
Current rotation - normal
Current reflection - none
Rotations possible - normal left inverted right 
Reflections possible - X Axis Y Axis
bvanevery@nomad:~/devel/ogre$ 
I'm guessing that the refresh *50 is the metamode id for 440x900 (60.1).

Here

Code: Select all

xrandr
   1024x768       75.0*+   43.5     85.0     70.1     60.0  
xrandr --q1
*0   1024 x 768    ( 333mm x 240mm )  *50   75   76   77   78  
Metamodes:
http://www.nvnews.net/vbulletin/showthread.php?t=151441

Code: Select all

rate = ((double) mode->dotClock /
		((double) mode->hTotal * (double) mode->vTotal));

MetaMode: id=50, switchable=yes, source=xconfig :: CRT-0: nvidia-auto-select @1024x768 +0+0
  CRT-0: source=xserver, source=vesa, source=edid :: "nvidia-auto-select"  78.750  1024 1040 1136 1312  768 769 772 800  +HSync +VSync

rate = (78.750*1000000)/(1312*800) = 75.028582317

MetaMode: id=76, switchable=no, source=implicit :: CRT-0: 1024x768_85 @1024x768 +0+0
  CRT-0: source=xserver, source=vesa :: "1024x768_85"  94.500  1024 1072 1168 1376  768 769 772 808  +HSync +VSync

rate = (94.5*1000000)/(1376*800) = 85.846656977
For TwinView the rates were always as the MetaMode ids. With my version of the driver I don't know how to correctly simulate/disable TwinView as disabling "DynamicTwinView" in older drivers.
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

Well now I almost understand the issue, which I've been chasing around in a hazy web searching manner for 2.5 weeks, like a blind man feeling different parts of an elephant. Thanks Dermont. At least my understanding of X on Linux has gotten better.

I probably have the Dynamic TwinView problem, as my laptop does have an external VGA port that can be hooked up to a monitor. Many laptops do, as people often buy laptops to do PowerPoint presentations on big screens while on the road. Although the 310.40 driver docs claim that TwinView is disabled by default, the behavior I've seen on Windows is I can hot plug an external monitor. So given that article about NVIDIA metamodes, it would seem that "disabled" really isn't all that disabled.

It seems this issue has been present in NVIDIA drivers for a long time, and isn't likely to go away for a long time either. We can hope that a renaissance of Linux game development will force some driver and infrastructure improvements, but with Canonical ditching Wayland and going their own way with Mir, I surely wouldn't count on it. Like Linux, the X landscape is fragmented: straight X11, xcb, egl, Wayland, Mir. At a glance, that adds up to many years of installed base that will have bugs.

Even if writing up an /etc/X11/xorg.conf would work around the bug, I think it's unreasonable to ask users to do that in the real world. Many won't have any idea what this is about, and on Ubuntu the default is to have no xorg.conf at all. Also, when non-expert users fiddle with xorg.conf, it will create more support burdens for game developers than it will solve, as those users will surely do it wrong. Linuxers on average may be more amenable to hacking than most users, but many of us are trying to get real work done and tire of endless learning curves and fiddlings with various files. Some just defect to the Mac so as not to be bothered. Some may just be trying Linux out and have no strong commitment to it. Hit a hurdle, and they will leave for greener pastures. This will become increasingly true the more the "game buzz" grows around Linux.

Thus I think it falls to Ogre to be "smart" about screen selection problems like this. My questions:
  • Why does the plain GL renderer handle this just fine?
  • Is Dermont's error handler a sufficient solution to the problem?
  • Should a solution be refactored for both the GL and GL3PLUS renderers?
User avatar
masterfalcon
OGRE Team Member
OGRE Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
x 126
Contact:

Re: OpenGL 3+ RenderSystem

Post by masterfalcon »

I've looked at the code and to be honest, I'm not sure why the GL render system behaves differently. The GLX code is largely the same but I took out the older code and assume that if GL3+ is supported, GLX 1.3+ is also.
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

masterfalcon wrote:I've looked at the code and to be honest, I'm not sure why the GL render system behaves differently. The GLX code is largely the same but I took out the older code and assume that if GL3+ is supported, GLX 1.3+ is also.
I don't think that the GL render system does behaves differently (other than the obvious). I tried running GL3+ with apitrace and an unhandled exception (signal 11) occurs on glXCreateContextAttribsARB.

You probably have more pressing issues than this, there is a workaround and the issue will probably be resolved at some future time.
User avatar
masterfalcon
OGRE Team Member
OGRE Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
x 126
Contact:

Re: OpenGL 3+ RenderSystem

Post by masterfalcon »

What is the workaround? I haven't seen any code posted.
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

masterfalcon wrote:What is the workaround? I haven't seen any code posted.
From the opengl demo.

Code: Select all

    ...

    static bool ctxErrorOccurred = false;
    static int ctxErrorHandler( Display *dpy, XErrorEvent *ev )
    {
        ctxErrorOccurred = true;
        return 0;
    }

    ...
        //-------------------------------------------------------------------------------------------------//
        ::GLXContext GLXGLSupport::createNewContext(GLXFBConfig fbConfig, GLint renderType, ::GLXContext shareList, GLboolean direct) const
        {
            ::GLXContext glxContext=0;
            int context_attribs[] =
            {
                GLX_CONTEXT_MAJOR_VERSION_ARB, 5,
                GLX_CONTEXT_MINOR_VERSION_ARB, 0,
                GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_CORE_PROFILE_BIT_ARB, 
                None
            };

            ctxErrorOccurred = false;
            int (*oldHandler)(Display*, XErrorEvent*) =
                XSetErrorHandler(&ctxErrorHandler);

            // Try to get the best core profile context possible. Working backwards by versions until we find one that is acceptable.

            while(!glxContext && (context_attribs[1] >= 3))
            {
                ctxErrorOccurred = false;
                glxContext = glXCreateContextAttribsARB(mGLDisplay, fbConfig, shareList, direct, context_attribs);
                // Sync to ensure any errors generated are processed.
                XSync( mGLDisplay, False );
                if ( !ctxErrorOccurred && glxContext )
                {
                    LogManager::getSingleton().logMessage("Created GL " + StringConverter::toString(context_attribs[1]) + "." + StringConverter::toString(context_attribs[3]) + " context" );
                }
                else
                {
                    if(context_attribs[3] == 0)
                    {
                        context_attribs[1] -= 1;
                        context_attribs[3] = 5;
                    }
                    else
                    {
                        context_attribs[3] -= 1;
                    }
                }
            }
            // Sync to ensure any errors generated are processed.
            XSync( mGLDisplay, False );
     
            // Restore the original error handler
            XSetErrorHandler( oldHandler );
     
            if ( ctxErrorOccurred || !glxContext )
                LogManager::getSingleton().logMessage("Failed to create an OpenGL 3+ context");

            return glxContext;
        }
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

bvanevery wrote: Thus I think it falls to Ogre to be "smart" about screen selection problems like this.
I don't think so if the rates or metamode ids are returned by XRandR then I think that whats RRGetScreenInfo and RRSetScreenConfig etc. operate on. There is a link here which probably describes it better than I could.

http://www.nvidia.com/object/solaris-di ... river.html

For example in TwinView (clone) full screen I always used to just run Ogre with first medtamode(50). This was fine for screen resolution(1024x768) = display resolution since nvidia-settings creates the metamode for 1024x768.

On lower resolutions the second display would be black:

Code: Select all

17   800 x 600    ( 260mm x 188mm )   87   88   89   90   91   92   
So for me creating a new metamode resolved (just tested so may not be the anwser)the second display problem. Not sure how Ogre could be expected to resolve this.

Code: Select all

id=115, switchable=no, source=nv-control :: CRT-0: 800x600_60 @800x600 +0+0, DFP-1: 720x576 @720x576 +0+0
17   800 x 600    ( 260mm x 188mm )   87   88   89   90   91   92   [b]115[/b]
The developers will be able to give you a more informed reply.
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

dermont wrote:
bvanevery wrote: Thus I think it falls to Ogre to be "smart" about screen selection problems like this.
I don't think so if the rates or metamode ids are returned by XRandR then I think that whats RRGetScreenInfo and RRSetScreenConfig etc. operate on. There is a link here which probably describes it better than I could.
Are you saying it's not really NVIDIA's fault, they haven't really done anything weird, their behavior isn't different from any other vendor's driver, and Ogre is just not checking something it's supposed to? That's not the impression I got from the article. My impression was, X11 had a bad design for multiple monitors, NVIDIA hacked something that serves their own interests, it breaks a lot of people's stuff because it's non-standard, but NVIDIA doesn't care enough to be bothered, so the problem remains even in the 310.40 Long Lived Branch driver.
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

bvanevery wrote: Are you saying it's not really NVIDIA's fault, they haven't really done anything weird, their behavior isn't different from any other vendor's driver...
No I'm not saying it is a fault with NVIDIA'. I've never used a driver from another vendor on Linux so I can't comment.
bvanevery wrote: .. and Ogre is just not checking something it's supposed to?
I don't think this is the case, just an interpretation of the rates/metamode ids.
bvanevery wrote: That's not the impression I got from the article. My impression was, X11 had a bad design for multiple monitors, NVIDIA hacked something that serves their own interests, it breaks a lot of people's stuff because it's non-standard, but NVIDIA doesn't care enough to be bothered, so the problem remains even in the 310.40 Long Lived Branch driver.
It probably is a bit complicated but I'm sure NVIDIA do care. I don't really see it as a problem. I believe that they now have "dynamic" twinview which may account for any changes in the way things work.
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

dermont wrote: It probably is a bit complicated but I'm sure NVIDIA do care. I don't really see it as a problem. I believe that they now have "dynamic" twinview which may account for any changes in the way things work.
It's a problem on my box. I can't currently use the GL3PLUS renderer, and OpenGL 3.x development is the only kind I'm interested in right now. My understanding is you have the problem on your box as well, even if you're not personally concerned about it. I believe Jacmoe also reported the problem. Articles have said it's a widespread problem, and after 3 years, it's not solved at the driver level. Maybe the problem has changed around and now breaks "dynamically" instead of breaking the way it did before. That's not much caring, and I don't really believe NVIDIA is on course to fix anything. I can go up the NVIDIA bug tracker / submission learning curve, but based on what I've read in their Linux developer forum so far, I expect little to come of it. Some posters call it a graveyard, although I don't think that's completely fair.

Is your example error handler a full solution to the problem, i.e. a patch that just hasn't been put into patch or Mercurial format? Or is it just a starting point for developing a solution?
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

bvanevery wrote:
It's a problem on my box. I can't currently use the GL3PLUS renderer, and OpenGL 3.x development is the only kind I'm interested in right now. My understanding is you have the problem on your box as well, even if you're not personally concerned about it. I believe Jacmoe also reported the problem.
Articles have said it's a widespread problem, and after 3 years, it's not solved at the driver level. Maybe the problem has changed around and now breaks "dynamically" instead of breaking the way it did before. That's not much caring, and I don't really believe NVIDIA is on course to fix anything. I can go up the NVIDIA bug tracker / submission learning curve, but based on what I've read in their Linux developer forum so far, I expect little to come of it. Some posters call it a graveyard, although I don't think that's completely fair.
Well I attempted to show why I didn't think your GL3 problem was related to 50 Hz, you think otherwise and may be right - we will leave it that.
Anyway if it was an issue you would probably encounter problems with the GL renderer.
There are many questions relating to this on Ogre I would like to ask but I'm not sure who to ask?
bvanevery wrote: Is your example error handler a full solution to the problem, i.e. a patch that just hasn't been put into patch or Mercurial format? Or is it just a starting point for developing a solution?
Simply comment out the existing GLXGLSupport::createNewContext and cut and paste in the code without the "...". It will take 5 minutes to re-build and test.
User avatar
masterfalcon
OGRE Team Member
OGRE Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
x 126
Contact:

Re: OpenGL 3+ RenderSystem

Post by masterfalcon »

dermont wrote: There are many questions relating to this on Ogre I would like to ask but I'm not sure who to ask?
What questions do you have?
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

masterfalcon wrote:
dermont wrote: There are many questions relating to this on Ogre I would like to ask but I'm not sure who to ask?
What questions do you have?
Thanks for any help you can give.

The fundamental question is are the Display Frequency shown in the Rendering Settings (e.g 50/51/76/77/78/79 Hz for me) the actual rates shown ?

Or are there instances such as TwinView etc. where they may actually be the rate metamode ids or I am just off on a tangent here.

>> xrandr

Code: Select all

   1024x768       75.0 +   43.5     85.0     70.1     60.0* 
   1920x1200      60.0  
   1920x1080      59.9  
   1792x1344      60.0  
   1680x1050      74.9     69.9     60.0     59.9  
   1600x1200      65.0     60.0  
   1440x900       59.9  
   1400x1050      74.8     70.0     60.0  
   1360x768       60.0     59.8  
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1152x864       85.1     85.0     75.0     75.0     70.0     60.0  
   960x600       120.0  
   960x540       120.0  
   840x525       149.9    139.8    120.0    119.8  
   832x624        74.6  
   800x600        85.1     85.1     75.0     72.2     60.3     56.2  
   720x450       119.8  
   720x400        85.0  
   700x525       149.5    120.0  
   680x384       119.9    119.6  
   640x480        85.0     75.0     72.8     59.9  
   640x400        85.1  
   640x350        85.1  
   512x384       140.1     87.1    120.0  
   400x300       144.4  
   320x240       145.6    120.1  
   320x175       170.5  
HDMI-0 disconnected (normal left inverted right x axis y axis)
TV-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 connected (normal left inverted right x axis y axis)
   1280x720       60.0 +   59.9     50.0  
   1920x1080      30.0     30.0     25.0  
   720x576        50.0  
   720x480        59.9  
   640x480        59.9  
>> xrandr --q1

Code: Select all

 SZ:    Pixels          Physical       Refresh
*0   1024 x 768    ( 333mm x 240mm )  *50   51   76   77   78   79  
 1   1920 x 1200   ( 625mm x 376mm )   52  
 2   1920 x 1080   ( 625mm x 338mm )   53  
 3   1792 x 1344   ( 583mm x 421mm )   54  
 4   1680 x 1050   ( 547mm x 329mm )   55   56   57   58  
 5   1600 x 1200   ( 521mm x 376mm )   59   60  
 6   1440 x 900    ( 468mm x 282mm )   61  
 7   1400 x 1050   ( 455mm x 329mm )   62   63   64  
 8   1360 x 768    ( 442mm x 240mm )   65   66  
 9   1280 x 1024   ( 416mm x 321mm )   67   68  
 10  1280 x 960    ( 416mm x 301mm )   69  
 11  1152 x 864    ( 375mm x 270mm )   70   71   72   73   74   75  
 12   960 x 600    ( 312mm x 188mm )   80  
 13   960 x 540    ( 312mm x 169mm )   81  
 14   840 x 525    ( 273mm x 164mm )   82   83   84   85  
 15   832 x 624    ( 270mm x 195mm )   86  
 16   800 x 600    ( 260mm x 188mm )   87   88   89   90   91   92  
 17   720 x 450    ( 234mm x 141mm )   93  
 18   720 x 400    ( 234mm x 125mm )   94  
 19   700 x 525    ( 227mm x 164mm )   95   96  
 20   680 x 384    ( 221mm x 120mm )   97   98  
 21   640 x 480    ( 208mm x 150mm )   99   100  101  102 
 22   640 x 400    ( 208mm x 125mm )   103 
 23   640 x 350    ( 208mm x 109mm )   104 
 24   512 x 384    ( 166mm x 120mm )   105  106  107 
 25   400 x 300    ( 130mm x  94mm )   108 
 26   320 x 240    ( 104mm x  75mm )   109  110 
 27   320 x 175    ( 104mm x  54mm )   111 
 28  1024 x 576    ( 333mm x 180mm )   112 
>>./nv-control-dpy --print-metamodes

Code: Select all

Using NV-CONTROL extension 1.28 on :0.0
Connected Display Devices:
  CRT-0 (0x00000001): DELL P780
  DFP-1 (0x00020000): SAMSUNG

MetaModes:
  id=50, switchable=yes, source=RandR :: CRT-0: 1024x768_60 @1024x768 +0+0
  id=51, switchable=no, source=implicit :: CRT-0: nvidia-auto-select @1024x768 +0+0
  id=52, switchable=no, source=implicit :: CRT-0: 1920x1200 @1920x1200 +0+0
  id=53, switchable=no, source=implicit :: CRT-0: 1920x1080 @1920x1080 +0+0
  id=54, switchable=no, source=implicit :: CRT-0: 1792x1344 @1792x1344 +0+0
  id=55, switchable=no, source=implicit :: CRT-0: 1680x1050 @1680x1050 +0+0
  id=56, switchable=no, source=implicit :: CRT-0: 1680x1050_70 @1680x1050 +0+0
  id=57, switchable=no, source=implicit :: CRT-0: 1680x1050_60 @1680x1050 +0+0
  id=58, switchable=no, source=implicit :: CRT-0: 1680x1050_60_0 @1680x1050 +0+0
  id=59, switchable=no, source=implicit :: CRT-0: 1600x1200 @1600x1200 +0+0
  id=60, switchable=no, source=implicit :: CRT-0: 1600x1200_60 @1600x1200 +0+0
  id=61, switchable=no, source=implicit :: CRT-0: 1440x900 @1440x900 +0+0
  id=62, switchable=no, source=implicit :: CRT-0: 1400x1050 @1400x1050 +0+0
  id=63, switchable=no, source=implicit :: CRT-0: 1400x1050_70 @1400x1050 +0+0
  id=64, switchable=no, source=implicit :: CRT-0: 1400x1050_60 @1400x1050 +0+0
  id=65, switchable=no, source=implicit :: CRT-0: 1360x768 @1360x768 +0+0
  id=66, switchable=no, source=implicit :: CRT-0: 1360x768_60_0 @1360x768 +0+0
  id=67, switchable=no, source=implicit :: CRT-0: 1280x1024 @1280x1024 +0+0
  id=68, switchable=no, source=implicit :: CRT-0: 1280x1024_60 @1280x1024 +0+0
  id=69, switchable=no, source=implicit :: CRT-0: 1280x960 @1280x960 +0+0
  id=70, switchable=no, source=implicit :: CRT-0: 1152x864 @1152x864 +0+0
  id=71, switchable=no, source=implicit :: CRT-0: 1152x864_85_0 @1152x864 +0+0
  id=72, switchable=no, source=implicit :: CRT-0: 1152x864_75 @1152x864 +0+0
  id=73, switchable=no, source=implicit :: CRT-0: 1152x864_75_0 @1152x864 +0+0
  id=74, switchable=no, source=implicit :: CRT-0: 1152x864_70 @1152x864 +0+0
  id=75, switchable=no, source=implicit :: CRT-0: 1152x864_60 @1152x864 +0+0
  id=76, switchable=no, source=implicit :: CRT-0: 1024x768i @1024x768 +0+0
  id=77, switchable=no, source=implicit :: CRT-0: 1024x768_85 @1024x768 +0+0
  id=78, switchable=no, source=implicit :: CRT-0: 1024x768_70 @1024x768 +0+0
  id=79, switchable=no, source=implicit :: CRT-0: 1024x768_60 @1024x768 +0+0
  id=80, switchable=no, source=implicit :: CRT-0: 960x600 @960x600 +0+0
  id=81, switchable=no, source=implicit :: CRT-0: 960x540 @960x540 +0+0
  id=82, switchable=no, source=implicit :: CRT-0: 840x525 @840x525 +0+0
  id=83, switchable=no, source=implicit :: CRT-0: 840x525d70 @840x525 +0+0
  id=84, switchable=no, source=implicit :: CRT-0: 840x525d60 @840x525 +0+0
  id=85, switchable=no, source=implicit :: CRT-0: 840x525d60_0 @840x525 +0+0
  id=86, switchable=no, source=implicit :: CRT-0: 832x624 @832x624 +0+0
  id=87, switchable=no, source=implicit :: CRT-0: 800x600 @800x600 +0+0
  id=88, switchable=no, source=implicit :: CRT-0: 800x600_85_0 @800x600 +0+0
  id=89, switchable=no, source=implicit :: CRT-0: 800x600_75 @800x600 +0+0
  id=90, switchable=no, source=implicit :: CRT-0: 800x600_72 @800x600 +0+0
  id=91, switchable=no, source=implicit :: CRT-0: 800x600_60 @800x600 +0+0
  id=92, switchable=no, source=implicit :: CRT-0: 800x600_56 @800x600 +0+0
  id=93, switchable=no, source=implicit :: CRT-0: 720x450 @720x450 +0+0
  id=94, switchable=no, source=implicit :: CRT-0: 720x400 @720x400 +0+0
  id=95, switchable=no, source=implicit :: CRT-0: 700x525 @700x525 +0+0
  id=96, switchable=no, source=implicit :: CRT-0: 700x525d60 @700x525 +0+0
  id=97, switchable=no, source=implicit :: CRT-0: 680x384 @680x384 +0+0
  id=98, switchable=no, source=implicit :: CRT-0: 680x384d60_0 @680x384 +0+0
  id=99, switchable=no, source=implicit :: CRT-0: 640x480 @640x480 +0+0
  id=100, switchable=no, source=implicit :: CRT-0: 640x480_75 @640x480 +0+0
  id=101, switchable=no, source=implicit :: CRT-0: 640x480_73 @640x480 +0+0
  id=102, switchable=no, source=implicit :: CRT-0: 640x480_60 @640x480 +0+0
  id=103, switchable=no, source=implicit :: CRT-0: 640x400 @640x400 +0+0
  id=104, switchable=no, source=implicit :: CRT-0: 640x350 @640x350 +0+0
  id=105, switchable=no, source=implicit :: CRT-0: 512x384 @512x384 +0+0
  id=106, switchable=no, source=implicit :: CRT-0: 512x384i @512x384 +0+0
  id=107, switchable=no, source=implicit :: CRT-0: 512x384d60 @512x384 +0+0
  id=108, switchable=no, source=implicit :: CRT-0: 400x300 @400x300 +0+0
  id=109, switchable=no, source=implicit :: CRT-0: 320x240 @320x240 +0+0
  id=110, switchable=no, source=implicit :: CRT-0: 320x240d60 @320x240 +0+0
  id=111, switchable=no, source=implicit :: CRT-0: 320x175 @320x175 +0+0
  id=112, switchable=no, source=implicit :: CRT-0: nvidia-auto-select @1024x576 +0+0
>>./nv-control-dpy --print-used-modelines

Code: Select all

Using NV-CONTROL extension 1.28 on :0.0
Connected Display Devices:
  CRT-0 (0x00000001): DELL P780
  DFP-1 (0x00020000): SAMSUNG

MetaMode: id=50, switchable=yes, source=RandR :: CRT-0: 1024x768_60 @1024x768 +0+0
  CRT-0: source=xserver, source=vesa :: "1024x768_60"  65.000  1024 1048 1184 1344  768 771 777 806  -HSync -VSync

MetaMode: id=51, switchable=no, source=implicit :: CRT-0: nvidia-auto-select @1024x768 +0+0
  CRT-0: source=xserver, source=vesa, source=edid :: "nvidia-auto-select"  78.750  1024 1040 1136 1312  768 769 772 800  +HSync +VSync

MetaMode: id=52, switchable=no, source=implicit :: CRT-0: 1920x1200 @1920x1200 +0+0
  CRT-0: source=xserver :: "1920x1200"  154.000  1920 1968 2000 2080  1200 1203 1209 1235  +HSync -VSync

MetaMode: id=53, switchable=no, source=implicit :: CRT-0: 1920x1080 @1920x1080 +0+0
  CRT-0: source=xserver :: "1920x1080"  138.500  1920 1968 2000 2080  1080 1083 1088 1111  +HSync -VSync

MetaMode: id=54, switchable=no, source=implicit :: CRT-0: 1792x1344 @1792x1344 +0+0
  CRT-0: source=xserver, source=vesa :: "1792x1344"  204.800  1792 1920 2120 2448  1344 1345 1348 1394  -HSync +VSync

MetaMode: id=55, switchable=no, source=implicit :: CRT-0: 1680x1050 @1680x1050 +0+0
  CRT-0: source=xserver :: "1680x1050"  187.000  1680 1800 1976 2272  1050 1053 1059 1099  -HSync +VSync

MetaMode: id=56, switchable=no, source=implicit :: CRT-0: 1680x1050_70 @1680x1050 +0+0
  CRT-0: source=xserver :: "1680x1050_70"  174.000  1680 1800 1976 2272  1050 1053 1059 1096  -HSync +VSync

MetaMode: id=57, switchable=no, source=implicit :: CRT-0: 1680x1050_60 @1680x1050 +0+0
  CRT-0: source=xserver :: "1680x1050_60"  146.250  1680 1784 1960 2240  1050 1053 1059 1089  -HSync +VSync

MetaMode: id=58, switchable=no, source=implicit :: CRT-0: 1680x1050_60_0 @1680x1050 +0+0
  CRT-0: source=xserver :: "1680x1050_60_0"  119.000  1680 1728 1760 1840  1050 1053 1059 1080  +HSync -VSync

MetaMode: id=59, switchable=no, source=implicit :: CRT-0: 1600x1200 @1600x1200 +0+0
  CRT-0: source=xserver, source=vesa :: "1600x1200"  175.500  1600 1664 1856 2160  1200 1201 1204 1250  +HSync +VSync

MetaMode: id=60, switchable=no, source=implicit :: CRT-0: 1600x1200_60 @1600x1200 +0+0
  CRT-0: source=xserver, source=vesa, source=edid :: "1600x1200_60"  162.000  1600 1664 1856 2160  1200 1201 1204 1250  +HSync +VSync

MetaMode: id=61, switchable=no, source=implicit :: CRT-0: 1440x900 @1440x900 +0+0
  CRT-0: source=xserver :: "1440x900"  106.500  1440 1520 1672 1904  900 903 909 934  -HSync +VSync

MetaMode: id=62, switchable=no, source=implicit :: CRT-0: 1400x1050 @1400x1050 +0+0
  CRT-0: source=xserver :: "1400x1050"  155.800  1400 1464 1784 1912  1050 1052 1064 1090  +HSync +VSync

MetaMode: id=63, switchable=no, source=implicit :: CRT-0: 1400x1050_70 @1400x1050 +0+0
  CRT-0: source=xserver :: "1400x1050_70"  145.060  1400 1496 1648 1896  1050 1051 1054 1093  -HSync +VSync

MetaMode: id=64, switchable=no, source=implicit :: CRT-0: 1400x1050_60 @1400x1050 +0+0
  CRT-0: source=xserver :: "1400x1050_60"  122.000  1400 1488 1640 1880  1050 1052 1064 1082  +HSync +VSync

MetaMode: id=65, switchable=no, source=implicit :: CRT-0: 1360x768 @1360x768 +0+0
  CRT-0: source=xserver :: "1360x768"  72.000  1360 1408 1440 1520  768 771 781 790  +HSync -VSync

MetaMode: id=66, switchable=no, source=implicit :: CRT-0: 1360x768_60_0 @1360x768 +0+0
  CRT-0: source=xserver :: "1360x768_60_0"  84.750  1360 1432 1568 1776  768 771 781 798  -HSync +VSync

MetaMode: id=67, switchable=no, source=implicit :: CRT-0: 1280x1024 @1280x1024 +0+0
  CRT-0: source=xserver, source=vesa, source=edid :: "1280x1024"  135.000  1280 1296 1440 1688  1024 1025 1028 1066  +HSync +VSync

MetaMode: id=68, switchable=no, source=implicit :: CRT-0: 1280x1024_60 @1280x1024 +0+0
  CRT-0: source=xserver, source=vesa :: "1280x1024_60"  108.000  1280 1328 1440 1688  1024 1025 1028 1066  +HSync +VSync

MetaMode: id=69, switchable=no, source=implicit :: CRT-0: 1280x960 @1280x960 +0+0
  CRT-0: source=xserver, source=vesa :: "1280x960"  108.000  1280 1376 1488 1800  960 961 964 1000  +HSync +VSync

MetaMode: id=70, switchable=no, source=implicit :: CRT-0: 1152x864 @1152x864 +0+0
  CRT-0: source=xserver :: "1152x864"  121.500  1152 1216 1344 1568  864 865 868 911  +HSync -VSync

MetaMode: id=71, switchable=no, source=implicit :: CRT-0: 1152x864_85_0 @1152x864 +0+0
  CRT-0: source=xserver :: "1152x864_85_0"  119.650  1152 1224 1352 1552  864 865 868 907  -HSync +VSync

MetaMode: id=72, switchable=no, source=implicit :: CRT-0: 1152x864_75 @1152x864 +0+0
  CRT-0: source=xserver, source=vesa :: "1152x864_75"  108.000  1152 1216 1344 1600  864 865 868 900  +HSync +VSync

MetaMode: id=73, switchable=no, source=implicit :: CRT-0: 1152x864_75_0 @1152x864 +0+0
  CRT-0: source=xserver :: "1152x864_75_0"  104.990  1152 1224 1352 1552  864 865 868 902  -HSync +VSync

MetaMode: id=74, switchable=no, source=implicit :: CRT-0: 1152x864_70 @1152x864 +0+0
  CRT-0: source=xserver :: "1152x864_70"  96.770  1152 1224 1344 1536  864 865 868 900  -HSync +VSync

MetaMode: id=75, switchable=no, source=implicit :: CRT-0: 1152x864_60 @1152x864 +0+0
  CRT-0: source=xserver :: "1152x864_60"  81.620  1152 1216 1336 1520  864 865 868 895  -HSync +VSync

MetaMode: id=76, switchable=no, source=implicit :: CRT-0: 1024x768i @1024x768 +0+0
  CRT-0: source=xserver :: "1024x768i"  44.900  1024 1032 1208 1264  768 768 776 817  Interlace +HSync +VSync

MetaMode: id=77, switchable=no, source=implicit :: CRT-0: 1024x768_85 @1024x768 +0+0
  CRT-0: source=xserver, source=vesa, source=edid :: "1024x768_85"  94.500  1024 1072 1168 1376  768 769 772 808  +HSync +VSync

MetaMode: id=78, switchable=no, source=implicit :: CRT-0: 1024x768_70 @1024x768 +0+0
  CRT-0: source=xserver, source=vesa :: "1024x768_70"  75.000  1024 1048 1184 1328  768 771 777 806  -HSync -VSync

MetaMode: id=79, switchable=no, source=implicit :: CRT-0: 1024x768_60 @1024x768 +0+0
  CRT-0: source=xserver, source=vesa :: "1024x768_60"  65.000  1024 1048 1184 1344  768 771 777 806  -HSync -VSync

MetaMode: id=80, switchable=no, source=implicit :: CRT-0: 960x600 @960x600 +0+0
  CRT-0: source=xserver :: "960x600"  77.000  960 984 1000 1040  600 601 604 617  DoubleScan +HSync -VSync

MetaMode: id=81, switchable=no, source=implicit :: CRT-0: 960x540 @960x540 +0+0
  CRT-0: source=xserver :: "960x540"  69.250  960 984 1000 1040  540 541 544 555  DoubleScan +HSync -VSync

MetaMode: id=82, switchable=no, source=implicit :: CRT-0: 840x525 @840x525 +0+0
  CRT-0: source=xserver :: "840x525"  93.500  840 900 988 1136  525 526 529 549  DoubleScan -HSync +VSync

MetaMode: id=83, switchable=no, source=implicit :: CRT-0: 840x525d70 @840x525 +0+0
  CRT-0: source=xserver :: "840x525d70"  87.000  840 900 988 1136  525 526 529 548  DoubleScan -HSync +VSync

MetaMode: id=84, switchable=no, source=implicit :: CRT-0: 840x525d60 @840x525 +0+0
  CRT-0: source=xserver :: "840x525d60"  73.125  840 892 980 1120  525 526 529 544  DoubleScan -HSync +VSync

MetaMode: id=85, switchable=no, source=implicit :: CRT-0: 840x525d60_0 @840x525 +0+0
  CRT-0: source=xserver :: "840x525d60_0"  59.500  840 864 880 920  525 526 529 540  DoubleScan +HSync -VSync

MetaMode: id=86, switchable=no, source=implicit :: CRT-0: 832x624 @832x624 +0+0
  CRT-0: source=xserver :: "832x624"  57.284  832 864 928 1152  624 625 628 667  -HSync -VSync

MetaMode: id=87, switchable=no, source=implicit :: CRT-0: 800x600 @800x600 +0+0
  CRT-0: source=xserver, source=vesa :: "800x600"  56.300  800 832 896 1048  600 601 604 631  +HSync +VSync

MetaMode: id=88, switchable=no, source=implicit :: CRT-0: 800x600_85_0 @800x600 +0+0
  CRT-0: source=edid :: "800x600_85_0"  56.250  800 832 896 1048  600 601 604 631  +HSync +VSync

MetaMode: id=89, switchable=no, source=implicit :: CRT-0: 800x600_75 @800x600 +0+0
  CRT-0: source=xserver, source=vesa, source=edid :: "800x600_75"  49.500  800 816 896 1056  600 601 604 625  +HSync +VSync

MetaMode: id=90, switchable=no, source=implicit :: CRT-0: 800x600_72 @800x600 +0+0
  CRT-0: source=xserver, source=vesa :: "800x600_72"  50.000  800 856 976 1040  600 637 643 666  +HSync +VSync

MetaMode: id=91, switchable=no, source=implicit :: CRT-0: 800x600_60 @800x600 +0+0
  CRT-0: source=xserver, source=vesa :: "800x600_60"  40.000  800 840 968 1056  600 601 605 628  +HSync +VSync

MetaMode: id=92, switchable=no, source=implicit :: CRT-0: 800x600_56 @800x600 +0+0
  CRT-0: source=xserver, source=vesa :: "800x600_56"  36.000  800 824 896 1024  600 601 603 625  +HSync +VSync

MetaMode: id=93, switchable=no, source=implicit :: CRT-0: 720x450 @720x450 +0+0
  CRT-0: source=xserver :: "720x450"  53.250  720 760 836 952  450 451 454 467  DoubleScan -HSync +VSync

MetaMode: id=94, switchable=no, source=implicit :: CRT-0: 720x400 @720x400 +0+0
  CRT-0: source=xserver, source=vesa :: "720x400"  35.500  720 756 828 936  400 401 404 446  -HSync +VSync

MetaMode: id=95, switchable=no, source=implicit :: CRT-0: 700x525 @700x525 +0+0
  CRT-0: source=xserver :: "700x525"  77.900  700 732 892 956  525 526 532 545  DoubleScan +HSync +VSync

MetaMode: id=96, switchable=no, source=implicit :: CRT-0: 700x525d60 @700x525 +0+0
  CRT-0: source=xserver :: "700x525d60"  61.000  700 744 820 940  525 526 532 541  DoubleScan +HSync +VSync

MetaMode: id=97, switchable=no, source=implicit :: CRT-0: 680x384 @680x384 +0+0
  CRT-0: source=xserver :: "680x384"  36.000  680 704 720 760  384 385 390 395  DoubleScan +HSync -VSync

MetaMode: id=98, switchable=no, source=implicit :: CRT-0: 680x384d60_0 @680x384 +0+0
  CRT-0: source=xserver :: "680x384d60_0"  42.375  680 716 784 888  384 385 390 399  DoubleScan -HSync +VSync

MetaMode: id=99, switchable=no, source=implicit :: CRT-0: 640x480 @640x480 +0+0
  CRT-0: source=xserver, source=vesa, source=edid :: "640x480"  36.000  640 696 752 832  480 481 484 509  -HSync -VSync

MetaMode: id=100, switchable=no, source=implicit :: CRT-0: 640x480_75 @640x480 +0+0
  CRT-0: source=xserver, source=vesa, source=edid :: "640x480_75"  31.500  640 656 720 840  480 481 484 500  -HSync -VSync

MetaMode: id=101, switchable=no, source=implicit :: CRT-0: 640x480_73 @640x480 +0+0
  CRT-0: source=xserver, source=vesa :: "640x480_73"  31.500  640 664 704 832  480 489 492 520  -HSync -VSync

MetaMode: id=102, switchable=no, source=implicit :: CRT-0: 640x480_60 @640x480 +0+0
  CRT-0: source=xserver, source=vesa, source=edid :: "640x480_60"  25.175  640 656 752 800  480 490 492 525  -HSync -VSync

MetaMode: id=103, switchable=no, source=implicit :: CRT-0: 640x400 @640x400 +0+0
  CRT-0: source=xserver, source=vesa :: "640x400"  31.500  640 672 736 832  400 401 404 445  -HSync +VSync

MetaMode: id=104, switchable=no, source=implicit :: CRT-0: 640x350 @640x350 +0+0
  CRT-0: source=xserver, source=vesa :: "640x350"  31.500  640 672 736 832  350 382 385 445  +HSync -VSync

MetaMode: id=105, switchable=no, source=implicit :: CRT-0: 512x384 @512x384 +0+0
  CRT-0: source=xserver :: "512x384"  37.500  512 524 592 664  384 385 388 403  DoubleScan -HSync -VSync

MetaMode: id=106, switchable=no, source=implicit :: CRT-0: 512x384i @512x384 +0+0
  CRT-0: source=xserver :: "512x384i"  22.450  512 516 604 632  384 384 388 408  Interlace DoubleScan +HSync +VSync

MetaMode: id=107, switchable=no, source=implicit :: CRT-0: 512x384d60 @512x384 +0+0
  CRT-0: source=xserver :: "512x384d60"  32.500  512 524 592 672  384 385 388 403  DoubleScan -HSync -VSync

MetaMode: id=108, switchable=no, source=implicit :: CRT-0: 400x300 @400x300 +0+0
  CRT-0: source=xserver :: "400x300"  25.000  400 428 488 520  300 318 321 333  DoubleScan +HSync +VSync

MetaMode: id=109, switchable=no, source=implicit :: CRT-0: 320x240 @320x240 +0+0
  CRT-0: source=xserver :: "320x240"  15.750  320 332 352 416  240 244 246 260  DoubleScan -HSync -VSync

MetaMode: id=110, switchable=no, source=implicit :: CRT-0: 320x240d60 @320x240 +0+0
  CRT-0: source=xserver :: "320x240d60"  12.587  320 328 376 400  240 245 246 262  DoubleScan -HSync -VSync

MetaMode: id=111, switchable=no, source=implicit :: CRT-0: 320x175 @320x175 +0+0
  CRT-0: source=xserver :: "320x175"  15.750  320 336 368 416  175 191 192 222  DoubleScan +HSync -VSync
User avatar
masterfalcon
OGRE Team Member
OGRE Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
x 126
Contact:

Re: OpenGL 3+ RenderSystem

Post by masterfalcon »

Hmm. I wish I could be of more help here. My linux machine has an AMD card in it so I'm of very little use.

I am hoping that dermot's change works for others. If so then I can commit it. I've tested it on my end and there are no adverse effects for AMD at least.
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

masterfalcon wrote: I am hoping that dermot's change works for others. If so then I can commit it. I've tested it on my end and there are no adverse effects for AMD at least.
Do you have a personal hg repository I can pull from?
User avatar
masterfalcon
OGRE Team Member
OGRE Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
x 126
Contact:

Re: OpenGL 3+ RenderSystem

Post by masterfalcon »

Nope, just the main Ogre repo.
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

Dermont's cut 'n' paste fixes the problem on my box. I deleted my .ogre directory, selected the GL3+ renderer, and SampleBrowser loads fine.

My thread safety is a bit rusty. Is the "static bool ctxErrorOccurred = false;" variable going to be thread safe?
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

masterfalcon wrote:Hmm. I wish I could be of more help here. My linux machine has an AMD card in it so I'm of very little use.
Fair enough thanks for replying, I'll try to investigate further here.
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

I figured out how to obtain the nv-control-dpy utility, which isn't in any Ubuntu binary package and doesn't have a manpage. It's in the sources for nvidia-settings, which is attainable either as a source package for various driver versions, or directly from NVIDIA. Once unpacked it's under (for instance) nvidia-settings-310.40/samples and it builds readily with a simple "make". This info is to save any future person the hassle of finding it.

Dermont I think you're on to something about Ogre displaying a MetaMode ID rather than a refresh rate. On my laptop the id=50, which Ogre displays as "50 Hz" in the configuration tool.

Code: Select all

Using NV-CONTROL extension 1.28 on :0.0
Connected Display Devices:
  DFP-0 (0x00010000): Seiko/Epson

MetaMode: id=50, switchable=yes, source=xconfig :: DFP-0: nvidia-auto-select @1440x900 +0+0
  DFP-0: source=edid :: "nvidia-auto-select"  96.510  1440 1504 1536 1760  900 903 906 912  -HSync -VSync

MetaMode: id=51, switchable=no, source=implicit :: DFP-0: nvidia-auto-select @1280x720 +0+0
  DFP-0: source=edid :: "nvidia-auto-select"  96.510  1440 1504 1536 1760  900 903 906 912  -HSync -VSync

MetaMode: id=52, switchable=no, source=implicit :: DFP-0: nvidia-auto-select @1024x768 +0+0
  DFP-0: source=edid :: "nvidia-auto-select"  96.510  1440 1504 1536 1760  900 903 906 912  -HSync -VSync

MetaMode: id=53, switchable=no, source=implicit :: DFP-0: nvidia-auto-select @800x600 +0+0
  DFP-0: source=edid :: "nvidia-auto-select"  96.510  1440 1504 1536 1760  900 903 906 912  -HSync -VSync

MetaMode: id=54, switchable=no, source=implicit :: DFP-0: nvidia-auto-select @640x480 +0+0
  DFP-0: source=edid :: "nvidia-auto-select"  96.510  1440 1504 1536 1760  900 903 906 912  -HSync -VSync
scrawl
OGRE Expert User
OGRE Expert User
Posts: 1119
Joined: Sat Jan 01, 2011 7:57 pm
x 216

Re: OpenGL 3+ RenderSystem

Post by scrawl »

Just tried the GL3 RS on my nvidia card again, and now I get the same error as you guys:

Code: Select all

GL3PlusRenderSystem::_createRenderWindow "OGRE Sample Browser", 1680x1050 fullscreen  miscParams: FSAA=0 displayFrequency=50 Hz gamma=No vsync= 
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  135 (GLX)
  Minor opcode of failed request:  34 ()
  Serial number of failed request:  18
  Current serial number in output stream:  19
I remember that it used to work fine when I tried it a few months back. So is this something possibly worth bisecting or have you already found out what's causing it (I didn't follow this discussion in all detail)?
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

@bvanevery
Yeah it may be something like TwinView(Clone) was not supported in Ogre, it has been like this for years. I still don't know how to completely disable TwinView. There are alternatives to retrieving the rates but if updating the rates is now setup to use metamodes then it is a catch 22. That's why I asked the developers.
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

scrawl wrote:Just tried the GL3 RS on my nvidia card again, and now I get the same error as you guys:

Code: Select all

GL3PlusRenderSystem::_createRenderWindow "OGRE Sample Browser", 1680x1050 fullscreen  miscParams: FSAA=0 displayFrequency=50 Hz gamma=No vsync= 
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  135 (GLX)
  Minor opcode of failed request:  34 ()
  Serial number of failed request:  18
  Current serial number in output stream:  19
I remember that it used to work fine when I tried it a few months back. So is this something possibly worth bisecting or have you already found out what's causing it (I didn't follow this discussion in all detail)?
The root of the problem hasn't yet been established. There is a quick fix on this page. What is your version of GL? Did you update drivers etc. between now and when it used to run fine.
Post Reply