Description: This is my first plugins for KDE4. The dimmer allows you to change the brightness of your lcd panel. If you have a laptop with nvidia featured graphic hardware, the NVClock backend is used. In other cases HAL is a possible backend, but untested yet. The information applet gives you some informations like temperature and will feature overlocking in future.
Features: - dimming via (HAL/Smartdimmer) - informations like temperature and clock/memory speed - autodimmer for auto dimming if laptop gets unplugged
Install (in directory of the applet): -type: "mkdir build" -type: "cd build" -type: "cmake .." + arguments for install pathes -type: "make" -type: "sudo make install"
- or use NEW install script
Needed: - Qt 4.5 (for layout) - cmake 2.6.4 (strongly needed now, because of a bug in cmake 2.6.2)Last changelog:
New since 0.1.1 (14.05.09): - install script - bug fixes
I wanted to try it... Anyway, for those of you with nVidia card, there is my simple widget for changing brightness:
http://kde-look.org/content/show.php/Nvidia+Brightness?content=114656
This is exactly what i needed, but the link its broken for me right now!.
I would like to see this pladmoid joined with the battery monitor pladmoid to change the brightness of my laptop with nvidia.
Is there anywhere else where i could download the plasmoid?
Thanks.
https://bugs.kde.org/show_bug.cgi?id=195775
has this been fixed?
Also is it possible to somehow make nvidia cards compliant with 'normal' brightness setting so that powerdevil works?
Thanks
Looks great, you could also check the kde powerdevil plasmoid, which has working that screen dimming with slider and maybe implement it for the hal backend. The powerdevil is tested and working, so you could take advantage of that...
I just want the lcd dimmer, i do not want to mess with the clock speed, while compiling NVCL_Plasmoid i got this error:
Quote:
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_FIND_LIBRARY_PREFIXES
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_FIND_LIBRARY_SUFFIXES
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_FIND_LIBRARY_PREFIXES
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_FIND_LIBRARY_SUFFIXES
-- Found Qt-Version 4.5.1 (using /usr/bin/qmake)
-- Found X11: /usr/lib/libX11.so
-- Phonon Version: 4.3.0
-- Found KDE 4.2 include dir: /usr/include
-- Found KDE 4.2 library dir: /usr/lib
-- Found the KDE4 kconfig_compiler preprocessor: /usr/bin/kconfig_compiler
-- Found automoc4: /usr/bin/automoc4
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
X11_PATH
linked by target "plasma_applet_NVDimmer" in directory /home/ace/System/KDE4/nv-applet/NV_APPLET/NVCL_Plasmoid
linked by target "plasma_applet_NVInfo" in directory /home/ace/System/KDE4/nv-applet/NV_APPLET/NVCL_Plasmoid
XEXT_PATH
linked by target "plasma_applet_NVDimmer" in directory /home/ace/System/KDE4/nv-applet/NV_APPLET/NVCL_Plasmoid
linked by target "plasma_applet_NVInfo" in directory /home/ace/System/KDE4/nv-applet/NV_APPLET/NVCL_Plasmoid
-- Configuring incomplete, errors occurred!
>>CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
>>Please set them or make sure they are set and tested correctly in the CMake files:
>>X11_PATH
>>XEXT_PATH
i created these variables to look for installed libraries. you need libXext and libXext-devel. Also you need libX11 and the devel packet.
>>CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
>>Please set them or make sure they are set and tested correctly in the CMake files:
>>X11_PATH
>>XEXT_PATH
i created these variables to look for installed libraries. you need libXext and libXext-devel. Also you need libX11 and the devel packet.
Hello,
I have tried version 0.1.2, and the no-return-in-nonvoid-function is fixed. Nice. :)
But the backend libraries from nvclock are not getting installed. When I try to install my RPM, libbackend.so is missing, which is needed.
The CMakeLists.txt of the backend seems to not include an install statement for the libraries.
Best greetings
Buschmann
oh you are right! my goal was to exclude backend library-installation. on my system it worked (but shouldn't, because the library gets build as a shared one). so i created a second bugfix release with static linked libraries. only the kde-plugins (*.so) get installed now and the backends are now static linked.
hmm complicated. i am not a cmake-pro. but i found that http://www.cmake.org/pipermail/cmake/2007-May/014350.html
i think its a 64bit problem, which only occurs if you use static libs (like me in this release). i will try to look for a solution, but i can't test it by miself ):
i added
IF( CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" )
SET_TARGET_PROPERTIES(bar PROPERTIES COMPILE_FLAGS "-fPIC")
ENDIF( CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" )
to my cmakefiles which build the static libraries. i guess this should work on 64 bit machines.
i had the idea to use static libs, because i dont want to mess up the systems with shared libs in /usr/lib(64) and so on and keep the cmakelists clean and easy to read. but i am not sure, whether this idea was a really good one...
thx and greetings
Hey, thanks for your efforts. :) Now the compiling works for me. :)
My packages for openSUSE can be found in the openSUSE Build Service:
http://software.opensuse.org/search?baseproject=ALL&p=1&q=plasmoid-nvdimmer
There might be found the previous version, because some of the underlying repositories are currently switched to KDE 4.3 Beta1.
However, I can't test it really, because my laptop seems to be not supported. It says: Smartdimmer is only supported on certain (HP/SamsungSony/Zepto) laptops using a Geforce 6200/7x00Go/8x00Go. If you want support on your laptop contact the author.
How can I help to support my laptop (HP Pavilion dv6153eu, GeForce 7200Go)?
there is the forum:
http://sourceforge.net/forum/?group_id=21335
there is a chance, that your card is supported in a new svn release too. i will check that some time.
hmm:
i looked into the sources. maybe you can try it the hard way and comment out:
if(!(nv_card->caps & SMARTDIMMER))
{
fprintf(stderr, "Error!\n");
fprintf(stderr, "Smartdimmer is only supported on certain (HP/SamsungSony/Zepto) laptops using a Geforce 6200/7x00Go/8x00Go. If you want support on your laptop contact the author.\n");
return 0;
}
in smartdimmer.c; recompile and test it with the smartdimmer executable. but i dont know what could happen. maybe the application crashes or your desktop crashes until next reboot. i think if it works for you the maintainer will start to add support for your laptop. or i will add a "force"-method into my al. greetings.
Also I have to adapt the CMakeFiles.txt files for nvclock, because x86_64 elf binaries (libnvcontrol.so and libbackend.so) become installed in /usr/lib, but should be installed in /usr/lib64.
Best greetings
Buschmann
Another thing rpm build checks are mentioning:
Quote:
I: A function overflows or underflows an array access. This could be a real error,
but occasionaly this condition is also misdetected due to loop unrolling or strange pointer
handling. So this is warning only, please review.
W: plasmoid-nvdimmer arraysubscript /usr/src/packages/BUILD/NV_APPLET/nvclock/backend/nv50.c:390
hmm, i am not the developer of the backend-lib. i was only on triing to write a better interface.
but my hd crashed one or two weeks ago and so i wasn't able to continue. at the moment i have some things to do, but i try to fix cmake-probs first.
Hello,
thank you for your answer. I have reported the array overflow/underflow upstream at nvclock project.
But there is also this problem, that prevents the building of the plasmoid in the OBS.
Quote:
already fixed, i will post new release soon. but no new features yet.
there were some problems:
-i have found a bug in cmake 2.6.2...
-i corrected some cmakelists
-i corrected your problems with infomanager
i wrote an install script and you need to have (cause of the bug) cmake 2.6.4
Ratings & Comments
33 Comments
I wanted to try it... Anyway, for those of you with nVidia card, there is my simple widget for changing brightness: http://kde-look.org/content/show.php/Nvidia+Brightness?content=114656
when the link is he restored?
This is exactly what i needed, but the link its broken for me right now!. I would like to see this pladmoid joined with the battery monitor pladmoid to change the brightness of my laptop with nvidia. Is there anywhere else where i could download the plasmoid? Thanks.
at the moment, my laptop is broken and i can't test it. but it seems to be a mistake which can easy get fixed.
https://bugs.kde.org/show_bug.cgi?id=195775 has this been fixed? Also is it possible to somehow make nvidia cards compliant with 'normal' brightness setting so that powerdevil works? Thanks
Looks great, you could also check the kde powerdevil plasmoid, which has working that screen dimming with slider and maybe implement it for the hal backend. The powerdevil is tested and working, so you could take advantage of that...
i did it that way, but i wasn't able to test that... i only have a nvidia card and wrote the code blind...
I just want the lcd dimmer, i do not want to mess with the clock speed, while compiling NVCL_Plasmoid i got this error: Quote:cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_FIND_LIBRARY_PREFIXES
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_FIND_LIBRARY_SUFFIXES
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_FIND_LIBRARY_PREFIXES
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_FIND_LIBRARY_SUFFIXES
-- Found Qt-Version 4.5.1 (using /usr/bin/qmake)
-- Found X11: /usr/lib/libX11.so
-- Phonon Version: 4.3.0
-- Found KDE 4.2 include dir: /usr/include
-- Found KDE 4.2 library dir: /usr/lib
-- Found the KDE4 kconfig_compiler preprocessor: /usr/bin/kconfig_compiler
-- Found automoc4: /usr/bin/automoc4
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
X11_PATH
linked by target "plasma_applet_NVDimmer" in directory /home/ace/System/KDE4/nv-applet/NV_APPLET/NVCL_Plasmoid
linked by target "plasma_applet_NVInfo" in directory /home/ace/System/KDE4/nv-applet/NV_APPLET/NVCL_Plasmoid
XEXT_PATH
linked by target "plasma_applet_NVDimmer" in directory /home/ace/System/KDE4/nv-applet/NV_APPLET/NVCL_Plasmoid
linked by target "plasma_applet_NVInfo" in directory /home/ace/System/KDE4/nv-applet/NV_APPLET/NVCL_Plasmoid
-- Configuring incomplete, errors occurred!
>>CMake Error: The following variables are used in this project, but they are set to NOTFOUND. >>Please set them or make sure they are set and tested correctly in the CMake files: >>X11_PATH >>XEXT_PATH i created these variables to look for installed libraries. you need libXext and libXext-devel. Also you need libX11 and the devel packet.
>>CMake Error: The following variables are used in this project, but they are set to NOTFOUND. >>Please set them or make sure they are set and tested correctly in the CMake files: >>X11_PATH >>XEXT_PATH i created these variables to look for installed libraries. you need libXext and libXext-devel. Also you need libX11 and the devel packet.
Hello, I have tried version 0.1.2, and the no-return-in-nonvoid-function is fixed. Nice. :) But the backend libraries from nvclock are not getting installed. When I try to install my RPM, libbackend.so is missing, which is needed. The CMakeLists.txt of the backend seems to not include an install statement for the libraries. Best greetings Buschmann
oh you are right! my goal was to exclude backend library-installation. on my system it worked (but shouldn't, because the library gets build as a shared one). so i created a second bugfix release with static linked libraries. only the kde-plugins (*.so) get installed now and the backends are now static linked.
Hm, doesn't work for me, I get: Quote:
cd /usr/src/packages/BUILD/NV_APPLET/builddir/NVCL_Plasmoid && /usr/bin/cmake -E cmake_link_script CMakeFiles/plasma_applet_NVInfo.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -fvisibility-inlines-hidden -O2 -DNDEBUG -DQT_NO_DEBUG -Wl,--enable-new-dtags -Wl,--fatal-warnings -Wl,--no-undefined -lc -Wl,-Bsymbolic-functions -shared -Wl,-soname,plasma_applet_NVInfo.so -o ../lib/plasma_applet_NVInfo.so CMakeFiles/plasma_applet_NVInfo.dir/plasma_applet_NVInfo_automoc.cpp.o CMakeFiles/plasma_applet_NVInfo.dir/nv_dimmerLayout.cpp.o CMakeFiles/plasma_applet_NVInfo.dir/nv_infoManager.cpp.o CMakeFiles/plasma_applet_NVInfo.dir/nv_coolbitsDialog.cpp.o CMakeFiles/plasma_applet_NVInfo.dir/nv_infoLayout.cpp.o CMakeFiles/plasma_applet_NVInfo.dir/nv_configDialog.cpp.o CMakeFiles/plasma_applet_NVInfo.dir/monitorbutton.cpp.o CMakeFiles/plasma_applet_NVInfo.dir/nv_InfoApplet.cpp.o -L/usr/src/packages/BUILD/NV_APPLET/builddir/nvclock/backend -L/usr/src/packages/BUILD/NV_APPLET/builddir/nvclock/nvcontrol /usr/lib64/libplasma.so.3.0.0 ../nvclock/backend/libbackend.a ../nvclock/nvcontrol/libnvcontrol.a -lsolidcontrol -lXext -lX11 /usr/lib64/libkdeui.so.5.2.0 -lQtSvg /usr/lib64/libkdecore.so.5.2.0 -lQtDBus -lQtCore -lpthread -lQtGui
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: ../nvclock/backend/libbackend.a(backend.c.o): relocation R_X86_64_32S against `nvclock' can not be used when making a shared object; recompile with -fPIC
../nvclock/backend/libbackend.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [lib/plasma_applet_NVInfo.so] Error 1
make[2]: Leaving directory `/usr/src/packages/BUILD/NV_APPLET/builddir'
make[1]: *** [NVCL_Plasmoid/CMakeFiles/plasma_applet_NVInfo.dir/all] Error 2
make[1]: Leaving directory `/usr/src/packages/BUILD/NV_APPLET/builddir'
make: *** [all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.78791 (%build)
openSUSE 11.1
KDE 4.2.3
libqt 4.5.1
cmake 2.6.4
gcc 4.3.3
hmm complicated. i am not a cmake-pro. but i found that http://www.cmake.org/pipermail/cmake/2007-May/014350.html i think its a 64bit problem, which only occurs if you use static libs (like me in this release). i will try to look for a solution, but i can't test it by miself ):
i added IF( CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" ) SET_TARGET_PROPERTIES(bar PROPERTIES COMPILE_FLAGS "-fPIC") ENDIF( CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" ) to my cmakefiles which build the static libraries. i guess this should work on 64 bit machines. i had the idea to use static libs, because i dont want to mess up the systems with shared libs in /usr/lib(64) and so on and keep the cmakelists clean and easy to read. but i am not sure, whether this idea was a really good one... thx and greetings
Hey, thanks for your efforts. :) Now the compiling works for me. :) My packages for openSUSE can be found in the openSUSE Build Service: http://software.opensuse.org/search?baseproject=ALL&p=1&q=plasmoid-nvdimmer There might be found the previous version, because some of the underlying repositories are currently switched to KDE 4.3 Beta1. However, I can't test it really, because my laptop seems to be not supported. It says: Smartdimmer is only supported on certain (HP/SamsungSony/Zepto) laptops using a Geforce 6200/7x00Go/8x00Go. If you want support on your laptop contact the author. How can I help to support my laptop (HP Pavilion dv6153eu, GeForce 7200Go)?
there is the forum: http://sourceforge.net/forum/?group_id=21335 there is a chance, that your card is supported in a new svn release too. i will check that some time.
hmm: i looked into the sources. maybe you can try it the hard way and comment out: if(!(nv_card->caps & SMARTDIMMER)) { fprintf(stderr, "Error!\n"); fprintf(stderr, "Smartdimmer is only supported on certain (HP/SamsungSony/Zepto) laptops using a Geforce 6200/7x00Go/8x00Go. If you want support on your laptop contact the author.\n"); return 0; } in smartdimmer.c; recompile and test it with the smartdimmer executable. but i dont know what could happen. maybe the application crashes or your desktop crashes until next reboot. i think if it works for you the maintainer will start to add support for your laptop. or i will add a "force"-method into my al. greetings.
Hello, when I try to build a package for openSUSE, the rpm build checks in the openSUSE Build Service complains about Quote:plasmoid-nvdimmer no-return-in-nonvoid-function /usr/src/packages/BUILD/NV_APPLET/NVCL_Plasmoid/nv_infoManager.cpp:117, 93
Also I have to adapt the CMakeFiles.txt files for nvclock, because x86_64 elf binaries (libnvcontrol.so and libbackend.so) become installed in /usr/lib, but should be installed in /usr/lib64.
Best greetings
Buschmann
Another thing rpm build checks are mentioning: Quote:
I: A function overflows or underflows an array access. This could be a real error,
but occasionaly this condition is also misdetected due to loop unrolling or strange pointer
handling. So this is warning only, please review.
W: plasmoid-nvdimmer arraysubscript /usr/src/packages/BUILD/NV_APPLET/nvclock/backend/nv50.c:390
hmm, i am not the developer of the backend-lib. i was only on triing to write a better interface. but my hd crashed one or two weeks ago and so i wasn't able to continue. at the moment i have some things to do, but i try to fix cmake-probs first.
Hello, thank you for your answer. I have reported the array overflow/underflow upstream at nvclock project. But there is also this problem, that prevents the building of the plasmoid in the OBS. Quote:
plasmoid-nvdimmer no-return-in-nonvoid-function /usr/src/packages/BUILD/NV_APPLET/NVCL_Plasmoid/nv_infoManager.cpp:117, 93
Best greetings
Buschmann
already fixed, i will post new release soon. but no new features yet. there were some problems: -i have found a bug in cmake 2.6.2... -i corrected some cmakelists -i corrected your problems with infomanager i wrote an install script and you need to have (cause of the bug) cmake 2.6.4
YOu need to add a NVIDIA logo.
hmm, next release i will, if i have a found a good svg.