CPU,Linux

Linuxカーネルなどの大規模プロジェクトをビルド中、RYZEN環境でのみ発生する不具合がLinux界隈で話題になっています。ザックリと箇条書きでまとめますと、

 ・gccを使ってLinuxカーネルなどの大規模プロジェクトをビルド中にSEGV(セグメンテーション違反)で死亡する
 ・死亡原因はおそらく本来実行すべき命令から64バイトずれて実行されているから
 ・必ず死亡するわけではなく10回中3回だったり、202回中6回だったり
 ・確定はしていないもののRYZENのエラッタが原因の可能性が高い
 ・最悪、データ破壊の可能性がある
 ・AMDに直接言えばCPUの交換対応をしてくれる場合がある
 ・ただし交換で直るかはまだわからない

ってところのようです。もっと詳しく知りたい方は、この問題について隅々まで書かれている下記のお方のページへどうぞ!

 Ryzenにまつわる2つの問題 - 覚書
 http://satoru-takeuchi.hatenablog.com/entry/2017/04/24/135914

なお、自分には専門的な内容のほとんどが理解できませんでした(震え声) 

この問題が他にどういったシーンで影響するのか懸念されます。AMDには一刻も早くこの問題を調査・公表してほしいですね。

< Update 1 >
WindowsでもVS2017での大規模プロジェクトのビルドで失敗しやすいという報告がツイッターで出てきました。VS2017でUnreal Engineをビルドすると、数回に1回から、10回に1回程度の割合で失敗するとか。詳しくは下記のお方のツイッターへどうぞ。

 https://twitter.com/homuh0mu/status/877793529879183360

< Update 2 >
この問題に少し進展がありました。詳細はこちらの記事へどうぞ。

< Update 3 >
この問題に大きな進展がありました。詳細は下記の記事へどうぞ。
【CPU】 RYZEN SEGV問題に大きな進展。しかし、根本的な解決方法はCPUの交換のみ

Linux


(Source:Ubuntu 17.04 supports widest range of container capabilities)

Ubuntuの最新版、17.04 Zesty Zapusが日本時間で2017年4月14日にリリースされました。Linux kernelは4.10が採用されています。

Linux kernel 4.10というと、RYZENに関するコードが加えられているバージョンだとか。具体的に何かしらのパフォーマンスアップが望めるかはわかりませんが、試してみたい方は↓のダウンロードページ、もしくは直リンクからダウンロードをどうぞ!

 Get Ubuntu ダウンロードページ
 ubuntu-17.04-desktop-amd64.iso (Ubuntu 17.04 ISO直リンク)

注意点として、17.04はLTS(長期サポート)ではないため、2018年1月でサポートが終了します。長期サポートが必要な場合は2021年4月までサポートが続く16.04をご利用くださいませ。

16.04にLinux kernel 4.10を当てたい方は英文ですが↓を参考にどうぞ。

 How to Install Linux Kernel 4.10 on Ubuntu 16.10 and Ubuntu 16.04 LTS

Linux,PCゲーム全般


(Source:Unity 5.6 beta is now available)

<ザックリ意訳>
私たちはUnity 5.6 Betaを公開しました。このバージョンではVulkan APIをサポートしており、Vulkanによってレンダリングパフォーマンスが最大60%向上しました。Betaの取れた正式なバージョンは2017年3月に公開を予定しています。


Windows / Linux / Androidなど、マルチプラットフォームへの対応を売りの一つにしているUnityがVulkanをサポートしだしたそうです。ゲームデベロッパの方々は是非ともVulkanを採用して、OS縛りの無いゲームを作っていただきいところです。

ところで、2016年2月にVulkanが公開されて以降、Linux対応のVulkanゲームがどれだけあるのか気になりませんか。気になります。

教えてWikipeia先生!Vulkanゲームリストがこちら!はいドン!!

Linux,Linux奮闘記

ペアリング済のレシーバーをdebian8.6KDE機に繋げたら何もせずとも動きました完。

…………。

これだけではアレなので、debian8.6KDE機のみでペアリングさせる方法も載せておきます。方法はめちゃめちゃ簡単です。

まず、M570tの電源をオフ状態にしておいて、Solaarというソフトをインストールします。

Linux,Linux奮闘記

そうだ、debianにSteamクライアントをインストールしよう。ということで、インストール作業を始めたらコケまくりィ!以下、コケないようにするための手順になります。

前提として、rootでGUIログインはNGです。Steamはrootでは動かせまてん。まずはsudoの有効化から。

Linux,Linux奮闘記

VLCはrootでは起動できません。rootで起動するためにはターミナルで下記の呪文を入力する必要があります。

sed -i 's/geteuid/getppid/' /usr/bin/vlc

一度この呪文を入力すると、以降はrootでGUIログインしていてもVLCが起動するようになります。この呪文が何をしているかと申しますと、知らん。うん、はい、わかりまてん…ごめんなさい…

海外の優しいお兄さんが


(ソース:http://unix.stackexchange.com/questions/125546/how-to-run-vlc-player-in-root)

「ラズパイ+VLC2.0.3はこれで起動したよ!」と書いており、debian8.5KDE+VLC2.2.4で試してみたら無事起動しました。他のディストリでもたぶんイケるような気がします。無理だったらごめんなさい…

関連記事
【Linux奮闘記】 debian8.5KDEの「最近使ったもの」の文書履歴を残さないようにする方法
【Linux奮闘記】 debian8.5KDEでスタートメニューの表示を早くする方法
【Linux奮闘記】 debian8.5KDEにrootでGUIログインする方法

Linux,Linux奮闘記

最近使ったもの(意味深)

この履歴を残さないようにしましょう。方法は簡単です。まずは

文書をクリアします。その後、ターミナルを起動して

chmod -w ~/.kde/share/apps/RecentDocuments/

と打ち込んでエンターを押すだけでございます。元に戻したくなったら

chmod +w ~/.kde/share/apps/RecentDocuments/

と打ち込めばまた履歴が残るようになります。お疲れ様でした。

以下、個人的未解決メモ。
・rootでのGUIログインだとこの方法では履歴を残さないようにできない。ぐぬぬ…
・アプリケーションの履歴を残さないようにする方法は謎

関連記事
【Linux奮闘記】 debian8.5KDEでスタートメニューの表示を早くする方法
【Linux奮闘記】 debian8.5KDEにrootでGUIログインする方法

Linux,Linux奮闘記

この記事はdebian8.5KDEでスタートメニューをWindowsでいうところの「Classic Shell」なスタイルに変更して、尚且つスタートメニュー内でマウスカーソルをホバーした際に、

↑赤枠の部分が表示されるまでの時間を最速にしたい人向けの内容になります。

上記のようなスタートメニューへの変更方法は、スタートボタンで右クリックを押せばメニューが出てくるので「従来のメニューに切り替え」を選択するとクラシックなスタイルになります。

それではまずはGUIでの設定から。

Linux,Linux奮闘記

最初に。この記事はrootでのログインをオススメするものではありません。やんごとなき事情や宗教上の理由等で、どうしてもrootでグラフィックログインしたい場合の参考にどうぞ。

/////////////////
デスクトップ上で適当に右クリックして「コマンドを実行」

kdesu dolphin

と入力してrootでファイルマネージャを開く

/etc/kde4/kdm/kdmrc

をダボォクリック

AllowRootLogin=false

の部分を

AllowRootLogin=true

に書き換えて上書き保存

再起動 ⇒ ユーザ名:root パスワード:ほにゃらら

ミッションコンプリート
/////////////////

Linux,Linux奮闘記

Linuxには「.run」というファイルがあり、Windowsみたいにダブルクリックしただけでは実行できません。ゲーマー勢に代表的なものだとTeamSpeak3のクライアントが.run形式になります。

.runファイルをインストールするにはターミナルからコマンド入力をする必要があります。毎回、忘れていて「ど、どうやってインストールするんや…」とその都度ぐぐっている人がいるらしいです私です。ということで以下、.runファイルのインストール方法になります。

<.runファイルのインストール方法>
仮に「/home/ユーザ名/app/落としてきた.run」があった場合。

ターミナルを起動して

cd /home/ユーザ名/app
chmod +x 落としてきた.run
sudo ./落としてきた.run

これでインストール完了です。

<オマケという名の自分用メモ: TeamSpeak3のインストール後から起動まで>
上記の手順を実行後、TeamSpeak3はまだインストールが完了しません。Englishが表示されるので

ENTER ⇒ Q ⇒ Y ⇒ ENTER

の順番でキーボードを叩けばインスコ完了、実行は

/home/ユーザ名/app/TeamSpeak3-Client-linux_amd64/ts3client_runscript.sh

をファイルマネージャからダボォクリックなり、ショトカを作るなり。

(注:Lubuntu16.04では起動できたものの、Vine Linux6.3では起動しませんでした)

Linux,Linux奮闘記

Linuxは初心者未満の完全NOOBな自分です。まだあまり頻繁にいじることもなく、すぐに忘れがちなのでちょっとしたことでも自分にとって重要な設定は記事に残していこうと思います。

使用するディストリビューションは、まだ「これ」といったものに定まっていないため、他のディストリでも同じように設定できたりできなかったり入り混じると思います。

記事に書かれていること以外を聞かれても「わからない」としかいえず、間違いが含まれているかもしれませんが、設定関連のLinux記事はカテゴリの「Linux奮闘記」にまとめましたので、同じお悩みを抱えている人の参考にでもなりましたら幸いです。

ということで、今回はスナップの無効化。使用ディストリはXubuntu16.04になります。

スタートメニューを開いて、すべて ⇒ ウィンドウマネージャー

詳細タブの赤枠内のチェックを外す。これでウィンドウを画面端に持っていってもピタッとなりません。

次にウィンドウを上に持っていった際、ピタッと全画面になる挙動の無効化ですが、またスタートメニューから、すべて ⇒ ウィンドウマネージャー(詳細)

赤枠の部分のチェックを外すと無効化ができます。

Linux,Linux奮闘記

大前提として管理人は超ド級のLinux NOOBにつきご容赦ください。スマートなやり方ではないかもしれません。言い訳おわり。使用しているディストリビューションはLubuntuで、他のディストリではこの方法で上手く行くかどうかはわかりません。

・メモリに余裕があるならSwapいらないんじゃね
メモリが少ない人はしない方が良いかもしれません。ということでSwapの無効化。

以下のファイルを開きます(ファイルマネージャをrootで起動)

/etc/sysctl.conf

以下の1行を追加して保存

vm.swappiness = 0

OS再起動後に無効化完了。

・Intel iGPUでのV-Syncの有効化
////////////////////
2016/06/20追記と注意
Lubuntu16.04ではこの方法でV-Syncの有効化ができませんでした。Lubuntu14.04とXubuntu16.04はイケました。試す際はバージョンにお気をつけくださいませ。
////////////////////

自分の環境ではGUI内にV-Syncの設定項目があるものの、グレーアウトして選択出来ません。同じようにグレーアウトしていて選択が出来ずテアリングが気になる人は、ちょいとテキストを作成・編集してV-Syncを有効にしましょう。対象はIntelのiGPUです。GeForceやRADEONなら、さすがにドライバのコントロールパネル内に設定項目があるはず。

テキストエディタを開いて以下の内容をコピペして「20-intel.conf」というファイル名(「」は除く)でデスクトップに保存

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod"  "sna"
Option         "TearFree" "true"
EndSection

ファイルマネージャをrootで起動して、保存した「20-intel.conf」を以下のフォルダ内にコピペ

/usr/share/X11/xorg.conf.d/

(コピペ完了後はデスクトップの「20-intel.conf」は消して構いません)

次に以下のファイルをファイルマネージャから開きます

/etc/default/grub

テキスト内の以下の部分を変更

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

GRUB_CMDLINE_LINUX_DEFAULT="i915.i915_enable_rc6=1 i915.semaphores=1 pcie_aspm=force"

OS再起動後にV-Syncが有効になります。

OSを再起動しなくても適用させる方法があったと思うのですが、覚えておりません。前者はやってもやらなくても良いような気がするものの、メモリに余裕があるのにHDDがカリカリうるさかったり、無駄にSSD寿命を消費したくない人なら設定しておいて良いかも。後者はお好みで。動画をよく見る人なら設定しておいて良いかも。そんなメモ記事でした。

2016/01/03追記
V-Syncを有効化した状態で、他のPCやスマホからVNCでLinuxにアクセスすると、Linux側のモニタ出力が消えるという不具合(仕様?)に遭遇しました(VNC側は表示されます)。V-Syncを無効化することでこの不具合は回避出来ます。Linux側のモニタも表示させたい人はV-Syncを有効にしない方が良いかもしれません。

Linux,PCゲーム全般


Linuxと言えば古いPCでもWindowsより軽快に動くOS、そんなイメージをお持ちの人もいるんじゃないでしょうか。実際にCeleron G1620+HDDでLubuntuを使っている身としては確かにOS操作は軽く、OSが重いと感じることはありません。だからといって同環境でWin7を使っても、立ち上がりこそ時間は掛かるものの、立ち上がってしまえばOSが重いと感じることは無いのですが。

そこで気になってくるのがLinuxとWindows、ゲームパフォーマンスはどちらが上か。LinuxにはWineというWindows APIをLinux上で動かすツール(エミュレータではない)があり、それを通せばWindows用のソフトもそこそこのパフォーマンスで動かすことも出来ますが、動かないモノもあったりバグったりと何でもかんでも100%動くわけではないので、ネイティブでLinuxに対応しているゲームでの比較を見てみましょう。左がLinux、右がWindowsになります。

Ubuntu14.04 vs Windows8 CSGO

Ubuntu15.04 vs Windows8.1 Cities Skylines

Ubuntu15.04 vs Windows 8.1 Bioshock Infinite

Windowsさん圧勝ですわ…

「わざとWindows有利な動画選んでんだろ」「お前Microsoft社員だろ」「社員乙」なんて言わないでください。これらの動画をUPしているUP主さんの他の対決動画を見てもWindowsが勝っていました。もちろんゲームによっては勝敗が逆転するゲームもあるのでしょうが、今回ざっと見た限りでは見つけることは出来ませんでした。

ネトゲで少しでも有利に進めるために1FPSでも稼ぎたい、もしかしたらLinuxで動かしたら軽いのではないか、そう思って調べていたのですが悲しい結果となりました。

がんばれLinux!