Thursday, April 06, 2006

SLED10 and ATI



dynamic post: ATI AND XGL - Last update: Aprl 18 2006

Howto install ATI driver XGL compiz. SUSE Linux 10.1 or SUSE Linux Enterprise Desktop 10 on a laptop with an ATI chipset.

The released version and pre-release of SLED10 you do not need todo this. The ATI driver can be installed auto. by the SLED update service. CHECK THIS IF YOU HAVE SLED10.

0.) Start clean!, If you played with ATI drivers before remove them using:

/usr/share/fglrx/fglrx-uninstall.sh

rpm -e $(rpm -qa | grep fglrx)

1.) Start YaST and check if the following components are installed.
- kernel sources
- gcc (gnu compiler)
- pico (an editor used in this howto)
- xgl (installed by default on sled, but please check)
- compiz ( installed by default on sled, but please check)

2.) Clean the kernel source
cd /usr/src/linux
make clean

3a.) Download and install the ATI driver from the ATI site ( www.ati.com )
You can start the install (GUI) or create a RPM file first
- Start the GUI install (this sample is for the 64 bit version)

sh ./ati-driver-installer-8.23.7-x86_64.run

make the RPM (you can see more when compiling the modules during install)

See the list of supported systems. For SLED, use SuSE/SUSE101
sh ./ati-driver-installer-8.23.7-x86_64.run --get-supported

Example: Create rpm for suse101 64 bit
sh ./ati-driver-installer-8.23.7-x86_64.run --buildpkg SuSE/SUSE101-AMD64


3b.) Install the RPM

rpm -Uhv rpm -Uhv fglrx64_6_9_0_SUSE101-8.23.7-1.x86_64.rpm --force --nodeps

NOTE: If the driver does not install (error 2 when compiling), try the GUI then the RPM and then the GUI again.
no logic here, but it worked for me...

4.) Check the logfile
pico /usr/share/fglrx/fglrx-install.log
ctrl-x = exit

5.) Activate the driver in /etc/X11/xorg.conf
aticonfig --initial --input=/etc/X11/xorg.conf
pico /etc/X11/xorg.conf

Module section should contain:
Load "dri"

Device section should contain something like:
Section "Device"
BoardName "RV350 NP"
BusID "PCI:1:0:0"
Driver "fglrx"
Identifier "Device[0]"
VendorName "ATI"
Option "KernelModuleParm" "agplock=0"
Option "UseInternalAGPGART" "no"
Option "EnablePrivateBackZ" "no"
Option "mtrr" "on"
EndSection

ctrl-o, ctrl-x = save and exit

6.) Test the driver first, without activating XGL
init3 and init5 or reboot

Check if the ATI driver is active (and working):
open a terminal, su
lsmod | grep fglrx

try fglrxinfo or with the -display :1 option

moose@moosemachine:~/home/moose> fglrxinfo -display :1
display: :1.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.

OpenGL renderer string: MOBILITY RADEON 9700 Generic

OpenGL version string: 1.2 (2.0.5695 (8.23.7))

If this does not show the ATI driver, the driver is NOT INSTALLED
If it displays MESA, the driver is NOT INSTALLED
STOP AND GO BACK

7.) edit displaymanager
pico /etc/sysconfig/displaymanager

set the displaymanager to Xgl

DISPLAYMANAGER_XSERVER="Xgl"

ctrl-o, ctrl-x = save and exit

#.) Edit ld.so.conf *** I never had to do this ***
pico /etc/ld.so.conf
add /usr/lib/fglrx/lib as the first line
run ldconfig

8.) Edit gdm
pico /etc/opt/gnome/gdm/gdm.conf
change "0=standard" to "1=standard"

9.) run suseconfig to update the links
SuSEconfig --module xdm

10.) restart
init3, init5 or restart

thanks scott for this part

Configuring Gnome to Run Xgl

First, go ahead and log into Gnome.

Open up a terminal window and run the gnome-session-properties command:

linux-lab:~ $  gnome-session-properties

You'll see the SESSIONS window come up. Click on the STARTUP PROGRAMS tab:

Click on the ADD button. Type compiz -replace into the box and click OK:

Again, click ADD. Type gnome-window-decorator into the box and click OK:

You should now see the two new additions in the SESSIONS window:

You can now close the SESSIONS window.

Once you're back in the terminal window, run the gconf-editor command:

linux-lab:~ $  gconf-editor

The CONFIGURATION EDITOR window appears:

In the left pane of this window, double-click to open each of the following items in
this order: apps => compiz => general => allscreens => options.
Then, in the right pane, double-click the ACTIVE_PLUGINS item to open it.
We just want to make sure that the plugins are all set to load.
You should see a list similar to this:

