注:本解決方案適用於使用N卡的PCweb
出現該錯誤 , 通常是因爲開源的nouveau驅動和Nvidia專有驅動衝突致使的 。在解決該問題時 , 嘗試過卸載 N 卡專有驅動 , 僅使用開源nouveau驅動 , vim
這樣作之後這個錯誤是沒有了, 可是OpenGL代碼執行起來之後出現了各類問題 , 對 shader 支持也很差 , 使用的時候會提示 僅支持低版本的 GLSL , 經過app
調用 glutInitContextVersion 指定了 OpenGL 版本後 錯誤提示沒有了 , 可是程序仍是不能正常工做 。 最後選擇卸載 nouveau , 轉而使用 N 卡 專有驅動 。ui
卸載 nouveau 驅動的 步驟以下:this
Before starting, you might want to know that nouveau is a project which aims to develop open source drivers for Nvidia cards. When you install Ubuntu, it detects your card and installs these drivers. Please note that, nouveau drivers manual removal is required only if you are going to install the propreitary nvidia drivers yourself. If this is not the case then directly install the required graphic drivers from System->Administration->Hardware drivers. Its the recommended and the most convenient way available. For our little endeavour, here is what we are going to do. We'll blacklist all the culprit modules, remove all the nvidia* packages and as an extra step we may have to update the initramfs disk because it could be configured to load the modules at startup. 1) Blacklist the modules. Open the blacklist.conf file. [shredder12]$ sudo vim /etc/modprobe.d/blacklist.conf add the following modules in the file. blacklist amd76x_edac #this might not be required for x86 32 bit users. blacklist vga16fb blacklist nouveau blacklist rivafb blacklist nvidiafb blacklist rivatv Save the file and exit. 2) Remove all the nvidia* packages [shredder12]$ sudo apt-get remove --purge nvidia* 3) Once you are done with the steps above, reboot, stop the display manager and try to install nvidia drivers. Press Ctrl-Alt-F1. Once you are in the text mode, stop the display manager. This will end all the applications, so you better close them yourself before completing this step. To stop the display manager use the following command [shredder12]$ sudo /etc/init.d/gdm stop gdm is for gnome display manager. If you are using kde then use 「kdm」. Now, run the driver package that you downloaded from Nvidia’s website. [shredder12]$ sudo ./NVIDIA-Linux-x86-260.19.44.run 4) If you still get the error related to nouveau drivers then you are probably required to update the initramfs disk. Probably it might be configured to load the nouveau drivers. Don't reboot or poweroff, run this command to update the initramfs disk. [shredder12]$ sudo update-initramfs -u Now reboot and repeat the step 3. This time things should go smoothly.
換上了專有驅動後 , 在 編譯選項中 指定 -L/usr/lib/nvidia-xxx/ , 讓連接器連接專有驅動提供的OpenGL庫 , 問題解決 。 blog