独創アプリ開発日記 217日目 Ubuntu18.04LTSにグラボドライバインストール

NVIDIAのサイトから対応したドライバ探してきて、コマンド打ってインストールトラブってアンインストールを繰り返し、まる3日かかりました。

いや違いました3秒でした。

「ソフトウェアとアップデート」画面の「追加のドライバー」で、使っているグラボを認識し、対応したドライバーを自動で見つけてくれました。

NVIDIAのドライバをラジオボタンで選択して「変更の適用」をクリックしました。

ドライバ適用後のOpenGLバージョンは以下のとおりです。


$ glxinfo | grep version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 4.6.0 NVIDIA 390.48
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL version string: 4.6.0 NVIDIA 390.48
OpenGL shading language version string: 4.60 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 390.48
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
    GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix, 
$ glxinfo | grep vendor
server glx vendor string: NVIDIA Corporation
client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation

ヽ(´▽`)ノワーイ

独創アプリ開発日記 216日目 Ubuntu18.04LTSにSteamインストール

超絶苦労しました。200行近くのコマンドを使わないとインストールすることが出来ませんでした。

いや違いました2行でインストール出来ました。


$ sudo add-apt-repository multiverse
$ sudo apt install steam

あとは、出現したSteamのアイコンをクリックして起動後、初回のダウンロードがちょっと時間がかかりましたが、既存のIDでログインしてFactorioがプレイできました。セーブデータは何もしなくてもWindowsでプレイしていたデータが読み込めました。「設定」の「インターフェイス」から日本語に設定すれば、ちゃんと日本語版がプレイ出来ました。

Windowsいらないじゃん!

•ू(ᵒ̴̶̷ωᵒ̴̶̷*•ू) ​ )੭ु⁾ もきゅ~

その他、WindowsとUbuntuを交互に行き来すると時間がずれる対策として、以下のコマンドを実行しました。


sudo timedatectl set-local-rtc 1

また、起動直後にNumLockがONになるよう、以下のコマンドを実行しました。


$ sudo apt update
$ sudo apt install numlockx
$ gnome-session-properties

「自動起動するアプリケーションの設定」画面が出るので、
名前 : NumLock
コマンド:numlockx on
を追加しました。

あと、Ubuntuの言語は日本語にしましたが、ホームディレクトリ内の日本語ディレクトリは英語のままにしたかったため、以下のコマンドを実行しました。


$ LANG=C xdg-user-dirs-gtk-update

表示された画面で「Update Names」をクリックしました。

このブログの今日の投稿はUbuntuのFirefoxから書きました。

Windowsいらないじゃん!

•ू(ᵒ̴̶̷ωᵒ̴̶̷*•ू) ​ )੭ु⁾ もきゅ~

•ू(ᵒ̴̶̷ωᵒ̴̶̷*•ू) ​ )੭ु⁾ もきゅ~

•ू(ᵒ̴̶̷ωᵒ̴̶̷*•ू) ​ )੭ु⁾ もきゅ~

独創アプリ開発日記 215日目 USBメモリにUbuntu18.04LTSインストール(成功)

今回は昨日のエラーを対処し、無事USBメモリ(3.0)にUbuntuを入れることができました。快適。

事前に「GParted」でEFIシステムパーティション (EFI system partition; ESP)を作っておき、無事インストール出来ました。

具体的には「GParted」で、ESPを作成するUSBメモリ(中身空っぽ)を右上のボタンで選択後、「Device」メニューを開き、「Create Partition Table」をクリック、「gpt」を選択し「Apply」ボタンをクリックします。 次にパーティション作成ボタンをクリックし、

New size:200
Partition name:ESP
File system:fat32
Label:ESP

として「Add」ボタンをクリック、「適用」ボタンをクリックします。

そして作成したESPに対して「Partition」メニューを開き、「Manage Flags」をクリック、「boot」と「esp」にチェックを入れ「Close」ボタンをクリックします。

以上でESPの作成は完了です。

あとは、ESP以外の領域へUbuntu用に「ext4」形式などのパーティションを作成し、そこへUbuntuのインストーラからセットアップを行えばOKです。その際、必ず「インストールの種類」画面で「それ以外」を選択し、「ブートローダをインストールするデバイス:」にUSBメモリーを指定します。

インストール直後のOpenGLバージョンを出力した結果は以下のとおりです。


$ glxinfo | grep "version"
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
    Max core profile version: 4.3
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
OpenGL core profile version string: 4.3 (Core Profile) Mesa 18.0.0-rc5
OpenGL core profile shading language version string: 4.30
OpenGL version string: 3.0 Mesa 18.0.0-rc5
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.0.0-rc5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10

「ソフトウェアの更新」を行ったあとは以下の通りになりました。


$ glxinfo | grep "version"
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
    Max core profile version: 3.3
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.0.0-rc5
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.0 Mesa 18.0.0-rc5
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.0.0-rc5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

(σ´Д`) あれ?

