Hi,
do you know where approximately could I find this nvidia-bug-report.sh ?
I found the nvidia-bug-repost.sh, but it is too big to copy. Here is the half of that file:
#!/bin/sh
PATH="/sbin:/usr/sbin:$PATH"
BASE_LOG_FILENAME="nvidia-bug-report.log"
# check if gzip is present
GZIP_CMD=`which gzip 2> /dev/null | head -n 1`
if [ $? -eq 0 -a "$GZIP_CMD" ]; then
GZIP_CMD="gzip -c"
else
GZIP_CMD="cat"
fi
DPY="$DISPLAY"
[ "$DPY" ] || DPY=":0"
set_filename() {
if [ "$GZIP_CMD" = "gzip -c" ]; then
LOG_FILENAME="$BASE_LOG_FILENAME.gz"
OLD_LOG_FILENAME="$BASE_LOG_FILENAME.old.gz"
else
LOG_FILENAME=$BASE_LOG_FILENAME
OLD_LOG_FILENAME="$BASE_LOG_FILENAME.old"
fi
}
if [ -d /proc/driver/nvidia -a ! -f /proc/driver/nvidia/version ]; then
proc_module_dirs=`ls /proc/driver/nvidia/`
module_names="nvidia-frontend"
for instance in $proc_module_dirs; do
module_names="$module_names nvidia$instance"
done
else
proc_module_dirs="."
module_names="nvidia"
fi
usage_bug_report_message() {
echo "Please include the '$LOG_FILENAME' log file when reporting"
echo "your bug via the NVIDIA Linux forum (see devtalk.nvidia.com)"
echo "or by sending email to 'linux-bugs@nvidia.com'."
}
usage() {
echo ""
echo "$(basename $0): NVIDIA Linux Graphics Driver bug reporting shell script."
echo ""
usage_bug_report_message
echo ""
echo "$(basename $0) [OPTION]..."
echo " -h / --help"
echo " Print this help output and exit."
echo " --output-file <file>"
echo " Write output to <file>. If gzip is available, the output file"
echo " will be automatically compressed, and \".gz\" will be appended"
echo " to the filename. Default: write to nvidia-bug-report.log(.gz)."
echo " --safe-mode"
echo " Disable some parts of the script that may hang the system."
echo ""
}
NVIDIA_BUG_REPORT_CHANGE='$Change: 20295806
NVIDIA_BUG_REPORT_VERSION=`echo "$NVIDIA_BUG_REPORT_CHANGE" | tr -c -d "[:digit:]"`
# Set the default filename so that it won't be empty in the usage message
set_filename
# Parse arguments: Optionally set output file, run in safe mode, or print help
BUG_REPORT_SAFE_MODE=0
SAVED_FLAGS=$@
while [ "$1" != "" ]; do
case $1 in
-o | --output-file ) if [ -z $2 ]; then
usage
exit 1
elif [ "$(echo "$2" | cut -c 1)" = "-" ]; then
echo "Warning: Questionable filename"\
"\"$2\": possible missing argument?"
fi
BASE_LOG_FILENAME="$2"
# override the default filename
set_filename
shift
;;
--safe-mode ) BUG_REPORT_SAFE_MODE=1
;;
-h | --help ) usage
exit
;;
* ) usage
exit 1
esac
shift
done
#
# echo_metadata() - echo metadata of specified file
#
echo_metadata() {
printf "*** ls: "
/bin/ls -l --full-time "$1" 2> /dev/null
if [ $? -ne 0 ]; then
# Run dumb ls -l. We might not get one-second mtime granularity, but
# that is probably okay.
ls -l "$1"
fi
}
#
# append() - append the contents of the specified file to the log
#
append() {
(
echo "____________________________________________"
echo ""
if [ ! -f "$1" ]; then
echo "*** $1 does not exist"
elif [ ! -r "$1" ]; then
echo "*** $1 is not readable"
else
echo "*** $1"
echo_metadata "$1"
cat "$1"
fi
echo ""
) | $GZIP_CMD >> $LOG_FILENAME
}
#
# append_silent() - same as append(), but don't print anything
# if the file does not exist
#
append_silent() {
(
if [ -f "$1" -a -r "$1" ]; then
echo "____________________________________________"
echo ""
echo "*** $1"
echo_metadata "$1"
cat "$1"
echo ""
fi
) | $GZIP_CMD >> $LOG_FILENAME
}
#
# append_glob() - use the shell to expand a list of files, and invoke
# append() for each of them
#
append_glob() {
for i in `ls $1 2> /dev/null;`; do
append "$i"
done
}
#
# append_file_or_dir_silent() - if $1 is a regular file, append it; otherwise,
# if $1 is a directory, append all files under it. Don't print anything if the
# file does not exist.
#
append_file_or_dir_silent() {
if [ -f "$1" ]; then
append "$1"
elif [ -d "$1" ]; then
append_glob "$1/*"
fi
}
#
# append_binary_file() - Encode a binary file into a ascii string format
# using 'base64' and append the contents output to the log file
#
append_binary_file() {
(
base64=`which base64 2> /dev/null | head -n 1`
if [ $? -eq 0 -a -x "$base64" ]; then
if [ -f "$1" -a -r "$1" ]; then
echo "____________________________________________"
echo ""
echo "base64 \"$1\""
echo ""
base64 "$1" 2> /dev/null
echo ""
fi
else
echo "Skipping $1 output (base64 not found)"
echo ""
fi
) | $GZIP_CMD >> $LOG_FILENAME
}
#
# search_string_in_logs() - search for string $2 in log file $1
#
search_string_in_logs() {
if [ -f "$1" ]; then
echo ""
if [ -r "$1" ]; then
echo " $1:"
grep "$2" "$1" 2> /dev/null
return 0
else
echo "$1 is not readable"
fi
fi
return 1
}
#
# Start of script
#
# check that we are root (needed for `lspci -vxxx` and potentially for
# accessing kernel log files)
if [ `id -u` -ne 0 ]; then
echo "ERROR: Please run $(basename $0) as root."
exit 1
fi
# move any old log file (zipped) out of the way
if [ -f $LOG_FILENAME ]; then
mv $LOG_FILENAME $OLD_LOG_FILENAME
fi
# make sure what we can write to the log file
touch $LOG_FILENAME 2> /dev/null
if [ $? -ne 0 ]; then
echo
echo "ERROR: Working directory is not writable; please cd to a directory"
echo " where you have write permission so that the $LOG_FILENAME"
echo " file can be written."
echo
exit 1
fi
# print a start message to stdout
echo ""
echo "nvidia-bug-report.sh will now collect information about your"
echo "system and create the file '$LOG_FILENAME' in the current"
echo "directory. It may take several seconds to run. In some"
echo "cases, it may hang trying to capture data generated dynamically"
echo "by the Linux kernel and/or the NVIDIA kernel module. While"
echo "the bug report log file will be incomplete if this happens, it"
echo "may still contain enough data to diagnose your problem."
echo ""
usage_bug_report_message
echo ""
echo -n "Running $(basename $0)...";
# print prologue to the log file
(
echo "____________________________________________"
echo ""
echo "Start of NVIDIA bug report log file. Please include this file, along"
echo "with a detailed description of your problem, when reporting a graphics"
echo "driver bug via the NVIDIA Linux forum (see devtalk.nvidia.com)"
echo "or by sending email to 'linux-bugs@nvidia.com'."
echo ""
echo "nvidia-bug-report.sh Version: $NVIDIA_BUG_REPORT_VERSION"
echo ""
echo "Date: `date`"
echo "uname: `uname -a`"
echo "command line flags: $SAVED_FLAGS"
echo ""
) | $GZIP_CMD >> $LOG_FILENAME
As to installation of drivers, I used
sudo apt-get install nvidia-361
.
Later I just went “System>Preferences>HArdware>Additional drivers” and there I also changed the drivers from "using X Org XServer… " to “Using NVIDIA binary driver -version 361.42 from nvidia 361 (proprietary, tested)”.
If this helps, the output of
sudo nvidia-xconfig
is:
WARNING: Unable to locate/open X configuration file.
Package xorg-server was not found in the pkg-config search path.
Perhaps you should add the directory containing `xorg-server.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xorg-server' found
New X configuration file written to '/etc/X11/xorg.conf'
When I now check the contents of /etc/X11/xorg.conf , I see:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 361.42 (buildmeister@swio-display-x64-rhel04-13) Tue Mar 22 18:37:28 PDT 2016
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection