某オークションにてRadeon RX 560 4GBなGPUを入手しました。
2018-03-31
2018-03-29
(Linux)Radeontop v1.1のmakeで心が折れそうになった
いや、今日はすでに心が折れました・・・。
GPUをRadeon RX 560に換装したところ、Linux Mint 18.3に配信されているRadeontop ではGPUの使用率を計測できなくなってしまいました。v0.9とのことです。
GitHubを確認してみると、つい最近にv1.1がリリースされた模様です。ただし、debファイルではなくソースコードのみでした。
ワタクシ、ソースからモジュールを生成したことがないので、これはちょっとハードルが高いです。
しかし、意を決してコンパイル方法を調べてみたところ、意外と簡単でした。Makefileが置いてあるディレクトリに移動して、以下のコマンドを実行するだけでした。
典型的な「食わず嫌い」 ですね。
というわけで、意を決してmakeしてみたところ、コンパイルエラーが発生しました。コンパイルエラーなんて心が折れそうです。
libintl.hというファイルが足りないそうです。 へぇ、何のファイルなんですか?これは?
調べてみると、libc6-devというパッケージをインストールすれば良いようです。
では、もう一度makeしてみると、今度は別なコンパイルエラーとなりました。別なエラーなので先に進んだと感じた反面、また謎の状況にハマったとも感じてしまいます。心が折れそうです。
・・・・次のエラーがやって来ました。
次はpciaccess.hというファイルが足りないそうです。こちらはlib-pciaccess-devというパッケージで解決です。
しかし、まだコンパイルエラーは収まりません。そろそろ心が折れそうです。
ここで心が折れました。今日はもう勘弁してください。
GPUをRadeon RX 560に換装したところ、Linux Mint 18.3に配信されているRadeontop ではGPUの使用率を計測できなくなってしまいました。v0.9とのことです。
GitHubを確認してみると、つい最近にv1.1がリリースされた模様です。ただし、debファイルではなくソースコードのみでした。
ワタクシ、ソースからモジュールを生成したことがないので、これはちょっとハードルが高いです。
しかし、意を決してコンパイル方法を調べてみたところ、意外と簡単でした。Makefileが置いてあるディレクトリに移動して、以下のコマンドを実行するだけでした。
sudo make
sudo make install
典型的な「食わず嫌い」 ですね。
というわけで、意を決してmakeしてみたところ、コンパイルエラーが発生しました。コンパイルエラーなんて心が折れそうです。
radeontop-master $ sudo make
./getver.sh
Package pciaccess was not found in the pkg-config search path.
Perhaps you should add the directory containing `pciaccess.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pciaccess' found
Package libdrm was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libdrm' found
Package xcb was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb' found
Package xcb-dri2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb-dri2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb-dri2' found
cc -Os -Wall -Wextra -pthread -Iinclude -ffunction-sections -fdata-sections -DENABLE_XCB=1 -DENABLE_NLS=1 -s -c -o detect.o detect.c
In file included from include/radeontop.h:23:0,
from detect.c:17:
include/gettext.h:28:22: fatal error: libintl.h: そのようなファイルやディレクトリはありません
compilation terminated.
<ビルトイン>: ターゲット 'detect.o' のレシピで失敗しました
make: *** [detect.o] エラー 1
libintl.hというファイルが足りないそうです。 へぇ、何のファイルなんですか?これは?
調べてみると、libc6-devというパッケージをインストールすれば良いようです。
apt install libc6-dev
では、もう一度makeしてみると、今度は別なコンパイルエラーとなりました。別なエラーなので先に進んだと感じた反面、また謎の状況にハマったとも感じてしまいます。心が折れそうです。
radeontop-master $ sudo make今度はxf86drm.hというファイルが足りないそうです。これも調べてみるとlibdrm-devというパッケージをインストールすれば良いようです。
./getver.sh
Package pciaccess was not found in the pkg-config search path.
Perhaps you should add the directory containing `pciaccess.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pciaccess' found
Package libdrm was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libdrm' found
Package xcb was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb' found
Package xcb-dri2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb-dri2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb-dri2' found
cc -Os -Wall -Wextra -pthread -Iinclude -ffunction-sections -fdata-sections -DENABLE_XCB=1 -DENABLE_NLS=1 -s -c -o detect.o detect.c
In file included from detect.c:17:0:
include/radeontop.h:36:21: fatal error: xf86drm.h: そのようなファイルやディレクトリはありません
compilation terminated.
<ビルトイン>: ターゲット 'detect.o' のレシピで失敗しました
make: *** [detect.o] エラー 1
・・・・次のエラーがやって来ました。
radeontop-master $ sudo make
./getver.sh
Package pciaccess was not found in the pkg-config search path.
Perhaps you should add the directory containing `pciaccess.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pciaccess' found
Package xcb was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb' found
Package xcb-dri2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb-dri2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb-dri2' found
cc -Os -Wall -Wextra -pthread -Iinclude -ffunction-sections -fdata-sections -I/usr/include/libdrm -DENABLE_XCB=1 -DENABLE_NLS=1 -s -c -o detect.o detect.c
detect.c:18:23: fatal error: pciaccess.h: そのようなファイルやディレクトリはありません
compilation terminated.
<ビルトイン>: ターゲット 'detect.o' のレシピで失敗しました
make: *** [detect.o] エラー 1
次はpciaccess.hというファイルが足りないそうです。こちらはlib-pciaccess-devというパッケージで解決です。
しかし、まだコンパイルエラーは収まりません。そろそろ心が折れそうです。
radeontop-master $ sudo make
./getver.sh
Package xcb was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb' found
Package xcb-dri2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb-dri2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb-dri2' found
cc -Os -Wall -Wextra -pthread -Iinclude -ffunction-sections -fdata-sections -I/usr/include/libdrm -DENABLE_XCB=1 -DENABLE_NLS=1 -s -c -o detect.o detect.c
Package xcb was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb' found
Package xcb-dri2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb-dri2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb-dri2' found
cc -Os -Wall -Wextra -pthread -Iinclude -ffunction-sections -fdata-sections -I/usr/include/libdrm -DENABLE_XCB=1 -DENABLE_NLS=1 -s -c -o ticks.o ticks.c
Package xcb was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb' found
Package xcb-dri2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb-dri2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb-dri2' found
cc -Os -Wall -Wextra -pthread -Iinclude -ffunction-sections -fdata-sections -I/usr/include/libdrm -DENABLE_XCB=1 -DENABLE_NLS=1 -s -c -o ui.o ui.c
ui.c:18:21: fatal error: ncurses.h: そのようなファイルやディレクトリはありません
compilation terminated.
<ビルトイン>: ターゲット 'ui.o' のレシピで失敗しました
make: *** [ui.o] エラー 1
ここで心が折れました。今日はもう勘弁してください。
2018-03-28
花咲かじいさん
関東ではサクラが満開でございます。
青森ではサクラが満開になるのは4月下旬から5月GWあたりなので、3月下旬で花見に行くという発想がなかなか生まれないのですが、街を歩いているとチラホラと満開のサクラを見つけ、花見の季節なんだな、と思うわけです。
関東のサクラもキレイに咲いていますが、また弘前城の花見に行ってみたいですね。
青森ではサクラが満開になるのは4月下旬から5月GWあたりなので、3月下旬で花見に行くという発想がなかなか生まれないのですが、街を歩いているとチラホラと満開のサクラを見つけ、花見の季節なんだな、と思うわけです。
関東のサクラもキレイに咲いていますが、また弘前城の花見に行ってみたいですね。
2018-03-24
2018-03-22
(仮想通貨)780GのCrossFireは不発
Radeon R7 240でMonacoinをマイニングしていると、当然ながらGPUの使用率は100%に近くり、肝心なLinux Mintの画面描画はモッサリと遅くなってしまいます。
mkxminerに「--powertune 90」 のようにちょっとスピードダウンするように指示しても全く効きません。
こちらはがんばってマイニグしている時のGPU使用率です。radeontopというツールでデータは取得しています。
radeonドライバーを使っている時はVRAMの使用量も表示してくれるのですが、amdgpuドライバーを使っている時はそれが表示されません。
radeontopの最新版はバージョン1.0のようですが、もしやちょっと古くて対応できていないのかもしれません。Linux Mint 18.3にインストールしたradeontopのバージョを確認してみようと考えました。
どういうことなんでしょう・・・・。
今頃気づきましたが、amdgpuドライバーでVRAM容量が表示できないのはKernelが古いことが原因だったようです。Kernel 4.13を使っているのですが、本当に古いのでしょうか?
そしてこちらはmkxminerのログ情報です。最下行にGPUの情報が出力されるのですが、カードの温度、ファンの回転速度、GPU使用率などが取得できていません。
さて、CrossFireでしたね。
AMD 780GというチップセットはGPUを内蔵していまして、CrossFireXという機能も備えており、外付けGPUと強調して動作することができるということです!!
ということは画面描画は780Gの内蔵GPUに任せて、R7 240はマイニング専任という構成ができるのではないかと思い、試してみました。
まずはマザーボードのBIOS設定を変更します。
一番上の「Internal Graphics Mode」を普段はOFFにしているのですが、今回は「UMA+SidePort」に変更しました。UMAはOSのメモリーを奪う設定で、SidePortはマザーボード上に少しばかり用意されている専用VRAMになります。(128MBだったかな)
次に三番目の「Surround View」 をONにします。すると、自動的に一番下の「Init Display First」がPEGとなります。これはPCI Expressスロットに挿入されたビデオカードを画面表示用として最初に初期化する、という意味です。
この設定でLinux Mint 18.3を起動したところ、画面表示は問題ありませんが、radeontopでGPU使用率を確認してみると、780Gの内蔵GPUの使用率がゼロ%でした。Xorgのログを確認してみると「Hybridなんちゃらの有効化で失敗」というエラーメッセージが記録されていました。
780Gの内蔵GPUがamdgpuドライバーに対応していないのが原因なのではと考え、amdgpuドライバーからradeon ドライバーに切り替えてOSを再起動してみたところ、Xorgのログにはエラーが出力されなくなりましたが、Hybridなんちゃらが成功したというログも記録されていません。
試しにマイニングを始めてみたところ、 amdgpuドライバーがOFFになったことでAMDGPU-ProのOpenCLドライバーがDRMドライバーのバージョンが古い、ということでエラーになってしまいました。
ちゃんとRadeon R7 240とい780Gの内蔵GPUは認識されているのですが、使うことはできませんでした。
では、デュアルブート構成になっているWindows10でもCrossFireが働くのかを確認してみたところ、こちらはOSが起動できませんでした。ログオン画面までは表示できるのですが、パスワード入力後のデスクトップ表示の部分でブルースクリーンになってしまいました。
ここまで失敗して気づいたのですが、CrossFireが可能はGPUには組み合わせがあるそうで、AMD 780Gはだいぶ組み合わせに制限があり、Radeon HD 3450、3470の2種類のビデオカードとしかCrossFire構成を取れないようです。
ちょっと残念な結果でした。もう使用機材が古すぎるようです。
mkxminerに「--powertune 90」 のようにちょっとスピードダウンするように指示しても全く効きません。
こちらはがんばってマイニグしている時のGPU使用率です。radeontopというツールでデータは取得しています。
radeonドライバーを使っている時はVRAMの使用量も表示してくれるのですが、amdgpuドライバーを使っている時はそれが表示されません。
radeontopの最新版はバージョン1.0のようですが、もしやちょっと古くて対応できていないのかもしれません。Linux Mint 18.3にインストールしたradeontopのバージョを確認してみようと考えました。
$ sudo radeontop -hバージョン情報を確認するために-vオプションを付けて実行してみると・・・
RadeonTop for R600 and above.
Usage: radeontop [-ch] [-b bus] [-d file] [-l limit] [-t ticks]
-b --bus 3 Pick card from this PCI bus
-c --color Enable colors
-d --dump file Dump data to this file, - for stdout
-l --limit 3 Quit after dumping N lines, default forever
-t --ticks 50 Samples per second (default 120)
-h --help Show this help
-v --version Show the version
$ sudo radeontop -vunknown?え?
RadeonTop unknown
どういうことなんでしょう・・・・。
今頃気づきましたが、amdgpuドライバーでVRAM容量が表示できないのはKernelが古いことが原因だったようです。Kernel 4.13を使っているのですが、本当に古いのでしょうか?
$ sudo radeontop -c
Kernel too old for VRAM reporting.
Collecting data, please wait....
そしてこちらはmkxminerのログ情報です。最下行にGPUの情報が出力されるのですが、カードの温度、ファンの回転速度、GPU使用率などが取得できていません。
[13:59:19 - 0 days 00:24:37] Accepted diff 8 share cfd8d815 GPU#0 in 275msmxkminerは古いGPUを正しく認識できていないのではないかと思います。ますますGPUを新しい物に交換したい気持ちが高まりました。
[13:59:54 - 0 days 00:25:13] Accepted diff 8 share 15e2a5d6 GPU#0 in 277ms
> 3.0MH/s | Temp(C): | | Fan: | HW: 0 | Rej: 1.2%
さて、CrossFireでしたね。
AMD 780GというチップセットはGPUを内蔵していまして、CrossFireXという機能も備えており、外付けGPUと強調して動作することができるということです!!
ということは画面描画は780Gの内蔵GPUに任せて、R7 240はマイニング専任という構成ができるのではないかと思い、試してみました。
まずはマザーボードのBIOS設定を変更します。
一番上の「Internal Graphics Mode」を普段はOFFにしているのですが、今回は「UMA+SidePort」に変更しました。UMAはOSのメモリーを奪う設定で、SidePortはマザーボード上に少しばかり用意されている専用VRAMになります。(128MBだったかな)
次に三番目の「Surround View」 をONにします。すると、自動的に一番下の「Init Display First」がPEGとなります。これはPCI Expressスロットに挿入されたビデオカードを画面表示用として最初に初期化する、という意味です。
この設定でLinux Mint 18.3を起動したところ、画面表示は問題ありませんが、radeontopでGPU使用率を確認してみると、780Gの内蔵GPUの使用率がゼロ%でした。Xorgのログを確認してみると「Hybridなんちゃらの有効化で失敗」というエラーメッセージが記録されていました。
780Gの内蔵GPUがamdgpuドライバーに対応していないのが原因なのではと考え、amdgpuドライバーからradeon ドライバーに切り替えてOSを再起動してみたところ、Xorgのログにはエラーが出力されなくなりましたが、Hybridなんちゃらが成功したというログも記録されていません。
試しにマイニングを始めてみたところ、 amdgpuドライバーがOFFになったことでAMDGPU-ProのOpenCLドライバーがDRMドライバーのバージョンが古い、ということでエラーになってしまいました。
ちゃんとRadeon R7 240とい780Gの内蔵GPUは認識されているのですが、使うことはできませんでした。
では、デュアルブート構成になっているWindows10でもCrossFireが働くのかを確認してみたところ、こちらはOSが起動できませんでした。ログオン画面までは表示できるのですが、パスワード入力後のデスクトップ表示の部分でブルースクリーンになってしまいました。
ここまで失敗して気づいたのですが、CrossFireが可能はGPUには組み合わせがあるそうで、AMD 780Gはだいぶ組み合わせに制限があり、Radeon HD 3450、3470の2種類のビデオカードとしかCrossFire構成を取れないようです。
ちょっと残念な結果でした。もう使用機材が古すぎるようです。
2018-03-21
Windows 10 Fall Creators UpdateでNTFSが破損?
Linux Mint 18.3でWindows10のNTFSパーティションをマウントして使っています。
主にiTunesで管理している音楽をLinux Mint側のLollypopで再生するためにマウントしているので、読み取り専用でマウントしています。
ところが、先日Windows10にFall Creators Updateを適用してから、Linux Mintでマウントしようとするとエラーとなるようになってしまいました。
mountコマンドのステータスコードは忘れてしまいましたが、Windows側でchkdsk /rで回復しろという指示が出たので試してみたもののエラーは解消せず、ステータスコードなどで調べてみた結果、Linux Mint側でntfsfixコマンドで復活できるとのこと。
さっそくntfsfixコマンドを試してみたところ、見事に回復したのですが、PCを再起動する度にntfsfixコマンドを投入する必要があり、根本的な解決には至っておりません。幸い、私の場合は普段はサスペンド運用をしているため「毎日大変」というわけではないのですが・・・。
最初にntfsfixコマンドを投入する時はかなりドキドキでしたが、もう日課になってしまったので全く新鮮味はありません。$MFTと$MFTMirrの内容に差があるということで修復してくれているのですが、この/dev/sdb1をマウントする度にエラーですよと怒られてしまいます。
Windows10側で実施したchkdskコマンドがやけに短い時間で終わったのが気になるのですが、時間のある時にまたWindows10側でchkdskコマンドを再実行してみて様子を見てみようかと思っています。
主にiTunesで管理している音楽をLinux Mint側のLollypopで再生するためにマウントしているので、読み取り専用でマウントしています。
ところが、先日Windows10にFall Creators Updateを適用してから、Linux Mintでマウントしようとするとエラーとなるようになってしまいました。
mountコマンドのステータスコードは忘れてしまいましたが、Windows側でchkdsk /rで回復しろという指示が出たので試してみたもののエラーは解消せず、ステータスコードなどで調べてみた結果、Linux Mint側でntfsfixコマンドで復活できるとのこと。
さっそくntfsfixコマンドを試してみたところ、見事に回復したのですが、PCを再起動する度にntfsfixコマンドを投入する必要があり、根本的な解決には至っておりません。幸い、私の場合は普段はサスペンド運用をしているため「毎日大変」というわけではないのですが・・・。
$ sudo fdisk -l今回の修復対象は/dev/sdb1でした。
Disk /dev/sdb: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 4098FABC-DC5B-4A64-B19C-34CAAE6C6C1B
デバイス Start 最後から セクタ Size タイプ
/dev/sdb1 2048 2147485695 2147483648 1T Microsoft basic data
/dev/sdb2 2147487744 5860532665 3713044922 1.7T Linux filesystem
$ sudo ntfsfix /dev/sdb1
Mounting volume… $MFTMirr does not match $MFT (record 24).
FAILED
Attempting to correct errors…
Processing $MFT and $MFTMirr…
Reading $MFT… OK
Reading $MFTMirr… OK
Comparing $MFTMirr to $MFT… FAILED
Correcting differences in $MFTMirr record 24…OK
Correcting differences in $MFTMirr record 25…OK
Correcting differences in $MFTMirr record 26…OK
Correcting differences in $MFTMirr record 27…OK
Correcting differences in $MFTMirr record 28…OK
Correcting differences in $MFTMirr record 29…OK
Correcting differences in $MFTMirr record 30…OK
Correcting differences in $MFTMirr record 31…OK
Correcting differences in $MFTMirr record 32…OK
Correcting differences in $MFTMirr record 33…OK
Correcting differences in $MFTMirr record 34…OK
Correcting differences in $MFTMirr record 35…OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition… OK
Going to empty the journal ($LogFile)… OK
Checking the alternate boot sector… OK
NTFS volume version is 3.1.
NTFS partition /dev/sdb1 was processed successfully.
最初にntfsfixコマンドを投入する時はかなりドキドキでしたが、もう日課になってしまったので全く新鮮味はありません。$MFTと$MFTMirrの内容に差があるということで修復してくれているのですが、この/dev/sdb1をマウントする度にエラーですよと怒られてしまいます。
Windows10側で実施したchkdskコマンドがやけに短い時間で終わったのが気になるのですが、時間のある時にまたWindows10側でchkdskコマンドを再実行してみて様子を見てみようかと思っています。
2018-03-18
競馬:今日の失敗
中京 12R 豊橋特別の馬券の買い方で失敗しました。
11. ピュアコンチェルトと2. グランドボヌールの2頭までは絞り込みができました。
次は、単勝で行くか複勝で行くかを悩みました。その時点では複勝のオッズはどちらも2倍程度でした。単勝ではピュアコンチェルトが3倍くらいで、グランドボヌールが6倍くらいでした。
いつもは複勝でどちらか1頭だけど買うのですが、悩んでいるうちに それぞれを単勝で買っても良いのではないかひらめきました。
単勝2枚の場合(1,000円ずつ買うとして)
3倍×1,000円=3,000円
6倍×1,000円=6,000円
2,000円のOUTに対して3,000円 or 6,000円のINとなります。
複勝1枚の場合(2,000円を買うとして)
2倍×2,000円=4,000円
2,000円のOUTに対して4,000円のINとなります。
複勝の方が3着までの余裕があるので単勝に比べるとリスクが低いと判断 したのですが、結果的にはピュアコンチェルトが衝撃の11着となってしまい、INがゼロという結果になってしまいました。
2頭まで絞り込んだら、それぞれを単勝で買うというパターンもリスク低減になるのかもしれません。(オッズ次第ですが)
まだまだ修行が足りないようです。
11. ピュアコンチェルトと2. グランドボヌールの2頭までは絞り込みができました。
次は、単勝で行くか複勝で行くかを悩みました。その時点では複勝のオッズはどちらも2倍程度でした。単勝ではピュアコンチェルトが3倍くらいで、グランドボヌールが6倍くらいでした。
いつもは複勝でどちらか1頭だけど買うのですが、悩んでいるうちに それぞれを単勝で買っても良いのではないかひらめきました。
単勝2枚の場合(1,000円ずつ買うとして)
3倍×1,000円=3,000円
6倍×1,000円=6,000円
2,000円のOUTに対して3,000円 or 6,000円のINとなります。
複勝1枚の場合(2,000円を買うとして)
2倍×2,000円=4,000円
2,000円のOUTに対して4,000円のINとなります。
複勝の方が3着までの余裕があるので単勝に比べるとリスクが低いと判断 したのですが、結果的にはピュアコンチェルトが衝撃の11着となってしまい、INがゼロという結果になってしまいました。
2頭まで絞り込んだら、それぞれを単勝で買うというパターンもリスク低減になるのかもしれません。(オッズ次第ですが)
まだまだ修行が足りないようです。
登録:
投稿 (Atom)

