03/23/2013 筆記

不知道有沒有人遇過這般如此駭人的畫面:

 

 

這個故事要從去年 DR 為了 MechWarrior Online 的緣故買了張 GeForce GTX 560 Ti 說起,剛開始用時覺得一切正常,唯一的例外是偶爾在 Windows 7 上用 Mozilla Firefox 上網時會突然出現如上圖(雖然那張照片是 Fedora 17,不是 Windows)般整個畫面佈滿色塊的狀況,接著畫面會恢復正常,然後 Windows 會出現「驅動程式已重新載入」之類的訊息。

 

由於 DR 使用 Windows 主要是玩遊戲,其餘大部分的工作都是在 Fedora、也就是 Linux 系統上進行的。因此 DR 在第一時間覺得這個偶發性的錯誤並沒有造成什麼困擾,而且那些大型的 3D 遊戲跑起來都沒有什麼問題,於是就猜想這也許是驅動程式的 bug 之類的。

 

然而後來 DR 就發現這個偶發性的錯誤也會出現在 Linux 上,而且狀況更糟,Linux 的畫面佈滿色塊時並不會像 Windows 會嘗試重新載入驅動程式,而是直接當在那邊。Ctrl + Alt + Backspace 有時候會有作用,會看到 X Window 重新啟動,但色塊還是存在著,並且鍵盤與滑鼠的反應都很慢,最後只能直接重開機了事。

 

所以這個問題變成了 Windows 和 Linux 共有的問題,但 DR 卻沒有因此直接就把問題的肇因指向硬體、例如顯示卡本身。這是因為不僅在玩 3D 遊戲時沒有任何問題,事實上在 DR 的印象裡,無論是 Windows 還是 Linux,這個詭異的驅動程式崩潰只發生在網頁瀏覽器正在運作時。

 

DR 所使用的網頁瀏覽器有兩款:在 Windows 上都是用 Firefox,在 Linux 上目前主要用的是 Google Chrome,至於為什麼會選擇不同的瀏覽器則是另一個故事了。重點是,在 DR 的印象裡面,驅動程式崩潰都是發生在 Firefox 或 Chrome 開著時。Linux 上所發生的錯誤狀況仍然是很偶然,所以 DR 也沒有多加詳查,只覺得也許這依然是驅動程式的問題(少見的跨平台驅動問題?),於是當時只採取了兩個作法:

  1. 盡可能將驅動程式保持在最新版,例如 Linux 一路升到 313 系列,Windows 則升到 314 系列。
  2. 將 Firefox 和 Chrome 關於硬體加速的部份關閉。

 

由於這個錯誤本來就很偶然,所以 DR 最終並不肯定上述兩個作法有沒有確實的降低問題發生的比例。但很肯定的是這並沒有就此將問題根除掉,因為後來還是偶爾會發生。只不過比例很低,而且從來沒有在玩遊戲時當掉,所以 DR 就很懶散的沒有繼續鑽研這個問題……

 

直到有一天,就在 DR 正在打文章的時候,驅動程式崩潰再次出現(就是一開始的那張照片),這下 DR 深深的覺得,這簡直是孰不可忍……

 

於是 DR 決定開始認真的搜集事證、有發生錯誤就拍照,並且回頭檢視過去的那些印象是否確實。最後,DR 重新歸納出了現有的事證,其中有些跟過去的印象是有牴觸的,而全部的列表如下:

  1. Windows 和 Linux 都會發生驅動程式崩潰。
  2. (Windows)304、313 和 314 系列驅動程式都會發生崩潰。
  3. (Windows)驅動程式崩潰時,大部分時候 Firefox 都是開啟的,更少數的情況則發生在沒有開啟任何應用程式,而桌面處於閒置時。
  4. (Windows)有時候在重新載入驅動程式時也會失敗,進而造成 BSOD。
  5. (Windows)遊戲 MechWarrior Online 的戰術地圖偶爾會花掉,到了下一場遊戲又會恢復正常。另外在一開場時偶爾畫面會突然完全不動,聲音、鍵盤則正常,切到桌面再切回遊戲會恢復正常。
  6. (Linux)310、313 系列驅動程式都會發生崩潰,304 系列用的時間不長。
  7. (Linux)驅動程式崩潰時,Chrome 都是開啟的。
  8. (Linux)遊戲 Killing Floor 某些材質異常。
  9. (Linux)遊戲 Serious Sam 3: BFE 正常。
  10. (Linux)遊戲 Counter-Strike: Source 正常。
  11. (Linux)Unigine Valley Benchmark 正常。
  12. (Linux)影片播放、剪輯正常。

 

第五項 MechWarrior Online 的部份 DR 當時比較傾向認為是遊戲本身的問題,至於第八項 Killing Floor 的材質異常 DR 則幾乎篤定就是遊戲的問題。總體來說,這些事證歸納下來,DR 還是覺得很難認定是硬體的問題,尤其第十一項,連 Unigine Valley Benchmark 這種狂操顯示卡的 3D 測試軟體都順利通過。

 

 

所以 DR 心想,這下子得要找一些技術支援才行,便嘗試在 NVIDIA 的官方網站找尋 Linux 方面的支援,結果就被引導到官方的開發者討論區。於是 DR 就將狀況和照片彙整了一下,在討論區上提問:

https://devtalk.nvidia.com/default/topic/534569/linux/gtx-560-ti-randomly-crashes-hang-with-official-driver/

 

之所以沒有附 Windows 的照片是因為 DR 都沒有拍到……Windows 在錯誤發生時很快的就會嘗試重新載入,導致來不及拍照。在這個討論串中,DR 得到的第一個建議是跑 Memtest86+ 看看,儘管 DR 不認為目前的硬體除了顯卡以外有其它出問題的可能,不過事實上 DR 在換了顯卡後,過沒多久也連帶升級了 CPU 和記憶體(Phenom II X4 965 換成 FX-8350、記憶體從 DDR3 4GB 1333 換成 8GB 1600),所以還是給它測試一下,至於結果也是通過的。

 

接著,第二個建議就直接指明是視訊記憶體的問題,應該將顯卡送回原廠維修。於是 DR 很快的將線上維修申請跑完,然後將顯卡包裝好送修,在送修的這段期間就先拿之前用的 GeForce GT 440 湊合著用。過了幾天後,顯卡送回來,儘管上面沒有載明任何維修狀況,但蓋了個換貨章,核對一下序號,顯然是換了一張新的。

 

新的顯卡用到目前為止一切正常,希望就此解決了這個駭人的問題。

 

03/30/2013 更新:

昨日 DR 終於有一點空閒、玩了好幾輪的 MechWarrior Online,從中發現遊戲畫面突然不動和戰術地圖偶爾故障的問題還是會發生(但後者的狀況變得不太一樣,不再是地圖花掉而是地圖消失),所以這部份應該確實是遊戲本身的問題。

 

分類: