Vertical Sync

Hi,

What is the option in XF86Config that prevents graphics from flickering (OpenGL/X Windows)?
My system runs Linux Fedora core 1, with latest NV drivers.

Add this to your shell script:

setenv __GL_SYNC_TO_VBLANK 1

Also, make sure your monitor refresh and sync rates are correct (check your vendor info).

From XF86Config …

Section "Monitor"
   Identifier   "Monitor0"
   VendorName   "ViewSonic"
   ModelName    "P225"
   HorizSync    30.0 - 82.0
   VertRefresh  50.0 - 75.0
   Option       "dpms"
EndSection

thanks.

This env var is specific to NV. What if i have a ATI or other card?

Also, this controls the flickering of OpenGL rendering, what about non-opengl graphics?

ATI or other card?

non-opengl graphics?
I had forgotten that it was nVIDIA specific. I’ve heard so much negative about using Linux/OpenGL with ATI that I’ve never actually tried it.

What non-OpenGL graphics is viable for Linux? Assuming you’re needing hardware acceleration it’s pretty much OpenGL or DirectX, is it not?

Windowing. When moving/resizing/re-displaying windows in a window manager (ie mwm) the window frames flicker.

I have an ATI card that I wish I didn’t. (For some reason nvidia cards were incompatible with my VIA-based motherboard.)

The driver that ATI provides finally worked without crashing after lots of hassle doing the installation (rebuilding kernel etc). But after all that, I experienced the same problem that many people have - with the horizontal noise whenever the 3D graphics had any significant work to do. It displayed very fast, but with so much noise it was intolerable. It seems they are just not doing any vsynching at all, nor is there any configuration option to enable vsynching. Some aspects of the rendering of colors were also not very good - I’m not clear on what it was precisely, but the colors are generally too dark.

I finally got a workaround via the Mandrake 10 distro. They include a freeware driver for ATI that doesn’t have the problem with horizontal noise, but there are other deficiencies in the rendering. Sorry I can’t be more detailed.

Anyway, I plan to avoid ATI and VIA in the future.

I am pretty sure that card vendors are aware of the problem. They don’t want to release free-of-problems Linux driver, so Windows users have a very strong argument to stick with it.

Linux is the best.
Linux rules, at least in the next few years.
Linux is the greatest commom divisor for all programmers.
Linux needs more attention and support.

God Bless Linux.

Originally posted by <anonymous>:
I am pretty sure that card vendors are aware of the problem.
That’s sure.
Originally posted by <anonymous>:
They don’t want to release free-of-problems Linux driver, so Windows users have a very strong argument to stick with it.
Pretty weak reason. More often than not, it’s simply that linux does not really have a wide installed base (not as wide as win32 at least) so, putting money now on the linux thing is still seen as a riskious, long-run investement. Also, thanks to how the different distros evolved, it’s actually pretty difficult to do well designed drivers. Not to mention that linux itself has some differences from other unixes.

Originally posted by <anonymous>:
Linux rules, at least in the next few years.
I said that years ago and what happened is that it becomed barely usable. I don’t think ‘few’ years is enough even though ‘few’ is subjective.
Originally posted by <anonymous>:
Linux is the greatest commom divisor for all programmers.
Possibly, but I simply love some win32 features which are badly lacking on linux (and probably on unix in general).

Back to the topic, are we sure it’s not a single buffer problem?

EDIT: wrong UBB code.

Originally posted by Obli:
Back to the topic, are we sure it’s not a single buffer problem?

Good point. Sometimes we forget to ask the obvious. :slight_smile:

wismak … Are you using double buffering?

glutInitDisplayMode(GLUT_DOUBLE | ...);
...
glutSwapBuffers();

For ATI’s binary linux drivers, when you run the fglrxconfig program (which creates your XF86Config file), there is specifically a question that asks if you want to use v-sync or not. The default is off… for nVidia there is the previously mentioned environment variable. For anything else (DRI drivers etc) I am not sure, as I don’t have any such hardware myself.

Originally posted by <wismak>:
Windowing. When moving/resizing/re-displaying windows in a window manager (ie mwm) the window frames flicker.
Are you using GLUT? Or you wrote your own X Window UI?

Linux core developers obviosly not a 3D fps fans, so graphics support is really poor. They perform hi-end network, VM, SMP support but sound and video half-optimized if any. I give up to find portable VB interrupt handle solution.

Hello,

Absolutely not true. Linux OpenGL implementation whether ATI or NV outperform their counterpart in Windows. At least you are sure that they are not using Direct3D.
Regarding sound support, it’s the card vendor’s problem they don’t provide OpenAL drivers.

Linux rules in 3D, and all game developers should start targetting it.

Originally posted by <wismak>:
Linux rules in 3D, and all game developers should start targetting it.
While I don’t really agree on that, I think everyone should mind this.

DRI drivers obtained form dri.sf.net have a python-gtk based GUI tool named driconf. There you can specify the vsync. Alternatively you can manually edit ~/.drirc. However I am using X version 4.3 with built-in radeon DRI driver and I dont know how vsync happens. If anyone knows please share your knowledge.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.