独創アプリ開発日記 214日目 USBメモリにUbuntu18.04LTSインストール(失敗)

8GBのUSB(2.0)にUbuntuのISOを書き込んで、そのUSB(2.0)から、128GBの新しく買ったUSB(3.0)にインストール予定でした。

インストールの途中に

“grub-efi-amd64-signedパッケージを/target/にインストールするのに失敗しました”

と表示されてインストール出来ませんでした。

ここら辺のページに解決策がありそうなので、明日確認したいと思います。

独創アプリ開発日記 213日目 6年間封印されていたUSB3.0

私は2012年に買ったP8Z77-Vのマザーボードを使ってるんですが、6年間USB3.0は未使用で、2.0しか使っていませんでした。

これと言って高速に接続する必要がなかったので今まで使っていなかったのですが、今回はUbuntuをUSBメモリにインストールしてUSBから起動して使うので、どうしてもUSB3.0で接続したくなりました。

で、ASUSのページ行ってUSBドライバ持ってきても動かず、憎っくきWindowsUpdateを利用して入れようとしましたがインストールされず(ここでちゃんと動けば見直したのに)、3時間くらい悩みました。

で、結局デバイスマネージャの「ほかのデバイス」から動いていないUSBコントローラのハードウェアIDをググったら「ASMedia」のドライバ入れれば良いことが判明してそれ入れたら動きました。

USB2.0とUSB3.0の比較です。

SanDiskのSDCZ880-128Gです。256Gの買えば400MB/sくらいでるようですが、これでも十分速いと思います。

独創アプリ開発日記 211日目 MACでの開発環境構築

