適用於 3.2.9 核心的 NVidia 驅動程序
我將我的 OpenSUSE 12.1 64 位核心從 3.1.9 升級到 3.2.9,當我重新啟動時,X-windows 拒絕啟動,我進入了 shell。我嘗試使用 手動執行它
startx
,但仍然不行。我設法通過刪除 NVidia 驅動程序使 X-windows 工作(我有最新版本)。當我嘗試重新安裝它時,安裝程序抱怨驅動程序是使用 GCC 4.5 編譯的,因此與使用 GCC 4.6 編譯的核心不兼容。我認為可以安全地假設這就是它最初不起作用的原因……
從 bumblebee 儲存庫安裝 NVidia 驅動程序(最初我是
NVIDIA-Linux-x86_64-295.20.run
從 NVidia 站點的安裝程序安裝的)也不起作用(這次我只是黑屏,必須使用故障安全模式來刪除該驅動程序)。現在,我知道 Linux 的 NVidia 驅動程序不是開源的,所以我無法自己編譯它,但有沒有其他方法可以讓它與最新的核心一起工作,還是我必須等待 NVidia發布 GCC 4.6 編譯核心的新版本?
更新
我已經郵寄給 NVidia,他們的技術支持注意到我理解錯誤消息錯誤。NVidia 驅動程序是使用 GCC 4.6 編譯的——它是使用 GCC 4.5 編譯的 Linux 核心。
所以,解決方案很明確 - 我需要編譯自己的核心……
有一個解決方案肯定會完成這項工作,但它可能會很痛苦。用編譯安裝
kernel
你需要的GCC 4.5
,然後安裝NVidia driver
.這將是困難的,因為編譯一個自己
kernel
的幾乎從來都不是一件容易的事,即使configfile
是可以達到的。可能您的系統包含需要kernel
編譯GCC 4.6
的組件 - 這些組件將無法正常工作或根本無法工作。這里安全的選擇是將問題報告給
NVidia
舊的,然後等待kernel
。我問了一個從這個問題中出現的問題here。
更新:上述問題的答案已經到來,它的重要部分是:
您可以修補二進製文件中的版本字元串。這將欺騙核心載入模組,但有導致內部資料結構數據損壞的風險。