Skip to content

samsung gnome 3.2 brightness refresh problem

November 19, 2011

 
L’ultima versione di Gnome non funziona molto bene con molti portatili e netbook Samsung, in particolare quando vengono utilizzati da batteria.
 
Il problema riguarda il plugin di power manager che non riesce, su molti di questi portatili, ad aggiornare il valore di luminosità dello schermo, causando dei blocchi continui e diminuendo la reattività dell’intero sistema.
 

 
Il bug e la relativa soluzione sono già noti e si trovano a questo link. Per risolvere il problema quindi, o si aspetta che la patch venga inclusa in una prossima versione del pacchetto, oppure si cerca di applicarla con gli strumenti che si hanno a disposizione.
 
Sulla mitica Arch, con il mitico tool abs, effettuare delle modifiche ad un sorgente di un programma per poi installarlo sul sistema è un gioco da ragazzi e ci si mette 5 minuti cronometrati, tempo per la modifica e che abs aggiorni tutti i vari PKGBUILD per permettere il reperimento del pacchetto e, appunto, la modifica.
 
Ma openSuse 12.1 (e il mondo Suse) sinceramente non la conosco ancora bene e quindi, anche per mia ignoranza, anzi sicuramente per mia ignoranza, ho optato per la classica via del male.
 
La cattiva strada. Il sentiero che non si sa dove potrebbe portare.
 
./configure
make
make install

 
Perchè il problema (se così lo possiamo definire) di compilare un pacchetto in pure mode si presenta, al 99.9%, nella nota fase di configure dove uno cerca, finchè può, di soddisfare tutte le dipendenze di librerie e devel che un pacchetto può richiedere per la compilazione.
 
Per una volta tanto, in una buona mezz’oretta, sono riuscito a soddisfare tutte le dipendenze che il pacchetto richiedeva. Urrà.
 
Quindi,

  1. procuriamoci il pacchetto gnome-settings-daemon-3.2.1-2.2.1.src.rpm da software.opensuse.org, ed estraiamolo in una directory a piacere (es /tmp)
  2. una volta decompresso, per applicare la patch basta editare la riga 2662 di gnome-settings-daemon-3.2.0/plugins/power/gsd-power-manager.c (su Suse la riga 2635 è già aggiornata)
    @@ -2662,6 +2663,9 @@
                     }
                     if (!ret) {
                             g_debug ("not dimming due to policy");
    +                        /* save current brightness nonetheless */
    +                        now = backlight_get_abs (manager, &error);
    +                        manager->priv->pre_dim_brightness = now;
                             return;
                     }
  3. salvate le modifiche, ./configure.
  4. Ovviamente, buona installazione,
    # cat /var/log/zypper.log | cut -d'|'  -f3
    
    ....
    linux-glibc-devel
    glibc-devel
    gcc46
    gcc
    cvs
    gettext-tools
    intltool
    gsettings-desktop-schemas-devel
    dbus-1-devel
    gio-sharp-devel
    glib2-devel
    libcairo-script-interpreter2
    libpciaccess0-devel
    libpixman-1-0-devel
    libuuid-devel
    xorg-x11-proto-devel
    zlib-devel
    gconf2-devel
    dbus-1-glib-devel
    atk-devel
    xorg-x11-xtrans-devel
    xorg-x11-util-devel
    xorg-x11-libfontenc-devel
    xorg-x11-libXdmcp-devel
    xorg-x11-libXau-devel
    xorg-x11-fonts-devel
    libpng14-devel
    freetype2-devel
    xorg-x11-libICE-devel
    xorg-x11-libxcb-devel
    libpng14-compat-devel
    gdk-pixbuf-devel
    fontconfig-devel
    xorg-x11-libSM-devel
    xorg-x11-libX11-devel
    xorg-x11-libxkbfile-devel
    xorg-x11-libXt-devel
    xorg-x11-libXrender-devel
    xorg-x11-libXfixes-devel
    xorg-x11-libXext-devel
    cairo-devel
    xorg-x11-libXv-devel
    xorg-x11-libXpm-devel
    xorg-x11-libXp-devel
    xorg-x11-libXmu-devel
    libXi6-devel
    xorg-x11-libXprintUtil-devel
    xorg-x11-devel
    pango-devel
    gtk3-devel
    gnome-desktop2
    gnome-desktop2
    libgnome-desktop-3-devel
    color-filesystem
    shared-color-profiles
    icc-profiles-scp-yamma
    icc-profiles-scp-fogra
    icc-profiles-scp-argyll
    icc-profiles-openicc-rgb
    icc-profiles-lcms-lab
    icc-profiles-basiccolor-printing2009-coat2
    icc-profiles-basiccolor-lstarrgb
    colord
    icc-profiles-mini
    icc-profiles
    colord
    liblcms2-devel
    libcolord-devel
    libnotify-devel
    tack
    ncurses-devel
    readline-devel
    libxml2-devel
    libxklavier-devel
    libgnomekbd-devel
    libupower-glib-devel
    keyutils-devel
    libcom_err-devel
    libopenssl-devel
    krb5-devel
    cups-devel
    make
    site-config
  5. make, make install, alt+F2, “r”

 

Advertisement

From → opensuse, post, xorg

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s