Cgminer

cgminer 在 ssh 會話中未檢測到 GPU

  • February 5, 2016

我有 AMD Radeon HD 6450 卡,Ubuntu 是我的作業系統。如果我正常登錄並啟動 cgminer,它會正常工作並檢測到我的顯卡。現在我的顯示器已關閉,我通過 ssh 連接到我的電腦。在這種情況下 cgminer 沒有檢測到我的顯卡:

[2013-12-22 13:35:09] Started cgminer 3.7.2
[2013-12-22 13:35:09] clDevicesNum returned error, no GPUs usable
[2013-12-22 13:35:09] No devices detected!
[2013-12-22 13:35:09] Waiting for USB hotplug devices or press q to quit
[2013-12-22 13:35:09] Probing for an alive pool
[2013-12-22 13:35:09] Pool 0 difficulty changed to 256
[2013-12-22 13:35:10] Network diff set to 3.23K

我懷疑卡是空閒的,因為監視器已關閉。為了解決這個問題,我在我的 ssh 會話中啟用了 X11 轉發,但它沒有幫助。

sudo aticonfig --lsa
* 0. 01:00.0 AMD Radeon HD 6450

* - Default adapter

這種情況可能是什麼原因造成的?那張卡可能是閒置的嗎?如何檢查以及如何強制卡啟動?

編輯

我的 cgminer 啟動腳本:

#!/bin/sh
export DISPLAY=:0
export GPU_MAX_ALLOC_PERCENT=100
export GPU_USE_SYNC_OBJECTS=1
cd /mypath/cgminer-3.7.2-x86_64-built
./cgminer [parameters]

編輯

sudo aticonfig --adapter=all --odgt
No protocol specified
No protocol specified
ERROR - X needs to be running to perform AMD Overdrive(TM) commands

原因是處理 GPU 的 X-Server 在 SSH 會話中不可用。嘗試在所有命令前加上DISPLAY=:0. 這告訴 cgminer 使用哪個 X-Server 實例。然後 cgminer 命令就變成了:

DISPLAY=:0 ./cgminer -u ...

您還可以使用以下方法為目前會話修復此問題

export DISPLAY=:0

這在 bash shell 中定義了變數(如果您使用的是另一個 shell,請參閱 shell 的文件以獲取詳細資訊)。.bashrc如果您打算僅通過 SSH 使用它,將其放入您的文件中可能是一個好主意。

確保您啟動了 X 會話。

讓它自動登錄或手動走過並登錄。然後再次嘗試您的探勘腳本。這讓我困擾了幾個小時。

引用自:https://bitcoin.stackexchange.com/questions/19211