Archive

Archive for the ‘Composited desktop’ Category

Film op achtergrond in AIGLX en Glucose-2

July 7th, 2007 Wesley No comments

Het oude xwinwrap programma (van David Reveman, hoofdontwikkelaar compiz) om films af te spelen op je bureaublad werkt ook met AIGLX. Op veel sites lees ik dat het niet mogelijk is om xwinwrap te gebruiken in AIGLX. Maar dat is dus niet helemaal waar.

Het heeft gewoon niet dezelfde mogelijkheden vanwege een gebrek aan OpenGL en Xv ‘forwarding’ in AIGLX, en dus zijn er wel beperkingen:

  • 3D programma’s (screensavers) kunnen niet op een correcte manier geforward worden en zijn dus ook onbruikbaar in xwinwrap
  • Xv kan niet op een correcte manier geforward worden en dus moet X11 gebruikt worden in combinatie met softwarematige video herschaling

Dit xwinwrap commando (no input, opacity 100%, fullscreen, sticky, no focus, skip pager, background) gebruikt mplayer met de X11 video uitvoer driver en herschaalt de video naar de opgegeven resolutie (vf scale). Verder wordt ook de kwaliteit van de softwarematige herschaling verhoogd (sws), de grootte van eventuele ondertitels aangepast (subfont-text-scale) en de ondertiteling naar boven verplaatst (subpos; anders staat de ondertiteling onder mijn kicker paneel)

xwinwrap -ni -o 1.0 -fs -s -st -sp -b -nf — mplayer -wid WID -quiet videofragment.avi -vo x11 -vf scale=1024:768 -subfont-text-scale 2 -subpos 90

PS: Ik heb de ontwikkelaar van Glucose gemaild (Zack Rusin, een Qt/KDE ontwikkelaar) en hij heeft me laten weten dat er gewerkt wordt aan een tweede Glucose branch. Deze tweede branch wordt voornamelijk beheerd door Alan Hourihane.

Glucose wordt de lijm tussen OpenGL, Xv en Aiglx :)

Anyway, hier is de mail (13 juni 2007) van Zack:

right now glucose-2 is the official branch. Alan is the main person working on it at the moment. From what he told me it’s working pretty nicely for him. In about a month I’m planning sit down with him to finish it up and try to get some of the other drivers on it. I wanted to do a little work on Mesa beforehand though (mainly implement robust shading framework for it).

VN:F [1.6.3_896]
Rating: 0 (from 0 votes)
Categories: Composited desktop, Linux

KDE 4: KWin

July 4th, 2007 Wesley No comments

KDE 4 wordt de nieuwe incarnatie van de KDE desktopomgeving. De ontwikkelaars achter KDE zijn druk bezig met het ontwikkelen van deze nieuwe versie. KDE 4 zal bestaan uit verscheidene subprojecten.

De belangrijkste projecten voor KDE 4 zijn: Plasma, Phonon, Solid, Decibel, Kross, Dolphin, Oxygen en een nieuwe versie van KWin.

Vandaag bekijken we wat KWin precies is
en wat de nieuwste ontwikkelingen zijn in KWin.

Wat is KWin?

KWin is de vensterbeheerder van KDE. Een vensterbeheerder (of window manager) is een programma dat voor de vensteromranding zorgt bij programma’s en ervoor zorgt dat je meerdere vensters kan beheren (wisselen tussen vensters).

Vernieuwing

KWin bestaat al sinds de eerste versie van KDE (zonder vensterbeheerder heb je namelijk geen controle over de verschillende vensters), maar in KDE 4 wordt KWin uitgebreid met composite mogelijkheden.

Compowatte?

Een composite window manager of composite vensterbeheerder is een vensterbeheerder die de mogelijkheden van de grafische kaart kan exploiteren om de vensters te genereren en verschillende vensters soepel met elkaar te integreren.

Klinkt op het eerste zicht misschien saai, maar dat is het zeker niet. Met composite mogelijkheden worden er namelijk een heleboel interessante visuele effecten mogelijk.

Denk aan transparante vensters, herschaalde vensters naast elkaar weergeven, vensters verkleuren…

Voorbeelden

Hier zijn een paar Youtube video’s van de huidige stand van zaken met KWin. Opgelet: de video’s zijn ondertussen wel al twee maanden oud

Desktop Grid Effect Desktop Grid Effect * Op een gebruikersvriendelijke manier wisselen van virtueel bureaublad is heel eenvoudig met het Desktop Grid Effect in de nieuwe KWin.
Present Windows Effect Present Windows Effect * Op dezelfde manier kunnen ook alle vensters naast elkaar weergegeven worden. Best handig. Als extraatje kan je filteren op venstertitel.
Zoom Effect Zoom + Magnifier Effect * Een vergrote weergave die je muiscursor volgt, of een virtueel vergrootglas. Zeer handig voor presentaties of voor mensen met een visuele handicap.
Dim Inactive Effect Dim Inactive + Dialog Parent Effect * Inactieve vensters kunnen donkerder gekleurd worden om duidelijk te maken welk venster actief is. Ook dialoogvensters van een ander venster (subvensters) kunnen het onderliggende venster (parent window) verkleuren.
Fall Apart Effect Fall Apart Effect * Vensters kunnen uit elkaar vallen (lijkt op een soort van kleine ontploffing) bij het sluiten van vensters. Want eyecandy is natuurlijk ook nodig

Zoals je kan zien voegen de meeste effecten extra functionaliteit en gebruikersvriendelijkheid toe aan KDE. En dat op een aangename visuele manier.

Hoe zit het dan met Compiz, Beryl en Compiz-Fusion?

Eerst en vooral moet duidelijk worden gemaakt dat alle Beryl ontwikkelaars nu aan het Compiz-Fusion project werken en dat Beryl dus niet meer verder ontwikkeld wordt. Maar ik heb het toch in het subtiteltje laten staan, omdat nog heel veel mensen Beryl kennen, maar niet weten dat het nu eigenlijk Compiz-Fusion is geworden. Lees deze blogpost door als je er meer over wil weten.

Het gebruik van Compiz (of Compiz-Fusion) zal waarschijnlijk nog steeds mogelijk zijn onder KDE 4, maar mensen die liever alle uitgebreide mogelijkheden van KWin blijven gebruiken kunnen nu genieten van de oorspronkelijke KWin, uitgebreid met zijn eigen composite effecten.

De reden dat er werd gekozen voor een uitbreiding van KWin in plaats van Compiz(-Fusion) is omdat het heel moeilijk zou zijn om alle mogelijkheden van KWin in Compiz(-Fusion) te integreren. Composite ondersteuning en bijhorende visuele effecten toevoegen aan KWin is volgens de ontwikkelaars makkelijker en zo zijn ze ook zeker van een stabiele basis (de huidige KWin basis).

Een aantal effecten zullen echter gewoon gekopieerd worden van Compiz(-Fusion).

Plugin systeem

De effecten die KWin gebruikt werken via plugins, net zoals bij Compiz(-Fusion). Hierdoor zal het mogelijk zijn voor externe ontwikkelaars om extra plugins te ontwikkelen en gebruiken in KWin.

Dit zal er wellicht ook voor zorgen dat heel wat Compiz(-Fusion) plugins geport worden naar KWin door externe ontwikkelaars.

Prestaties

Volgens enkele alphatesters van de nieuwe KWin voelt de composite ondersteuning momenteel nog trager aan dan Compiz(-Fusion). Er moet wel gezegd worden dat ook deze informatie meer dan een maand verouderd is en dat KWin nog niet geoptimaliseerd werd voor snelheid (dat komt later nog wel). Ik ben ervan overtuigd dat de uiteindelijke release van KDE 4 een supersnelle KWin met composite ondersteuning zal hebben.

KWin voorziet wel in de mogelijkheid om terug te vallen op XRender wanneer GL niet beschikbaar is en zodoende nog een aantal lichte grafische effecten toe te laten. Als XRender ook niet beschikbaar is, wordt er teruggevallen op standaard X rendering (standaard KWin zonder composite ondersteuning)

Bronnen: KDE Dot News, YouTube

VN:F [1.6.3_896]
Rating: 0 (from 0 votes)
Categories: Composited desktop, KDE, Linux

Beryl code: Switcher tekst verbetering

November 1st, 2006 Wesley No comments

Tada :)

Verbeteringen aan het algoritme om de tekst te schalen in de Switcher.
Werkt nu zoals het hoort met praktisch elk lettertype/lettergrootte.

