View previous topic :: View next topic |
Author |
Message |
ian! Bodhisattva
Joined: 25 Feb 2003 Posts: 3829 Location: Essen, Germany
|
Posted: Tue Aug 24, 2004 1:21 pm Post subject: X-Server mit Schatten und echter Transparenz |
|
|
--------------------------------------------------------------------------------
Vorsicht: Hier wird eine Entwicklungsversion benutzt. Will heissen, daß der X-Server nicht unbedingt in jeder Karten-Treiber/Kernelversion/Windowmanager Konstellation funktionierenden muss.
Ihr wurdet gewarnt!
--------------------------------------------------------------------------------
Da die Nachfrage wächst, hier mal ein How-To zum Thema "X-Server mit Schatten und echter Transparenz".
Ich gehe hier von einer existierenden xorg-Installation (stable) aus. Ich habe das jetzt einfach mal so aus dem Kopf runtergeschrieben. Sollte aber soweit funktionieren.
Code: | mkdir -p /etc/portage/
echo 'x11-base/xorg-x11' >> /etc/portage/package.unmask
echo 'x11-misc/xcompmgr' >> /etc/portage/package.unmask
echo 'x11-misc/transset' >> /etc/portage/package.unmask
echo 'x11-base/xorg-x11 ~x86' >> /etc/portage/package.keywords
echo 'x11-misc/xcompmgr ~x86' >> /etc/portage/package.keywords
echo 'x11-misc/transset ~x86' >> /etc/portage/package.keywords
echo 'x11-misc/ttmkfdir ~x86' >> /etc/portage/package.keywords
emerge -u x11-base/xorg-x11
emerge x11-misc/transset
emerge x11-misc/xcompmgr
echo 'Section "extensions"' >> /etc/X11/xorg.conf
echo 'Option "Composite" "Enable"' >> /etc/X11/xorg.conf
echo 'EndSection' >> /etc/X11/xorg.conf |
X neustarten und mit xcompmgr -c z.B. die Schatten einschalten. Mit transset kann man einzelne Windows transparent setzen. Hierbei kann man transset auch einen Wert mitgeben (0.0 - 1.0).
Viel Spaß damit,
ian!
EDIT: Warnhinweis hinzugefügt. Hätte ich vielleicht früher machen sollen. _________________ "To have a successful open source project, you need to be at least somewhat successful at getting along with people." -- Daniel Robbins
Last edited by ian! on Sun Sep 12, 2004 10:29 am; edited 3 times in total |
|
Back to top |
|
|
amdunlock Guru
Joined: 24 Apr 2004 Posts: 409 Location: Darmstadt Germany
|
Posted: Tue Aug 24, 2004 1:40 pm Post subject: |
|
|
krass. danke
bin grad am emergen. hat schon jemand erfahrungen dazu ?
man koennte die ja in diesem thread sammeln, sowie bugs und sowas. _________________ -2500+ @ 3200+ ---- 512MB-Ram watercooled Htf X Triple @ 3 x 5V - Abit AN7 s*cking microguru - Geforce 6800 - Audigy 2 -=Gentoo Stage 2004.2 @ ext3=- |
|
Back to top |
|
|
ralph Advocate
Joined: 02 Mar 2003 Posts: 2001 Location: Hamburg
|
Posted: Tue Aug 24, 2004 1:45 pm Post subject: |
|
|
Gutes howto.
Kleiner Nachtrag:
Zumindest bei nvidia Karten sollte man
Option "RenderAccel" "1"
in der device section (also da wo auch Driver "nvidia" steht) der xorg.conf nicht vergessen, da es dadurch um einiges schneller wird.
Wie es bei anderen Karten aussieht weiß ich leider nicht. _________________ The computer can't tell you the emotional story. It can give you the exact mathematical design, but what's missing is the eyebrows.
- Frank Zappa |
|
Back to top |
|
|
boris64 Veteran
Joined: 04 Oct 2003 Posts: 1770 Location: Vechelde/Peine
|
Posted: Tue Aug 24, 2004 3:51 pm Post subject: |
|
|
ich vermisse auch noch folgenden eintrag für die /etc/X11/xorg.conf
Code: | Section "Extensions"
Option "Composite" "Enable"
EndSection
|
sehr nett, soweit, weiter so
[EDIT]
wer nicht lesen kann
*arg*
ich kauf mir ne neue brille
[/EDIT] _________________ boris64.net 200x / visit my desktop / try these tiny kernel patches |
|
Back to top |
|
|
Pamino Apprentice
Joined: 07 Apr 2004 Posts: 281 Location: 127.0.0.1
|
Posted: Tue Aug 24, 2004 3:54 pm Post subject: |
|
|
und wie macht man das ganze sicher wiede rückgängig? |
|
Back to top |
|
|
ossi Apprentice
Joined: 11 Apr 2004 Posts: 221 Location: DDR
|
Posted: Tue Aug 24, 2004 4:01 pm Post subject: |
|
|
Pamino wrote: | und wie macht man das ganze sicher wiede rückgängig? |
na einfach xp drüberbügeln
ne mal ehrlich wie wohl !?
warscheinlich genau andersrum! |
|
Back to top |
|
|
slyght Apprentice
Joined: 12 May 2004 Posts: 207 Location: Stuttgart, Germany
|
Posted: Tue Aug 24, 2004 4:03 pm Post subject: |
|
|
Ich benutze zur Zeit noch x-free und würde x-org gerne mal austesten... kann ich beides irgendwie parallel installieren um Anderungen ggf einfacher wieder rückgängig zu machen? |
|
Back to top |
|
|
Pamino Apprentice
Joined: 07 Apr 2004 Posts: 281 Location: 127.0.0.1
|
Posted: Tue Aug 24, 2004 4:05 pm Post subject: |
|
|
ossi wrote: | Pamino wrote: | und wie macht man das ganze sicher wiede rückgängig? |
na einfach xp drüberbügeln
ne mal ehrlich wie wohl !?
warscheinlich genau andersrum! | hey, genial!
Aber wie kehrt man dieses echo zeugs um? Mein Xorg will nämlich nimma nach nem neustart und hab kein bock irgendeinen fehler zu suchen um schatten mit wohlmöglich sch*** performace zu haben Hab grad portage neu emergt weil da ja was irgenwie dran rumgepfuscht wurde durch die befehle, oder? *gg* |
|
Back to top |
|
|
slyght Apprentice
Joined: 12 May 2004 Posts: 207 Location: Stuttgart, Germany
|
Posted: Tue Aug 24, 2004 4:08 pm Post subject: |
|
|
Pamino wrote: | ossi wrote: | Pamino wrote: | und wie macht man das ganze sicher wiede rückgängig? |
na einfach xp drüberbügeln
ne mal ehrlich wie wohl !?
warscheinlich genau andersrum! | hey, genial!
Aber wie kehrt man dieses echo zeugs um? Mein Xorg will nämlich nimma nach nem neustart und hab kein bock irgendeinen fehler zu suchen um schatten mit wohlmöglich sch*** performace zu haben Hab grad portage neu emergt weil da ja was irgenwie dran rumgepfuscht wurde durch die befehle, oder? *gg* |
du musst einfach die entsprechende Datei editieren (z.B. mit nano) und den Eintrag wieder entfernen... |
|
Back to top |
|
|
LL0rd l33t
Joined: 24 May 2004 Posts: 652 Location: Schlundcity
|
Posted: Tue Aug 24, 2004 4:26 pm Post subject: |
|
|
Quote: | emerge x11-misc/transset
Calculating dependencies ...done!
>>> emerge (1 of 1) x11-misc/transset-0.1_pre20040821 to /
>>> md5 src_uri transset-0.1_pre20040821.tar.bz2
>>> Unpacking source...
>>> Unpacking transset-0.1_pre20040821.tar.bz2 to /var/tmp/portage/transset-0.1_pre20040821/work
>>> Source unpacked.
gcc -O3 -mcpu=i686 -fomit-frame-pointer -march=athlon-xp `pkg-config --cflags xcomposite xfixes xdamage xrender` -c transSet.c
gcc -O3 -mcpu=i686 -fomit-frame-pointer -march=athlon-xp `pkg-config --cflags xcomposite xfixes xdamage xrender` -c dsimple.c
/bin/sh: line 1: pkg-config: command not found
/bin/sh: line 1: pkg-config: command not found
gcc -O3 -mcpu=i686 -fomit-frame-pointer -march=athlon-xp -o transset transSet.o dsimple.o `pkg-config --libs xcomposite xfixes xdamage xrender` -lm
/bin/sh: line 1: pkg-config: command not found
transSet.o(.text+0xab): In function `main':
: undefined reference to `XInternAtom'
transSet.o(.text+0xe7): In function `main':
: undefined reference to `XChangeProperty'
transSet.o(.text+0xfb): In function `main':
: undefined reference to `XSync'
transSet.o(.text+0x149): In function `main':
: undefined reference to `XInternAtom'
transSet.o(.text+0x165): In function `main':
: undefined reference to `XDeleteProperty'
transSet.o(.text+0x18f): In function `main':
: undefined reference to `XInternAtom'
transSet.o(.text+0x1e6): In function `main':
: undefined reference to `XGetWindowProperty'
transSet.o(.text+0x217): In function `main':
: undefined reference to `XFree'
dsimple.o(.text+0x33b): In function `Resolve_Color':
: undefined reference to `XGetWindowAttributes'
dsimple.o(.text+0x359): In function `Resolve_Color':
: undefined reference to `XParseColor'
dsimple.o(.text+0x373): In function `Resolve_Color':
: undefined reference to `XAllocColor'
dsimple.o(.text+0x3e8): In function `Select_Window':
: undefined reference to `XCreateFontCursor'
dsimple.o(.text+0x420): In function `Select_Window':
: undefined reference to `XGrabPointer'
dsimple.o(.text+0x443): In function `Select_Window':
: undefined reference to `XAllowEvents'
dsimple.o(.text+0x460): In function `Select_Window':
: undefined reference to `XWindowEvent'
dsimple.o(.text+0x484): In function `Select_Window':
: undefined reference to `XUngrabPointer'
dsimple.o(.text+0x4e5): In function `Window_With_Name':
: undefined reference to `XFetchName'
dsimple.o(.text+0x527): In function `Window_With_Name':
: undefined reference to `XQueryTree'
dsimple.o(.text+0x55e): In function `Window_With_Name':
: undefined reference to `XFree'
dsimple.o(.text+0x6f3): In function `Open_Display':
: undefined reference to `XOpenDisplay'
dsimple.o(.text+0x70f): In function `Open_Display':
: undefined reference to `XDisplayName'
dsimple.o(.text+0x765): In function `Setup_Display_And_Screen':
: undefined reference to `XOpenDisplay'
dsimple.o(.text+0x796): In function `Setup_Display_And_Screen':
: undefined reference to `XDisplayName'
dsimple.o(.text+0x7e9): In function `Open_Font':
: undefined reference to `XLoadQueryFont'
dsimple.o(.text+0x826): In function `Beep':
: undefined reference to `XBell'
dsimple.o(.text+0x88a): In function `ReadBitmapFile':
: undefined reference to `XReadBitmapFile'
dsimple.o(.text+0x921): In function `WriteBitmapFile':
: undefined reference to `XWriteBitmapFile'
dsimple.o(.text+0x9c7): In function `Bitmap_To_Pixmap':
: undefined reference to `XGetGeometry'
dsimple.o(.text+0x9ff): In function `Bitmap_To_Pixmap':
: undefined reference to `XCreatePixmap'
dsimple.o(.text+0xa46): In function `Bitmap_To_Pixmap':
: undefined reference to `XCopyPlane'
collect2: ld returned 1 exit status
make: *** [transset] Error 1
!!! ERROR: x11-misc/transset-0.1_pre20040821 failed.
!!! Function src_compile, Line 19, Exitcode 2
!!! emake failed
|
mach ich da was falsch? |
|
Back to top |
|
|
Sas Veteran
Joined: 05 Jul 2003 Posts: 1229 Location: Germany
|
Posted: Tue Aug 24, 2004 5:01 pm Post subject: |
|
|
Pamino wrote: | ossi wrote: | Pamino wrote: | und wie macht man das ganze sicher wiede rückgängig? |
na einfach xp drüberbügeln
ne mal ehrlich wie wohl !?
warscheinlich genau andersrum! | hey, genial!
Aber wie kehrt man dieses echo zeugs um? Mein Xorg will nämlich nimma nach nem neustart und hab kein bock irgendeinen fehler zu suchen um schatten mit wohlmöglich sch*** performace zu haben Hab grad portage neu emergt weil da ja was irgenwie dran rumgepfuscht wurde durch die befehle, oder? *gg* | Du entfernst jeweils die lezten drei Zeilen in /etc/portage/package.unmask, /etc/portage/package.keywords und /etc/X11/xorg.conf und führst anschließend "emerge -C transset xcompmgr && emerge -u xorg-x11" aus. _________________ 42 |
|
Back to top |
|
|
Pamino Apprentice
Joined: 07 Apr 2004 Posts: 281 Location: 127.0.0.1
|
Posted: Tue Aug 24, 2004 5:23 pm Post subject: |
|
|
Sas wrote: | Pamino wrote: | ossi wrote: | Pamino wrote: | und wie macht man das ganze sicher wiede rückgängig? |
na einfach xp drüberbügeln
ne mal ehrlich wie wohl !?
warscheinlich genau andersrum! | hey, genial!
Aber wie kehrt man dieses echo zeugs um? Mein Xorg will nämlich nimma nach nem neustart und hab kein bock irgendeinen fehler zu suchen um schatten mit wohlmöglich sch*** performace zu haben Hab grad portage neu emergt weil da ja was irgenwie dran rumgepfuscht wurde durch die befehle, oder? *gg* | Du entfernst jeweils die lezten drei Zeilen in /etc/portage/package.unmask, /etc/portage/package.keywords und /etc/X11/xorg.conf und führst anschließend "emerge -C transset xcompmgr && emerge -u xorg-x11" aus. | Hallelulja Diese konkrete Antwort gibt mir Hoffnung dass mein xorg wieder mit ati läuft. Zumindest installiert er etz ne andere xorg version Ich hab noch ne generelle Frage: X nimmt doch die XF86Config-4 nach dem Ausfürhen von fglrxconfig und opengl-update ati, oder ist das seit xorg nicht mehr der fall (xorg.conf)? |
|
Back to top |
|
|
tgurr Retired Dev
Joined: 27 Jan 2004 Posts: 571 Location: germany
|
Posted: Tue Aug 24, 2004 6:40 pm Post subject: |
|
|
Pamino wrote: | Ich hab noch ne generelle Frage: X nimmt doch die XF86Config-4 nach dem Ausfürhen von fglrxconfig und opengl-update ati, oder ist das seit xorg nicht mehr der fall (xorg.conf)? |
Solange es eine xorg.conf gibt wird diese auch benutzt, wenn aber keine vorhanden ist greift xorg automatisch auf die (alte) XF86Config zu.
MfG. Psy |
|
Back to top |
|
|
manuels Advocate
Joined: 22 Nov 2003 Posts: 2146 Location: Europe
|
Posted: Tue Aug 24, 2004 7:07 pm Post subject: |
|
|
also ich wollt das ganze auch mal ausprobieren, und hab erstmal XFree86 runtergeschmissen.
Dann hab ich xorg-x11 emerged und dann alles wie oben beschrieben gemacht.
auch RenderAccel aktiviert und nvidia-kernel sowie nvidia-glx reemerged.
Aber:
- ich kann keine fenster mehr verschieben: dann stürzt X ab.
- einige Fonts sehen anders aus - vielleicht muss ich nochwas wie anti-aliasing aktivieren.
- idesk zeigt keine icons mehr an und die schriftfarbe ist invertiert.
- das beenden von X hat einen lila bildschirm mit absturz zufolge.
hat jemand ne idee, wie ich aus dieser schei*** wieder raus komme?
Manuel |
|
Back to top |
|
|
manuels Advocate
Joined: 22 Nov 2003 Posts: 2146 Location: Europe
|
Posted: Tue Aug 24, 2004 8:01 pm Post subject: |
|
|
ahh, wenn ich Code: | Section "Extensions"
Option "Composite" "Enable"
EndSection |
weg lasse, kann ich die fenster wieder verschieben und idesk funktioniert auch wieder.
aber der rest der Probleme bleibt. außerdem kann ich dann ja keine schatten aktivieren
wieso denn bloss? |
|
Back to top |
|
|
ian! Bodhisattva
Joined: 25 Feb 2003 Posts: 3829 Location: Essen, Germany
|
Posted: Tue Aug 24, 2004 8:02 pm Post subject: |
|
|
manuels wrote: | - ich kann keine fenster mehr verschieben: dann stürzt X ab.
- einige Fonts sehen anders aus - vielleicht muss ich nochwas wie anti-aliasing aktivieren.
- idesk zeigt keine icons mehr an und die schriftfarbe ist invertiert.
- das beenden von X hat einen lila bildschirm mit absturz zufolge.
hat jemand ne idee, wie ich aus dieser schei*** wieder raus komme? |
Erstmal alles an "extra" ausschalten. Fontpfade hast du nach /usr/share/fonts/... abgeändert?
Ansonsten: Nicht fluchen. Dafür ist es halt ~x86. Da muss nicht unbedingt immer alles funktionieren. Dafür haben wir den Zweig. _________________ "To have a successful open source project, you need to be at least somewhat successful at getting along with people." -- Daniel Robbins |
|
Back to top |
|
|
ian! Bodhisattva
Joined: 25 Feb 2003 Posts: 3829 Location: Essen, Germany
|
Posted: Tue Aug 24, 2004 8:05 pm Post subject: |
|
|
manuels wrote: | ahh, wenn ich Code: | Section "Extensions"
Option "Composite" "Enable"
EndSection |
weg lasse, kann ich die fenster wieder verschieben und idesk funktioniert auch wieder.
aber der rest der Probleme bleibt. außerdem kann ich dann ja keine schatten aktivieren
wieso denn bloss? |
Naja. Composite ist gerade die Extension die das ermöglicht. Ohne das geht da nicht viel in der Richtung. Nehm' doch mal RenderAccell raus und probiere es dann mal erneut. Welcher nvidia-Treiber kommt denn zum Einsatz? _________________ "To have a successful open source project, you need to be at least somewhat successful at getting along with people." -- Daniel Robbins |
|
Back to top |
|
|
manuels Advocate
Joined: 22 Nov 2003 Posts: 2146 Location: Europe
|
Posted: Tue Aug 24, 2004 8:21 pm Post subject: |
|
|
well, well, well.
das mit dem absturz am ende liegt wohl daran, dass ich 2 GraKarten habe und auf jedem Monitor ne X-Session läuft - stürzt auch mit Xinerama ab.
Die Font-Pfade hab ich jetzt geändert, aber ohne ergebnis.
RenderAccell an/ausschalten bringt leider auch nichts.
achja, und emerge sagt:
Code: | media-video/nvidia-kernel-1.0.5336-r4 |
... wäre mit egal, wenn das mit dem schatten erstmal nicht läuft, aber wenigstens der Xinerama-Modus solls wieder tun...
achja, nochwas:
wenn X abstürzt, krieg ich im log die letzten zeilen:
Code: |
Could not init font path element /usr/share/fonts/local/, removing from list!
Could not init font path element /usr/share/fonts/CID/, removing from list!
Could not init font path element /usr/share/fonts/Speedo/, removing from list!
SetClientVersion: 0 8
(II) Screen 0 shares mem & io resources
(II) Screen 1 shares mem & io resources
*** If unresolved symbols were reported above, they might not
*** be the reason for the server aborting.
Fatal server error:
Caught signal 11. Server aborting
Please consult the The X.Org Foundation support
at http://wiki.X.Org
for help.
Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(II) Screen 0 shares mem & io resources
(II) Screen 1 shares mem & io resources
*** If unresolved symbols were reported above, they might not
*** be the reason for the server aborting.
FatalError re-entered, aborting
Caught signal 8. Server aborting
|
- die wiki bringt mich leider auch nicht weiter |
|
Back to top |
|
|
ian! Bodhisattva
Joined: 25 Feb 2003 Posts: 3829 Location: Essen, Germany
|
Posted: Tue Aug 24, 2004 11:07 pm Post subject: |
|
|
Um mal einen Beweis zu erbringen.. bei mir sieht das wie folgt aus:
http://62.75.252.192/private/composite/3.jpg _________________ "To have a successful open source project, you need to be at least somewhat successful at getting along with people." -- Daniel Robbins |
|
Back to top |
|
|
dakjo Veteran
Joined: 31 Jan 2004 Posts: 1544
|
Posted: Wed Aug 25, 2004 6:40 am Post subject: |
|
|
Muuaaahhh, krasse sache das .....
@ian! Ich dacht du stehst da eher auf ultimate stable ????? Ach ne is ja Bratpfanne _________________ 'Dieselben Naturkräfte, die uns ermöglichen, zu den Sternen zu fliegen, versetzen uns auch in die Lage, unseren Stern zu vernichten.' - Wernher von Braun
http://www.mpsna.de |
|
Back to top |
|
|
flo_02_mu n00b
Joined: 06 Aug 2004 Posts: 73
|
Posted: Wed Aug 25, 2004 8:05 am Post subject: |
|
|
LL0rd wrote: | emerge x11-misc/transset
gcc -O3 -mcpu=i686 -fomit-frame-pointer -march=athlon-xp `pkg-config --cflags xcomposite xfixes xdamage xrender` -c dsimple.c
/bin/sh: line 1: pkg-config: command not found
/bin/sh: line 1: pkg-config: command not found
mach ich da was falsch? |
Installier mal pkgconfig (emerge pkgconfig), das wird mittlerweile häufig verwendet um Linker-Flags mitzugeben die hier offensichtlich fehlen. |
|
Back to top |
|
|
Sas Veteran
Joined: 05 Jul 2003 Posts: 1229 Location: Germany
|
Posted: Wed Aug 25, 2004 10:01 am Post subject: |
|
|
Ja, is schon ne sexy Sache. Nur auf meinem Laptop ohne 3D-Beschleunigung verständlicherweise nicht so _________________ 42 |
|
Back to top |
|
|
Aldo Guru
Joined: 15 Jan 2003 Posts: 440 Location: Cologne, Germany
|
Posted: Wed Aug 25, 2004 11:16 am Post subject: |
|
|
LL0rd wrote: | ... -mcpu=i686 ... -march=athlon-xp |
Welchen Sinn macht diese Kombination in den CFLAGS?
Ist -march nicht dominant gegenüber -mcpu bzw. beinhaltet dieses Argument nicht schon? _________________ Abit A-N78-HD
Phenom 9750
8 GB Ram
Linux 2.6.29-gentoo
FreeBSD 7.2 |
|
Back to top |
|
|
Aproxx Apprentice
Joined: 25 Jul 2003 Posts: 272
|
Posted: Wed Aug 25, 2004 11:26 am Post subject: |
|
|
Danke für das Howto, ich werds am Abend ausprobieren.
Kann man die Transparenz auch so einstellen, das alle inaktiven Fenster eine gewisse Transparenz haben und das gerade aktive eine andere?
Mfg,
Alex |
|
Back to top |
|
|
Sas Veteran
Joined: 05 Jul 2003 Posts: 1229 Location: Germany
|
Posted: Wed Aug 25, 2004 11:47 am Post subject: |
|
|
Aldo wrote: | LL0rd wrote: | ... -mcpu=i686 ... -march=athlon-xp |
Welchen Sinn macht diese Kombination in den CFLAGS?
Ist -march nicht dominant gegenüber -mcpu bzw. beinhaltet dieses Argument nicht schon? | Siehst du schon richtig, das ist Quatsch. -march impliziert -mcpu. _________________ 42 |
|
Back to top |
|
|
|