If you do not, you can add them all manually.

Now that we are sure all of the plugins are set to load, you should
be able to log out of Gnome and then log back in. Once you do, you
should be able to access the features of Xgl. To test this, open a window
and move it around the screen. If it "wobbles", you are good to go.

When I have set this up, at this stage, I have to do a hard restart in X to
get all of the settings to take properly. I have heard that this is not necessary.
However, if you do not see Xgl working right here, you may need to do this,
as well. To hard restart X, you just log out of Gnome. When you are logged out,
press CTRL + ALT + BACKSPACE. X will shut down and restart.
You can then log back in and everything should be full of coolness.
Also, rebooting the computer may help things get freshly loaded and start
up properly.

Congratulations. Your Gnome desktop environment should now be sporting all
the great features of Xgl. To find out more about what Xgl can do,
skip down to the XGL SHORTCUTS section, below.

Configuring KDE to run Xgl

First, make sure you are logged into KDE just like normal. We are going to create
a quick config file so that KDE knows to load up compiz when X starts up.
Open up your favorite editor. Copy and paste the following into a new text
document:

[Desktop Entry]
Encoding=UTF-8
Exec=compiz --replace decoration wobbly fade minimize cube rotate zoom scale move
resize place switcher & gnome-window-decorator &
GenericName[en_US]=
StartupNotify=false
Terminal=false
TerminalOptions=
Type=Application
X-KDE-autostart-after=kdesktop

Now, we just need to save it. You will need to save it in your /home/user/.kde/Autostart folder, where 'user' is your username. Name the file compiz.desktop. Once this is done,
log out of KDE and log back in. You should have functioning Xgl on your shiny new K Desktop Environment.

Xgl Shortcuts

Some of the features of Xgl are executed when you perform certain functions. Mostly, this is some kind of key combination on your keyboard in addition to some button press and/or movement of your mouse. Below, I have provided a table with the different Xgl options and how to execute each one.

Window Operations
Move Window ALT + Left-Click and Drag
Move Window - Snap to screen CTRL + ALT + Left-Click and Drag
Resize Window ALT + Right-Click and Drag
Switch Windows ALT + TAB
Switch Windows (Scale Mode) F11
Wobbly Windows Left-Click Window and Drag
Translucency ALT + Mouse Up / Mouse Down
Cube
Rotate Cube - Next Desktop CTRL + ALT + Left or Right Arrow
Rotate Cube - Next Desktop Move Mouse cursor to extreme edge of desktop
Rotate Cube - Take Active Window CTRL + SHIFT + ALT + Left or Right Arrow
Manually Rotate Cube CTRL + SHIFT + Left-Click on Desktop and Drag
Zoom
Zoom Once Super-Key (Windows Key)
Zoom In Manually Mouse Wheel Scroll Up + Super-Key (Windows Key)
Zoom Out Manually Mouse Wheel Scroll Down + Super-Key (Windows Key)










TIP: set the correct plugin order in gconf-edit with a script
gconftool-2 --set --type list --list-type string
/apps/compiz/general/allscreens/options/active_plugins
'[gconf,decoration,wobbly,transset,fade,minimize,cube,rotate,zoom,scale,move,resize,
place,switcher,trailfocus,water]'

here



----
Created a script to turn XGL on and off, changes to displaymanager and gdm:

turn off

cp /etc/sysconfig/displaymanager /etc/sysconfig/displaymanager.bak
sed
-e 's/DISPLAYMANAGER_XSERVER=\"Xgl\"/DISPLAYMANAGER_XSERVER=\"Xorg\"/g'
/etc/sysconfig/displaymanager.bak > /etc/sysconfig/displaymanager

cp /etc/opt/gnome/gdm/gdm.conf /etc/opt/gnome/gdm/gdm.bak
sed -e 's/1=Standard/0=Standard/g' /etc/opt/gnome/gdm/gdm.bak > /etc/opt/gnome/gdm/gdm.conf

cp /etc/X11/xorg.conf /etc/X11/xorg.bak
sed -e 's/fglrx/radeon/g' /etc/X11/xorg.bak > /etc/X11/xorg.conf

SuSEconfig --module xdm

-------
Other tips:

See what version of the driver is installed
rpm -qa | grep fglrx


See if the compile worked and check the log file
fglrx-kernel-build.sh

see fglrx messages in the log
dmesg
----------
Solve ATI hardlock
here are some other options

   Option       "no_accel" "no"
Option "no_dri" "no"
Option "DynamicClocks" "on"
Option "mtrr" "on"
Option "DesktopSetup" "Single"
Option "ScreenOverlap" "0"
Option "Capabilities" "0x00000000"
Option "CapabilitiesEx" "0x00000000"
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
Option "CenterMode" "off"
Option "PseudoColorVisuals" "off"
Option "Stereo" "off"
Option "StereoSyncEnable" "1"
Option "FSAAEnable" "no"
Option "FSAAScale" "1"
Option "FSAADisableGamma" "no"
Option "FSAACustomizeMSPos" "no"
Option "FSAAMSPosX0" "0.000000"
Option "FSAAMSPosY0" "0.000000"
Option "FSAAMSPosX1" "0.000000"
Option "FSAAMSPosY1" "0.000000"
Option "FSAAMSPosX2" "0.000000"
Option "FSAAMSPosY2" "0.000000"
Option "FSAAMSPosX3" "0.000000"
Option "FSAAMSPosY3" "0.000000"
Option "FSAAMSPosX4" "0.000000"
Option "FSAAMSPosY4" "0.000000"
Option "FSAAMSPosX5" "0.000000"
Option "FSAAMSPosY5" "0.000000"
Option "UseFastTLS" "0"
Option "BlockSignalsOnLock" "on"
Option "UseInternalAGPGART" "no"
Option "ForceGenericCPU" "no"
Option "KernelModuleParm" "agplock=0"
Option "PowerState" "1"

I am Winston Wolfe. I solve problems.
Harvey Keitel in Pulp Fiction




KEY: howto ati xgl compiz, ati suse linux, ati compiz, howto ati xgl, ati radeon mobility

13 comments:

E@zyVG said...

--> Option "KernelModuleParm" "agplock=0"

What if you have a PCI-E based card, does the above matter. If yes, maybe you wanna update your tutorial.

Anonymous said...

confirmed to work on a:
- Dell D600
- Acer Ferrari 3200
- Other Dell laptops

Anonymous said...

umm, in step 8, you say:

8.) Edit gdm
pico /etc/opt/gnome/gdm/gdm.conf
change "0=standard" to "1=standard"

However, I am trying to configure xgl in KDE, and there is obviously no gdm.conf. What file should I modify instead? kderc?

Anonymous said...

umm, in step 8, you say:

8.) Edit gdm
pico /etc/opt/gnome/gdm/gdm.conf
change "0=standard" to "1=standard"

However, I am trying to configure xgl in KDE, and there is obviously no gdm.conf. What file should I modify instead? kderc?

Anonymous said...

ATI Radeon Mobility 7500 Graphic Card isn't working with the driver of ATI :-(
The Driver supports Mobility Cards up of Mobility 8500 :-(

E@zyVG said...

Got a new 10.1 ATI drivers install howto posted at:
http://linux.wordpress.com/2006/05/12/suse-101-ati-drivers-installation/
Still have to try Xgl.

E@zyVG said...

Moosy, what is ATI Lock supposed to be. What happens when lock is there.

Anonymous said...

"I am trying to configure xgl in KDE, and there is obviously no gdm.conf. What file should I modify instead? kderc?"

I caved and installed gdm with the Yast's Software Manager, switched from KDM to GDM (in Yast, go to System -> /etc/sysconfig Editor -> expand "Desktop" -> expand "Display Manager" -> change to gdm), and then made the 0=standard to 1=standard change.

Using GDM to launch a KDE session is a bit awkward, but worthwile to get XGL running. The problem with Device 0 is apparently an ATI driver issue (see the opensuse XGL troubleshooting page for more details). If/when ATI fixes the driver, the GDM workaround won't be necessary anymore.

Now I just need to figure out how to change the plugin configs without gconf-editor. I'm really liking XGL so far, but wobble when moving windows drives me nuts.

B said...

sorry, never tried KDE.
check opensuse.org

Anonymous said...

Scott's instructions w/r to KDE are a good starting point, but don't let you configure the plugins. You can configure the plugins using gconf-editor in KDE, same as in Gnome. If it's not already installed, get gconf-editor from YAST.

Use the following text (note the changed Exec line) instead of Scott's for compiz.desktop.

[Desktop Entry]
Encoding=UTF-8
Exec=compiz --replace gconf & gnome-window-decorator &
GenericName[en_US]=
StartupNotify=false
Terminal=false
TerminalOptions=
Type=Application
X-KDE-autostart-after=kdesktop

Anonymous said...

E@zyVG said...

--> Option "KernelModuleParm" "agplock=0"

What if you have a PCI-E based card, does the above matter. If yes, maybe you wanna update your tutorial.

=> I have a Ati Mobility Radeon X600 which tended to hard lock (everything froze, only a cold boot helped); with the option above it doesn't, so the tutorial is fine =)

Anonymous said...

add (to last comment):

it is a PCI-E card !

sexshoptienda.blogspot.com said...

What namely you're saying is a terrible blunder.