voor de patch:

Switcher

na de patch:

Switcher

Verbeteringen aan de code zijn van kracht in beryl-svn vanaf r898
edit: kleine update aan de vorige patch zit in r899 (hardgecodeerde nummers vervangen door betere, compactere code)

VN:F [1.6.3_896]
Rating: 0 (from 0 votes)

Beryl Code: Center/Pointer Split, Mystic Fire

October 30th, 2006 Wesley No comments

Center/Pointer Split

Ik heb voorlopig een patch voor mezelf gemaakt die het mogelijk maakt om in plaats van 1 globale “Zoom from Center” variabele 4 verschillende animations te hebben die we kunnen gebruiken voor verschillende acties/windowtypes.

De patch zal niet officieel worden geupload op SVN, omdat het slechts een tijdelijke patch is die uiteindelijk weer ongedaan moet gemaakt worden als het instellingensysteem van animations.c uitgebreid wordt. Tegen die tijd zal Magic Lamp 1 en 2 ook gewoon 1 globale Magic Lamp animatie worden met meer uitgebreide mogelijkheden per actie/windowtype.

Anyway, de voorlopige patch is hier te vinden: http://pastebin.mozilla.org/1097
Het is een .diff tegenover SVN revisie r877

Mystical Fire

Iemand op het Beryl forum had een patch geschreven om het vlammeneffect in animations.c willekleurige kleuren te geven, wat een leuk effect als gevolg had:

Mystic Fire

Het effect was jammer genoeg hardgecodeerd in de code door toxicgonzo, maar ik heb samengewerkt met toxicgonzo om dit effect een extra optie te maken in de bestaande programmacode en het is nu reeds in de officiële SVN verschenen als een extra optie in het configuratiescherm van Beryl sinds revisie r878

VN:F [1.6.3_896]
Rating: 0 (from 0 votes)

Smooth Cube Patch

October 15th, 2006 Wesley 1 comment

Ik heb een patch geschreven voor rotate.c (Rotate Cube plugin) om overal een vloeiende beweging van de draaiende kubus te krijgen.

Ik heb dit gefixt door timestep afhankelijk te maken van automatische (kubus ronddraaien met toetsenbord sneltoetsen) of manuele rotatie (kubus ronddraaien met muis)

Voor de patch was er 1 algemene timestep variabele, en dan had je maar 2 mogelijkheden:

  • timestep < 1
    • automatische rotatie: vloeiend, zonder terugkaatsing (bounce)
    • manuele rotatie: abrupte beëindiging van de beweging van de kubus zodra je de muis stil houdt
  • timestep > 1
    • automatische rotatie: ongewenst terugkaatsingseffect (bounce)
    • manuele rotatie: korte vloeiende glijbeweging van de kubus als je de muis stilhoudt

Met deze patch is het nu mogelijk om timestep < 1 te gebruiken voor automatische rotatie en timestep > 1 te gebruiken voor manuele rotatie. De waarden voor automatische en manuele timestep zijn natuurlijk gewoon aan te passen in beryl-settings-manager.

De patch tegenover svn r643:

Patch file (.diff) for rotate.c r643

Edit: Patch is niet meer nodig bij een nieuwe svn update!
De patch is geaccepteerd in svn r647

VN:F [1.6.3_896]
Rating: 0 (from 0 votes)

Powered by Beryl-svn

October 13th, 2006 Wesley No comments

Powered by BerlBeryl 0.1.0 werd 2 weken geleden uitgebracht en ondertussen zijn er weer een heleboel verbeteringen/vernieuwingen aangebracht in de development (svn) versie van Beryl.

Cornelius heeft weer een uitstekende job gedaan met zijn Animation Effects plugin.

screenshots van Animation Effects:

Magic Lamp Dream
Sidekick Wave

Het laatste nieuws omtrent Beryl kan je volgen op de officiële Beryl blog, die ik samen met nog 2 andere personen beheer: http://blog.beryl-project.org/

Als je nog niet weet wat Beryl is, dan wordt dat hoog tijd :) Beryl is een fork van Compiz, een “compositing window manager” ….of kort gezegd: Leuke 3D effecten op je desktop :)

VN:F [1.6.3_896]
Rating: 0 (from 0 votes)
Categories: Composited desktop, Linux