View previous topic :: View next topic |
Author |
Message |
diejengent n00b
Joined: 26 Sep 2012 Posts: 11
|
Posted: Sat Jan 12, 2013 11:05 am Post subject: nvidia drivers and TEXTRELs? |
|
|
Hello,
Please forgive stupid statements I might make, because I am a newbie.
I noticed that my multimedia apps 'suffer' with TEXRELs after being build.
So I used the command "scanelf -lpqt" and got the following list:
TEXTREL /usr/lib/libxvidcore.so.4.3
TEXTREL /usr/lib/libswscale.so.2.1.100
TEXTREL /usr/lib/libavfilter.so.2.61.100
TEXTREL /usr/lib/libnvidia-cfg.so.295.71
TEXTREL /usr/lib/libavdevice.so.53.4.100
TEXTREL /usr/lib/libADM5avformat.so.53
TEXTREL /usr/lib/libx264.so.120
TEXTREL /usr/lib/libADM5avutil.so.51
TEXTREL /usr/lib/libADM_coreImage.so
TEXTREL /usr/lib/libavutil.so.51.35.100
TEXTREL /usr/lib/libavformat.so.53.32.100
TEXTREL /usr/lib/libADM5postproc.so.51
TEXTREL /usr/lib/libnvidia-glcore.so.295.71
TEXTREL /usr/lib/libvdpau_nvidia.so.295.71
TEXTREL /usr/lib/libmpg123.so.0.36.3
TEXTREL /usr/lib/libXvMCNVIDIA.so.295.71
TEXTREL /usr/lib/libjavascriptcoregtk-1.0.so.0.13.4
TEXTREL /usr/lib/libnvidia-compiler.so.295.71
TEXTREL /usr/lib/libcuda.so.295.71
TEXTREL /usr/lib/libnvcuvid.so.295.71
TEXTREL /usr/lib/libADM5avcodec.so.53
TEXTREL /usr/lib/libADM5swscale.so.2
TEXTREL /usr/lib/libpostproc.so.52.0.100
TEXTREL /usr/lib/libswresample.so.0.6.100
TEXTREL /usr/lib/libavcodec.so.53.61.100
TEXTREL /usr/lib/opengl/nvidia/lib/libnvidia-tls.so.295.71
TEXTREL /usr/lib/opengl/nvidia/lib/libGL.so.295.71
So I am guessing that the root to this problem is with the nvidia drivers? I tried rebuilding the nvidia drivers with the -fPIC option in make.conf but that did not change anything.
I have 3 questions about this:
1) Are the nvidia drivers indeed the cause of this problem?
2) Can it be solved?
3) Are these TEXTREL really so bad? I mean, the multimedia apps are running quite good and fast.
Thanks in advance for answering my (stupid) questions.
EDIT1: I forgot to mention my graphics card: Nvidia GeForce Go 7600
EDIT2: when compiling the nvidia drivers I got the following message:
echo " ERROR: Kernel configuration is invalid."; \
echo " include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
Even when complying to these instructions, this error remains. |
|
Back to top |
|
|
causality Apprentice
Joined: 03 Jun 2006 Posts: 236
|
Posted: Thu Jan 17, 2013 1:21 am Post subject: |
|
|
A TEXTREL is a potential security issue, which is the reason why the output of "emerge nvidia-drivers" or similar tends to mention it. In this specific case, it is not "text" as in the text I am using to write this message. It refers to some of the executable code contained within the binary.
In a nutshell, binaries containing TEXTRELs are potentially easier for an attacker to exploit. While there are no guarantees whatsoever in computer security, it is rather unlikely that a remote attacker (over the network) is going to be able to access your compiled nvidia files. It is more along the lines of something that a local user (who already has an account on your system) might use to attempt a privilege escalation exploit (to gain root).
The presence of the TEXTRELs is something that would properly be changed by upstream (by nvidia corp. in this case).
More information can be found at these two links:
Gentoo PaX Documentation: http://www.gentoo.org/proj/en/hardened/pax-utils.xml
Position Independent Executables, Musings: http://blog.fpmurphy.com/2008/06/position-independent-executables.html
Regarding your emerge message with all the "echo" statements in front: If the emerge of nvidia-drivers succeeded and they were installed, you can ignore the message about the kernel configuration. You will see it each time you "emerge nvidia-drivers". This is normal.
It has a conditional ("if" statement) before it that only actually triggers if you really have a kernel config that is not yet ready. If your kernel config has been prepared and is ready for nvidia-drivers to link against, you will see merely the block of code that checks for this error being echo'ed to your screen. If the emerge is not failing, then that is all you are seeing. |
|
Back to top |
|
|
diejengent n00b
Joined: 26 Sep 2012 Posts: 11
|
Posted: Fri Jan 18, 2013 11:20 am Post subject: |
|
|
Thank you very much for answering me!
Security is not a problem, I am really the only user on the laptop.
Since these textrels happen in pretty important builds (like libavcodec and libx264), I still have a question about it:
Will these libraries/binaries suffer from performence because of the textrels? |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Fri Jan 18, 2013 1:50 pm Post subject: |
|
|
diejengent wrote: | Security is not a problem, I am really the only user on the laptop |
Do you have internet access? Especially do you use a browser or maybe even plugins of that browser? Then security is an issue for you since experience shows that it is very likely that your browser/plugins has exploits. And once the browser user can become root, you have a much more severe problem...
Avoiding TEXTRELs costs a little bit of performance (on x86 a bit more than on amd64) but not really severe. |
|
Back to top |
|
|
|