Global export XLIB_SKIP_ARGB_VISUALS=1

I use suse 11.2 86_64 Nvidia Geforce 83000 with nvidia drivers 190.xx and because like eye candy I use cairo-dock. But the dock in KDE4 makes shadows under some application to disappear. So the cairo-dock site advice to make a lunching script for the application begging with export XLIB_SKIP_ARGB_VISUALS=1 . But it is very annoying to make for every application that script then change the start of the application in start menu and so on.
I do not understand of programing can anyone help me with creating global export XLIB_SKIP_ARGB_VISUALS=1 for any application?

Hello olegue,

You can try adding these lines in your .bashrc file:

XLIB_SKIP_ARGB_VISUALS=1
export XLIB_SKIP_ARGB_VISUALS

The file .bashrc is located in your home folder.
If it isn’t there you can create it yourself.

Good luck!:wink:

I did it as u advised paste these two lines in .bashrc , but after login system does not want to start composite as well as the windows decoration. i tried with compiz, kde4 windows managers but the result was the same. I deleted these two lines and after login everything starts compiz and windows decoration. I do not know if I have added correctly the lines :

Sample .bashrc for SuSE Linux

Copyright (c) SuSE GmbH Nuernberg

There are 3 different types of shells in bash: the login shell, normal shell

and interactive shell. Login shells read ~/.profile and interactive shells

read ~/.bashrc; in our setup, /etc/profile sources ~/.bashrc - thus all

settings made here will also take effect in a login shell.

NOTE: It is recommended to make language settings in ~/.profile rather than

here, since multilingual X sessions would not work properly if LANG is over-

ridden in every subshell.

Some applications read the EDITOR variable to determine your favourite text

editor. So uncomment the line below and enter the editor of your choice :slight_smile:

#export EDITOR=/usr/bin/vim
#export EDITOR=/usr/bin/mcedit

For some news readers it makes sense to specify the NEWSSERVER variable here

#export NEWSSERVER=your.news.server

If you want to use a Palm device with Linux, uncomment the two lines below.

For some (older) Palm Pilots, you might need to set a lower baud rate

e.g. 57600 or 38400; lowest is 9600 (very slow!)

#export PILOTPORT=/dev/pilot
#export PILOTRATE=115200

test -s ~/.alias && . ~/.alias || true
XLIB_SKIP_ARGB_VISUALS=1
export XLIB_SKIP_ARGB_VISUALS

If that was incorrect, where I have to paste them ?

Hello olegue,

I’m not sure what the problem is.
But I think that application will run fine when this environment variable is set.
But Compiz and KDE can’t run when it’s set.

To test this start KDE without the variable been set.
Open a terminal and run this command:

export XLIB_SKIP_ARGB_VISUALS=1
kwin --replace

And could you post the output of this command?

You’ve pasted it in the correct place.

Best of luck!:wink:

I did as u suggested. In KDE4 :

linux:~ # export XLIB_SKIP_ARGB_VISUALS=1
linux:~ # kwin --replace

and nothing appears as respond in terminal, but the desktop bar jump from the bottom to top and loose the transperaty and opened windows loosed their shadows and their windows decoration and if a window is located on a top of the screen and I tried to minimaze it it is not possible , but if i click on its name on taskbar the menu with options appear on the bottom. So a good big mess up :). I tried samet hing with compiz in KDE4 well same success :slight_smile: I could not managed to switch back as I was unable to invoke the settings manager. I loged out and log in with old settings :slight_smile:

Hello olegue,

I was afraid so.
KDE and Compiz can’t run when this variable is set.
So you can’t make a environment variable of it.

I think you have three options:

  1. Manually add this to all commands.
  2. Ignore it.
  3. Find another dock

Here are some alternatives for cairo-dock:

Good luck!:wink:

Thank you for the suggestions I will try them.

But why then that stuff - variable as you called it , works if it is started with the application ? The applications are in that environment of Compiz or Kwin, does it means they are not taking the environment settings?

I am sorry if I ask obviously stupid questions :slight_smile:

Hello olegue,

There is a difference between a variable and an environment variable.
The best way to explain is to show an example.

Start terminal and run this command:

echo $BLUE

This will return nothing because the variable isn’t set.
The first thing we do is set it with this command:

BLUE="Blue"

Now we have created a variable and when you run the first command again it will return Blue.

This isn’t an environment variable and to proof this open another terminal and run this command:

echo $BLUE

This will return nothing. So now we have two terminal’s:

  • One with the variable BLUE set to Blue.
  • Another where the variable BLUE isn’t set.

When we run an application from the first terminal then the application is able to read the variable BLUE.
When we run the same application from the other terminal it isn’t able to read the variable BLUE.
When we add these lines to the .bashrc file it will be available for both terminals:

export BLUE="Blue"

This is the same in your case.
KDE and Compiz can’t run when the variable is set.
But other programs need this variable.

When you run a program like this then the variable will be available for that program only:

export XLIB_SKIP_ARGB_VISUALS=1; <APPLICATION>

I hope this has answered your question.
But if you have any questions feel free to ask.

Good luck!:wink:

Well :slight_smile: that was a perfect explanation :slight_smile: now the picture is clear :slight_smile: .Then may be the problem should be approached the other way. How with starting any application the export line to come automaticly infront of it without writing separate executable script for every application ? :slight_smile:

Hello olegue,

Good to hear.:slight_smile:

This sounds like a straightforward plan.
But I couldn’t find anything on how to do this.

Back to the .bashrc file.
If I’m not mistaking you can exclude some application.
We only need to figure out which applications.
Try adding this to you .bashrc file:

XLIB_SKIP_ARGB_VISUALS=1
export XLIB_SKIP_ARGB_VISUALS
unset XLIB_SKIP_ARGB_VISUALS && cairo-dock
unset XLIB_SKIP_ARGB_VISUALS && kwin

Best of luck!:wink:

Hi Edward_Iii

I just wanted to add to this thread my most heart felt thanks to you for explaining a little more about this XLIB_SKIP_ARGB_VISUALS environment variable and how to go about setting and most importantly unsetting it!

I have been suffering with an issue of my cairo-dock and compiz failing to work properly for the past few months and I have been trawelling through heaps of posts about how to get compiz working trying all sorts of things with no success at all!!

I can’t remember the amount of times that I have un-installed and re-installed the compiz packages, my NVIDIA drivers, emerald and cairo-dock, all with no joy what-so-ever.

It was ages before I tracked down a post that mentioned that compiz doesn’t like having the XLIB_SKIP_ARGB_VISUALS variable set and when I did I remembered that I recognised it from somewhere and that I had set it to fix another problem.

With your previous posts it made it clear how I could unset it and test compiz - and as soon as I did it started working properly again!!

I then just googled for info about all the places the environment variables could be set until I finally found the profile in the etc directory with the relevant line in it, I then specifically set it in the script that started the Skype app (which is why, I now remember, I had set it in the first place - to get the web cam working in Skype) and now everything is working perfectly again on my laptop.

Thanks again for this most useful bit of information!! rotfl!

Hello sweetld and welcome to the community!:slight_smile:

Good to hear you find this information useful!
It’s a long time ago since I posted this and never got a reply of the OP so I didn’t know if it worked.

But reading your post I assume this method works.

Good luck!:wink: