体重と今日食べたもの

k1segawa.exblog.jp

ダイエット

ブログトップ
なんかRaspi 3 B +でLineageOS(Android 7)を動かしてみたけど、マウスがもっさりで、アイコンがせりあがってくるインターフェースもStar Warsのタイトルみたいにゆっくり。
Android 7 がどうなのかわからないけど、スローモーション過ぎる。

Winラズパイは違うよ?

マウスは普通のPCと同じく、ささっと動くし、スタートメニューが「開くのが遅い」と言っても、呼び出しが遅いだけで、表示はパラッと表示する。

AtomのノートPCでN2xxx番台と言えばわかるかな~

少し高機能のN3xxxや5xxxxはそれなりにワープロやブラウザ、Youtube再生はOKだけど、N2xxxはYoutube動画が何とか見れるくらい。メモリが潤沢なのでネットワークから読み込んでしまえばスムーズに再生する。

Winラズパイはメモリ1GB以下なので、それが出来ないけど、PCの演算能力的にはAtom N2xxx台程度。(ARMv8だからCPU性能的には違うけど)

ノートPCとしてマウスがスローモーションではまずいでしょう。Windowsはそこの所わかってる。Macの方がもっとわかっててぬるぬるなんだけどね。

だからよくカスタムROMでAndroidスマホを書き換えて新しいバージョンにして遊んでる人は、あのもっさりをイメージしてるかもしれないけど、違うよ?

Windows10 軽量化する前から、スローモーションじゃないし、軽量化すればメインタスクに割り当てられるメモリとCPUパワーが増えるので、アプリの起動後の動作がきびきびする。Diskアクセスも100%から0%に変わるので、起動自体もスムーズになる。別のタスクがCPUを占有しなくなるからね。

なので、Android開発で見えてきたもっさりが、WinラズパイとはOSの作りからして違うのだなーと、実感した。


# by k1segawa | 2019-03-21 10:17 | Raspberry Pi | Comments(0)
Raspi 3 B+ で Windows10 ARM 64ビットを動かしているのだが、セリアで4個入磁石とブックエンド、ダイソーでステンレスプレートとケーキ用の型の丸い板、どちらのお店でも両面テープが売っていてそれを活用している。

しかし、両面テープは気を付けて。

超強力両面テープで黒いやつ (MKRC-29) はいいが、水色のやつ (MKRC-27) は絶対買わないように。

MKRC-27は全然強力でないし、なんといってもシール(水色の部分)がものすごく剥がしずらい。
本体の粘着力が弱く逆にシールの方が強いので、貼ってから手では剥がせず、ピンセットの先端を押し込んでやっと剥がせるくらいだ。
a0034780_08593922.png

絶対、テストしてないだろうこれ。
不良品を扱ってる100均も、いいかげん撤去して欲しい。

今あるやつをさっさと消費して黒いやつに乗り換えないと。


# by k1segawa | 2019-03-21 08:37 | Raspberry Pi | Comments(0)
買ってしまった。
お勧めしてた7 inch ISP液晶。
タイムセールで2000円引き。

1200x600(16:9)@60MHzとの記載だが、Winラズパイでnativeだと1280x800(16:10)と認識する。この液晶すごく綺麗なので、文字が縮小されても拡大されても読みやすくていい。
なので本当に1280x800の様な気がする。アスペクト比も正しいし。枠まできっちり表示してる。

その解像度ではさすがにどのYoutube再生も480pで重いので、1024x768(4:3)でやってみる。
横が黒帯でせばめられて、もったいない。

どうせ4:3なら640x480にしてみる。

PUBG MOBILE : GACKT を再生してみる。
480pはかくつくので、360pに。
全然見れる。かくつきも少し減る。
7インチで360p、640x480再生。
スマホで少し電波の弱いところで見ている感じ。

元々の液晶のピクセルが高いのとISP液晶で発色と視野角が広いので色が綺麗。

見れるじゃん。Winラズパイで。今の時間平日の20時なのでWi-Fiも混んでて速度でないし。

写真は少し青みがかっているが、液晶をスマホのカメラで撮っているため。もっと天然色でくっきりはっきりしてる(ブログの制限でリサイズ・256減色している)。

a0034780_20434137.png
a0034780_20434728.png

予定通り液晶をブックエンドに磁石で張り付け。液晶側にボタン電池を強力両面テープで、磁力を液晶に直接さらさない。ブックエンドにセリアの4個入磁石。そしてWinラズパイを裏にVASAのようにこれも磁石で張り付け。FANは4.5V外部電源で回してる。風切り音はサーっと聞こえる。アルミ本体のヒートシンクは全然温度が上がらないで温くもない。IPS液晶はまだカバーを付けたまま。グレア液晶なので保護シートでノングレアにしたほうが良い。
a0034780_20435726.png
a0034780_20440307.png
a0034780_20440859.png
やっぱり7インチはいい。10インチだと解像度が1920や2560になって、今の1280でもつらいのに、余計つらくなる。そしてブックエンドに張り付けたことで、机から3センチくらい上になって見やすい。これは付属の100均でも売ってるタブレットの立てかけるやつだと下過ぎて見づらい。これは盲点だった。3センチ上がることによって、奥のモニタと重なる部分がギリギリになるので、10インチだとモニタにかぶってしまっていただろう。

これで、液晶が16:10なので960x600とかサポートしてくれれば枠ピッタリでうれしい。記載通り、1200x600でもよかったのに。WinラズパイでBIOSにないからな~
今は640x480(4:3)で太いベゼルがあるような状態だが、ISP液晶のおかげで美麗に視聴出来ていて、Winラズパイでもここまで出来ると言う事を示している。
タイムセールさま様だー

(左から線は液晶2本(電源、HDMI)とWinラズパイ5本(電源、HDMI、LAN、サウンド、FAN電源)で7本もはえているのは笑う)



# by k1segawa | 2019-03-20 20:54 | Raspberry Pi | Comments(0)
アルミケースのちょっと安くて、高級っぽいのを購入。

開封と工作精度、チップへのアルミの密着具合など。
筐体のネジ4本はネジ頭が高い分、ネジ部が短いので、FANネジ8本を無理にねじ込むと基板に刺さって痛むので注意。

a0034780_15430351.png
a0034780_15442418.png
a0034780_15445136.png
a0034780_15450307.png
a0034780_15460138.png
a0034780_15461974.png
a0034780_15462853.png
a0034780_15502984.png
a0034780_15503549.png
a0034780_15504819.png
a0034780_15505307.png
a0034780_15505742.png
a0034780_15510384.png
a0034780_15510872.png
a0034780_15511291.png
a0034780_15511748.png
a0034780_15512660.png
a0034780_15513136.png
a0034780_15513527.png
a0034780_15514122.png
a0034780_15514510.png
a0034780_15515096.png
a0034780_15515428.png
a0034780_15515808.png
a0034780_15520758.png
a0034780_15521096.png
a0034780_15521526.png
a0034780_15521940.png
a0034780_15522601.png
a0034780_15523164.png

a0034780_15523541.png

a0034780_15524085.png

a0034780_15524782.png
a0034780_15525048.png

a0034780_15525414.png
a0034780_15525924.png
【Youtube再生】

GACKT : PUBG MOBILE
1280x1024モニタ
DISPLAY=native
Firefox Nightly
ブラウザサイズ
ブラウザ横800x縦1024サイズ
480p
240p
FANレス
高級アルミ放熱ケース
1:50辺りから再生
単アプリ
タスクマネージャ

この時Windows+Shift+sでスクリーンショットを範囲指定で操作中に突然の電源OFF
赤も黄色もランプ消灯(みたことない)
電源スイッチONなのに。
モニタにも No Signal 状態

再生状態は、
480pでは止まって音声のみ
240pでぼやけて再生は追いつく

30分もしないうちに発生
ケース表面もう結構暖かくなっている
裏面も
本日気温18度。室内温度も暖かい。

2回目のWindows起動。

放っておいても本体が先ほどよりも熱く全体にまんべんなく熱が伝わっている。
FAN必須かもしれない
CPUとLANチップだけで負荷は与えてないのにこれだけ熱いと。
デカいヒートシンクみたいなもの<おもて面はLANとUSBコネクタを除いた面積がアルミのヒートシンク状態
うら面もずいぶん暖かい。おもて面とつながっていないのに。メモリチップが熱い?
とんでもなく空気の流れが悪いので熱がヒートシンク経由でしか逃げないのかも。
ってそれがスリムケース(というより2枚のヒートシンクで基板をはさんだ状態-よくあるアクリルではさむケースと同じ)
いい意味で全体が驚くほどものすごく熱を伝えていて、熱いと暖かいの間ぐらいになっている。これで正常なのだろう。
ツインFANはやはり必須か。

FAN取り付けた。
a0034780_15530376.png
a0034780_15530652.png

すっごい静か。回ってないかのような回転の様子。FANが新しいのとオイルがよく効いているのか、風切り音はなく、モーターの振動と時々何かに引っかかるような音だけ。汚れてくると風切り音が出てくるものと思われる。高周波の音は50cmほど離れると聴こえなくなるので、今度来る7インチ1200x600のモニタの裏に隠せば気にならなそう。

今までRaspi2の静音ファンが一番静かだったのにそれを上回る静かさ。ノートPCのFANの音くらい。筐体内部なので聴こえずらいだけで、このように外に露出していればノートPCの音もこれを上回るのだろう。

FANレスにこだわらなくていい。FANは中から外へ排出する方向。FAN無しだとWindows立ち上げているだけで、触ると不快なくらい熱くなっていて、CPUのヒートシンクだけでよくこの熱を排出していたなーと心配になるくらいだったのが、FANで空冷するだけで全く熱くならない。内部の熱を帯びた空気を排出するので、空気の通りが悪いのがかえって、基板の裏からも回りまわって熱風を吸い出すようで、裏も熱くならない。

ピンは5Vで繋がっているので、外部から3.3V等低い電圧で回せばもっと静かになる。電源容量が気になる。実際Windowsログインしないで放っておいたところ、真っ黒画面でキーボードもマウスも効かなくなったので、USB電源容量に影響あるかもしれない。

外部電源も用意した方がいいかも。
3Vを与えると最初羽を叩きつけるような音がしたが、しばらくすると落ち着いた。5Vで動かすようにした方がいいかもしれない。しかし3Vだと無音になった。15cmくらい近づくと聴こえた。そのくらい小さい。時々思い出したように羽を叩きつけるような音(パチパチのすごく高速な感じ)を一瞬発生させるが、落ち着く。
モーターが無理して起動力を起こしていてコイルと永久磁石が反発力が弱いのかも。3V運用は保証外かも。
モーターに何の印刷もないから保証どころではないが。
風量も弱いので、デフォルト状態で本体全体がぼんやりと温かみが感じる。だがその程度。FANなしだとデフォルト状態でも熱くて心配になるほどだったからな。
a0034780_15531194.png

思わずもう一個発注した。



# by k1segawa | 2019-03-20 12:53 | Raspberry Pi | Comments(0)
そういえば、ライセンス認証エラーと昨日ぐらいに出たような記憶がある。
でも、設定>システム>バージョンを見てみたら、いつの間にかライセンス認証済みに変わっていた。

このISOのベース作ったのが2/18だったから、30日でライセンス認証するようだ。

試用ライセンスについては、開発ライセンスとは違うので無償で全機能使えたりするが、このように期限が決まっていることが多い。
そして開発ライセンスを購入しないと試用ライセンスで開発したプログラムやコンテンツは販売する事は出来ない。試用ライセンスを使って開発したりコンテンツを作った場合、公開は出来ても試用ライセンスである旨を表示したり、商用利用しても損害賠償は出来ない。商用に利用しても、それによってお金が発生したり、顧客とユーザの間に収支のやり取りは、出来ない。

で、マイクロソフトの試用ライセンスは結構開発者には優しい。

Windows Server の 試用が以下のサイト様に。

試用期限が切れても、再度使用期限を延ばしてトータルで長く試用できる。

これと同じことをWindows ARM 版で行うと次のとおり。
slmgr /dli
a0034780_22401865.png


slmgr /dlv
a0034780_22333371.png
これは1001回なので自動的にデジタル認証が30日毎にかかると30x1002日なのかな?結構長いし、途中で変わったら回数が減るのかもしれないがそれはMSに抑えられているので、30日毎に確認するとよい。

P.S.
つまりWindws軽量化を施したISOイメージのように、ライセンス認証を通したイメージを作成して保存しておくと、作成日から1002/12=83.5年後にはライセンスが完全に切れて使えなくなるということ。最初3年後とか書いたけど、83.5年ならほぼ無限か。MSの方針が心配ならcmdファイルで取得した1803/1809のHome/ProのJP/ARM64のISOファイル4つとWoAツール(最新2.1.1)を保存しておくこと。83年もこのままとは思えないし。



# by k1segawa | 2019-03-19 22:37 | Raspberry Pi | Comments(0)
Justy USR-01 の USBシリアル変換ケーブルを持っているのだが、こちらのサイト様にヒントが。

Justy製 UCR-01をBootCampのWin8(32bit)で使うw | じょん基地


ATEN Japan が潰れていたので、英語ページでDownload & Support で プロダクトをUSB Converter にし、検索。
USR-01はさすがにないので、USB~の03あたりに目星を付ける。

するとMac OS用とWindows10用が。


MacOS 10.10 or higher Upgrade Software V1.6.4 2018-03-01
ATEN_uc232b_v1.6.4_20180119_sign.pkg.zip
Windows 7, Windows 8.1, Windows 10, Windows 2012 R2 Upgrade Software v1.0.062 2018-03-01

これを入れてUSBを抜き差し。デバイスマネージャでATEN USB to Serial Bridge (COM9)と表示された。





# by k1segawa | 2019-03-19 19:58 | パソコン | Comments(0)
Windowsで、android開発を行うのに、Debianのような aptパッケージ管理システム chocolatey を導入する。

今でもVisual Studio 2017 Community、Arduino IDE、Visual Source Code、Go、.NETFramework、Unity、Steam Blender 2.79b、Powershell と入っており、これ以上環境を煩雑にするわけにはいかない。
Java VMやJavaScriptや秀丸エディタ、vim、WSL、Debianと端末やスクリプト、サブシステムがあり、仮想環境が入っていないだけまだまし。きっとBASCOM-AVRやDockerも入れるだろうし。

【chocolateyインストール】

chocolatey

以下のサイト様を参考にインストール。
Windows環境にchocolateyをインストールし、使う - Qiita

cmd.exe上で実行したスクリプトの結果:

==========================================

PS C:\WINDOWS\system32> cmd.exe
Microsoft Windows [Version 10.0.17763.379]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Getting latest version of the Chocolatey package for download.
Getting Chocolatey from https://chocolatey.org/api/v2/package/chocolatey/0.10.13.
Downloading 7-Zip commandline tool prior to extraction.
Extracting C:\Users\k1segawa\AppData\Local\Temp\chocolatey\chocInstall\chocolatey.zip to C:\Users\k1segawa\AppData\Local\Temp\chocolatey\chocInstall...
Installing chocolatey on this machine
Creating ChocolateyInstall as an environment variable (targeting 'Machine')
Setting ChocolateyInstall to 'C:\ProgramData\chocolatey'
WARNING: It's very likely you will need to close and reopen your shell
before you can use choco.
Restricting write permissions to Administrators
We are setting up the Chocolatey package repository.
The packages themselves go to 'C:\ProgramData\chocolatey\lib'
(i.e. C:\ProgramData\chocolatey\lib\yourPackageName).
A shim file for the command line goes to 'C:\ProgramData\chocolatey\bin'
and points to an executable in 'C:\ProgramData\chocolatey\lib\yourPackageName'.

Creating Chocolatey folders if they do not already exist.

WARNING: You can safely ignore errors related to missing log files when
upgrading from a version of Chocolatey less than 0.9.9.
'Batch file could not be found' is also safe to ignore.
'The system cannot find the file specified' - also safe.
chocolatey.nupkg file not installed in lib.
Attempting to locate it from bootstrapper.
PATH environment variable does not have C:\ProgramData\chocolatey\bin in it. Adding...
警告: Not setting tab completion: Profile file does not exist at
'C:\Users\k1segawa\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'.
Chocolatey (choco.exe) is now ready.
You can call choco from anywhere, command line or powershell by typing choco.
Run choco /? for a list of functions.
You may need to shut down and restart powershell and/or consoles
first prior to using choco.
Ensuring chocolatey commands are on the path
Ensuring chocolatey.nupkg is in the lib folder

C:\WINDOWS\system32>

==========================================

所々エラーっぽいが、直接cmd(管理者権限)でも実行し、そちらでchocolateyを起動。
サイト様の通りgooglechromeをインストール。
コマンド端末上でメッセージ表示後、スタートメニューを開くと新規にGoogle Chromeのアイコンが追加されていた。

【Android Studio / SDK インストール】

で、Android 9 はAPIレベル28でAndroid Studio 3.2以上で開発出来るらしい。
chocolatey は Android Studio 3.3まで現在インストールサポートしているようなので、実行する。
Android Studio は OSがたくさんあって環境が1.0~9.0までものすごく多いので、OSのバージョンによって環境を入れ替えしないと、HDD容量もいくらあっても足りないからな~

chocolatey公式
Android Studio (Install) 3.3.2.0
https://chocolatey.org/packages/AndroidStudio

choco install androidstudio
choco upgrade androidstudio

でAndroid Studio 3.3.2.0 が入る。SDKはまた別で以下に示す。
最新なのでAndroid 9対応。

chocolatey公式

Android SDK 26.1.1 (22/2/2019にPackage Testに合格とある)<これがAndoroid 9かは未確認

https://chocolatey.org/packages/android-sdk

choco install android-sdk
choco upgrade android-sdk

これでインストールパッケージの追加削除は自由。依存関係もchocolatey任せ。
Dockerで開発環境丸ごとのバックアップや切り替えはまあそこまでは次の機会かな。とにかく前提プログラムの環境設定がこれで完璧に出来るはず。最新の1つの環境しか作らないからDockerの出番はないはず・・・と思いたい。

まずは環境構築で、色んなIDEとSDK、ツールチェーンとかでぐちゃぐちゃになる前に手を打っておくといいよ。

P.S.
やべ、bash -c が wsl に置き換わったので、ストアプリも出来るか探すのにgrep掛けやすい。

オフィス:
C:\>choco list MSOffice

Office365Pro Plus 2016.20190301 [Approved]
1 packages found.

LINE:
C:\>choco list "LINE" | wsl grep "LINE"

(なし)

C:\>choco list "LINE" | wsl grep line

7zip.commandline 16.02.0.20170209 [Approved]
wsus-offline-update 11.6.1 [Approved] Downloads cached for licensed users
line 5.14.0.1893 [Approved] Downloads cached for licensed users
sqlserver-cmdlineutils 14.0 [Approved] Downloads cached for licensed users
nodejs.commandline 6.11.0 [Approved]
sumatrapdf.commandline 3.1.2 [Approved] Downloads cached for licensed users
notepadplusplus.commandline 7.6.4 [Approved]
autoit.commandline 3.3.14.2 [Approved] Downloads cached for licensed users
webpicommandline 7.1.50430.0 [Approved]
filezilla.commandline 3.26.2 [Approved] Downloads cached for licensed users - Possibly broken for FOSS users (due to original download location changes by vendor)
git.commandline 2.11.0.20170203 [Approved]
flyway.commandline 5.2.1 [Approved] Downloads cached for licensed users
maxthon.commandline 5.2.7.2000 [Approved] Downloads cached for licensed users
lxrunoffline 3.3.3 [Approved]
timelineexplorer 0.8.11.1 [Approved]
azure-pipelines-agent 2.147.1 [Approved]
opencommandline 2.1.212 [Approved] Downloads cached for licensed users
drush.commandline 5.1.2
pngoptimizer.commandline 2.5 [Approved]
iscommandlineapp 1.0.0 [Approved] - Possibly broken
visualstudio-linepastefix 7.0 [Approved]
frozenbytes.baseline.dev.core 1.0.5 - Possibly broken
frozenbytes.baseline.dev 1.0.2
ipinfooffline 1.47 [Approved] Downloads cached for licensed users
frozenbytes.baseline.dev.vs 1.0.5 - Possibly broken
frozenbytes.baseline.dev.sdks 1.0.5 - Possibly broken
frozenbytes.baseline.dev.tools 1.0.5
secondstrategy.baseline.utilities 2013.10.10
eveonline 0.0.2 [Approved] Downloads cached for licensed users - Possibly broken for FOSS users (due to original download location changes by vendor)
office-online-chrome 1.5.0.20170115 [Approved]
par2cmdline 0.6.13 [Approved] Downloads cached for licensed users
odata2poco-commandline 3.1.0 [Approved]
flyway.commandline.withjre 5.2.1 [Approved] Downloads cached for licensed users

(上から3行目のこれかな?)

C:\>choco install line

vcredist_x86.exe ランタイムインストーラ2013まで依存関係で検出してる。すげー
お?
http://dl.dsktop.line.naver.jp/naver/LINE/win/LineInst.exeをダウンロードしようとしてhash値が合わないってエラーが。
このマシンがストアでLINEの無料インストールライセンス取得した時のChecksumが合わないらしい。
しゃーない、ストアアプリで取得するか~

C:\>choco -?
C:\>choco list -help
C:\>choco info -help
C:\>choco install -help
C:\>choco upgrade -help
C:\>choco list adb
C:\>choco info adb
C:\>choco install adb
ADBもあるのね。さすが。



# by k1segawa | 2019-03-19 15:40 | パソコン | Comments(0)
静音FANを3Vで回しているが、音楽再生中、シャーっという音が耳障りだ。
なので、SoCのアルミ放熱版に白銅である100円玉と、LANチップは純アルミの1円玉を挟み、さらにそれをホームセンターで買ってきた120円の鉄の板3枚とネジや何やら50円6個で自由形状にして組み立て。SoCの中央アルミ放熱板を挟んで、1時間のFirefox Nightly によるYoutube再生後のCPU周波数の低下が起きるかを見る。BIOSはMAX(この設定していても1.2GHzに落ちるので)。税別660円なり。

ハードはこんな感じ。
a0034780_08195317.png
a0034780_08195974.png
コインはしっかり挟まるので、それをさらにレの字のように組み合わせた鉄の板2枚で挟み、ナット等で強力に締める。1円玉の方はそのまま。本体が磁石でがっちり立っているので、レの字の鉄板が多少動いてもびくともしない。横に張り出てるのは表面積を増加するため。



負荷の具合
再生前
a0034780_08075709.png
1時間後はどうなっているかな。
(40分後:長辺の鉄板を触るとコインに近いほど熱を持っていた。コイン自体はかなり熱くなっている。3枚とも挟む形に鉄板を追加すれば結構行けそう)

1時間後
a0034780_09111763.png

CPU・メモリはほぼ100%・90%に張り付き、ディスクは0%ベースでたまに100%(この時はSS取るのに操作して負荷上昇)で、温度は触った感じ40分の時と変わらない。周波数も1.4GHzで高いままだった。順調に冷却されているようだ。

空冷FAN有りの時は、首掛けシッコロファンやRaspi2の静音FANにDC3Vを与えて色々やっていた。
a0034780_08200628.png
まあ、1800円で黒アルミケース発注済みなんだけどね。

お、1280x1024モニタ(DISPLAY=native)で480pなら、全画面表示+空冷FANで余裕でYoutube再生できるな。CM時のぶつぶつは仕方ないか~
a0034780_13560942.png
ん~、動画にもよるな。上記は大丈夫だったが、JRのCMでは止まってしまう。Winラズパイには荷が重いか。800x600程度のモニタがちょうどいいのかもしれない。

# by k1segawa | 2019-03-19 08:28 | Raspberry Pi | Comments(0)
Youtube は Firefox Nightly で再生可能なのだが、ダウンロード場所を自記事[続WoA2.1.0] Windows10 ARM 64bit Raspberry Pi 3B+ インストール&起動 [最新] (2/25)に書いてあるのをよく忘れる。
なので直リンを以下に示す。
21日のディレクトリ内にある22日版なのだが、最近のは動くようになっているのかな?

【ダウンロード】
http://archive.mozilla.org/pub/firefox/nightly/2019/02/2019-02-22-08-11-12-mozilla-central-l10n/firefox-67.0a1.ja.win64-aarch64.installer.exe

前もこのディレクトリをリンクで示したような気もする。

【インストール】
まずは更新されないように、LANを抜く。
インストール後、起動が遅いが、初回起動時に、メニュー>オプション>一般>Nightlyの更新>「更新の確認は行うが、インストールするかを選択する」にし、アップデートしようとするのを阻止する。再起動してNightlyを更新というボタンが上にあるが、押さない事。
そして、更新のインストールにバックグラウンドサービスを使用するのチェックを外し、タスクマネージャーでFirefox Nightly Update Serviceがあればサービス停止にする。

また、以下のように設定
URL欄にabout:config
サーチ欄に次のキーワードを適当なところまで入れて検索。
app.update.auto.migrated : true > false (Toggle Push)
browser.search.update : true > false (Toggle Push)
で一旦再起動して軽くする。

LANを接続する。

左上に「新しいNightlyの更新が利用可能です」と出るが、「後で」を選んで更新しない事。
更新すると動かなくなり、再インストールとなるので。

メニュー>アドオン>プラグイン>h264ifyを入れる

これでYoutubeがブラウザサイズなら再生可能となる。

モニタ解像度が高いとそれだけ負荷が高くなるのでDIPSLAY = virtual 800x600 が推奨。FANも推奨。重いと音がぶつぶつになったり、ブロックノイズになったり、自動で144pとかになるので、モニタ解像度はBIOSで下げた方がいい。それかミニプレーヤにするなど。1280x1024の自環境でもつらいのはGACKT PUBG MOBILEで実証済み。

動作中、遅くなっています。スクリプトを停止しますか?と上のバーで表示されるが、停止を選んでよい。ブラウジングには影響しない。
a0034780_23513785.png
1280x1024モニタでブラウザサイズ・横800ぐらいにして480pで再生中の様子。音は途切れない。CM時にばつんという切断音がする。さすがに他の操作をすると映像がかくつくが見れないほどではない。単アプリなら余裕。

P.S.
スタートページが更新されてMozillaがアンケート取るようになった。メニュー>オプション>プライベートで、Nightlyで各種のデータをサーバに送信するのを許可する、を許可しないに変更するとさらに軽量化する。

# by k1segawa | 2019-03-18 21:22 | Raspberry Pi | Comments(0)
(2019/3/18追記)
本当に快適。無料でWindowsパソコンが作れてちょっと遅い事を我慢すれば、こんなに安定して使える環境を用意してくれたWoAプロジェクト、Win64Raspiプロジェクトに感謝。なんでもっと使われないのか不思議なくらい。
(ここまで)
=========================================

Winラズパイで別ドライブにしてページングファイルを1.9GB固定にしたが、どうも起動高速化に貢献している部分はサイズ固定の方らしい。
C:ドライブにシステム管理で作成し、D:ドライブを無しにすると、起動には若干の遅れが感じるがそれだけの事。その時ページングファイルサイズは1GBとなっていた。起動時にはメモリを食う処理はそこまで多くないので、ページングファイルが固定化されたことによる高速化もそれほどでもないのか。

Windowsが別ドライブにしたことでノード管理上何か利点があるかもしれない。C:ドライブに在ってもいいがシステムに必要なプログラムとページングファイルのノードが別の方が、ノードへのアクセスに引くインデックス等で何か利点があるかもしれないし。

ノードが固定されていれば、プログラムをインストールした時もそれを除外して起動できるはずだから気持ち速いかなという程度かも。
別ドライブに作成するのは、Windowsの作りを想像してこうだろうで設定していることになり、これは確証が無いことになる。

***

今はD:ドライブに1.5GB固定にしている。ドライブ毎にストレージセンサー(OFFにしたが)やエクスプローラ上容量不足を検知させているのも、処理上、余計な判定をしている可能性もあるので、450MBほど空きがある状態にしておく。

もちろんFlashセルコントローラが破損したセルを回避するために最もいい使用割合が50%なので、Windows OSを越えてハードウェアコントローラが管理している処理として、32GBなら16GB使用中で最も効率がいい。

◆◆◆ 検証 ◆◆◆
〇 検証1
C:ドライブに「システム管理」でページングファイルを置く(結論:まったくダメ)

固定サイズにすると使用していないセル分書き込みをするので、Flashの消耗は最適なサイズのシステム管理より多くなる。
しかし、ログイン時のパスワード入力のスムースさ、Amazon Musicの描画の通常さ(システム管理にするといつまで経っても再描画されない)、スタートメニューを開く時の再描画のちらつき抑制など、固定サイズの方がキャッシュが効いてる(アクセス頻度の少ないデータ - ここでは画面暗転時の背景画像やイメージアイコン、スタートメニューイメージ - をメモリからページングファイルに移動し物理メモリを空ける)。さらにシステム管理が最適化を行なうためCPUの%が70%を常時超えている。これは固定サイズの時は0%に落ち着くのと打って変わって悪影響だったと言える。多分確証がないと言っていた処理に相当するものが、システムに備わっていたのだろう。

よって、D:ドライブに固定サイズのページングファイルを作成する方法は、Flashセルのコントロールとしては余分な大きさ分摩耗が多くなるが、その代わり、Windowsシステムとして小さいメモリ領域を空けてくれてメインのプログラム動作をスムーズにするので、正解と言える。CPU負荷も低い。

〇 検証2
D:ドライブに仮想ハードディスク(VHD)を作成し、それに書き込みキャッシュ遅延をつける(結論:使用不可)

これはVHDが同じ高速記憶ハード上にあるとWindowsが区別できないので、GUIからはポリシータブが表示されない。なのでPowerShellから設定することで、ライトキャッシュ遅延を起こさせるようにするつもりだったが、Server 2016以上のプロダクトでないと、Enableコマンドが使えないようなのでダメ。

〇 検証3
BIOSのRAMディスクを作成してデバイスキャッシュとする(結論:未検証)

キャッシュとしてデバイスキャッシュとシステムキャッシュのうち、デバイスキャッシュはSDカードが起動ドライブのためか、デバイスマネージャではポリシータグが表示されないが、これはBIOS設定にあるRAMディスクに当たる。システムキャッシュは見当たらない。デフォルト1000ブロックから確認する。>未検証なので今後行う。

◆◆◆ 結論 ◆◆◆(2019/3/18現在)
=> D:ドライブに2GB確保し、ページングファイルを1.5GB固定サイズで作成するのが最も動作がスムーズになる

※HDDと同じ。SSDや大容量メモリ搭載PCだと、HDDのノウハウが逆にSSDの寿命を縮めるので悪手(Flashは追記で上書き出来ないのもそう)だが、Winラズパイでは、SDカード寿命よりパフォーマンス重視。HDDと同じ手法を取るのがデスクトップ UXとしては最善。もしWebサーバやNASとしてWinラズパイをOSとして選ぶのは間違いで、それならRaspbian OSにすべき。
もちろんC:ドライブに固定サイズでとってもいいが、たぶんHDDと同じなら別ドライブの方がWindowsシステムとしては処理がシンプルになるはず(これも確証はないがきっと当たっている)。ストレージセンサーOFFにしているので関係ないが、ONならその検知処理をC:ドライブのみに限定できるし。かつIndexerのインデックス作成にD:ドライブ単一ファイルとなれば、Indexerの負荷も下がるはず。


# by k1segawa | 2019-03-18 08:05 | Raspberry Pi | Comments(0)
Winラズパイの構築を簡単にするため、WoA2.1.1で作成した16GB SDカードのISOイメージをUSB Image ToolでHDDへバックアップしているのだが、以前はWindows Update後にWindows10 軽量化を行なったのだが、それだとバックアップした16GBのイメージにはWindows Update 1809累積更新プログラムが大きすぎて収まり切れない。せっかく16GBに収めているのに、毎回WUpdateと軽量化を行なうのもなんなので、軽量化をWUpdate前に行ってみたら、なんとか出来た。

従って、今の16GB SDカードの目一杯に入るだけのWUpdate(累積更新プログラム以外)を掛けて、軽量化を行なったものをバックアップとした。
これなら16GB イメージをEtcherで32GB SDカードに書き込み後、残った未使用領域16GBをPartition Master で拡張および別ドライブにすれば、最初から軽量化されたシステムで実験できる。

ちなみにC:ドライブを27GB、D:ドライブを2GBにしてページングファイルをD:ドライブ一杯に設定している。
a0034780_07034707.png

ページングファイルを設定すると、SDカードの場合、HDDと違ってSSDのようにシーク速度というものが無いので、C:ドライブにアクセスする速度と変わらない。また目一杯にしているので断片化しない。そして何よりいいのが、C:ドライブをアクセスするプロセスと別プロセスでD:ドライブをアクセスするので、確実に読み書きする格納領域がぶつからない(FATにしろNTFSにしろ)。なので、ログイン後のデスクトップ表示が一瞬で終わる。
ページングファイル移動前は、どうしてもタスクバーのアイコンが表示されるまで時間が掛かって、カーソルがくるくる回る状態だったのだが、それが全くない(ストアアプリ自動更新OFFのせいかもしれないのでページングを切って確認要)。

ストレージセンサーを有効にしていると、D:ドライブが容量が不足しています…と出るのでこれは鬱陶しいので早々に無効にする。別にD:ドライブは固定サイズのページングファイルしか置いてないので。

Windows10 軽量化とページングファイル移動でさらに快適になった。

モニタは1280x1024 nativeだがディスクアクセスは0%ベースだ。ストアアプリをすべてスタートメニューから外し、アンインストールできるものは全てアンインストールしたせいか、まったくメモリも食わない(35%)。ストアアプリのサービス(AppX SVC/Clip SVC)を停止しているので自動的にお勧めされないし、なによりライブタイルという余計な表示が無くなったのでスタートメニューが軽くなった。

ディスクアクセスはC: D:両ドライブを監視しているので、プログラムを使用すればD:ドライブにアクセスするので100%に近くなるが、もうそれは固定サイズのメモリキャッシュでCPUの処理負荷を大幅に上げることはない(ページングが頻繁に行われるほどメモリを大量に食う場合はスワッピングで処理負荷が高くなる?)ので、もうディスクアクセスに心配する必要はない。もちろんC:ドライブにデータを頻繁に書き換えるようなプログラムは別だがそんなの作りが悪いだけで普通Writeキャッシュを設けてI/Oを待たずに帰ってくるように作る。あーでもx86 on ARMエミュは独自にキャッシュ持ってそうだから、それをオンメモリじゃなくディスクに依存してたら遅そうだな~
同種のプログラムであるSpotifyがAmazon MusicやiTunesに比べて極端に遅いのはx86 on ARMエミュを通したストアアプリ(DACでインストーラをストアアプリ化しただけ)だが、軽いプログラムのはずなのに重いのは、その辺もあるのかも。

16GBをイメージで残しておくと簡単にWinラズパイ構築が出来るので、高解像度モニタの場合でもイメージは800x600にしてあり、WUpdate掛けてから解像度をあげてやればいいし、こういう形でいくつか作っておくとHDDの圧迫も少なくて済むし、SD書き込み1時間、WUpdate1時間くらいで終わるのですごく便利。

今のイメージが最適解だな。SSDブートも少し興味ある。
Windows on ARM for Raspiが大きくバージョンアップするまで、しばらくはこのままかな。かなり実用的な速度になってきたけど、SSDブート起動にしたらSDで最速170MB/sが400MB/sに上がるようなので、さらに使い物になるだろう~USB2.0だと理論値480/実効40とあるので、内部処理的に応答が速ければI/Oアクセス処理のスピードアップが見込める。4000円ぐらいであるのでそれも実験してみたい。容量と価格のコスパがいいし。今使用してるSDカードは読込みデータ転送速度が理論値80MB/sなので実効いくらか(10分の1として7,8かも)わからないし、元々理論値400あれば実効の40ぎりぎりまで出そう。あーでもページングファイル移動は逆効果かもしれない。

ちなみにキーレイアウトがくるっていた。英語キーボードから日本語キーボードにするには以下の通り。
設定>時刻と言語>言語>言語を追加する>日本語をクリック>オプション>ハードウェアキーボード レイアウト
a0034780_07131426.png
a0034780_07131886.png
a0034780_07134705.png




# by k1segawa | 2019-03-17 06:29 | Raspberry Pi | Comments(0)
(2019/3/14追記)
AnyDeskをRaspbian OS上で動かすと、Winラズパイより遅い。ホストの画面をRaspbian OS側のAnyDeskで描画するのがとても遅い。
良く調べるとWinラズパイはインストールせず、ネットワーク共有したWin PCのHDD上から起動していた。
SDカードではないため、起動も速く、SD上にバッファを作らないで起動するため、動作が快適なようだ。ネットワークドライブよりSDカード上の方が遅いのか。
なのでWinラズパイにインストールしてしまうと、うって変わって動作が激遅になる。
もちろんWinラズパイはホスト側だ。クライアント側になるにはまだまだ非力なようだ。
(ここまで)

AnyDesk が Linux PCでも全然使えるので、Raspi用もあるので一旦Winラズパイは止めて、Raspbian OSに戻る。

どうせならVLCでYoutube再生をリモートでしたいので、VLCのGPUサポートが現時点で表明されているので、GPUバッファを64=>128、その他のraspi-updateを掛けてファームウェアのアップデートを行う。

こちらのサイト様を参考に。

これによると、GPUであるVideoCoreがハードウェアアクセラレーション対応になったとの事。(2018/11時点)
なので、サイト様のコマンド手順に従い各種アップデートを行う。

DVDプレーヤーはこの際関係ないので、ずーと飛ばしてGPUメモリを128に。

一応再起動後YoutubeのURLをVLCで再生すると、Firefox-ESRで再生するより全然スムーズ。

AnyDeskのサイトで、その他のOSを選択してRaspberry Piのdebをダウンロード。インストールする。
(anydesk_2.9.4-1_armhf.deb)

スタートメニュー>インターネット>AnyDeskで起動。

さすがに再生はガタガタになる。しかしホスト側をスピーカー右クリックでHDMIにすると、音声もこちらに送信される。
んー、再生自体はラズパイでやった方がいいな。あくまでもリモコンとして離れた所からVLCをコントロールするためにAnyDeskを使う感じで。
スマホも使えるので、VLCで映像再生させてリビングTVに繋ぎ、スマホで制御かな。もうそれならomxplayerかOSMCでいいやん。

VLCもAnyDeskも関係ないけど、
omxplayerでHDMI経由のTVリモコン信号を解釈してチャンネル変更を行うという、赤外線リモコンHATいらずのハックが以下のサイト様で。
RaspberryPi3 「テレビリモコンで押したキー信号」を捕捉する cec-client | grep --line-buffered -Po '(?<=key pressed: )\w+(?= \(\d, \d\)$)' - min117の日記

すごいやん。
HDMIって色んな通信をしてるんだな~

だいぶWinラズパイから離れたけど。




# by k1segawa | 2019-03-13 20:26 | Raspberry Pi | Comments(0)
リモートデスクトップ接続は、クライアント側はHomeで可能だが、Proでホストになる事はうまくいかなかったので軽いフリーソフトで。


これはFree版があり、Windows/Linux/Mac/Andriod/iOS対応。
リモートで操作する側、される側双方にインストールせずにそのまま実行。
リモートされる側の認証番号9桁を操作側で入力するだけで可能。
a0034780_21063707.png
Microsoftリモートデスクトップとの接続は出来ない。

大変軽く容量も食わない。どんなデバイスからも接続でき、個人利用なら大変便利。有償でも年$79と言う事で月6$ちょっと。制限もゆるく、独自のファイル転送機能が使えないなど、Windows間ならネットワーク共有で解決できる些細なもの。

WinラズパイでもWindows版が動き、処理負荷も低く、描画は+1秒程度。ホストにもなれるので、Xサーバを動かしてLinux端末を起動する前記事より容易(XサーバでXクライアントのみの表示は負荷は低いが、Windowを使ったアプリの実機確認は出来ても"リモート"表示は出来ない)。高速描画でほぼリアルタイムになり、かつ拡大(アスペクト比保持)機能でさらに快適。

リモートデスクトップ接続なら当たり前のことだが、Winラズパイにほぼノータッチでクロス開発出来るので、開発中の動作速度の問題はかなり軽減される。
(Win PC/Mac等のホスト側でクロスコンパイル後、Winラズパイで実機確認をリモートで行うなど)

Visual Studioでのクロス開発にも使える。キーボードやマウスを持ち替えなくてもいいし、モニタも極端な話、1つで済む。

# by k1segawa | 2019-03-12 21:20 | Raspberry Pi | Comments(0)
ストアでX410というXサーバーを購入。Winラズパイにインストール。WSLは不要。デカいからね。
もちろんVcXsrvでもいいのだが。

WinラズパイでX410起動後、タスクトレイのXのアイコンを右クリックして、「Allow Public Access」を選ぶ。メッセージが出るのでOKを押す。

プライベートネットワークをチェックONにして許可を押す(Winラズパイで行う。画面はWin PCの例)。
a0034780_09442020.png

Winラズパイで、DOSやPSでipconfig でプライベートIPアドレスを調べる。
例 ) 192.168.10.112

ホスト側PCのWSLや、Linux端末上で、
※ただしBashはxterm系列でないため、有効にならない。
Bash上からlxterminal等をインストールしその上で実行の事。

export DISPLAY=192.168.10.112:0.0
xclock

(sudo apt install x11-apps 済みとする)
X クライアントが Winラズパイ上にリモート表示される。
a0034780_09445725.png

lxterminalとかも表示出来るので、PC側のWSLやLinuxにアクセスしてリモート開発出来る。
a0034780_09461045.png

Bash>lxterminalと打つ>そのlxterminalでshと打つ>export DISPLAY=192.168.10.112:0.0と打つ>lxterminalと打つ>Winラズパイでlsと打つとカラーになって綺麗(shでVT用のエスケープシーケンス設定がされるのだろう)。

WindowsのよくあるターミナルソフトでもDISPLAY設定できるかは未確認。

キー入力も可能。Linux PCからlxterminal>sh>export DISPLAY=192.168.10.112:0.0>lxterminal>日本語表示・入力も可能なのを確認。もちろんマウスによるlxterminalのテキスト選択とかちゃんとイベントも拾ってる。やべ、icoとかもCPU/メモリ/ディスク消費せずに普通に動くし、topとかWin PCの方の負荷でicoが動いてるのも出る。

Winラズパイ側でWin PCのlsコマンドを実行しているのだ。というかlxterminalを動かしている。Xプロトコルがネットワーク透過なので、XアプリケーションでのイベントはすべてXプロトコルで送受信されている。まあなので有線LANでアクセスするか、WPA上で無線LANを暗号化していれば、家内LANは大丈夫か(企業内VPNも社内のスパイ対策と聞く)。

もう何でもできるな~

そうかー、これWSL入れるPCを1か所にして、Xサーバだけ入れれば他のPCからリモート開発出来るな。PC同士、Linux端末でも出来るし、逆にPCでLinux端末にアクセスできるから、もっと活用されるといいな。社内ならIPSecでVPN化してIPパケットレベルで暗号化を進めているはずだから、わざわざsshだけでttyだけ暗号化したり、httpsでhttpだけ暗号化したりするより、安全なんだがな。

Go言語による開発も、Xでリモート表示を企むなら、Tcl/TkやGTK系のGUIライブラリを使って、PCで普段は(Xsever立ち上げて - 要らない?)GOOS=windows/linux/mac、GOARCH=amd64/i386にして、ビルド・実行し、テストの時にGOOS=windows、GOARCH=arm、GOARM=7(aarch64も行ける?)にして、ビルドし、Winラズパイに実行形式を転送し、Winラズパイ側で「OpenSSHサーバ開始してssh-keygenしてsshログイン出来る」ようにして、DISPLAY設定してPC側へ表示をさせるようにすれば、GUIもPCに表示され、いいんではないかな(実行しているのはWinラズパイ)。「」内がもう少し調査が必要。WinラズパイにGoのexeを実行するのにGoインストールは不要だし。GUIライブラリも不要だよね?でもGUIライブラリがランタイム不要と言う事はwin32APIを直接コールするのでXによる表示じゃないのかな。WSL上でGo開発出来ればわかるのか。その時の設定だな。


# by k1segawa | 2019-03-11 09:59 | Raspberry Pi | Comments(0)
VGAの画面の様子を以下に示す。
十分綺麗で使える。実行時一度も不具合は発生せず。

(2019/3/14追記)
ストリーミング系
Amazon Music < iTunes < Spotify の順で最もAmazon Musicが軽い。
a0034780_05203204.png
iTunes
a0034780_20321385.png
Spotify
(ここまで)

(2019/3/11追記)
Pico-8の画面を追加(pico-8_0.1.11g_windows Webじゃないよ)
a0034780_08433121.png
a0034780_08433984.png
実用速度で動く。ゲーム開発するならいいかも。Raspbian用もあるけどね。
(ここまで)

最初の3枚は256色に減色してある(ブログの制限)。
a0034780_15494388.png
デスクトップ

a0034780_15501224.png
Microsoft Edge

a0034780_15542766.png
Amazon Music

a0034780_15550644.png
スタートメニュー と ライブタイル

a0034780_15552318.png
ペイント

a0034780_15553963.png
Visual Studio Code

a0034780_15555420.png
Firefox Nightly ARM64 日本語版

a0034780_15560804.png
Microsoft Small Basic

a0034780_15562230.png
Powershell IDE & コマンドライン C# & hello.cs

a0034780_15563638.png
3D ビューアー

a0034780_15570066.png
3D ビューアー (ワイヤーフレーム表示)


GPUドライバが完成すれば、教育PCの代わりに(PCだが)使えるんじゃないかな。Full の Windows が 35$ だからね。

# by k1segawa | 2019-03-10 16:08 | Raspberry Pi | Comments(0)
2019年2月15日初めて投稿されたWindows on Raspi 写真記事から製作者たち(執筆者も含む)の環境を推測。

I Ran Windows 10 on Raspberry Pi So You Don't Have To | Tom's Hardware.com News
by Avram Piltch February 15, 2019 at 2:06 PM

URL : https://www.tomshardware.com/news/windows-10-raspberry-pi-hands-on,38629.html


以下は簡易的アーカイブ(文章は機械翻訳、写真は埋め込みではなくリンク先参照)なので、全面イメージ表示は上記[Google 英日翻訳後]を参照の事。

写真を見るとDVI接続している。解像度はFHDより高いように見える。縦もRaspi財団のトップページのコンテンツの表示具合から WQHD (2540x1440) 以上と思われる。検証したFHD HDMIだとnativeでSDカード 98MB/s UHS-I で何とかなっていた。より速いSDカードを利用しているのだろう。それともDVI接続だと解像度が上がっても描画負荷はあまり変わらないのだろうか。キーボードはワイヤレス。電源もよくあるAnkerではなく安っぽい。
当時の想像よりいいのはChrome 、Firefox ともにARM版に取り組んでおり、非公式 GPU ドライバの開発が進めば Youtube再生も可能になりそうな事か。

(Archive)
=========================================================
Tom's Hardware.com > News

私はラズベリーパイでWindows 10を走らせたので、あなたはする必要はありません


あなた自身をより生産的にするため、またはあなたのゲーム体験を向上させるためにあなたがするいくつかの技術プロジェクトがあります。 そして、あなたができることを証明するためだけに、あなたがするクレイジーハックがあります。 ラズベリーパイでWindows 10を実行することは、少なくとも現時点では後者のカテゴリに分類されます。

Raspberry Pi上で世界で最も普及しているデスクトップOSを実行するというアイデアは、特にMicrosoftがこの35ドルのシングルボードコンピュータでフルWindowsを実行することをサポートしていないため、興味深いものです。 はい、あなたはPi用のWindows 10 IoTの公式ビルドを手に入れることができますが、そのOSは名前だけで「Windows」です。 これはプロトタイピング専用であり、実際のデスクトップアプリケーションを実行するためのものではありません。

クアルコムの常時接続PC(ACPC)などのWindows 10がArmデバイスを使用するようになると、Armを搭載したコンピューター上で完全なWindows、さらにはwin32アプリケーションを実行することが可能になります。 そして、たくさんの忍耐力とひじのグリースがあれば、あなたはRaspberry Pi上で完全なWindows 10を走らせることができます、しかし、あなたがただ興味を持っていない限り、痛みのある設定はあなたにとって本当に不可能なOSであるのでつかいます。

インストール

Windows 10搭載のRaspberry Pi 3Bが完成するまでには、2営業日かかりました。 公平を期すために、最初の3〜4時間後に少なくとも10回ものブルースクリーン死(BSODS)を経験した後、私はWindows 10起動してセットアップすることができましたが、インターネットがありませんでした。 Wi-Fiまたはイーサネット用のドライバはありませんでした。

マイクロソフトはWindows 10 on Armを一般にダウンロードしていないので、 uupdump.mlまたはuup.rg-adguard.netのいずれかのオンラインツールを使用して、関連するバージョンのOSをダウンロードする必要があります。 ProfessionalとHome、およびさまざまなバージョン番号があります。 私はこれらのサイトのいずれかとこれらのダウンロードの正当性を保証することはできません。

また、 サードパーティ製のイーサネットドライバWindows on Armインストーラ 、およびコアパッケージも使用する必要があります。これらはすべて非公式のソースから提供されています。 つまり、このソフトウェアのどれかが安全であるという保証はありませんが、テスト中に、それらが私のPCまたはRasperry Piに害を及ぼすという証拠は見られませんでした。 これを自分で試したい場合は、Raspberry PiにWindows 10をインストールする方法に関する私の記事を参照してください。

ユーザー体験

最後に、gjsmanという名前のユーザーからの一連の指示に従うと、私は自分のオフィスでイーサネット接続を使用してWindows 10 Professional Build 17134を実行することができました(内蔵Wi-Fi用のドライバーはまだありません)。 しかし、UIを動かすたびに永遠に時間がかかるので、それを使うのはスローモーションのビデオを見るのと同じです。

オペレーティングシステムがデスクトップを起動するのに4〜5分かかります。また、セッション中に初めて[スタート]メニューをクリックしたときは、表示されるまでに10〜20秒待つ必要があります。 ほとんどのアプリを開くのは、Edgeブラウザが表示されるまでに30秒かかり、ロードが完了するのはもちろんのこと、忍耐強い運動です。

EdgeにWebページをロードすることは、高速インターネット接続でさえもフラストレーションの中での課題です。 Tomshardware.comは、ロードとレンダリングに1分半以上かかります。 また、ブラウザのアドレスバーをクリックするのと同じくらい簡単な操作を行うと、カーソルが数秒間入力を表示し始めないため、さらに忍耐力が必要です。 Windowsの検索ボックスの使用を忘れてください。これは非常に遅いため、文字通りスニッピングツールのような単純なプログラムを見つけることができません。 ただし、had-trailers.netなどの一部のサイトでは、読み込みがかなり速くなりました。

システムがこのように無反応になることについての最悪のことは、入力がいつ登録されたかを常に知ることができないということです。そして、システムが最終的にあなたに追いつくとき多くのエラーにつながります。 たとえば、[スタート]ボタンをクリックしてもすぐに何も起こらなかった場合は、もう一度数回クリックすると、最終的に開閉しました。 私がNetflixアプリに検索語を入力したところ、5秒または10秒後に表示されるまで最初の数回のキーストロークが登録されたかどうかわからなかったため、入力ミスが発生しました。

やや良いニュースは、セッション中に最初にアプリを開いた後、おそらくキャッシュのせいで、2回目にアプリが早く開くことです。 また、Windowsのメモ帳を開いたときと同じように、入力するとすぐに文字が表示されることがあります。

パフォーマンス

Raspberry Piを使ってWindows 10でビデオを再生することすら考えないでください。 私がLego Movie 2用の1080p予告編をダウンロードし、それをWindows 10の内蔵プレーヤーを使って見たとき、システムは私がスライドショーを見ていたように見えたので非常に多くのフレームを落としました。 そしていくつかのフレームはとてもピクセル化されていました。 Netflixアプリでビデオをストリーミングするのはさらに悪かった。 The Flashのエピソード(はい、皮肉なことになっていました)は非常に遅く、ウィンドウのサイズを変更しようとした後にアプリがクラッシュしました。

キックのためだけに、私はGeekbench

4.1を走らせました、そして、20分以上走った後に、ベンチマークは622のマルチコアスコアを返しました。それらは私が今までに他のArmベースのPCでさえ見た中で最も低いスコアですまた、x86エミュレーションを使用して、Win32アプリケーションのGeekbenchを実行する必要があります。
対照的に、 サムスンギャラクシーブック2とそのSnapdragon 850プロセッサは3,575を獲得した。 これまでに見た中で最も低いGeekbench 4.1スコアは、Celeron N4000搭載のLenovo Flex 6 11の 3,286というマークです。

私のブートドライブとしてSanDisk Ultra 64GB microSDカードを使って、PiはCrystalDiskMark 6.0.2で非常に悪いスコアを得た。 4Kの読み取り/書き込み(より一般的なタイプ)は4.6 MBおよび2.1 MBps(キューの深さは32)で、9 MBpsを超える順次読み取りおよび書き込みを返しました。 ローエンドのSSDでも20〜30倍高速です。

なぜラズベリーパイでWindows 10が遅いのか

それでは、MicrosoftとRaspberry Piの両方に公平になりましょう。 Windows 10は、このプラットフォーム上で実行することになっていませんが、それには正当な理由があります。 Raspberry Pi 3Bはたった1GBのRAMと1.2GHz、クアッドコアのArm Cortex A-53 CPUを持ち、それはmicroSDカード(私の場合は前述の64GB SanDisk Ultra)から起動します。

私たちがRaspberry Pi上でWindows 10を実行できる唯一の理由は、MicrosoftがWindows用Armプロセッサのバージョンと、OSをダウンロードしてそれをmicroSDカードに「書き込む」ソフトウェアを作成したことです。君は。 私が使っていたバージョンのArm64プロセッサ用のWindows 10 Professionalには、Pi、そのネットワーキングコンポーネント、あるいはそのGPUのための最適化はされていません。

イーサネットをPi上で動作させるために、私はそれをmicroSDカードに焼き付ける前に、別のイーサネットドライバをダウンロードしてそれをコアパッケージにコピーしなければなりませんでした。 それから、結局のところ、最初のWindows 10セットアップメニューに到達するためにも20〜30分の起動と再起動が必要でした。 セットアップを終えて、Microsoftの「Just a moment」というテキストが一瞬よりも少なくとも半ダースも表示されるのを見た後、ついに起動までに4分ほどかかり、地獄のように遅くて接続できないシステムになった。 Wi-Fi。

しかし、明るい面を見てみましょう。 これはフルWindows 10であり、Armプロセッサ用にコンパイルされた「最新の」Windowsアプリケーションだけではなく、win32アプリケーションも実行できます。 ただし、起動するwin32アプリケーションはすべてx86エミュレーションを介して実行されているため、予想よりも遅くなることに注意してください。 win32アプリであるChromeブラウザは信じられないほど遅いので、ここではArm上で動作させるように作られているEdgeブラウザよりも少し悪くなっています。

RAMの容量が限られているため、PiのWindows 10の機能にも悪影響があります。 プログラムが実行されていなくても、タスクマネージャは250MBの空きメモリしか見せませんでした。 ブラウザのタブを1つでも起動すると、Windowsのページングファイルに保存されている仮想メモリにアクセスします。これは、動きの遅いmicroSDカードにあります。

MicrosoftがLiteバージョンのWindows 10取り組んでいること、およびRaspberry Pi CreatorのEben Uptonが、彼が自分のプラットフォームにフルWindowsを歓迎すると言ってくれたことを考えると、近いうちに機能バージョンのWindows 10のPiを見ることができるでしょう。 一方、「Raspberry PiにはWindows 10が必要ですか」と尋ねる必要があります。

見通し


Raspberry Piの公式オペレーティングシステムであるRaspbianは、Raspberry
Piのすべてのコンピュータ、さらにシングルコアのPi Zero Wでも動作します。さらに、最高のRaspberry
Piでさえも、プライマリコンピュータとして使用するためのものではありません。
Piの長所は、ロボットなどのあらゆる種類のIoTプロジェクトを構築するために使用できること、または子供の学習用コンピュータやレトロなアーケードボックスなどの特殊なユースケースに展開できることです。 Raspbianは、ライト、モーター、センサーなどを制御するためにPiのGPIO(General Input / Outputピン)を利用するための素晴らしいサポートをしています。

一方、Windowsがそれほどうまく動かないのであれば、Raspberry
PiはDell Inspiron 3000のような200ドル以下のPC、あるいはDell Chromebook
11のような安価なChromebookと競合し始める可能性があります。 モニタ 、キーボード、マウスを購入すれば、Raspberry Piは安価なラップトップデスクトップよりもはるかに安価ではありません。

したがって、Raspberry Piボード上で完全なWindows 10を適切に実行することはきちんとできますが、プラットフォームを進歩させるための必要条件ではありません。 ほとんどのメーカーや学生はおそらく超軽量のRaspbianを好むでしょう。

それが想定されていないときにWindows 10をRaspberry Pi上で動作させることは楽しい挑戦です。 しかし、あなたが本当にハッキングを楽しんでいない限り、このプロセスはあなたの時間の価値がありません。

この物語についてコメントしたいですか? Tom's Hardware Forumsであなたの考えを教えてください。

詳細: ラズベリーパイにフルWindows 10をインストールする方法



# by k1segawa | 2019-03-10 04:06 | Raspberry Pi | Comments(0)
Winラズパイでテトリス。ちゃんとしたグラフィックス。

以下のサイト様を参考に。

Small Basicのダウンロードページに行くと、「Download」と、Web上で実行する「Start Codeing Online」ボタンの2つがある。しかし、Downloadはストアアプリではないバージョンで1.2、ストアアプリには最新1.3がある。

開発・実行方法は3つある。
1) 最新はストアアプリ インストールで、1.3。
2) ストア化前x86形式 インストールなら 1.2。
3) インストールしないでWeb上で実行。

ストアアプリ上で実行するのと、x86 on AMDエミュ上で実行するのと、Web上で実行。前から速い順となる。
2はストアアプリが使えないWindows 7上で、Winラズパイ用の開発する時かな。

とにかく容量が少ない。
1はインストールで2.75MB。
2をWin PC側にインストールして確認(Winラズパイ側でもインストール可能だがクロスコンパイルやランタイムのためではない)。10MB。インストーラ自体が7MB。

Go言語が356MB、インストーラが120MBと比べると圧倒的。それにSmall Basicはグラフィックもついてきてるしね。

んー、敷居の低さはGo言語をも上回る。

でサンプルを。インストール自体しなくてもサンプルはWeb上に発行されているのでそれでもかまわない。もちろんWin PCでもWinラズパイでも開発出来る(exe作成はPC)し、Web上に発行も出来る。

Webに関しては以下のサイト様を。

Web上は、簡単なhello worldぐらいならそのまま実行可能。
1や2なら、ソースを張り付ければすぐ動作。

グラフィックも確認。
テトリス(ID=TETRIS)を、Web上で実行しようとするとかつてのSilver-lightのインストールが必要。
1や2は、特にインストール要求されないで、実行可能。

【実行形式にする】
<<<VS インストールとWinラズパイのストアアプリ動かない>>>
1や2は、Visual Basic変換もあって実行形式に変換可能。
(ただしVB Studioが入っていないとダメ。VBRuntimeSP6だけではダメ。ソース変換後コンパイルするのかな。VS Express 2015は以下のサイト様で。なのでWin PCでしか作れない)
MSは一応サイトを変更してもどこかに残っているので、(https://my.visualstudio.com/Downloads?PId=2226)Visual Studio Dev EssentialsにMicrosoftアカウント認証してhttps://my.visualstudio.com/Benefits?wt.mc_id=o~msft~vscom~devessentials-swimlane~689&campaign=o~msft~vscom~devessentials-swimlane~689からアクセスする。

Silver-lightのインストールを嫌うなら、1や2をインストールかな。

WinラズパイではストアアプリのSB自体が実行できない。インストールは出来るが。
なので実体のC:\Program FIles\WindowsApps\Microsoft.SmallBasic_1.3.0.0_x86__8wekyb3d8bbwe\Small Basic\SB.exeを(タスクマネージャ詳細で場所特定)に互換性のトラブルシューティングを適用。すべての互換性でも動作不可。管理者権限も。多分前提とする.NET Frame Work 3.5 (ARM64)がこのアプリが32ビット版なので更新が必要なのかもしれない。イベントビューアのWIndows ログ>Applicationで.NET Runtimeでエラー Windows Error Reporting で SmallBasic1.3_x86でエラー。Appllication ErrorでKERNELBASE.dllでエラー。

たぶん。ストアアプリ化したが、Windows ARM 32ビット版までで、64ビット版での確認はしてないのだろう。
あとはARM64での.NET 3.5の不具合が更新されていないか。強制更新はどうやるんだっけ。
ストアアプリの自動更新を停止しているせいはないかな。

質問でMSボランティア モデレータに問い合わせしている方がいるが、Win PCでも動かないことがあるようだ。
https://answers.microsoft.com/ja-jp/windows/forum/all/small-basic-13/9cd45c22-2397-44e8-b8fb-12cd11ddfdb9?page=1

あと実容量は9.75MBだった。んー。
SmallBasicLibrary.dllを同梱すれば以前のexeは実行出来たんだけどなー
<<<ここまで>>>

仕方がないのでWinラズパイでは、1.2をx86 on ARMエミュ上で動かすことに。Web上でSilver-light入れるのもまた未対応な気がするので。

インストーラはx68 on ARMエミュで動いてる。そこそこ速い。
起動はやはり遅い。

以下はWinラズパイでSmall Basic1.2(x86 on ARMエミュ)上でテトリスを動かした画面。
a0034780_09081399.png
キーボードもリアルタイムに効く。あれ?反応速度は悪くないぞ。画面下のアイコンは1.4と1.3のもの。時間と日付が多少おかしい。

インポートボタン押下後の画面を以下に示す。
a0034780_09094272.png
機能はVS Codeには負けるが、公開アプリがソースともども日本人サイト様が多いのでまず初心者には楽かも。


こちらのサイト様を見るにつけ、「ラズパイ財団による Windows ARM on Raspi のGPUドライバ提供」が完成すれば、 Microsoftが Small Basic ストアアプリ ARM版 をちゃんと動作確認して、 ラズパイは教育パソコンとして、安価で大量のWindowsの資産を活かしてものすごく使えるんじゃないかな。

SBO(Small Basic Online)がWeb版で、2019/2/17にバグフィックスを行っている。Super V2が出ていてComming SoonでPublichも出来るようだ。JSかなにかで出力するのだろうが、割と活発で、これがSBD(デスクトップ版つまりストアアプリ)にもいずれ反映されるとの予想されている。

あー、MSやってるんだ。これならWindows ARM on RaspiでSBD(ストアアプリ)が動かないのも情報提示すればテストしてくれるかな〜

GPU(VideoCore IV 3D)の仕様書の場所はBroadcom社提供 https://docs.broadcom.com/docs/12358545 に変わっている。WikipediaによるとCPU内のGPUはずっと変わってないようだ。3DとついているからOpen GL ES 2.0か。VideoCoreのWikipediaにBCM2837がARMv8でラズパイ3となっている。FHDサポートしてるな。3+のBCM2837B0は
クロックアップ+α機能Up。
GPGPUでPyVideoCoreを作っている方、RaspiでベアメタルプログラミングでVideoCoreIV 3Dを直接いじっている方がいて、仕様書はBroadcom社がラズパイ財団に好意で提供された物らしい。財団に頼ることなくGPUドライバを開発してLinuxは動いているからWindow も一緒だな。WoARaspi のプロジェクトで ARM10のTelegram SNSをのぞくと最近も投稿されてる。しかしWindows10 ARM64 for Raspberry Pi というGROUPにmember 344人か。この中に財団に関係している人も多いのだろうな。

GPUドライバが出来ていないわけではないのか。まだ十分に生かしきれてないのだろう。GPUとしてFHDはサポートしているし。するとリブートはプログラム不良かもしれない。性能が上がるまでは時間が掛かるが、不具合なら修正か制限となってもう少し抑えられる。英語読めば書いてあるのか。うーん、片っ端からあたってみる必要があるな。



ストアアプリには他の開発環境もあるし。
あれ、.NET入ってるからC#/VBもコンパイル出来るんじゃ。



動作確認済みアプリ
(Edge、メール、ペイント、メモ帳、リモートデスクトップ接続、ネットワーク共有など標準ツールはもちろん)

【ストア】
Amazon Music
iTunes
LINE
Skype
DropBox
OneDrive
秀丸
Youtube再生アプリ(AwesomeTube)

【ARMネイティブ】
Go言語
Firefox Nightly (aarch64日本語版)

【x86 on ARMエミュ(32ビット)】
SmallBasic 1.2
Visual Studio Code
Firefox
Opera
Vivaldi
vim
USB接続ミラーリングソフト(Splashtop Wired XDisplay Free/有料版)

別サイト様では次の物も動いている。
Office 365(ストア)
Chrome(x86)


エミュで重いのはブラウザ系。それ以外は単アプリで使う分にはストアと同じ(起動遅いが動作はそこそこ)。ChromeやFirefoxのARMネイティブ公式対応を待とう。

今回ストアアプリでも動かない事があったのが、それもMS謹製なのがちょっとショック。

【中古モニタおすすめ】
DVI接続の(さらに1280x800(16:9)のシネマサイズがあれば)中古モニタ+変換ケーブルがおすすめ。中古モニタ15~19インチで2000~5000円か。短いHDMI-DVI変換ケーブル500円。横1024以上縦768(4:3)以上あればAmazon Musicなどの固定画面サイズアプリでも入る。7インチISP液晶なら7000円以上するし、7インチにある縮小表示で字が潰れる・TFTは色味が変(青っぽい)・視野角狭い・暗い等の問題があり、ノングレア、native でドットバイドットの中古モニタの方が程度にもよるが全然綺麗。重いFHD 1920x1080 (2,073,600)より1280x800(1,024,000)でピクセル数は半分で描画負荷が少ない。自環境1280x1024(5:4 1,310,720)なので1600x900(16:9 1,440,000)までぐらいならOKか。スピーカは逆にラズパイの場合3.5mmジャックなので要らない。自環境のもう一つのDVIモニタ1024x768でAmazon Music縦なんとか入る。ドットバイドットで映り綺麗だし、FHD HDMI/DVIモニタに接続する気にならないくらい動作も軽い。

VGA接続+HDMI=>VGA変換コンバータ・コンバータ(2000円)だとHDMI認識で解像度がモニタ側から帰ってこないため、Windows起動時窓マークでHDMIに繋いで取得させてから、ケーブル繋ぎ変えでラズパイをごまかせる(FHD HDMIモニタを使って、1280x1024(1,310,720)モニタがVGA接続+コンバータで1024x768と認識する。VGAモニタ安いけど+2000円やコンバータに繋ぐ両メスVGAケーブル要で+3000円オーバー必要でDVIと同価格になる)。ノートPCのVGA接続の外部モニタにいいけどね。ノートだと1280認識する。

# by k1segawa | 2019-03-09 07:12 | Raspberry Pi | Comments(0)
(2019/3/9追記)
インストール後Windows Update時に高解像度のままだと記憶領域が足りないと出て失敗する事がわかりました。
(ここまで)

(2019/3/12追記)
DVIモニタ1024x768 DIAPLAY=native FANあり未操作時の負荷はここまで低くなります。
a0034780_01131407.png
このSDカードでは7,8はやっていません。時間がたてば落ち着くのとSDカードがそこまで遅くないからです。それでも初回起動時やスタートメニュー初回は5秒かかります。その後はメモリにあるので0~2秒ほどです。
裏ではエクスプローラ(ネットワーク共有)、コマンドプロンプト、メモ帳、Xサーバー(X410)、Pico-8(タスクsleep中)が動いています。
SDカード:SDSQUNS-032G-GN3MN 32GB 80MB/s 533X SanDisk Ultra microSDHC UHS-I Class10

(ここまで)

◆1280x1024(SXGA)の低解像度DVIモニタに変換ケーブルで繋いでいます。
FHDのHDMIモニタでも検証しましたが、結局遅いか解像度を生かせない800x600でしか動きません。
遅い理由のうち、モニタに関する原因は、高解像度だからです。
DVI/HDMIは関係ありません。

◆運用
Windows Update終了まで、BIOSのDisplayは、virtual 800 x 600 もしくは 640 x 480 のみにする。
ただし、モニタがSXGA以下ならnativeやvirtual 720pでも可能。

◆Windows10 軽量化
Windows Update終了後、次の軽量化を行ってディスクアクセス100%の状態を0%ベースにする。
(2019/3/9追記:軽量化は色々操作するため、まずはWindows Updateを行って下さい。軽量化中に更新プログラムがダウンロードされているとディスクアクセスが発生し、そもそもそれを抑えるために操作設定することが非常に困難になります)

1) アクティブ時間の変更
2) タイムラインの停止
3) バックグラウンドアプリの無効化
4) スタートアップアプリの無効化
5) 高速スタートアップの無効化
6) ストアアプリの自動更新を停止
7) その他 (プライバシー情報提供停止等)
8) ストアアプリ個別停止

その後でなら、動作が遅くなるが高解像度設定も可能。

【結論】
=>Winラズパイは、速いSDカードを使って「低解像度モニタ」で運用する。




◇◆◇◆◇◆ 試行錯誤のまえに
【DVI接続とHDMI接続とバージョン】
リビングTV (FHD HDMI1.4ぐらい?)でちょっと遅いくらいだった98MB/sのSDカードでの確認をしました。
リビングTVとは違う、普通のFHDのHDMI(2.0以上)モニタで起動しましたが、DVI端子・HDMI端子ともに処理負荷(遅さ)はリビングTVに繋いだ時と同じ感じです。ただAmazon Music操作中や動作中にいきなりシャットダウンがありました。これはどちらの接続方式でも発生します。リビングTVでは5V 3Aだったのを2Aにしたせいのようです。

(このSDカードは軽量化してないのでディスク100%です。しかしページングファイルを別ドライブに逃しているからなのかSDカードが読込みデータ転送速度98MB/sと速いからか割と普通です)

【クラッシュ、シャットダウン、そして遅い原因は別々に検討する必要があります】
クラッシュ(リブートや無限ループなどの暴走の事とします)の直接の原因は、ドライバがGPU未対応で、CPUが高解像度描画を処理するためのメモリが足りないためです。
そして電源不足はシャットダウンを引き起こします。シャットダウンでSDを破壊した場合その後不正なSDで起動するため、クラッシュを引き起こす遠因となります。
そして遅い原因は高解像度やSDカードのスピード、システムの余計な負荷など複数あります。

(現時点での判断。もちろんもっと詳しい検証で変わります)



◇◆◇◆◇◆ 試行錯誤(1024無理 >Window Updateまでは800以下)
前記事で作成した、低速SDカード KINGMAX Class10 16GBだが、検証として実FHDモニタだとvirtual解像度はどこまで指定できるかを探る。

実解像度FHD(1080p 1920x1080)のHDMI接続モニタだ。
最初の運用はDisplay=virtual 1024 x768 で、virtualを720p(1280x720)、1080p(1920x1080)、native(逆に負荷低いはず)と上げていく。検証できるのは自環境ではFHDしかないので、2K、4Kモニタは他のユーザに任せる。
AC電源も中華5V 2Aだし、有線USBキーボードマウス、CPU=MAXだ。

まずはWindows Updateする事。
インストール直後にLANドライバをデバイスマネージャのプロパティのイベントで見るとさらにインストールが必要ですと出ているので、1809のARM用の累積更新プログラムが入るとLANドライバにもパッチが当たるようだ。
ディスクアクセス100%はきついが我慢する。時間と処理が重いのとで外部FANを回し温度を下げる。

※記憶領域が足りないって出たよ。複雑な処理中はやはり解像度落とすべきだった。中止出来るかな。Windows Modules Installer Worker止まってくれーサインアウトで緩やかにプロセス停止させよう。わー止まらないか。でもサインアウトでメモリの開放は少し出来ただろうからなんとかなって欲しい。
Windows Update終わるまでは 800 x 600 (OSインストール時640ならそれ)で運用。まずこれが前提だな。
少し進んだ。17%=>20%=>44%。もうWoA2.1.1 SDカード書き込みから18時間以上かかってる。更新が失敗しました 再試行 ボタンとなった。800に変えよう。重い。待てなくて電源OFF/ON。ESCで変更。ここまで遅いとは。SDカードのせいもあるか。
800でWindowsの準備をしています コンピュータの電源を切らないでください と出た。WUpdate失敗した続きかな。WUpdateは再起動がうまくいかなかったようだ。立ち上がった。壊れなくてよかった。

これまでMIN DVI native で リビングにAmazon Music用のWinProのラズパイ推奨の32GB U1、32GB推奨でないU1のHomeかProのSkype入り、32GB推奨でないU1のHomeのGoとかVS CodeとかFirefox Nightly入り、そして今回のU1でない16GB Class10のHome MAX HDMIで作ったSDの4枚。今回遅すぎと一番安定してないわ。
やっぱりMINにして速いSDにすべきだな。MAXだとHDMIに輪をかけて不安定だ。電源はUSB含め全然問題なしだ。CPUの熱さえ処理すればやはり周波数切替えが起こらず(MAX固定のはずなんだが前々回ダウンしてたから)、周波数切替え時の不安定さ(逆にアップする時が不安定なので)が解消されるはず。そんなことなら最初っからMINにして速いSDを使った方が、MAXでFAN回すよりよっぽど安定してる。やはりフェールセーフを心がけることは大事だ。
ログインしたら800でもポリシーが失敗したと言ってサインアウトさせられたので、遅いSDに付き合う必要はもう無い。
16GBイメージを32GBの速いSDに書いてMINで動かし、未使用領域はとりあえず別ドライブとしてパーティションを切ろう。続けて800x600でFHDモニタに接続して行う。
準備準備と。
Etcherで書き込んで、Partiton Masterで領域を拡張し、別ドライブのサイズを2.2GBに抑えてパーティション作成した。

◆Windows10 軽量化
準備している間に、遅いSDで以下の処理をしよう。これで軽くなるはず。検証だけしたら800で上の速いSDにする。

1) アクティブ時間の変更
2) タイムラインの停止
3) バックグラウンドアプリの無効化
4) スタートアップアプリの無効化
5) 高速スタートアップの無効化

だ。特に2,5はSDカードアクセスするので、ディスクアクセス常時100%を止めるのに必須。
※Microsoft Windows Search Indexerは動いているが軽いし、ビクチャーフォルダのサムネイル作成程度で落ち着いたら軽い。
具体的な方法は他サイト様を参照の事。

以下に詳細な設定内容を示す。
順番は設定を開き、1から始めると簡単。反映するのに設定を閉じる必要はないので連続で行ってよい。

1) 8:00-17:00を最大18時間に引き延ばす。朝8時からだと8:00-2:00と指定。これでWindows Updateチェックとダウンロード・自動更新&再起動が深夜のみになる。チェック~再起動まですべてに対して手動にすることはできない。設定は開いたままで続けて2をする。
2) プライバシーで全般のONをすべてOFFにするのもよい。診断 & フィードバックもすべてOFFに近くする。設定は開いたままで続けて3をする。
3) バックグラウンドアプリをOFF。それ以外は動かなくなるので変更しない。設定は開いたままで続けて3をする。

4) まずは自動起動をOFFにする前に、タスクトレイのアイコンを右クリックして設定タブで自動起動をOFFにする。Microsoft OneDriveはMicrosoftアカウントでログインすると起動するので、ストアアプリをインストールする時にログインが必要なので自動起動しないようにする。それからOneDrive自体のスタートアップをOFFにする。
※あと余計だが起動したら、設定タブに「ファイル オンデマンド」というオプションが表示されるので、これをONにすると、ファイルの同期が走っても実ファイルはダウンロードされず、情報だけがデータとしてダウンロードされるのでラズパイの容量を圧迫しない。同期しないように設定してもいいが、ラズパイ側からファイルごとに同期するしないを設定できるので、不要なファイルの同期で処理や通信が発生することは抑えられる。デフォルトはすべてのファイルが同期しないになっている。一度起動してONにしてからタスクトレイからOneDriveを終了するといい。これは後からでも出来る。

ここで一旦再起動する。だいぶお待ちください...とデスクトップ表示まで時間が掛かる。

タスクマネージャでディスクアクセスを見ていると5分ほどでSystemやリアルタイム検出であるAntimalware Service Executale、コルテナ等のシステム関係が落ち着くのがわかる。この中にOneDriveがないのでネイティブアプリの起動もないことがわかる。

5) 方法は複数ある。再起動オプションでない、電源オプションから設定する方法で行う。コントロールパネルを呼び出し、表示方法をカテゴリにする。電源ボタンの動作の変更を押し、現在利用可能ではない設定を変更しますを押し、高速スタートアップを有効にする(推奨)をチェックOFFにする。変更の保存を押す(どうやら1809累積更新適用前ならこれでいいがそうでなければ参考サイト様参考のこと)。

タスクマネージャでディスクアクセスが0%ベースになっているのが確認できる。遅いSDはそれでも遅い。そこは速いのに変えるしかない。ただしWindows Updataを後回しにしていると、サービスホスト:ローカルシステムにそのタスクが隠れて立ち上がっているので更新すれば100%が0%になる。

なのでWindows Updateの失敗したのを更新チェックボタンを押すと最新の状態です となった。更新の履歴で見るとインストールに失敗しましたと出ている。更新プログラムのアンインストールで、これを一旦アンインストールし、再起動後、再度更新チェックボタンを押してインストールする。

遅いSDでアンインストールはすごく遅くインストールも時間がかかる。なので早いSDをリビングでセットアップ。ちょうど1920x1080で条件は同じ。800を確認して起動。さすがにWindows Updateが速い。10分の1くらい。手順通り1〜4を行い再起動。ログイン時だいぶ黒画面が長かった。まだ高速スタートアップをOFFにしてないからか。5の高速スタートアップをOFFにする。FANつけてないからか。コントロールパネルの電源アイコンをクリックして電源ボタンの動作を選択するをクリック。現在利用可能ではない設定を変更します をクリック。高速スタートアップを有効にするをチェックOFF。変更の保存を押して再起動する。
起動後、ディスクアクセスが落ち着いてから0%になるのを確認。

遅いSDもインストールまで終わり起動するが遅すぎて利用を断念。

これで、800は速いSDでの検証となる。U1偉大だ。

Windows Update後、1024運用可能か。virtual 1024 x 768 に設定して起動。やっとFHD 1024 運用検証に入る。もう32GBだが。

5分ぐらい経ってタスクマネージャでディスクアクセスが落ち着いているか、検証。
5分以上10分以下で100%から0%ベースへと低減した。かなり時間が掛かるな。U1と言ってもTrancendだからかな。
CPU10%前後、メモリ50%、ディスクアクセス0%ベースだが突発的に100%に上昇。まだ何かあるな。
ストレージセンサというのがONになったと通知が。確認したがなってない。リビングのはこんなに重くないんだがな。
SDがSanDiskだから?ページングファイル移動か?
ほとんどシステム関連のプロセス。んー。
virtual をやめて native を確認するか。一般化出来ないが。FHDモニタの場合だけになって2Kモニタ等には無理の様な気が。
あーストアアプリ、まだ全部おすすめ読み込んでないからスタートメニューの「遊ぶ」がダウンロードアイコンになってる(下矢印にアンダーライン引いたようなの)。これのせいもあるか。ストアアプリの余計なお世話だな。

6) ストアアプリの自動更新を停止

ストアを開くと35個もおすすめがダウンロードされる。メニュー>ダウンロードと更新をクリック。すべて一時停止を押す。ダウンロードキュー内(35)とか。
メールとかペイント3Dとか使わんよ~個別に停止を押す必要もある。
設定>アプリ更新>OFFに。ライブタイル>OFFに。ビデオ自動再生>OFF。これでディスクアクセスは落ち着くかな。

7) その他 (プライバシー情報提供停止等)

まだ何か読込みの折れ線グラフが100%に行くな。書き込みもある。入れ替わり読みと書き込みでピークが。
5分程度で落ち着く。突発的にパルスが出るが。超新星パルサーかよ。
スタートメニュー開くとストアアプリのダウンロードが再開されて100%に。一旦サインアウトする。
まだ、wsappx(ストアアプリ自動更新)が動いている。wsappxを右クリックしてサービス管理ツールを開いて停止する。wsappx(2)となっているので1つ1つサービス停止を行う。AppX Deployment Service(AppXSVC)とClient License Service(ClipSVC)だ。サービス管理ツールで見ると、停止しても実行中になっている。なのでタスクマネージャーでタスクの終了をしようと思ったら出来なかった。次は殺る。
で、スタートメニュー開くとまた0%が100%に。コルテナさんが起動されてる。あとSystem(NT Kernel System)も上位に。鬼か。
設定>コルテナ、プライバシーを見直す。
プライバシー>全般>すべてOFF
コルテナ>Cortanaに話しかける>すべてOFF
コルテナ>アクセス許可と履歴>セーフサーチ>オフ、Windows クラウド検索>OFF、履歴>すべてOFF
プライバシー>診断 & フィードバック>診断データ:基本に設定、手書き入力>OFF、エクスペリエンス調整>OFF、フィードバックの感覚>許可しない
まだスタートメニュー開くと100%に跳ね上がるので再起動。

もうWindows10 軽量化だな。

8) ストアアプリ個別停止

まだ跳ね上がるので、ライブタイルというのらしいが、個別に右クリック>スタートからピン留めを外す、でガンガン外す。
ライブタイルをオフにするをやってもならない。
あとはスタートメニュー右クリック>アンインストールとライブタイル右クリック>アンインストールかな。こちらもガンガンアンインストール。
アンインストールできなくてもアプリの設定を選ぶと削除や終了が可能。
スタートメニューはライブタイルを非表示には出来ないみたい。スタートメニュー閉じれば0%に戻るので諦め。
残ったライブタイルはせめて右クリック>サイズ変更で小にする。
アンインストールできるがしなかったのはMyOfficeとSkypeかな。
再起動して5分でディスクアクセス0%になれば、nativeにしようかな。

結果:
ログインからタスクバーの回転カーソル待ち解消まで0.5分ちょっとまで縮んだ。
タスクマネージャーも割とサクッと立ち上がる。
タスクマネージャーを見てるとディスクで昇順して5分と言わず2分半ほどでエクスプローラが立ち上がる(表示はされない)ので、バックグラウンドの定常作業は終わったようだ。0%に落ち着いた。
電源ONからログイン画面までがまだ2.5分くらいかかるが、電源ON>ログイン>デスクトップ>ディスクアクセス0%まで、2.5+0.5+2.5=5.5分といったところ。
スリープが無い(高速スタートアップ有効でも出ない)ので、時間のある時に起動し立ち上げっぱなしで使うという運用かな。
Windows Updateがある日はvirtual 800か640に戻す必要があるが、通常の解像度で立ち上げっぱなしだとどうなるか次のWindows Updateの日に検証かな。
(2019/3/14追記)
今日リビングWinラズパイが自動アップデートで不具合なく再起動してログイン画面へ戻っていた。FHDモニタでもSDカードが良ければ特に問題ないようだ。
(ここまで)

シャットダウンや設定、デバイスマネージャなどはライブパネルを開かない、スタートメニュー右クリックが軽い。
シャットダウン&再起動はX分かかるので慎重に。

nativeにしBoot Timeout=10にした。

使えるようになるまでの時間は1024と変わらなかった(5.5分)。native=1920だから対して変わらないからだろうか。だがモニタ全面が使えるようになりドットバイドットで表示されるのは気持ちいい。

EdgeはARMネイティブアプリ(ストアアプリ?)なので他のx86 on ARM エミュで動く32ビットPCアプリよりは速いが、開くまでがどうしても遅いので(開けば動作はそこそこ)、ARMネイティブのFirefox Nightlyを入れれば、割と速いのでブラウザ環境は改善される。拡張機能も使えるし。h264ifyでYoutubeも全面は無理だが軽めになるし。だがどれも単タブ、単アプリで動作させるのがベスト。

リビング用と同じ状態になった。

気持ちいいが、Firefox Nightlyを操作していると画面暗転。再描画がものすごく時間が掛かっている。1920x1080でnative表示するのはさすがに重かったか。virtual 720p(1280x720)かvirtual 1024 x 768にするか~

※※※なるほど。実用じゃないと評価されているのは、FHD以上の高解像度(今となっては中解像度だが)モニタでの描画が遅いせいか。
ラズパイのモニタは自環境では1280x1024の旧DVIモニタだったからサクサク動いてたのか。
リビングはFHDだがすでにWindows Updateまで終わらせたSDでAmazon Music動かすだけだったからな~




# by k1segawa | 2019-03-07 02:56 | Raspberry Pi | Comments(0)
前記事のGo Window ARM on Raspiはリリース直後のため、アクセスが結構あった。

新しいWoA2.1.1が出ていたので、Windowsインストール環境を劣悪にして、題記の件、何が問題か切り分けする。
原因・結論は末尾に。

SDカードを少し良くない物(KINGMAX class 10)に変更し、モニタをFHD(1920x1080 1080pこれでも中解像度だろう)のHDMI接続で、BIOSはデフォルトのDisplay=すべて[X] (チェックONの意味)。CPU=MAX(もちろんuSD Routing=Arasan SDHCI。でもSDがU1でない)。キーボードマウスを有線タイプに。AC電源は中華5V 2A microUSBコネクタ直結。HDMIモニタなのでもしかするとHDMIサウンド出力のため余計な電力を食っている可能性。そして熱対策はする。小さいヒートシンクはついてるがFANレスなので開放型ケースに入れる。Time Out=5を15にするのも地味に忘れない事。

つまり普通の方の環境に近くする。安い密閉型はダメ。

本当ならおすすめはSDカードもAC電源も高品位で、マウスキーボードはワイヤレス、接続モニタはHDMIではなく旧タイプのDVI接続で解像度1280x1024(HDMIでもいいけど1K程度でね)・MIN設定native resolutionで出来るだけ安全側に倒しておく。キーボードマウスは電力食うやつは食うからなー

WoA2.1.1は40MB程度。ISOは前に作ったやつそのままなので時短。1809/JP/Home。書き込み中に少し前処理(GPTとかあと何か)が入って3時間かかった。

あ、前のWoA2.1.0で作ったイメージはBluetoothアダプタ認識した。ペアリングも出来た。
それとスマホのUSBデザリングで通信出来た。通信の出来るUSBケーブルで繋ぐとRemote NIC なんたらかんたらとデバイスマネージャに出る。

検証内容はSDカードの中品質とHDMIモニタ接続、MAXでAC電源劣悪とUSB供給多めでのインストールかな。MAXとAC電源USB供給多めは成功例もあるので、疑っているのはHDMIモニタ接続。ラズパイにとっては高い解像度(OSインストール時という比較的複雑な処理中に限る)が問題なのだ。

それだけに条件絞ってもいいが、この手間なのでSDカードを16GBにしてページングファイルのテストとWoA2.1.1のテストも兼ねて。今のFirefox Nightly と Go と VS Code、1809累積更新プログラム適用して12GBなので。GACKT PUBG MOBILE 無線有線コンバータの通信速度の方がLAN直接より速いのはなぜ。引っかかりが少なくなった。h264ifyもあるだろうけど。
about:config
app.update.auto.migrated : true > false (Toggle Push)
browser.search.update : true > false (Toggle Push)
で軽くしてるのもあるか。
a0034780_16042482.png
ほとんど変わってない。細かいバグだけらしい。

a0034780_16042960.png

USB Image Toolでバックアップ。これでWindowsインストール時にSDが壊れても戻ってこれる。
ラズパイに刺して起動。
上記の設定どおりにする。
Windowsインストールが始まって最初デバイスやサービスの準備で固まったかと思うほど画面が変わらなかったが放っておいてもちゃんと進んだ。
USBキーボードマウス・LANすべて接続して開始している。
1時間ほどでお待ちください...青画面がnative resolutionで表示される。
1時間半ほどでリブート。窓マークの黒画面でくるくる。
1時間40分ほどでこんにちは画面。マウスもキーボードも効く。
a0034780_18344478.png
次へを押すと「PCを再起動したのはなぜですか?」の質問が。続けて次へを押す。
いつのまにかリブートしてラズベリー絵になって、ずいぶん待ってこんにちは画面に戻る。ループか?
さらに、3回目のこんにちは。ループしたわ。このまま無限ループか。

やはりHDMIでFHDだと重いんじゃないかな。
ここで、こんにちは画面で止まってるので、強制電源OFF/ON・ESCでDisplay=virtual 800 x 600 だけにしてみるか。
そしてResetを選んでね。Continueは値を反映してない状態のまま続行だから違うよ~

800x600のこんにちは画面でマウスを見失った。表示されるまで少し時間が掛かるのか。マウスが左上原点にいるから少し内側にしないとキー入力もされないみたい。
「PCを再起動したのはなぜですか?」画面が表示され、さらに進めよう。
再度ラズベリー絵になってこんにちは画面。ループか。もう一回だけ試そう。そのまま次へを押す。

よしっ。やったー。やっぱりだ。次の画面に遷移した(たまたま3回目でうまくいった可能性や電源OFF/ONで直った可能性もあるが状況証拠的に解像度だと判断。最初から今の条件+800x600での検証も本来必要)。
【原因】
やはり高解像度モニタはラズパイのメモリに対して余りにも描画用メモリの容量が大きすぎるのだ(LinuxのPIXELはなぜ動いてるかって?あちらはGPU対応ドライバがあってこっちは無いから地道にCPUがVRAM作って描画しているから。Firefox NightlyでのYoutube再生がCPUとメモリが80~100%に張り付いててディスクアクセスが少ないのはそのせい。OSインストール時にGPU使ってるようには見えない)。
解像度を落として正解だ。リセットがかかってリブートするのは、メモリ領域を超えて書き込むいわゆる「バッファーオーバーフロー」が発生しているからだろう。場合によってはクラッシュする事もありえる。

「お住まいの地域はこちらでよろしいですか?」画面になった。
「キーボードのレイアウト」で2つ目のレイアウトを追加で「日本語」を再度選択。スキップで良かったな。
ネットワークタブで「重要なセットアップを実行します。」これはWindows Updateかかってるわけではなかった。
リブートせずに「お住まいの地域は~」が出た。これは成功時も繰り返し表示されたので大丈夫だな。
今度は「キーボードのレイアウト」でスキップを押す。
「重要なセットアップ」画面。
新しい「Windowsの新機能を確認してみましょう。」画面に遷移した。
「問題が発生しました OOBEEULA」画面。成功時も出てて、やり直すボタンしかないやつだ。
やり直す。この辺PCとは違ってこなれてないな。
「Windows 10 使用許諾契約」画面に進んだ。同意を押す。
「問題が発生しました OOBEIDPS」やり直すとスキップ。成功時も出てた画面。やり直すを2回行うと進んだような。
大丈夫だった。「このPCを使うのはだれですか?」画面。半角英数のみで入力し後々のトラブル回避。
パスワード画面。少し画面が上に見切れているが縦スクロールバーを動かせば見える。これも半角英数のみで。
「秘密の答え」3つ入れる画面。Alt+半角/全角で漢字入力。
「コルテナさん」拒否。
「アクティビティ」いいえ。
「プライバシー」そのまま同意。後でも変えられる。
青画面で「お待ちください...」
デスクトップ画面が表示された。

完了。

【結論】
Windows インストール時は BIOSの設定で Display=virtual 800 x 600 だけをチェックON [X] にする事。場合によっては640 x 480 だけ ONもありうる。それでもダメならそのモニタは高解像度過ぎるので、インストール時だけは低解像度のモニタに接続する事。

後はどんなSDカードだろうが、熱処理やACアダプタが劣悪だろうが、MAXだろうがなんとかなる(実際成功した)。

これから使っていく際にも、高い解像度にすればするほど、重くなり、クラッシュやリセットの憂き目にあう可能性が高いだろう。

高い解像度のモニタほど低いvitualにすべき。OSインストール時にそれは顕著で、運用時は少し高めでも可能かと。なぜより低いvirtualかの理由は、今までさんざん1280x1024 nativeで成功してるので今回の失敗したFHD native(なぜnativeかというとOSインストーラや通常運用時、全部ONならより高い解像度を使おうとするためnativeを使っていると思われる)とは、それほど転送すべき総ピクセル数(ズームされたあとのHDMIデータ転送量)は変わらないのに、失敗した。そして今回800x600で成功した。つまり解像度が上がったら成功する解像度(virtualもしくはnative)は下がったことになる。

例)
2Kモニタ : virtual 640 x 480 でOSインストール。運用時800x600か(自環境では検証不可)。
FHDモニタ : virtual 800 x 600 でOSインストール。運用時1024x768(検証中)。
1280x1024モニタ(DVI接続) : native でOSインストール。運用時 native(実績あり)。

解像度をvirtualで無理やり下げても、描画データの総ピクセル数(これがプログラムで領域確保する描画メモリ容量になる)は減るが、解像度高いとそれを本来の解像度にズームする処理が入って実描画データ(HDMIデータ転送量)は増える。
なので高い解像度モニタほど同じvirtualにしても転送データが重くなる、はず(ズームがモニタ側の機能ならそうはならないが。でも実際1280native-native/FHD-800の上記実例があるし)。
で、例のように逆転現象が起きる。

Windows ARMがデフォルトでGPUを使うなら、Raspi用描画ドライバがまだGPU対応していないということかな。
解像度を切り替える機能がOS側にあるのはデスクトップになってから。しかしWinラズパイでは変えられないんだなー。描画バッファを解像度に合わせて拡縮するには最大の解像度で持ってないとダメだからな。

# by k1segawa | 2019-03-06 12:31 | Raspberry Pi | Comments(0)
(2019/3/9追記)
Goをまったくインストールしていない環境でも実行出来るということ。これはWindow PCでもWinラズパイでも同じ。

(2019/3/5追記)
P.S.にWindows PCでクロスコンパイル、Winラズパイ上のVS Code画面を追加。P.S.2.にlife追加、P.S.3.にhttpなど追加。
(ここまで)

Google Go v1.12 が出たので、Winラズパイにインストールし、ビルドしてみる。ARMネイティブアプリが簡単に作れた (ストアアプリではない) 。

【手順】
以下のサイト様を参考に。

まずダウンロードは、以下のサイトへ。
download page をクリックし、Windows 32ビット用インストーラ版をインストール。64ビット版はWinラズパイにはインストール出来ませんでした。
a0034780_18074038.png
インストーラーはx86 on ARM エミュ上で動くので遅い。インストールディレクトリはデフォルトのC:\Go\とした。
インストール後、サイト様の通り、以下の手順で実行、ビルドを確認。環境変数は未設定で可能。

package main

import "fmt"

func main() {
fmt.Printf("Hello world\n")
}

とメモ帳で書いて、c:\<ユーザ名>\Documents以下にhello.goで保存。
管理者権限(不要かも)PowerShell(別にDOSでも良い)で開いて、c:\<ユーザ名>\Documentsに移動。PS(Powershell)だと以下の通り(DOSなら.\hello.go)。

go run ./hello.go
Hello world

と表示された。
ビルドもやってみる。

go build ./hello.go

1.8MBほどのhello.exeが作られた。
実行すると同様に出力。PS(Powershell)だと以下の通り(DOSなら.\hello.exe)。

./hello.exe
Hello world

これはランタイムなどすべて含むからで、この場合、たぶんi386用の実行形式と思われる(Window PCに持って行って実行したら実行出来た。i386用だった。そしてこの後出てくるWindows ARM版のはWindows PCでは実行できなかったので予想は正しかった)ので、x86 on ARM エミュで動いている。
なので、今度は環境変数を次のように設定する。

Powershellを管理者権限(不要かも)で開く。c:\Users\<ユーザ名>\Documentsに移動。
set GOOS=windows
set GOARCH=arm
set GOARM=7

go build ./hello.go

微妙にサイズの違うexeが作成された。PS(Powershell)だと以下の通り(DOSなら.\hello.exe)。
./hello.exe
Hello world

きちんと表示された。最初ダウンロードサイトにARMはLinuxしかないので、s390xなんてIBMホスト用リリースしてるんならWindows ARM版が先と思ったが、リリースされていないにもかかわらずちゃんとビルド出来たのでよしとする(ビルド自体は可能になったと、リリースノートに書いてあるようだ ー Go 1.12 リリースノート - Qiita)。でも出して欲しいよ。

下記サイト様によると、
OSはWindows/Mac/Linux、アーキテクチャは386/amd64/ARMで、この中にWindows ARMの組み合わせが無かったので。
Go のクロスコンパイル環境構築 - Qiita

最初GOARMを設定してなくて表示されず、次にGOARM=6でも表示されず、見直してGOARM=7に設定した。全部微妙にサイズが違うのできっと別物なのだろう。
GOARMについての参考サイト様はこちら。
golang のバイナリをRaspberry pi用にWindows 上でクロスコンパイルしてputtyで転送する

2つ上のサイト様はGo 1.3の頃なので今のGo 1.12では組み合わせも異なっているのかもしれない。出来てよかった。それとクロスコンパイルの準備という項目も今のところ必要ないようだ。

これ、Windows PCでこの設定で作れば、よくね?ネットワーク共有すればARMネイティブサクサク作れるんじゃ?

P.S.
Windows PCの方でgo(amd64)をインストールし、ビルドしたwindows arm 7 用exeがきちんとWindows ラズパイ上で実行された。これで遅いラズパイでなくても開発出来る。ラズパイ側でも開発出来るけどね。秀丸ストアアプリとかあるし。

以下に共有の設定・参照方法を示す(よく忘れるので)。
【Windows PC側共有設定】
0. goインストールすると、デフォルトでc:\Users\<ユーザ名>\goがPATHに追加されるので、goフォルダを新規作成。
1. ネットワーク共有でgoフォルダを共有
エクスプローラ>goフォルダ右クリック>アクセスを許可する >特定のユーザ...>ユーザ名
家内LANなのでユーザ名はWindows PCのログイン名を選ぶ(所有者となっているはず)
共有ボタンを押す
共有されたネットワークパス名(\\PC名\Users\<ユーザ名>\go)が表示される。
(PC名は覚えられないので共有したフォルダのプロパティで共有タブを開き、共有ボタンを押し、表示されたユーザ選択画面で再度共有ボタンを押し、表示されたダイアログの一番下の「コンピューター上の全てのネットワーク共有を表示します」のリンクをクリックすると現在共有中のディレクトリ名(goフォルダ)が参照出来る。そのまま開いとくといい。エクスプローラで\\localhostと入力してもPC名は出ない)

【Windows ラズパイ側共有参照】
1. エクスプローラのパス名入力エリアに上記のネットワークパス名を入力する
2. ユーザ名とパスワードを問い合わせてくるので、Windows PCで共有設定時に指定したユーザ名 - Windows PCのログイン名と、Windows PCのログインパスワードを入力
3. goフォルダの内容が見えるようになる
または
1. DOSプロンプトかPowershell上でネットワークドライブを指定
2. net use R: \\PC名\Users\<ユーザ名>\go (R:でなくてもいい)(起動後初回のみ。PSで2回目だと聞いてこない。DOSだと2回目はすでに定義済みエラーと出る)
3. ユーザ名を入力してください:Windows PCのログイン名
4. Windows PCのログインパスワード
5. goフォルダの内容が見えるようになる
6: R: (コマンドでネットワークドライブRに移動)
7. エクスプローラはR:では見えない(再起動して再度net use定義すると見える?Windowsわかんねー)

【あとは最初の手順でWindows PC側でgoフォルダ内にPS(DOSプロンプトでもいい)で移動し、notepad等を使ってhello.goを作成、環境変数をwindows/arm/7に設定してビルド】
【Windowsラズパイ側のコマンドプロンプトで ./hello.exe で実行する(DOSプロンプトなら.\hello.exe)と、Hello word と表示される】


P.S.2.
Visual Studio Codeもx86 on ARMエミュだが動く。ダウンロード41MB,インストール時162MB消費。go言語もサポートされているのでシンタックスハイライトとか余裕。
なんとか使える。【UHI-I,II,III】の記事内の対応(タイムラインの停止、スタートアップアプリの無効化、高速スタートアップの無効化、バックグラウンドアプリの無効化)をやっておけばね。あと2KモニタはDipslay=virtual 1024 x 768 ぐらいにしとく。WindowsのOSインストール時は、高解像度だと描画メモリ確保だけで、ラズパイのメモリオーバーでクラッシュの原因だから。
以下はc:\Go\src\time\time.goを開いた様子。
a0034780_07421105.png
Windows ARM普及させるならこういう開発ツールもストアアプリ化しないと。

C:\Go\doc\play\life.goをC:\Users\<ユーザ名>\goにコピーし、ビルドするとこんな感じ。PS上。
a0034780_11433980.png
毎秒20枚ぐらいの書き換え出来てそうなくらい普通に実行する。

以前は環境を気にしないとビルドやパッケージを使えなかったが、パッケージに関してもインストール時にC:\Go\srcに入っているソースでインポートできるようだ。ソースなのでわざわざARM用にビルドしなくてもよい。そしてgithub.comにアクセスして最新のリポジトリを取得しなくても、パッケージを使える。なのでgo get github.com/~などとやらなくてもよい。これを実行するにはgitのインストールが必要となるので、それも不要。ずいぶん敷居が低くなったなー

以下のサイト様のソースでimage パッケージをインポートしたソースをビルドしてみる(hello.goもfmt パッケージ使ってるけど)。
最初のソースをc:\Users\<ユーザ名>\goに新規作成しビルド。

PS上での実行結果がこれ。
a0034780_12554013.png
サイト様の解説通りに画像サイズが取得できている。

イメージ描画やGUIはプラットフォームに深く依存するので、共通の基盤はOpenGL辺りか。glfwやgxuiが共通性は高い。どちらにしてもインストールベースでどこまで出来るかはまだ調査中~。なので必要ならgoの便利ツールもあるし、Windows PCやMac側にgit入れて go get github.com/~を行う。ホスト側はVS Codeでgo をビルド実行出来るようにするとコンソールでとっ散らかった状態にならないのでいいのかも。Winラズパイには過負荷動作や容量的にどうかな。ホストがWinならWin32 ラッパーのライブラリWALKが軽いみたい。ホストでもWInラズパイでもリビルドだけで動くんじゃないかな。

いろいろGoの参考サイトはあるので、GUIは試行錯誤が必要。VS 2017 でARM64ネイティブも年末サポートされたしなー

engi (スプライト) : Go言語でゲーム開発 - Qiita

なるほど。goはgoで書かれていて、コンパイルするgoは1.4なのね。go1.12src.tar.gz解凍してsrc\go\ReadME.mdのInstalling Go from source見てわかった。なので、srcにあるall.batが返すエラーコードが1.4のディレクトリが無いと言っているのか。


P.S.3.
image/draw
net/http
のパッケージは以下のサイト様のサンプルを実行。DOS上での実行結果は以下の通り。
a0034780_18204103.png


a0034780_18204593.png

動くのが普通みたいに、コピペ&ビルド&実行が余りにも手数が少なくて驚く。Windows ARM用にクロスコンパイルしてるのを全く意識しない。

Windows PC側で、サイト様にお借りするサンプルをブラウザで開き、コピーして秀丸に張り付け保存し、あらかじめGOOS/GOARCH/GOARMを定義してネットワーク共有ディレクトリで開いておいたPS(DOS)画面で、go build ./xxxxx.go (DOSなら.\xxxxx.go)のxxxxxを書き換え、Enter(ビルド)。続けてWindows ラズパイ側で、あらかじめネットワーク共有ディレクトリで開いておいたDOSプロンプト画面で.\xxxxx.exeと打つだけ(PSなら./xxxxx.exe)。
Windows PC上でブラウザ1画面+エディタ1画面+PS(DOS)1画面、Winラズパイ上でPS(DOS)1画面(+FIrefox Nightly1画面:httpサンプルの場合)。たったそれだけ。コンソール画面上でクロスコンパイル。Linuxじゃない。両方Windowsだ。環境設定も単にインストールするだけだったし、せいぜいc:\users\<ユーザ名>\goフォルダを作ったぐらい。こんなにWindowsで敷居が低いクロスコンパイル環境って無いんじゃ。ウィンドウやグラフィック、GUIのパッケージをインストールするためにgit on Windows入れてちょっと注意してWalkやglfw、ゲームエンジンならAzul3Dやengoをgo get github.com/〜等でリポジトリから取って来てビルドするくらい(容量的にWinPCだけでいい。まだやってないが)。文法に慣れるまでコーディングは大変だが、それを越えたら環境構築負荷が少なくて少なくて。エディタもVS Codeがビルド・デバッグまで対応しているので重い環境をインストールしなくてもいい。Go言語すごいな。


P.S.4.(ここは自分に向けて独白)
サンプルでいいから動かしてみよう。言語習得はまず真似から。興味のあるところから手を付けていっていい。もっと難しい事も出来るようになりたいと思えたら、そこからが力の掛けどころ。どうやればそれが出来るのか、調べて調べて調べまくってたどり着いた頃にはもうちょっとしたソースは書けるようになる。そこから興味を途切れさせないテーマを見つけ続けるのが継続するコツ。ゲームならスプライト・障害物判定や自動追尾・追っかけルーチン、仮想画面、スタミナや摩耗度付加などゲームをよりリアルになる属性を与えると継続の意欲が湧く。実際に使えるツールに近づけると勉強という与えられた受け身のものでなくなる。リアル化。自分で体験すると感動を呼ぶ。エクスペリエンス。ライブ。そして最後はグラフィックや完成度にはこだわらないこと。それがプレッシャーになり、自分を枠にはめてしまう。いつかやると思ってセーブしておけばいい。新しく一から作り直してもいい。別のゲーム・ツールを作ってもいい。冷静にならない。夢中になってやる。それが自分のような凡人でも何か一つ出来るようになる方法。

# by k1segawa | 2019-03-04 18:29 | Raspberry Pi | Comments(0)