Compiz-Fusion for Puppy 4.0

How to do things, solutions, recipes, tutorials
Message
Author
User avatar
tombh
Posts: 422
Joined: Fri 12 Jan 2007, 12:27
Location: Bristol, UK
Contact:

Compiz-Fusion for Puppy 4.0

#1 Post by tombh »

You may also be interested in these links for CF in Puppy 3
wow's thread
wNOP v0.2

Step 1
Desktop Environment
First off you're gonna need a compositing window manager like Xfce, Gnome, or KDE.

NOP
Forum member gray, maintains an excellent XFCE-based version of Puppy, the Puppy 4 version can be found here.

Pure CF window management
I have also had success running CF without any window manager at all, therefore using Emerald to decorate windows, Rox to provide the wallpaper and Cairo-Dock as a taskbar/panel. This is very exciting and I would like to release a Puplet of this, but it still needs a lot of work. If you're interested in experimenting with this the adventure begins with this command,

Code: Select all

xwin rxvt
You must exit X first though (CTRL+ALT+BACKSPACE).

Step 2

3D acceleration
This is definitely the trickiest bit. Ordinary Puppies, don't automatically enable your graphics card to work at its fullest potential. At best Puppy will get Xorg running for you, this is essential as CF will not work with the Xvesa X server.

You may already know how to get your graphics card fully 3D enabled, that's great, otherwise you are best advised to seek out the instructions for your specific card. But please note that even if you do get 3D going there are only 3 main types of card that can run CF; ATI (newer than 7000), Intel (newer than i810) and Nvidia (newer than GeForce2).

Regardless of your card-type, the first thing you're gonna need to install is the remains of the full Xorg X server -- xorg_xorg_full_dri-7.3.pet

nVidia
It's possible however that nVidia users may not need that package, there's no harm in installing it, but what nVidia users will need is the latest nVidia driver.

nvidia-9639 for most nvidia cards (officially Gf2 to Gf4 but have tested on Gf7 OK).

nvidia-100.14.11 for latest cards (Gf5 to Gf8).

Remember to reboot (maybe just X) after installing.