Mac上で.NET Core、Visual Studio Code(拡張機能C#)、OpenTK.NETCore、などなど入れて、 C#でOpenGL開発出来る環境を整えていきます。

https://www.microsoft.com/net/download/macos/buildから、macOS用の.NET Coreをダウンロードします。

インストールするには、ダウンロードしたpkgファイルを実行して、あとはインストーラに従うだけですね。

以下、動作確認用です。プロジェクト用のディレクトリを作成して、その中で実行します。”Hello World!”と表示されれば成功です。これはUbuntuの時と全く同じコマンドですね。


dotnet new console

console run

次はVisual Studio Codeです。https://code.visualstudio.com/downloadからmacOS用のVisual Studio Codeをダウンロードして、Applicationsフォルダに入れるだけですね。

コマンドラインから起動するには、一旦Visual Studio CodeをApplicationsフォルダから起動し、Shift(⇧)+Command(⌘)+Pを押してコマンドパレットを表示したのち、Shell Command と打って、表示されたShell Command: Install ‘code’ command in PATHを選べばOKです。これ以降、コマンドラインから code と打っても起動できるようになります。

あとは、Ubuntuでの環境構築時と同様に、https://minnano.app/support/2018/05/09/ubuntu-18-04-lts-opengl/の手順4から6を実行すれば、C#のプラグイン、nuget、OpenTK.NETCoreが使えるようになり、環境の準備が整います。ショートカットキーのCtrlがCommand(⌘)に変わるので注意してください。

Ubuntuよりmacの方が開発し易そうなので、macメインで開発して、動作確認用としてUbuntuや

憎っくきWindows

を使おうと思います。

開発用にPC新調しなくてよかった。iPhoneアプリ開発用にmac持ってましたからね。

いや〜、別OSで全く同じ開発環境使えるって感動するな〜。

強制アップデート機能付きで、セキュリティパッチと一緒に余分機能や情報収集用の更新プログラムをひっつけてアップデートしてくださる憎っくきWindows

に触る機会が減るし、とっても嬉しいです。

((⊂(`ω´∩) しゅっしゅっ

独創アプリ開発日記 210日目 Ubuntu環境の再構築

開発に使うUbuntuはVMWare上で動かしていたのですが、これだとWMWareのグラフィックドライバの制限でOpenGL3.0になってしまうようです。

OpenGLのバージョンは3.3を使いたいと考えているので、VMWareの仮想環境ではなく、直接PCにインストールしてUbuntuを動かす必要が出てきました。

そこで、今日はPCもう1台つくろうかと思い、PCパーツをあれこれ物色した結果、なんかいまいちそそるようなパーツがなくて新しく作る気になれませんでした。特にCPU。

はい、みんな思っていることですが口に出す人があまりいないので大きな文字で書きます。

CPUって進歩とまってるわ。ぜんぜん5年前のCPUで問題ない・・・最近は消費電力増やしてごり押しで性能あげてるだけだよね。AMDとの競争で爆熱化がすすみそう。爆熱電力馬鹿食いCPUはぜんぜん興味ありません。

あーすっきりした。え?新しい型でも低消費電力のCPUがある?いや、すでにそこそこ低消費電力のCPUつかってるから買っても同一電力消費当たりの性能がほとんど上がんなくてうれしくないんですよね・・・

で、買うのやめて、USBメモリにUbuntuインストールしてそこから起動すれば良いジャンとか考えて、READ/WRITEが400MB/SくらいのUSBメモリをWeb上で買いました。HDDよりぜんぜん速い!土日発送作業しないショップのようなので、新環境出来るのにしばらく時間がかかりそうです。

独創アプリ開発日記 209日目 環境に依存しないWindow

今私は、OSに依存しない開発環境の構築を目指しています。目指せ脱Windows10!Windows10嫌い。強制アップデート反対。無駄機能要らない。セキュリティパッチだけよこせ。

話を元に戻します。今私は、OSに依存しない開発環境の構築を目指しています。グラフィックを描画するOpenGLのコードはOSに依存しませんが、ウィンドウなどのUIに関しては、各OS固有のコードにどうしてもなってしまうと記憶していました。

が、OpenTKのGameWindowというクラスを使うと、OSに依存せずにUIを作成出来るという極秘情報を得ました!

いや、極秘情報じゃなくて、ぶっちゃけOpenTKでググりまくってたら出てきた情報なんですけど。

とりあえず今日はGameWindowに関して色々調べていました。あとは、開発するにあたってOpenGLのバージョンいくつを使うべきかを悩んでいました。Ubuntu18.04LTSの初期状態で入っていたバージョンの3.33.0でいいのかな?

独創アプリ開発日記 180〜208日目 プラットフォーム

はい、というわけでですね、読んでいる方は何がどういうわけかよくわからないと思うんですが、このブログは1日に1回必ず書く約束になっていて、書かないとしたら作者は死んでいることになっていたんですよね。

実は、この1ヶ月間は激動の1ヶ月間でですね、地球を離れ、辺境の惑星でロケットをつくっていたんです。
地球にいなかったわけですから、ある意味1ヶ月間死んでいたわけです。うん、約束は破っていないですね。

先日、無事ロケットを打ち上げて地球に帰還しましたので、今後の日々のブログ更新は復活予定です。まあ、まだ無限研究用工場建築作業が残っているのでたまに辺境の惑星に戻るかもしれませんが。

で、辺境の惑星で感動したことがあったのですが、この惑星は、WindowsとLinuxと、そしてMacでも、とても快適に高パフォーマンス!でさくさく動く惑星でして、スマホアプリばかり作っていた身としてはとても新鮮なものでした。LinuxやMacで動くのは感動したなぁ。もう、無駄新機能とバグ自動強制量産機能付のWindows10から脱出できるよヒャッホー。

次回作はいったんスマホを離れてWindows/Linux/Mac対応のマルチプラットフォーム対応にしようと思います。本当はブラウザ上で動くWebGLで作れれば一番楽な気がするのですが、まだパフォーマンスがいまいちだし、ブラウザいきなり落ちたりするし、特定のブラウザじゃなきゃ動かなかったりするし、操作性も悪い気がするんですよね。

大手には作れないアプリを(気持ちだけは(๑•̀ㅂ•́)و✧)