proton経由でゲームを起動するとやたら捗る
wineでunity製のゲームを起動すると、wineのウインドウが非アクティブになった時点でwineが操作不能になったりするのが修正されていたりするよ
他にもunity製のゲームはwineで起動するとキーボード操作が聞かないものがあったりするけれど、そこも修正されているよ
単純にwineに手を加えたという感じでかゆいところに手が届くのでえらい
何も考えなくともsteam外ゲームをsteamに登録するとこれが使われるはずなので、私の言うことは今更感はあるかもしれないけれども
以下は私が困ったところ
まず起動しない
STEAM_COMPAT_DATA_PATH
環境変数が定義されていない
$HOME/.wine
的な感じで、~/.proton/起動したいあぷりねーむ
とかディレクトリを作って、起動時に
STEAM_COMPAT_DATA_PATH=~/.proton/game_name python3 /home/user/.local/share/Steam/steamapps/common/Proton\ 4.11/proton waitforexitandrun /home/user/Games/game_name.exe
とか指定してあげるとよい
pfx.lockが見つからない
protonをsteamからダウンロードして、直接cliから起動しようとして、
FileNotFoundError: [Errno 2] No such file or directory: '/home/user/path/to/STEAM_CAMPAT_DATA_PATH/pfx.lock'
とか言われた時は大体STEAM_COMPAT_DATA_PATH
へのディレクトリが作成されていない
自動でディレクトリを作ってくれたりはしないので、よしなに作ってね
go製のプロジェクトのebulidを書く
emakeやれば終わるものとは別ゲーすぎません???
次も大変な思いをしない様に困ったところは書いておくね
今回ebulidを書いたやつ
GitHub - m13253/dns-over-https: High performance DNS over HTTPS client & server
今回のebuild
gentoo-overlay/dns-over-https-2.2.1.ebuild at master · karubabu/gentoo-overlay · GitHub
モジュールはEGO_VENDORに列挙する必要がある
今になって考えてみると当たり前なのだけれども、モジュールをgo.modにある通りに適当にgo get
してくると、
portage側でその真正性が確認出来無い問題が出るので、ebuild内ではgo get
自体が出来無くなっている
そのため、必要なモジュールをSRC_URIと同じ様にハッシュか何かをmanifestに保存しつつ同タイミングでダウンロードすることになる
というわけで以下の部分がそれ
gentoo-overlay/dns-over-https-2.2.1.ebuild at master · karubabu/gentoo-overlay · GitHub
EGO_PN
はビルドするプロジェクトの名前、EGO_VENDOR
はモジュールの名前とハッシュかバージョンそしてgolang-vcs-snapshotを継承する
golang-vcs-snapshotを継承するタイミングはEGO_VENDOR
を列挙した後でないと、この変数は読み取り専用ですよ!
と文句が出るので気を付けよう(1敗)
詳しくはgolang-vcs-snapshotのソースコードにある解説を読むと全部わかるのでえらい
golang-vcs-snapshot.eclass\eclass - repo/gentoo.git - Official Gentoo ebuild repository
ビルド時に-mod=vendor
引数を入れる
☝️に付随する事柄だけれど、☝️の方法で入ったモジュールはGOPATH以下ではなくプロジェクトのrootディレクトリ/vendor
に置かれるので、それを認識させる必要がある
以下の部分がそれ
gentoo-overlay/dns-over-https-2.2.1.ebuild at master · karubabu/gentoo-overlay · GitHub
あとは手慣りでsrc_installすれば良いと思う
おわりに
やたら大変だったのでゆるしていないよ
そもそもgoでプログラムを書いたことが無いので何が何処にあるのかさっぱり分からなくてはちゃめちゃに辛かった
まあ別に他の言語のプロジェクトも全然わからんしmakeを叩けばよしなにやってくれるやつ以外は全部辛いのだけれども
あとgoはgo help moduleとかやるとlessもなしに英語ドバー!!!してくるのが精神を抉ってくるのでやめなさーい!!
二つ目の問題もgo help moduleをしっかり読めば一瞬で分かることなのだけれど、しっかり読みたくなくてこれに気が付くまで時間がかかりました…
後はgo系のebuild classがやたら一杯あるのが謎だったね
結局golang-vcs-snapshotのみを使ったけれど、これでよかったのか、もっと相性の良いものがあったのか、全然わからん!
変更し難いebuildに自家製patchを加える方法
こんなん学校で教えて貰わなかったんですけど!
この機能を知っている人はどうやってこれを知ったものなの
ことの発端
sys-kernel/gentoo-sources-5.5.0
をインストールする
そのmoduleとして、x11-drivers/nvidia-drivers-440.44-r1
をビルドしようとする
この時この様なエラーが出る、具体的にはこれ
706774 – x11-drivers/nvidia-drivers-440.44-r1 with kernel 5.5 - .../work/kernel/nvidia-drm/nvidia-drm-fb.h:30:10: fatal error: drm/drmP.h: No such file or directory
解決とタイトル回収
このbugzillaのコメントに、これに対応するパッチとその適用方法が書いてある、具体的にはこれ
/etc/portage/patches - Gentoo Wiki
自分が管理していないebuildが触っているsource codeに対してパッチを煩雑な方法無しで適用出来る様になる
適当にダイレクトリを作ってパッチを置いてemergeするだけ!簡単 みんな作ってる 作ってないのはお前だけ
おわりに
この機能を知ってめちゃ嬉しかったので書いたよ
こういうのめっちゃ欲しかったけれど、やり方が分からなくて放置するみたいなことをやりまくってきたのでめちゃ有り難いね
この機能が知れたのも嬉しいのだけれど、そもそもこの様な機能が存在すること自体を知る方法が知りたいんだよなあ(◞‸◟)
やる夫スレがラノベ化!今すぐ読もう!
この記事はdon.8mitsu.net Advent Calendar 2019 - Adventar 1日目の記事です
皆さんはやる夫スレを見ていますか?
私は最近とんと見ていません
私が見て居ない間にはちゃめちゃ良いニュースがあったことを知ったのでここでおすすめさせてね
やる夫はカードを引くようですのラノベ化
アキトはカードを引くようです
ざっくり言うと、女神とかいう謎のやつらに征服された人間達は戦争と娯楽の代わりに女神の力を借りて正々堂々デジモンカードバトルするという話だよ
もうこのサイトを見れば良いのでこの記事は早くも終了ですね
ほんと読んで貰いたいので私なりに説明したいと思ったけれど、どのあたりから説明を始めれば良いのかわからん
色々言っても普段文字を全く書かない私では結局既にある記事より良い物は出来無いだろうし、このあたりの記事を読むのもあり
小説と原作を比べることで浮かび上がる“やる夫スレ”の批評性(飯田一史) - 個人 - Yahoo!ニュース
それでも何か言うことがあるとするとこの4つだと思う
大事なことは?
まず原作を読んでからでも判断出来る
なんにせよ、この✋のweb作品はまずwebの原作を読んで価値に納得したら改めて本を買えば全く損はしないのでまずはぐぐって原作を読んでほしい
寧ろ原作を読んでから本を買えば原作と違うストーリーがあったり新しい描写で新しい発見や世界観の表現があったりして損どころか得しすぎて貯蓄が貯まるまである
原作を読めばAAにはAAの、小説には小説の描写があるので戦闘表現や表情表現で新しい事に気が付けたりするしね
版権キャラ依存は問題無し
上記の記事では、版権キャラを創作キャラに変える事によってキャラに対するネタの相互認識が欠落してしまうことを懸念してけれど、
そのあたりも上手く表現されているのでどちらかというと最高だよ
似た様な指向性を持つキャラがもう一度作られたりするから実質1粒で2度美味しいといっても良いよ(物は言いよう)
原作を読んで気に入ったキャラが居るのなら実質あたり作品決定みたいな不死ある
メタゲームへの対応有り
他にも、この作品は2014年発の、"なろう系web小説"のと言われる存在が普通の人に周知されて来て、それらを叩こうとする一般人という流れが確立しつつある時期なので、
それを若干メタった側面が感じられるのでその✋の話が苦手な人にはおすすめだよ
ゴブリンスレイヤーも2014年あたりの作品なので同じ系列で、あのあたりの和マンチ表現が好きだったりする人にもおすすめだよ
まだ連載中
カドカワのやる夫スレのラノベ化企画の4つある内この作品にだけ言及するのは、この作品があの中で一番好きというのもあるけれど、
先程言った版権キャラ依存度が最も高いのにも関らず本当に出来が良いからなところがあるよ
あとこれはまだ原作すら連載中なので人気が出れば連載が滞ることもなくなって私もハッピーだよ
おわり
なんかぺらっぺらだし画像もないせいか味気がなさすぎる
こんなんでおすすめできとるんか
とりあえず試し読みか原作を読んで 美少女が頼んどるんやぞ
ここに2日目の記事へのリンクを貼る =>
GNU linuxなパンヨヨを起動してから音が出るようになるまでなんだかやたらかかる
やつを直したのでここにメモしておくね
前にも起きたはずなのだけれど私はメモしていなかったので私が苦労しました
ちゃんとメモしとけや!
なにがおきた
パンヨヨを起動してから音声の設定が行われるまで3分くらいかかるようになる
設定が完了するまでは無音なのだけれど、alsamixer
を見る限りだと音量が100%になっているし、やたら大きな音で"サーッ(砂嵐(迫真))"と鳴っているしでこわい
journalctl -xe
してログ(ここのログって何と言うものなんだろう)を見てみると、
systemd-udevd[322]: Spawned process '/usr/sbin/alsactl restore 0' [411] is taking longer than 59s to complete
---------blahblahblah --------
systemd-udevd[322]: Spawned process '/usr/sbin/alsactl restore 0' [411] timed out after 2min 59s, killing
systemd-udevd[288]: controlC0: Worker [322] processing SEQNUM=3054 killed
systemd-udevd[288]: Worker [322] terminated by signal 9 (KILL)
systemd-udevd[288]: controlC0: Worker [322] failed
と書いてある。なんだかsystemd-udevdが何かしているっぽい?
他にもalsa-{restore, state}.serviceという物が存在して、それもalsactlを起動するものっぽい
なにをした
udevdとalsa-state系のどちらも、alsactlを起動して音量の設定やらなんやらを起動・終了時に復元・保存するようなやつだと思うので、片方だけ頑張って貰うようにする。
具体的には、/lib/udev/rules.d/90-alsa-restore.rules
を削除して再起動した
問題なく起動直後から音声の設定が効く様になった₍₍⁽⁽(ી( ‘ω’ )ʃ)₎₎⁾⁾
おわりに
もうメモしたので無敵です
でもどうして2度も同じようなことが起きるようになったんだろう
多分直前のemergeが関係していそうだけれどまあ直し方は分かったしいっかー☺️
linux版のciv5が7より高いgccでsys-libs/glibcとx11-libs/libxcbをビルドすると起動しないのをなんとかする
なんとかすると言っている様に、修正したわけではなくなんか起動出来る様になるというやつです
というよりこれについてググっても全然ひっかからないし、ただのおま環なのでは?ボブは訝しんだ
なにがあった
linux版 Civ5はsys-libs/glibcとx11-libs/libxcbをsys-devel/gcc-8.2.0-r2でビルドすると動作しなかった - karubabuの日記
これをみて
gcc9でも同じっぽい場所で落ちるのを確認しています
どうした
とりあえずgdbで起動してバックトレースを見る
なんかなんやかんや書かれているけれど、どうやら開幕に流れる動画を再生するところで落ちているみたい
つまり動画を再生しなければなんとかなるのでは?
Civ5App::PlayOpeningMovie()
あたりをNOPで書き潰せば動画を再生せずに次の動作に向ってくれそう
objdump -CDMintel Civ5XP | grep PlayOpening
でPlayOpeningMovie()の場所を探すとそれっぽいものが出てくる
086e0f3a <Civ5App::PlayOpeningMovie()@@Base>: 86e0f41: e8 00 00 00 00 call 86e0f46 <Civ5App::PlayOpeningMovie()@@Base+0xc> 86e0f58: 0f 85 2a 01 00 00 jne 86e1088 <Civ5App::PlayOpeningMovie()@@Base+0x14e> 86e0f65: 0f 85 1d 01 00 00 jne 86e1088 <Civ5App::PlayOpeningMovie()@@Base+0x14e> 86e0f72: 0f 85 10 01 00 00 jne 86e1088 <Civ5App::PlayOpeningMovie()@@Base+0x14e> 86e0f87: 0f 85 fb 00 00 00 jne 86e1088 <Civ5App::PlayOpeningMovie()@@Base+0x14e> 86e0fda: 0f 85 90 00 00 00 jne 86e1070 <Civ5App::PlayOpeningMovie()@@Base+0x136> 86e106e: 74 8b je 86e0ffb <Civ5App::PlayOpeningMovie()@@Base+0xc1> 86e1c41: e8 f4 f2 ff ff call 86e0f3a <Civ5App::PlayOpeningMovie()@@Base>
後はhexcurse
あたりでe8 f4 f2 ff ff
の部分を90 90 90 90 90
に変更する
動く₍₍⁽⁽(ી( ‘ω’ )ʃ)₎₎⁾⁾
おわり
適当にプレイしてみたけれどなんやかんや落ちていないので問題なさそう
ゲームクリア時に動画が再生された気がするので、そのあたりでまた落ちそうな気がしないでもないけれどまあクリアした後なら良いでしょう
gdbの画面はなんだかよしなに色が付いていたので画像にしたけれど、これテキストでもよかったのかもしれない よくわかんないね
grepしてしまうと元のテキストが持っていた色が消えてしまうのがかなしい あれってなんとかならないのかしら
誰か教えてくれー!
squidの/var/{run, cache, log}/squidのuser, groupが勝手にsquid:squidからproxy:proxyに変更される
タイトルの通りです
よくわからないけれど直ったしぐぐっても同じ様な症状の人が見付けられなかったので書いておくね
なにがあった
- gentooのprofileを17.0から17.1にする
- ライブラリ周りでsquidが起動できなくなったのでリビルドする
- 再起動の度に/var/{run, cache, log}/squidがsquid:squidからproxy:proxyに変更されるようになる
よくわからんポイントとしては、
_ find / -user proxy
で検索してもproxyユーザになっているディレクトリは/var/{run, cache, log}/squidしかない- ebuild自体は問題ないぽいし、/var/{run, cache, log}/squid以下のファイルは問題なくsquid:squidになっている
- proxyユーザって使われているんか?
後はapparmorのsquidプロファイルを無効にしてみたりしたけれど特に変化はなかった
zunda 🍡 nはおまけ :green_dango:: "@babukaru@mstdn.maud.io find /etc -type f | xargs…" - zundon
☝️(´・ω・`)ずんださんにアドバイスを貰ったのでこれもやってみたけれど、汎用的な単語すぎてめちゃんこ出てきたわりには何か分かりそうなものはありませんでした…
どうした
/var/{run, cache, log}/squidをsquid:squidにして、
# userdel proxy
して謎のユーザを消し飛して再起動
問題なく/var/{run, cache, log}/squidらがsquid:squidで維持されるようになった
わからんけれど直ったしいっかー☺️
2019-07-12追記:
/usr/lib/tmpfiles.d/squid.conf
というファイルがあって、このファイル内で定義されて起動時に変更されていたっぽい
ここを変える前はjournalctl -xe
にsystemd-tmpfiles[3223]: [/usr/lib/tmpfiles.d/squid.conf:2] Unknown user 'proxy'.
というログが残っていたけれど、
よしなに変更するとログが残らなくなったし問題も起きなくなった
よかったー☺️