ATI
ATI cards are a pain for a couple of reasons :( Firstly their Linux drivers are not supported well and Puppy has some bugs that effect ATI 3D setup.

FGLRX
For the very newest ATI cards you will need ATI's proprietary driver, which always gets bad reports. There are some instructions here. If this works then you will not need to follow any other instructions here to geet 3D working, you can go straight to installing CF.

Bug Fixes
Here's the first bug-fix;
open up /usr/sbin/findhostbridge and find line 97, which reads:

Code: Select all

shell("ls /lib/modules/2.6/char/agp/*.ko>/tmp/findhostbridge.tmp")
IT MUST READ:

Code: Select all

shell("ls /lib/modules/2.6/kernel/drivers/char/agp/*.ko>/tmp/findhostbridge.tmp")  
And the second bug-fix;
Add

Code: Select all

modprobe sis_agp
to the end of /etc/rc.d/rc.local

For these fixes to take effect a FULL REBOOT is needed!

Now follow the instructions for Getting xorg.conf sorted

Intel

You need to add the line

Code: Select all

modprobe -n i915
to the end of /etc/rc.d/rc.local. Now goto Getting Xorg.conf sorted

Getting xorg.conf sorted
xorg.conf is found at /etc/X11/
PLEASE MAKE SURE TO MAKE A BACKUP FIRST!!!!!!!!!!!!!

Add:

Code: Select all

Option "AIGLX" "true"
within:

Code: Select all

Section "Server Layout"
...
EndSection
and:

Code: Select all

        Option "XAANoOffscreenPixmaps" "true"
	Option "AddARGBGLXVisuals" "True"
in the section indicated by:

Code: Select all

Section "Device"
...
End Section
and:

Code: Select all

Section "Extensions"
    Option "Composite" "Enable"
EndSection
at the end of xorg.conf

In order to activate these changes X must be restarted. A full reboot is not needed, you can simply press CTRL+ALT+BACKSPACE to exit to the command line and restart X by typing xwin. If X fails to start because of a bad xorg.conf file you can always edit it from the command line with:

Code: Select all

e3 /etc/X11/xorg.conf
or restore your backup with:

Code: Select all

cp /etc/X11/xorg.conf.bak /etc/X11/xorg.conf
Troubleshooting 3D
Basically DRI must be active for Compiz to work. After installing glxinfo and typing

Code: Select all

 glxinfo | grep dri 


at the command line will tell you whether DRI is active and if it is not, typing

Code: Select all

cat /var/log/Xorg.0.log | grep dri
may give you some idea as to why.

Installing Compiz-Fusion
Finally, we're here!

We need the libwnck library as it's an Emerald dependency;
Install libwnck-2.23.4-i686.pet

Now you can install Compiz-Fusion! fusion-0.7.7.pet
(Thanks to forum member wow for this pet package)

Now before running compiz the line:

Code: Select all

export XLIB_SKIP_ARGB_VISUALS=1
in /etc/profile (it's near the top somewhere) must be disabled by adding a # to the beginning of it, like so:

Code: Select all

#export XLIB_SKIP_ARGB_VISUALS=1
and then full rebooting the computer. This fix allows the cool see-through window borders to work.

Now! CF is run by typing:

Code: Select all

LIBGL_ALWAYS_INDIRECT=1 compiz --replace --indirect-rendering --sm-disable ccp &
If Emerald (the window borders) doesn't load then try

Code: Select all

emerald --replace
and can be made to load at startup by adding something like:

Code: Select all

LIBGL_ALWAYS_INDIRECT=1 compiz --replace --indirect-rendering --sm-disable ccp &
sleep 3
near the begininng of /root/.xinitrc

Configuring Compiz
In order to run the Compiz Config Settings Manager (CCSM) that comes with the fusion package Python (a programming language) needs to be installed.

python_for_CCSM.pet
(This version of Python was compiled for Puppy 3 but I have tested it as working in Puppy 4, there is a Puppy 4 version of these Python packages somehwere I just haven't looked to find them)

Once installed Settings->CCSM from the menu should work. There is SOOOO much you can do with compiz, it's not just about wobbily windows you know!

If you find this How To useful you might like to put a colour memory in my database (and tell all your friends about it!).
Last edited by tombh on Tue 07 Oct 2008, 09:47, edited 5 times in total.
[url=http://www.tombh.co.uk/colour_memories/contribute.php]Colour-Memories Database[/url]

wow
Posts: 1052
Joined: Fri 30 Jun 2006, 00:18
Location: Peru

well done

#2 Post by wow »

@tombh: Can you change
Step 1
Compositing Window Managers[/quote]
to:
Step 1
Desktop Environment
?


Thanks
[url=http://www.puppylinux.com][img]http://i.imgur.com/M4OyHe1.gif[/img][/url]

User avatar
tombh
Posts: 422
Joined: Fri 12 Jan 2007, 12:27
Location: Bristol, UK
Contact:

#3 Post by tombh »

yes, that makes more sense, thanks wow.
[url=http://www.tombh.co.uk/colour_memories/contribute.php]Colour-Memories Database[/url]

User avatar
divisionmd
Posts: 606
Joined: Sat 14 Jul 2007, 20:42

hello

#4 Post by divisionmd »

Hello,

Excellent Tombh!

I am trying to get this work on Puppy 4 but got some problems getting the 3d work.

I have ATI Radeo X300 card (Dell D610) computer here.

- This is what the xorg log says "cat /var/log/Xorg.0.log | grep dri":

(II) AMD Video driver is signed
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: node name is /dev/dri/card1
drmOpenDevice: node name is /dev/dri/card2
drmOpenDevice: node name is /dev/dri/card3
drmOpenDevice: node name is /dev/dri/card4
drmOpenDevice: node name is /dev/dri/card5
drmOpenDevice: node name is /dev/dri/card6
drmOpenDevice: node name is /dev/dri/card7
drmOpenDevice: node name is /dev/dri/card8
drmOpenDevice: node name is /dev/dri/card9
drmOpenDevice: node name is /dev/dri/card10
drmOpenDevice: node name is /dev/dri/card11
drmOpenDevice: node name is /dev/dri/card12
drmOpenDevice: node name is /dev/dri/card13
drmOpenDevice: node name is /dev/dri/card14
(==) fglrx(0): OpenGL ClientDriverName: "fglrx_dri.so"
(WW) fglrx(0): No DRM connection for driver fglrx.
(II) fglrx(0): driver needs X.org 7.1.x.y with x.y >= 0.0
(WW) fglrx(0): * (maybe driver kernel module missing or bad) *
(II) Synaptics touchpad driver version 0.14.6 (1406)

- When i type "glxinfo | grep dri" it does not print out anything.

- I have installed these .pet file(s):

xorg_xorg_full_dri-7.3.pet
libX11-1.1.4-i486.pet
libwnck-2.23.4-i686.pet
ATI_fglrx_Pup4.1-8.5.pet
ATI-drivers-8.493.pet

- And i have modified the xorg.conf to look like this:


#Special base config file used in Puppy Linux.
# **********************************************************************
# Module section -- this section is used to specify
# which dynamically loadable modules to load.
# **********************************************************************
#
# **********************************************************************
# Files section. This allows default font and rgb paths to be set
# **********************************************************************
# **********************************************************************
# Server flags section.
# **********************************************************************
#everything past here is auto-generated by Puppy's Xorg Wizard...
#PuppyHardwareProfile=ATI_MOBILITY_RADEONG5983_141EC7

Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "aticonfig-Screen[0]" 0 0
InputDevice "Synaptics Mouse" "AlwaysCore"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
Option "AIGLX" "true"
EndSection

Section "Files"

# The location of the RGB database. Note, this is the name of the
# file minus the extension (like ".txt" or ".db"). There is normally
# no need to change the default.
# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
RgbPath "/usr/X11R7/lib/X11/rgb"
FontPath "/usr/X11R7/lib/X11/fonts/misc/"
FontPath "/usr/X11R7/lib/X11/fonts/Type1/"
FontPath "/usr/X11R7/lib/X11/fonts/TTF/"
EndSection

Section "Module"

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
# This loads the font modules
Load "synaptics"
# This loads the DBE extension module.
Load "dbe" # Double buffer extension
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSubSection
Load "type1"
Load "freetype"
# This loads xtrap extension, used by xrandr
Load "xtrap"
# This loads the GLX module (if present)
Load "glx"
# This loads dri module (if present)
Load "dri"
EndSection

Section "ServerFlags"

# Uncomment this to disable the <Crtl><Alt><Fn> VT switch sequence
# (where n is 1 through 12). This allows clients to receive these key
# events.
# Option "DontVTSwitch"
# Enables mode switching with xrandr
# There is a report that this can cause Xorg not to work on some
# video hardware, so default is commented-out...
# but i want to use it in xorgwizard so leave on...
Option "RandR" "on"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc102"
Option "XkbLayout" "se" #xkeymap0
EndSection

Section "InputDevice"

#Option "Emulate3Timeout" "50"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto" #mouse0protocol
Option "Device" "/dev/mouse"
#Option "Emulate3Buttons"
Option "ZAxisMapping" "4 5" #scrollwheel
EndSection

Section "InputDevice"
Identifier "Synaptics Mouse"
Driver "synaptics"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "LeftEdge" "120"
Option "RightEdge" "930"
Option "TopEdge" "120"
Option "BottomEdge" "650"
Option "FingerLow" "14"
Option "FingerHigh" "15"
Option "MaxTapTime" "0"
Option "MaxTapMove" "110"
Option "VertScrollDelta" "20"
Option "MinSpeed" "0.3"
Option "MaxSpeed" "0.75"
Option "AccelFactor" "0.030"
Option "EdgeMotionMinSpeed" "200"
Option "EdgeMotionMaxSpeed" "200"
Option "UpDownScrolling" "1"
Option "CircularScrolling" "1"
Option "CircScrollDelta" "0.1"
Option "CircScrollTrigger" "2"
EndSection

Section "Modes"

#modes0modeline0
Identifier "Modes0"
EndSection

Section "Monitor"
Identifier "aticonfig-Monitor[0]"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection

Section "Device"
Identifier "aticonfig-Device[0]"
Driver "fglrx"
EndSection

Section "Screen"
Identifier "aticonfig-Screen[0]"
Device "aticonfig-Device[0]"
Monitor "aticonfig-Monitor[0]"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection


- A free beer from the bar if anyone knows what could be wrong..

Thanks,

Best regards,
Johan

User avatar
tombh
Posts: 422
Joined: Fri 12 Jan 2007, 12:27
Location: Bristol, UK
Contact:

#5 Post by tombh »

This is almost certainly to do with the ATI drver. You mention 2 drivers
ATI_fglrx_Pup4.1-8.5.pet
ATI-drivers-8.493.pet
Both those are ATI drivers, one is for Puppy 4.1 and the other might be for Puppy 4 or 3. I've heard very little about getting the ATI driver going in Puppy 4 so I can't recommend a specific driver I'm afraid. If you are using Puppy 4 (not Puppy 4.1) then make sure you install an ATI driver specifically for Puppy 4 over any other drivers that might be conflicting.

Have you installed the glxinfo dotpet?

Looking at this page, I see that your card is supported by the open source radeon driver (the one that comes with the full Xorg server) I would highly recommend using this driver instead, in many cases it actually provides much greater performance than ATI's own drivers! You will have to follow the instructions to fix the bugs. You may also have to start again with your xorg.conf. I think if you delete it (or rather rename it -- so you don't lose it!) Puppy's startup scripts will notice a missing xorg.conf and setup a pristine xorg.conf for you to use.
[url=http://www.tombh.co.uk/colour_memories/contribute.php]Colour-Memories Database[/url]

magerlab
Posts: 739
Joined: Sun 08 Jul 2007, 20:08

#6 Post by magerlab »

i did everything for intell card, but get this message
after cat /var/log/Xorg.0.log | grep dri

(--) intel(0): Will try to allocate texture pool for old Mesa 3D driver.
(EE) intel(0): [dri] I830CheckDRIAvailable failed: dri not loaded
#
do i need also to install dri?

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#7 Post by MU »

magerlab: yes you need to install dri, see Step 2 in the first message.
Mark
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

magerlab
Posts: 739
Joined: Sun 08 Jul 2007, 20:08

#8 Post by magerlab »

strange but i got wnop and compiz in ubuntu working on this intel card...
the dri .pet is considerably big :?

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#9 Post by MU »

the dri pet is huge, because it contains drivers for all cards.
After installation, you can delete all:
/usr/X11R7/lib/xorg/modules/dri/[-not-your-card-].so

Mark
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

magerlab
Posts: 739
Joined: Sun 08 Jul 2007, 20:08

#10 Post by magerlab »

ok i'll try
thank you Mark!

shrdlu
Posts: 25
Joined: Wed 09 Nov 2005, 21:44
Location: NE Illinois

Thanks!

#11 Post by shrdlu »

That is great news that Compiz-Fusion can be run under Puppy 4.0! Thanks Tombh for WNOP. It works perfectly. (Well, it does after I ditched the old ATI card.)

And thanks to Barry who made it all possible.

All the best to the most supportive and fun Linux community on the planet!

Shrdlu

User avatar
dinky
Posts: 699
Joined: Sat 19 Jan 2008, 23:39

#12 Post by dinky »

Hi tombh, couldn't download the ccsm pet, the links broken. Where else can I find it? Great tutorial by the way!
~dinky

User avatar
tombh
Posts: 422
Joined: Fri 12 Jan 2007, 12:27
Location: Bristol, UK
Contact:

#13 Post by tombh »

@shrdlu: Great! Everything works fine does it? That's fantastic :) Maybe I'll rename the pet without the word "test" in it then.

@dinky: Updated the link (BTW I've now got puppylinux.org to search Caneri's huge and regularly updated server for packages aswell) So you've got it working too?
[url=http://www.tombh.co.uk/colour_memories/contribute.php]Colour-Memories Database[/url]

User avatar
dinky
Posts: 699
Joined: Sat 19 Jan 2008, 23:39

#14 Post by dinky »

Hi tombh, still working on it. I'm rebuilding eeetiger from unleashed, and am not there yet. This is for the asus eeepc. Here's the output of trying to run compiz from the terminal, after following your suggestions above:

Code: Select all

sh-3.00# LIBGL_ALWAYS_INDIRECT=1 compiz --replace --indirect-rendering --sm-disable ccp &
[1] 6026
sh-3.00# compiz (core) - Fatal: No composite extension

[1]+  Done(1)                 LIBGL_ALWAYS_INDIRECT=1 compiz --replace --indirect-rendering --sm-disable ccp
sh-3.00# 
Here's the output of cat /var/log/Xorg.0.log | grep dri

Code: Select all

sh-3.00# cat /var/log/Xorg.0.log | grep dri
	X.Org XInput driver : 0.7
	ABI class: X.Org XInput driver, version 0.7
(II) LoadModule: "dri"
(II) Loading /usr/X11R7/lib/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
(II) Loading /usr/X11R7/lib/xorg/modules/drivers//intel_drv.so
	ABI class: X.Org XInput driver, version 0.7
	ABI class: X.Org XInput driver, version 0.7
(--) intel(0): Will try to allocate texture pool for old Mesa 3D driver.
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: node name is /dev/dri/card0
(EE) intel(0): [dri] DRIScreenInit failed. Disabling DRI.
(II) Synaptics touchpad driver version 0.14.6 (1406)
sh-3.00# 
eeetiger is based on wNOP and works beautifully under puppy 3.01. any thoughts?
~dinky

User avatar
tombh
Posts: 422
Joined: Fri 12 Jan 2007, 12:27
Location: Bristol, UK
Contact:

#15 Post by tombh »

So you're rebuilding it from Puppy 4 unleashed?

Could you post your full Xorg.0.log (as an attachment, rather than pasting the whole thing)?
[url=http://www.tombh.co.uk/colour_memories/contribute.php]Colour-Memories Database[/url]

User avatar
dinky
Posts: 699
Joined: Sat 19 Jan 2008, 23:39

#16 Post by dinky »

Where do I find that log? With the first build I posted I had included the cut-down dri xorg package, with the hopes I didn't need the full version you said needs to be installed. Installed all the other puppy default pets. Didn't work. Actually, had major issues installing the other pet files for compiz-fusion... go figure. When I installed the full dri version over the top of those (from a running puppy, not through unleashed) I could install the other compiz pets, but got that error. Am now rebuilding unleashed again without the cut-down dri, but with the full version instead. In the notes from unleasehd it says that the full dri version is a complete xorg package, so to see what happens I'm going to try installing only that xorg package... will let you know if it boots or not. Basically, I'm wanting this puppy to be as sleek as possible, yet still able to run compiz-fusion. I'm tempted to make the next version of TigerPup (and eeetiger) very lean, with only Compiz-Fusion, xfce, and possibly avant-windows-navigator installed by default. (Ce la ve wbar) The rest could be included in an sfs extension. That would take TigerPup much closer to the 100Mb mark... anyway...

I'll get back to you. Where do I find that log?
~dinky

User avatar
Max Headroom
Posts: 421
Joined: Wed 28 Jun 2006, 07:17
Location: GodZone Kiwi
Contact:

Tom

#17 Post by Max Headroom »

:?: Tom, Sadly I Don't have Any success 2 Report getting C-F installed w/ Dingo or even Xfce or NVidia 3D Drivers ( Altho' I'm Aware o' th' Availability o' Grays NOP Dingo which already have installed on M' Pentium 3 Dell Latitude C600 Laptop, But Unfortunately it has ATI Rage GraphiX, No Good 4 C-F ) the Reason I've Chosen 2 Not start w/ Grays NOP Dingo on "Max Headroom" ( M' HyperThreading Pentium 4 is that I'm Particularly 'Xcited 'bout Further Development Barry is doing w/ 4.1, Fast - Boot, SIP / VOIP, F-prot AntiVirus, & SMP, etc... ) So I've been Practicing w/ Latest aLpha 7, which o' I'm aware is Risky it Not being D'Bugged, But Evidently I've bitten - off more than I can chew! :( Just Wund'rin' Mate when Y'r C-F Dingo iso will be released? ( or 'R' U also waiting 4 Dingo 4.1 Final, which Surely won't B' Too Long away!?! )

User avatar
tombh
Posts: 422
Joined: Fri 12 Jan 2007, 12:27
Location: Bristol, UK
Contact:

#18 Post by tombh »

@dinky: That log is at /var/log/Xorg.0.log
I never actually built wNOP from unleashed, I just took NOP's pup_301.sfs and added some extra files to it. So are you trying to build TigerPup from scratch from Puppy 4 or 3.01?

@Max Headroom: Yeah, ATI Rage doesn't cut the mustard as they say, what's the card on yer other Pentium 4 machine? The next version of wNOP hasn't been made yet just because I've been busy with work, it could be a few more weeks yet I'm afraid :( I hadn't really thought about using 4.1, I guess some stuff might need recompiling which is extra work,but then 4.1 does have some new exciting features like dual-core support...
[url=http://www.tombh.co.uk/colour_memories/contribute.php]Colour-Memories Database[/url]

User avatar
Max Headroom
Posts: 421
Joined: Wed 28 Jun 2006, 07:17
Location: GodZone Kiwi
Contact:

#19 Post by Max Headroom »

@Tom, Thanx 4 Y'r Prompt Response, M' NVidia Card is a GeForce FX5200. 8)
Also as I Posted Earlier Barry Announced "4.1beta should be out by this coming Saturday or Sunday (6th, 7th September).
I start work at the Royal Show on 22nd, and would really like the final to be out by then. So I will set the 4.1final release date for 21st September.
There will be two live-CD iso's, 4.1retro with 2.6.21.7 kernel and 4.1 "normal" with 2.6.25.16 kernel." :D

User avatar
dinky
Posts: 699
Joined: Sat 19 Jan 2008, 23:39

#20 Post by dinky »

Hi tombh, yes, I'm rebuilding TigerPup from unleashed, Puppy 4. It sounds like 4.1 will be out soon, so likely the final release of TigerPups next version will be that. I wouldn't hold your breathe waiting, I'm still figuring out what I'm doing, and our next baby is due within a few weeks. Will have a go with that log soon. Cheers.
~dinky

Post Reply