[nekroman@nekroman ~]$ optirun glxgears
Error: nConfigOptions (16) does not match the actual number of options in
__driConfigOptions (10).
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 72 (X_PutImage)
Serial number of failed request: 33
Current serial number in output stream: 35
//edit:
Ok I’ve got it! It was wrong configuration of bumblebee. If you have same problem, just change paths in /etc/bumblbee/bumblebee.conf from /usr/lib/nvidia to /usr/lib/nvidia-bumblebee.
it is quite different what driver you start with (resp. 32-bit or 64-bit machine):
here is kernel 3.9 on Intel core-i-7 with Sandybridge and
[pearOS 7.0 (Ubuntu 12.10)] with Geforce CUDA Optimus 540M:
the driver package
NVIDIA_CUDA_SDK_1.1_Beta_Linux.run
is working proper here.
I only dont know where to get SDK_2.2 for Linux and knowing not too, if this package
is better than now ? Or is there a newer SDK-package for CUDA under Linux ???
sorry, the posting above is a bit “newbish” of myself - have seen now on nvidia.com
that SDK 1.1 as CUDA package for Linux is the newest at present.
And SDK 2.2 as CUDA packags is for Apple the newest at present.
— nv-procfs.c.orig 2013-05-27 18:51:04.361832467 -0430
+++ nv-procfs.c 2013-05-27 18:52:30.267642126 -0430
@@ -34,6 +34,27 @@
“provides a short text file with a short description of itself\n”
“in this directory.\n”;
+struct proc_dir_entry {
unsigned int low_ino;
umode_t mode;
nlink_t nlink;
kuid_t uid;
kgid_t gid;
loff_t size;
const struct inode_operations *proc_iops;
const struct file_operations *proc_fops;
struct proc_dir_entry *next, *parent, *subdir;
void *data;
atomic_t count; /* use count */
atomic_t in_use; /* number of callers into module in progress; */
/* negative -> it's going away RSN */
struct completion *pde_unload_completion;
struct list_head pde_openers; /* who did ->open, but not ->release */
spinlock_t pde_unload_lock; /* proc_fops checks and pde_users bumps */
andresu, one of the calls to NV_CREATE_PROC_FILE is wrapped in nv_procfs_add_text_file. I don’t see how you don’t end up with a single static struct file_operations that every caller for this shares, or how a simple cast is supposed to do anything about the different call signatures of the struct file_operations members and the deprecated struct proc_dir_entry members. Did you test the files under /proc with this patch?
Thanks unhelpful, but I don’t know what to do with the patched and extracted files…I can’t run the biinary file nvidia-installer inside the extracted directory, and --apply-patch complains that i don’t know what i’m doing (true). Do I re-archive the .run? How does that happen? Thanks for any help – I’m so close!
my super awesome 3.10 kernel with bcache is stuck in tty…sad…
i used the --apply-patch option and pointed it at the files with a copy and paste, which worked to make the -custom.run.
And it works! A reboot brings up X. thanks again unhelpful. i’m going to try it against the 319.23 now, which i’d been running on my gt 630.
# sh ./NVIDIA-Linux-x86_64-319.17.run --apply-patch nvidia-3.10-rc2.diff
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 319.17.....................................................................................................................................................................
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -ur -X - NVIDIA-Linux-x86_64-319.17-no-compat32.orig/kernel/nv-i2c.c NVIDIA-Linux-x86_64-319.17-no-compat32/kernel/nv-i2c.c
|--- NVIDIA-Linux-x86_64-319.17-no-compat32.orig/kernel/nv-i2c.c 2013-04-26 00:22:30.000000000 -0400
|+++ NVIDIA-Linux-x86_64-319.17-no-compat32/kernel/nv-i2c.c 2013-05-13 05:20:55.571981365 -0400
--------------------------
File to patch: kernel/nv-i2c.c
patching file kernel/nv-i2c.c
can't find file to patch at input line 35
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -ur -X - NVIDIA-Linux-x86_64-319.17-no-compat32.orig/kernel/nv-procfs.c NVIDIA-Linux-x86_64-319.17-no-compat32/kernel/nv-procfs.c
|--- NVIDIA-Linux-x86_64-319.17-no-compat32.orig/kernel/nv-procfs.c 2013-04-26 00:22:30.000000000 -0400
|+++ NVIDIA-Linux-x86_64-319.17-no-compat32/kernel/nv-procfs.c 2013-05-22 04:52:45.229495748 -0400
--------------------------
File to patch: kernel/nv-procfs.c
patching file kernel/nv-procfs.c
Adding files to archive named "NVIDIA-Linux-x86_64-319.17-custom.run"...
./32/
./32/libnvidia-encode.so.319.17
(adding files)
./libnvidia-glcore.so.319.17
CRC: 2048563996
MD5: 53e412c78d7ca4717313fd35a133dab6
Self-extractible archive "NVIDIA-Linux-x86_64-319.17-custom.run" successfully created.
the patch works on 319.23 with the same copy and paste of kernel/nv-i2c.c and kernel/nv-procfs.c to build a -319.23-custom.run which installs a working driver, uninstalling .17 along the way. Needed a killall gdm first.