<?xml version="1.0" encoding="UTF-8" ?>
<rss version="0.91">
  <channel>
    <title>素人翻訳</title>
    <description>適当に翻訳する。</description>
    <link>http://goutou.mamagoto.com/</link>
    <language>ja</language>
    <copyright>Copyright (C) NINJATOOLS ALL RIGHTS RESERVED.</copyright>

    <item>
      <title>富士通のLIFEBOOK AH45/XをWindows11にアップグレード</title>
      <description>&lt;p&gt;富士通のLIFEBOOK AH45/XをWindows11にアップグレードした。&lt;br /&gt;
途中で出たエラー(ErrorCode: 0x8007051A)の原因がわからなくて、あれこれ調べて３０時間くらいかかった。&lt;/p&gt;
&lt;p&gt;Microsoft が配っている「SetupDiag.exe」の結果などは記事の最後に掲載。&lt;/p&gt;
&lt;p&gt;結論を先に書くと、&lt;strong&gt;「C:\Windows\System32\drivers」の中にある「PxHlpa64.sys」を削除して、関連するレジストリキーの値を空にしたら解決した&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;マカフィーの削除、Windows Defender の停止、Bios のアップデートなど色々やったが全部無駄だった。&lt;/p&gt;
&lt;p&gt;★解決の手順&lt;/p&gt;
&lt;p&gt;(1)「PxHlpa64.sys」を削除。「C:\Windows\System32\drivers」の中にある。&lt;/p&gt;
&lt;p&gt;これだけだとWindows11をインストールするための Win11_25H2_Japanese_x64_v2.iso をマウントできなくなってしまう。PxHlpa64.sys はDVDなどへの書き込みで使われる Corel 社製のドライバらしい。&lt;/p&gt;
&lt;p&gt;(2)ISOをマウントするときにPxHlpa64.sysが参照されないように、レジストリキー「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e965-e325-11ce-bfc1-08002be10318}」の「LowerFilters」の値を「PxHlpa64」から空欄に変更。(中身を削除。)&lt;/p&gt;
&lt;p&gt;これで Windows11 のインストール用 iso ファイルをマウントできるようになる。&lt;/p&gt;
&lt;p&gt;(3)CPUの検査に引っかからないように次のレジストリキーを作成して設定。&lt;/p&gt;
&lt;p&gt;レジストリキー「HKEY_LOCAL_MACHINE\SYSTEM\Setup\MoSetup」&lt;br /&gt;
値の名前「AllowUpgradesWithUnsupportedTPMOrCPU」&lt;br /&gt;
型「REG_DWORD（DWORD 32ビット)」&lt;br /&gt;
値の内容「1」&lt;/p&gt;
&lt;p&gt;これをやらないとCPUが未対応です、みたいなエラーが出る。&lt;/p&gt;
&lt;p&gt;(4)次いで Widnows 11 の ISO ファイルをダウンロードする。&lt;/p&gt;
&lt;p&gt;「x64 デバイス用 Windows 11 ディスク イメージ (ISO) をダウンロードする」からダウンロード。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.microsoft.com/ja-jp/software-download/windows11&quot;&gt;マイクロソフトのページ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(5)ダウンロードした ISO ファイルをマウントして「setup.exe」を実行 する。&lt;/p&gt;
&lt;p&gt;この時、更新プログラムのダウンロードは、Windows 11 のインストール時には行わないようにする。&lt;/p&gt;
&lt;p&gt;そうしないとエラーが出る。&lt;/p&gt;
&lt;p&gt;★エラーの出力&lt;/p&gt;
&lt;hr /&gt;
&lt;pre&gt;result.log

Matching Profile found: UnknownDriverMigrationFailure - D7541B80-5071-42CE-AD14-FBE8C0C4F7FD
SetupDiag version: 1.7.0.0
System Information:
	Machine Name = LAPTOP-3A5BGPFI
	Manufacturer = Unknown
	Model = Unknown
	HostOSArchitecture = x64
	FirmwareType = UEFI
	BiosReleaseDate = 20230515000000.000000+000
	BiosVendor = Version 1.29
	BiosVersion = Version 1.29
	HostOSVersion = 10.0.19045
	HostOSBuildString = 19041.1.amd64fre.vb_release.191206-1406
	TargetOSBuildString = 10.0.26100.5074 (ge_release_svc_prod3.250826-1428)
	HostOSLanguageId = 1041
	HostOSEdition = Core
	RegisteredAV = Windows Defender
	FilterDrivers = WinSetupMon
	UpgradeStartTime = 2025/12/19 13:49:40
	UpgradeEndTime = 2025/12/19 14:36:27
	UpgradeElapsedTime = 00:46:47


Error: SetupDiag reports a fatal error on driver migrations. ErrorCode: 0x8007051A

Refer to &quot;https://docs.microsoft.com/en-us/windows/desktop/Debug/system-error-codes&quot; for error information.

Last Setup Phase:
Phase Name: Pre-Finalize
	Phase Started: 2025/12/19 14:34:56
	Phase Ended: 0001/01/01 0:00:00
	Phase Time Delta: 00:00:00
	Completed Successfully? False


Last Setup Operation:
Operation Name: Process Drivers for Migration
	Operation Started: 2025/12/19 14:35:23
	Operation Ended: 0001/01/01 0:00:00
	Operation Time Delta: 0:00:00:00.0000000
	Completed Successfully? False
&lt;/pre&gt;
&lt;hr /&gt;
&lt;blockquote&gt;setuperr.log&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
2025-12-19 23:58:48, Error CONX Windows::Compat::Appraiser::RegistryMarkerOutputter::InitializeIndicatorsToRemoveDuplicates (465): Failed to find list table of indicators to remove duplicates, swallowing: [0x80070490].[gle=0x80070490]&lt;br /&gt;
2025-12-19 23:58:48, Error CONX Windows::Compat::Appraiser::RegistryMarkerOutputter::Initialize (348): Failed to initialize indicators to remove duplicates, swallowing: [0x80070490].[gle=0x80070490]&lt;br /&gt;
2025-12-19 23:59:24, Error CDeploymentSession::SetEcoQos(10461): Result = 0xD0000003&lt;br /&gt;
2025-12-19 23:59:24, Error CDeploymentSession::IsRangeRequestSupported(4297): Result = 0x80040154&lt;br /&gt;
2025-12-19 23:59:24, Error IsRangeRequestSupported failed with: [80040154 [Error,Facility=FACILITY_ITF,Code=340 (0x0154)]]. Setting RangeRequestSupported to FALSE&lt;br /&gt;
2025-12-19 23:59:25, Error CONX hwreqchk: ERROR,Windows::Compat::HardwareRequirements::HardwareRequirementSettings::IsMeteredConnection,29,Failed to get NetworkCostType assuming metered network [0x80004005].&lt;br /&gt;
&lt;br /&gt;
2025-12-19 23:59:26, Error CONX Windows::Compat::Appraiser::RegistryMarkerOutputter::InitializeIndicatorsToRemoveDuplicates (465): Failed to find list table of indicators to remove duplicates, swallowing: [0x80070490].[gle=0x80070490]&lt;br /&gt;
2025-12-19 23:59:26, Error CONX Windows::Compat::Appraiser::RegistryMarkerOutputter::Initialize (348): Failed to initialize indicators to remove duplicates, swallowing: [0x80070490].[gle=0x80070490]&lt;br /&gt;
2025-12-19 23:59:51, Error CONX Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset (732): Failed PicRetrieveFileInfo: [0x80004005].[gle=0x80004005]&lt;br /&gt;
2025-12-19 23:59:51, Error CONX Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles (634): Failed to construct file asset [c]: [0x80004005][gle=0x80004005]&lt;br /&gt;
2025-12-19 23:59:51, Error CONX Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset (732): Failed PicRetrieveFileInfo: [0x80004005].[gle=0x80004005]&lt;br /&gt;
2025-12-19 23:59:51, Error CONX Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles (634): Failed to construct file asset [c]: [0x80004005][gle=0x80004005]&lt;br /&gt;
2025-12-20 00:00:26, Error CONX Windows::Compat::Appraiser::RegistryMarkerOutputter::InitializeIndicatorsToRemoveDuplicates (465): Failed to find list table of indicators to remove duplicates, swallowing: [0x80070490].[gle=0x80070490]&lt;br /&gt;
2025-12-20 00:00:26, Error CONX Windows::Compat::Appraiser::RegistryMarkerOutputter::Initialize (348): Failed to initialize indicators to remove duplicates, swallowing: [0x80070490].[gle=0x80070490]&lt;br /&gt;
2025-12-20 00:10:15, Error [0x0808ff] MIG COutOfProcPluginFactory::CreateInstance: m_currentHostSurrogate-&amp;gt;LoadDllServer(C:\$WINDOWS.~BT\Sources\ReplacementManifests\Microsoft-Windows-RasServer-MigPlugin\RasMigPlugin.dll, {D26AA4A5-92AD-48DB-8D59-95EF0DCE6939}, 1) failed, hr=[0x8007007f].&lt;br /&gt;
2025-12-20 00:10:15, Error [0x080387] MIG Failure while calling IDiscovery-&amp;gt;Discover for Plugin={ServerPath=&quot;Microsoft-Windows-RasServer-MigPlugin\RasMigPlugin.dll&quot;, CLSID={D26AA4A5-92AD-48DB-8D59-95EF0DCE6939}, ThreadingModel=Apartment, ExceptionHandling=Default}. Error: 0x8007007F&lt;br /&gt;
2025-12-20 00:10:16, Error SP FOD Validator: Failed to Get Capabilities using DISM API. Error: 8007051A[gle=0x0000007a]&lt;br /&gt;
2025-12-20 00:10:16, Error SP FOD Validator: Failed to build FoD list, will ignore this validator. Error: 8007051A&lt;br /&gt;
2025-12-20 00:10:16, Error SP LP Validator: Failed to get packages using DISM API. Error: 8007051A[gle=0x0000007a]&lt;br /&gt;
2025-12-20 00:10:16, Error SP LP Validator: Failed to build language package list, will ignore this validator. Error: 8007051A&lt;br /&gt;
2025-12-20 00:10:58, Error SP pSPRemoveUpgradeRegTree: failed to delete reg tree HKLM\SYSTEM\Setup\Upgrade[gle=0x00000005]&lt;br /&gt;
2025-12-20 00:12:41, Error [0x080831] MIG CSIAgent: Invalid xml format: FormatException: &quot;script&quot; attribute is mandatory. class Mig::CMXEMerge *__cdecl Mig::CMXEMigrationXml::LoadMerge(class UnBCL::XmlNode *,int,class Mig::CMXEMigrationXml *,class Mig::CMXEXmlComponent *)&lt;br /&gt;
2025-12-20 00:18:56, Error [0x0808fe] MIG Plugin {ff9c714f-b864-4f43-ae39-ec07d7385abe}: Found invalid upper filters for class {4d36e967-e325-11ce-bfc1-08002be10318}.&lt;br /&gt;
2025-12-20 00:20:27, Error SP Failed to get driver packages from the online system. Error: 0x8007051A[gle=0x0000007a]&lt;br /&gt;
2025-12-20 00:20:28, Error SP Operation failed: Process Drivers for Migration. Error: 0x8007051A[gle=0x000000b7]&lt;br /&gt;
2025-12-20 00:20:28, Error SP COperationQueue::Sort: Could not find an execution phase for 98&lt;br /&gt;
2025-12-20 00:20:28, Error SP ExecuteOperations: Operations cannot be sorted. This is a fatal failure.&lt;br /&gt;
2025-12-20 00:20:28, Error SP ExecuteOperations: Main operation execution failed. Error: 0x8007000D&lt;br /&gt;
2025-12-20 00:20:28, Error SP ExecuteOperations: Failed execution phase Pre-Finalize. Error: 0x8007000D&lt;br /&gt;
2025-12-20 00:20:28, Error MOUPG MoSetupPlatform: ExecuteCurrentOperations reported failure![gle=0x0000000d]&lt;br /&gt;
2025-12-20 00:20:28, Error MOUPG MoSetupPlatform: Using action error code: [0x8007051A][gle=0x0000000d]&lt;br /&gt;
2025-12-20 00:20:28, Error MOUPG CDlpActionPreFinalize::ExecuteRoutine(784): Result = 0x8007051A[gle=0x0000000d]&lt;br /&gt;
2025-12-20 00:20:29, Error MOUPG CDlpActionImpl&amp;lt;class CDlpErrorImpl&amp;lt;class CDlpObjectInternalImpl&amp;lt;class CUnknownImpl&amp;lt;class IMoSetupDlpAction&amp;gt; &amp;gt; &amp;gt; &amp;gt;::Execute(503): Result = 0x8007051A&lt;br /&gt;
2025-12-20 00:20:29, Error MOUPG CDlpTask::ExecuteAction(3334): Result = 0x8007051A&lt;br /&gt;
2025-12-20 00:20:29, Error MOUPG CDlpTask::ExecuteActions(3487): Result = 0x8007051A&lt;br /&gt;
2025-12-20 00:20:29, Error MOUPG CDlpTask::Execute(1643): Result = 0x8007051A&lt;br /&gt;
2025-12-20 00:20:29, Error MOUPG CSetupManager::ExecuteTask(3129): Result = 0x8007051A&lt;br /&gt;
2025-12-20 00:20:29, Error MOUPG CSetupManager::ExecuteTask(3091): Result = 0x8007051A&lt;br /&gt;
2025-12-20 00:20:29, Error MOUPG CSetupManager::ExecuteInstallMode(1172): Result = 0x8007051A&lt;br /&gt;
2025-12-20 00:20:29, Error MOUPG CSetupManager::ExecuteDownlevelMode(622): Result = 0x8007051A&lt;br /&gt;
2025-12-20 00:21:13, Error MOUPG CSetupManager::Execute(358): Result = 0x8007051A[gle=0x0000007f]&lt;br /&gt;
2025-12-20 00:21:13, Error MOUPG CSetupHost::Execute(517): Result = 0x8007051A[gle=0x0000007f]&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;blockquote&gt;setupact.log&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
2025-12-19 23:55:38, Info UI Determining whether we should run ConX or legacy setup&lt;br /&gt;
2025-12-19 23:55:38, Info UI Will launch ConX setup experience&lt;br /&gt;
2025-12-19 23:55:38, Info UI Initializing Media class driver for audio support&lt;br /&gt;
2025-12-19 23:55:38, Info UI Initializing media class driver status: 126&lt;br /&gt;
2025-12-19 23:55:38, Info UI Launching ConX setup experience&lt;br /&gt;
2025-12-19 23:55:38, Info UI Inspecting ConX Setup Cmdline&lt;br /&gt;
2025-12-19 23:55:38, Info UI Launching E:\Sources\SetupPrep.exe &lt;br /&gt;
2025-12-20 00:10:15, Info MIG MigHost started with command line: {EEDA5A6C-7D13-4CC0-83B1-195487087452} /InitDoneEvent:MigHost.{EEDA5A6C-7D13-4CC0-83B1-195487087452}.Event /ParentPID:11440&lt;br /&gt;
2025-12-20 00:10:15, Info MIG MigHost: CMigPluginSurrogate::Init: Successfully initialized surrogate.&lt;br /&gt;
2025-12-20 00:10:15, Info MIG MigHost: Initialized successfully with CLSID[{EEDA5A6C-7D13-4CC0-83B1-195487087452}] and LogDir=[]&lt;br /&gt;
2025-12-20 00:10:15, Info MIG MigHost: CMigPluginSurrogate::LoadDllServer in progress: BinaryPath=[C:\$WINDOWS.~BT\Sources\ReplacementManifests\Microsoft-Windows-RasServer-MigPlugin\RasMigPlugin.dll], CLSID=[{D26AA4A5-92AD-48DB-8D59-95EF0DCE6939}], ApartmentThreadingModel=[1].&lt;br /&gt;
2025-12-20 00:10:15, Info MIG MigHost: CMigPluginSurrogate::COMGenericThreadingHostThreadProc: ThreadID=[0x2448], Server=[C:\$WINDOWS.~BT\Sources\ReplacementManifests\Microsoft-Windows-RasServer-MigPlugin\RasMigPlugin.dll], CLSID=[{D26AA4A5-92AD-48DB-8D59-95EF0DCE6939}], ApartmentThreadingModel=[1], ExceptionPolicy=[1]&lt;br /&gt;
2025-12-20 00:10:15, Info MIG MigHost: CMigPluginSurrogate::LoadAndRegisterServerInThreadContext: Loaded server(C:\$WINDOWS.~BT\Sources\ReplacementManifests\Microsoft-Windows-RasServer-MigPlugin\RasMigPlugin.dll)&lt;br /&gt;
2025-12-20 00:10:15, Error [0x08085f] MIG MigHost: CMigPluginSurrogate::LoadAndRegisterServerInThreadContext: LoadLibraryExW(C:\$WINDOWS.~BT\Sources\ReplacementManifests\Microsoft-Windows-RasServer-MigPlugin\RasMigPlugin.dll, LOAD_WITH_ALTERED_SEARCH_PATH) failed gle=0x7f.[gle=0x0000007f]&lt;br /&gt;
2025-12-20 00:10:15, Info MIG MigHost: CMigPluginSurrogate::LoadAndRegisterServerInThreadContext: File is present, most likely it does not load on the current OS version&lt;br /&gt;
2025-12-20 00:10:15, Error [0x080863] MIG MigHost: CMigPluginSurrogate::COMGenericThreadingHostThreadProc: LoadAndRegisterServerInThreadContext() failed hr=0x8007007f.[gle=0x0000007f]&lt;br /&gt;
2025-12-20 00:10:15, Info MIG MigHost: CMigPluginSurrogate::LoadDllServer finished: Result=[0x8007007f].&lt;br /&gt;
2025-12-20 00:10:16, Info MIG MigHost: Exiting process.&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;p&gt;★参考になったサイト&lt;/p&gt;
&lt;p&gt;・&lt;a href=&quot;https://memorandum-000.diary.to/archives/16856040.html&quot;&gt;PxHlpa64.sysを削除してメモリ整合性をONにする（Windows11）&lt;/a&gt;&lt;br /&gt;
・&lt;a href=&quot;https://learn.microsoft.com/ja-jp/answers/questions/4327473/question-4327473&quot;&gt;デバイス　セキュリティで互換性のないドライバーの解決方法を教えてください。&lt;/a&gt;&lt;br /&gt;
・&lt;a href=&quot;https://momen.tofu.fit/blog/5041&quot;&gt;仮想ドライブにISOファイルをマウント出来なくなった件 Windows10&lt;/a&gt;&lt;/p&gt;</description> 
      <link>http://goutou.mamagoto.com/windows/%E5%AF%8C%E5%A3%AB%E9%80%9A%E3%81%AElifebook%20ah45-x%E3%82%92window</link> 
    </item>
    <item>
      <title>Vita3Kの構築時・実行時のエラーについて。</title>
      <description>&lt;p&gt;(1)構築時のエラー&lt;/p&gt;
&lt;p&gt;libyaml-cpp がどうのというエラーが発生。&lt;/p&gt;
&lt;blockquote&gt;...&lt;br /&gt;
...&lt;br /&gt;
shirouto_honnyaku@shirouto_honnyaku-tk:~/git_code/Vita3K$ cmake --build build/linux-ninja-clang&lt;br /&gt;
[0/2] Re-checking globbed directories...&lt;br /&gt;
[450/1375] Scanning /home/shirouto_honnyaku/git_code...pp/src/binary.cpp for CXX dependencies&lt;br /&gt;
FAILED: external/yaml-cpp/CMakeFiles/yaml-cpp.dir/Debug/src/binary.cpp.o.ddi &lt;br /&gt;
&quot;CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS-NOTFOUND&quot; -format=p1689 -- /usr/bin/clang++ -DYAML_CPP_NO_CONTRIB -DYAML_CPP_STATIC_DEFINE -DCMAKE_INTDIR=\&quot;Debug\&quot; -I/home/shirouto_honnyaku/git_code/Vita3K/external/yaml-cpp/include -I/home/shirouto_honnyaku/git_code/Vita3K/external/yaml-cpp/src -g -std=c++20 -fPIC -w -x c++ /home/shirouto_honnyaku/git_code/Vita3K/external/yaml-cpp/src/binary.cpp -c -o external/yaml-cpp/CMakeFiles/yaml-cpp.dir/Debug/src/binary.cpp.o -MT external/yaml-cpp/CMakeFiles/yaml-cpp.dir/Debug/src/binary.cpp.o.ddi -MD -MF external/yaml-cpp/CMakeFiles/yaml-cpp.dir/Debug/src/binary.cpp.o.ddi.d &amp;gt; external/yaml-cpp/CMakeFiles/yaml-cpp.dir/Debug/src/binary.cpp.o.ddi.tmp &amp;amp;&amp;amp; mv external/yaml-cpp/CMakeFiles/yaml-cpp.dir/Debug/src/binary.cpp.o.ddi.tmp external/yaml-cpp/CMakeFiles/yaml-cpp.dir/Debug/src/binary.cpp.o.ddi&lt;br /&gt;
/bin/sh: 1: CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS-NOTFOUND: not found&lt;br /&gt;
[459/1375] Building CXX object externa...s/dynarmic.dir/Debug/cmake_pch.hxx.pch&lt;br /&gt;
ninja: build stopped: subcommand failed.&lt;br /&gt;
shirouto_honnyaku@shirouto_honnyaku-tk:~/git_code/Vita3K$&lt;/blockquote&gt;
&lt;p&gt;「Vita3K」というディレクトリの名前を一時的に「Vita3K_R080301」に変えたのが問題の原因だったらしく、新たに git clone したらエラーが出なくなった。&lt;/p&gt;
&lt;p&gt;(2)実行時のエラーその１&lt;/p&gt;
&lt;p&gt;ファームウェアのインストールを行おうとすると、ファイルを選択するためのウィンドウの表示に失敗するというエラーが発生。&lt;br /&gt;
D-Busが然るべきサービスを見つけられなかったようだ。&lt;/p&gt;
&lt;blockquote&gt;...&lt;br /&gt;
...&lt;br /&gt;
There was an error while opening the file browser:&lt;br /&gt;
No such interface &quot;org.freedesktop.portal.FileChooser&quot; on object at path /org/freedesktop/portal/desktop.&lt;br /&gt;
...&lt;br /&gt;
...&lt;/blockquote&gt;
&lt;p&gt;これは「xdg-desktop-portal-gtk」をインストールして解決。&lt;br /&gt;
「sudo apt install xdg-desktop-portal-gtk」である。&lt;/p&gt;
&lt;p&gt;(3)実行時のエラーその２&lt;/p&gt;
&lt;p&gt;ファームウェアが正しくインストールされていないと、次のようなエラーが出る。&lt;/p&gt;
&lt;blockquote&gt;...&lt;br /&gt;
...&lt;br /&gt;
[12:02:45.767] |E| [load_module]: Missing file at sys/external/libsystemgesture.suprx (target path: vs0:sys/external/libsystemgesture.suprx)&lt;br /&gt;
[12:02:45.768] |I| [export_sceSysmoduleLoadModule]: Loading module ID: SCE_SYSMODULE_NP_TROPHY&lt;br /&gt;
[12:02:45.768] |I| [export_sceSysmoduleLoadModule]: Loading module ID: SCE_SYSMODULE_SYSTEM_GESTURE&lt;br /&gt;
[12:02:45.768] |I| [load_module]: Loading module &quot;vs0:sys/external/libsystemgesture.suprx&quot;&lt;br /&gt;
[12:02:45.768] |E| [load_module]: Missing file at sys/external/libsystemgesture.suprx (target path: vs0:sys/external/libsystemgesture.suprx)&lt;br /&gt;
[12:02:45.768] |I| [export_sceSysmoduleLoadModule]: Loading module ID: SCE_SYSMODULE_NP_TROPHY&lt;br /&gt;
[12:02:45.768] |I| [export_sceSysmoduleLoadModule]: Loading module ID: SCE_SYSMODULE_SYSTEM_GESTURE&lt;br /&gt;
[12:02:45.769] |I| [load_module]: Loading module &quot;vs0:sys/external/libsystemgesture.suprx&quot;&lt;br /&gt;
[12:02:45.769] |E| [load_module]: Missing file at sys/external/libsystemgesture.suprx (target path: vs0:sys/external/libsystemgesture.suprx)&lt;br /&gt;
...&lt;br /&gt;
...&lt;/blockquote&gt;
&lt;p&gt;firmwareのインストールが正しく行われていなかったらしく、vs0ディレクトリに何もファイルが存在しなかった。&lt;/p&gt;
&lt;p&gt;ファームウェアをインストールしなおしたら、/home/shirouto_honnyaku/.local/share/Vita3K/Vita3K/vs0に新たにディレクトリ等が作られた。&lt;/p&gt;
&lt;p&gt;firmwareは２種類必要なので注意。&lt;/p&gt;
&lt;p&gt;(4)実行時のエラーその３&lt;/p&gt;
&lt;p&gt;エレコムのコントローラー(SHANWAN JC-U4013S)が正しく認識されない問題が発生。&lt;br /&gt;
R1ボタン等が反応しない。&lt;br /&gt;
SDLがそもそもコントローラーの入力を捉えていない。&lt;br /&gt;
他のアプリケーションでは、SHANWAN JC-U4013S は普通に使えている。&lt;/p&gt;
&lt;p&gt;gamecontrollerdb.txt に載っているエレコムの SHANWAN JC-U4013S のボタン配置を無理やり登録すると(Vita3Kのソースコードの中で SDL_AddGamepadMapping() を使う)、R1ボタンが正しく反応するようになり、今度は十字ボタンが反応しなくなった。&lt;/p&gt;
&lt;blockquote&gt;ソースコードの中のどこかで１回実行されるコード&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
// ここから改変&lt;br /&gt;
char new_mapping[] = &quot;030000006e0500000f20000010010000,SHANWAN JC-U4013S DirectInput Mode,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Linux,&quot;;&lt;br /&gt;
int updated = SDL_AddGamepadMapping(new_mapping);&lt;br /&gt;
std::cout &amp;lt;&amp;lt; &quot;改変箇所通過&quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
// ここまで改変&lt;br /&gt;
...&lt;br /&gt;
...&lt;/blockquote&gt;
&lt;p&gt;「h0.4」等の代わりに「b12」などを指定すると行けそうではあるが、その前に Directinput から XInput に変えてみたら、何もせずとも入力できるようになった。&lt;/p&gt;</description> 
      <link>http://goutou.mamagoto.com/source/vita3k%E3%81%AE%E6%A7%8B%E7%AF%89%E6%99%82%E3%83%BB%E5%AE%9F%E8%A1%8C%E6%99%82%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%80%82</link> 
    </item>
    <item>
      <title>firefoxのアドオンのソースコードを取り出す</title>
      <description>&lt;p&gt;firefox の addon のソースコードを取得する方法について。&lt;/p&gt;
&lt;p&gt;firefox のアドオンをインストールせずに、ソースコードだけを取得して研究したい。&lt;/p&gt;
&lt;p&gt;アドオン配布のページにある「Add to Firefox」のボタンを右クリックして xpiファイルのリンクをコピーする。&lt;br /&gt;
このxpiファイルの中にソースコードが入っているのであるが、左クリックするとインストールが始まってしまうので、URLのコピーに留める。&lt;/p&gt;
&lt;p&gt;コピーしたxpiファイルのリンクを使って wget か何かで xpi ファイルをダウンロードする。&lt;/p&gt;
&lt;p&gt;xpi ファイルの実体は zip ファイルなので、そのままアーカイブマネージャか何かで解凍する。&lt;/p&gt;
&lt;p&gt;すると、アドオンのソースコードが出てくる。&lt;/p&gt;
&lt;p&gt;これでソースコードを読めるようになった。&lt;/p&gt;
&lt;p&gt;アドオンの作り方を解説しているサイトが意外と少なくて、いろいろと苦戦していた。&lt;br /&gt;
ライセンス次第では、そのまま模倣することができそう。&lt;/p&gt;</description> 
      <link>http://goutou.mamagoto.com/javascript/firefox%E3%81%AE%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%8F%96%E3%82%8A%E5%87%BA%E3%81%99</link> 
    </item>
    <item>
      <title>該当 ID が存在するのにUncaught TypeError: can't…</title>
      <description>&lt;p&gt;html文書の中に間違いなく id=&quot;notification_btn&quot; を持つボタンが存在するのに、下記のコードがエラーになる。&lt;/p&gt;
&lt;blockquote&gt;...&lt;br /&gt;
...&lt;br /&gt;
const btn = document.querySelector(&quot;#notification_btn&quot;);&lt;br /&gt;
btn.addEventListener(&quot;click&quot;, notification);&lt;br /&gt;
...&lt;br /&gt;
...&lt;/blockquote&gt;
&lt;p&gt;結果、&lt;/p&gt;
&lt;blockquote&gt;Uncaught TypeError: can't access property &quot;addEventListener&quot;, btn is null&lt;br /&gt;
...&lt;br /&gt;
...&lt;/blockquote&gt;
&lt;p&gt;&amp;lt;head&amp;gt;の中にあったjavascript コードを&amp;lt;body&amp;gt;の中のボタン(id=&quot;notification_btn&quot;)より後ろの位置に移して解決。&lt;/p&gt;
&lt;p&gt;&amp;lt;body&amp;gt;の中であっても、ボタンのタグより前だと上と同じエラーが出る。&lt;/p&gt;
&lt;p&gt;javascript の addEventListener() メソッドは、同メソッドの対象となる DOM 要素の宣言より後でないといけないらしい。&lt;/p&gt;
&lt;p&gt;body を閉じるタグの直前に&amp;lt;script&amp;gt;を置くと良いとか。&lt;/p&gt;</description> 
      <link>http://goutou.mamagoto.com/javascript/%E8%A9%B2%E5%BD%93%20id%20%E3%81%8C%E5%AD%98%E5%9C%A8%E3%81%99%E3%82%8B%E3%81%AE%E3%81%ABuncaught%20type</link> 
    </item>
    <item>
      <title>プログラムを読みやすくするために同一のファイルを２回走査することにした。</title>
      <description>&lt;p&gt;あるディレクトリ下にある全てのファイルに対して特定文字列の検索と置換を行い、置換が行われたファイルの名前だけを記録したいと考えた。&lt;br /&gt;
文字列置換が一切行われなかったファイルの名前は記録しないことにした。&lt;/p&gt;
&lt;p&gt;そして、できれば同じファイルを２度走査したくない。&lt;/p&gt;
&lt;p&gt;例えば、次の bash スクリプトの場合、「ファイル名」のファイルを２回走査している。(grepとsed)&lt;/p&gt;
&lt;blockquote&gt;grep -q &quot;検索文字列&quot; &quot;ファイル名&quot;&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
&amp;nbsp; echo &quot;ファイル名&quot; &amp;gt;&amp;gt; output.txt&lt;br /&gt;
&amp;nbsp; sed -i s/検索文字列/置換文字列/g &quot;ファイル名&quot;&lt;br /&gt;
fi&lt;/blockquote&gt;
&lt;p&gt;sed の戻り値を適切に設定してそれを確認することによって、１回の走査で目的を達成したかった。&lt;/p&gt;
&lt;p&gt;いろいろと調べたところ、実際に sed で上記のことを行うのは可能であった。&lt;/p&gt;
&lt;p&gt;sed のパターンスペースとホールドスペースを駆使して、置換が行われたか(検索文字列が存在したかどうか)を確認し、その結果によって返り値を変更するという方法である。&lt;/p&gt;
&lt;p&gt;参考URL１：&lt;a href=&quot;https://stackoverflow.com/questions/15965073/return-value-of-sed-for-no-match/15966279#15966279&quot;&gt;Return value of sed for no match&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;参考URL２：&lt;a href=&quot;https://aquasoftware.net/blog/?p=1657&quot;&gt;置換ができない/複数ある場合に sed の終了コード0以外にする&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;しかし、この方法だと、時間が経ってからコマンドを見返した時、処理内容を理解するまでに少し時間がかかってしまう。(自分の場合。)&lt;/p&gt;
&lt;p&gt;そのため、最初に挙げた grep と sed で２回ファイルを走査するやり方で行くことにした。&lt;/p&gt;
&lt;p&gt;令和のパソコンならテキストファイルを２回読んでもそれほど問題にならないと考えた。&lt;/p&gt;</description> 
      <link>http://goutou.mamagoto.com/%E7%8B%AC%E3%82%8A%E8%A8%80/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E8%AA%AD%E3%81%BF%E3%82%84%E3%81%99%E3%81%8F%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E5%90%8C%E4%B8%80%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%EF%BC%92%E5%9B%9E</link> 
    </item>
    <item>
      <title>ffmpeg による動画連結で音ズレ発生(徐々にズレる)</title>
      <description>&lt;p&gt;webm のファイル複数を mp4 に変換し、変換後の mp4 ファイル複数を ffmpeg で連結したら動画の途中から少しづつ音と映像がズレるようになってしまった。&lt;/p&gt;
&lt;p&gt;webm から　mp4 へ変換は当初、次のコマンドによって行っていたが、これが良くなかったようだ。&lt;/p&gt;
&lt;blockquote&gt;ffmpeg -i &quot;sample.webm&quot; -c:v copy -c:a copy &quot;sample.mp4&quot;&lt;/blockquote&gt;
&lt;p&gt;作られた mp4 ファイルの１つ１つについて中身の符号化方式を ffprobe で確認してみたら、音声が 48000Hz の動画と 44100Hz の動画が混在していた。そのため、徐々に映像と音がズレていくことになった。(音は普通に聞こえるが、映像はある時はゆっくりになり、ある時は遅れた分を取り戻すかのように急に早送りになる感じ。)&lt;/p&gt;
&lt;p&gt;webm から mp4 ファイルを作るコマンドを次のものに変えたら連結後の音ズレは直った。&lt;/p&gt;
&lt;blockquote&gt;ffmpeg -i &quot;sample.webm&quot; -c:a aac -ar 44100 &quot;sample.mp4&quot;&lt;/blockquote&gt;
&lt;p&gt;動画連結コマンドは次のものを使用。&lt;/p&gt;
&lt;blockquote&gt;ffmpeg -f concat -safe 0 -i filelist.txt -c copy sample_output.mp4&lt;/blockquote&gt;
&lt;p&gt;filelist.txt の中身は次の通り。&lt;/p&gt;
&lt;blockquote&gt;file 'sample1.mp4'&lt;br /&gt;
file 'sample2.mp4'&lt;br /&gt;
file 'sample3.mp4'&lt;br /&gt;
...&lt;br /&gt;
...&lt;/blockquote&gt;</description> 
      <link>http://goutou.mamagoto.com/%E7%8B%AC%E3%82%8A%E8%A8%80/ffmpeg%20%E3%81%AB%E3%82%88%E3%82%8B%E5%8B%95%E7%94%BB%E9%80%A3%E7%B5%90%E3%81%A7%E9%9F%B3%E3%82%BA%E3%83%AC%E7%99%BA%E7%94%9F-%E5%BE%90%E3%80%85%E3%81%AB%E3%82%BA%E3%83%AC%E3%82%8B-</link> 
    </item>
    <item>
      <title>Play! 構築メモ(プレイステーション２のエミュ)</title>
      <description>&lt;p&gt;Play Station 2 のエミュレータである「Play!」をソースコードから作る。&lt;/p&gt;
&lt;p&gt;PCSX2 で三國志VIII with パワーアップキットをやろうとしたら、文字がぼやけていて全然遊べなかったため。&lt;/p&gt;
&lt;p&gt;ソースコードは&lt;a href=&quot;https://github.com/jpd002/Play-&quot;&gt;ここ&lt;/a&gt;にある。 構築手順も同じページに載っている。&lt;/p&gt;
&lt;p&gt;それによると、開発用のライブラリをインストールするためのコマンドは&lt;/p&gt;
&lt;blockquote&gt;apt install cmake libalut-dev qt5-default libevdev-dev libqt5x11extras5-dev libsqlite3-dev&lt;/blockquote&gt;
&lt;p&gt;であるが、Linux Mint には「qt5-default」は存在しなかった。 qt5-default を除いたもので十分だった。&lt;/p&gt;
&lt;p&gt;以下のコマンドでソースコードをダウンロードして構築する。&lt;/p&gt;
&lt;blockquote&gt;$ git clone --recurse-submodules https://github.com/jpd002/Play-.git&lt;br /&gt;
$ cd Play-&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake .. -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt56/&lt;br /&gt;
$ cmake --build . --config Release&lt;/blockquote&gt;
&lt;p&gt;作られた実行ファイルは「Play-/build/Source/ui_qt」ディレクトリにある。&lt;/p&gt;
&lt;p&gt;Play! では三國志８のテキスト部分が滲むことはなく、ちゃんと読めてちゃんと遊べる。&lt;/p&gt;</description> 
      <link>http://goutou.mamagoto.com/source/play-%20%E6%A7%8B%E7%AF%89%E3%83%A1%E3%83%A2-%E3%83%97%E3%83%AC%E3%82%A4%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%EF%BC%92%E3%81%AE%E3%82%A8%E3%83%9F%E3%83%A5-</link> 
    </item>
    <item>
      <title>LIFEBOOK AH50/A3をWindows11にアップグレード</title>
      <description>&lt;p&gt;★まずレジストリ・エディター(regedit)を起動し、レジストリキーを設定する。&lt;/p&gt;
&lt;p&gt;レジストリキー「HKEY_LOCAL_MACHINE\SYSTEM\Setup\MoSetup」&lt;br /&gt;
値の名前「AllowUpgradesWithUnsupportedTPMOrCPU」&lt;br /&gt;
型「REG_DWORD（DWORD 32ビット)」&lt;br /&gt;
値の内容「1」&lt;/p&gt;
&lt;p&gt;★次いで Widnows 11 の ISO ファイルをダウンロードする。&lt;/p&gt;
&lt;p&gt;「x64 デバイス用 Windows 11 ディスク イメージ (ISO) をダウンロードする」からダウンロード。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.microsoft.com/ja-jp/software-download/windows11&quot;&gt;マイクロソフトのページ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;★ダウンロードした ISO ファイルをマウントして「setup.exe」を実行 する。&lt;/p&gt;
&lt;p&gt;★更新プログラムのダウンロードは、Windows 11 のインストール時には行わないようにする。&lt;/p&gt;
&lt;p&gt;そうしないとエラーが出る。&lt;/p&gt;</description> 
      <link>http://goutou.mamagoto.com/windows/lifebook%20ah50-a3%E3%82%92windows11</link> 
    </item>
    <item>
      <title>3DS エミュレータの「Azahar」をソースから構築【Linux Mint】</title>
      <description>&lt;p&gt;Linux Mint で 3DS エミュレータの Azahar Emulator をビルドする。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/azahar-emu/azahar/wiki/Building-From-Source&quot;&gt;github のこのページ&lt;/a&gt;に書いてある通りにやれば良いのだが、一箇所エラーが出たのでメモを残しておく。&lt;/p&gt;
&lt;p&gt;基本的には次の命令文で構築できる。&lt;/p&gt;
&lt;blockquote&gt;$ git clone --recursive https://github.com/azahar-emu/azahar&lt;br /&gt;
&lt;br /&gt;
$ sudo apt install build-essential clang clang-format cmake jackd libasound-dev libgl-dev libpipewire-0.3-dev libsndio-dev libssl-dev libsdl2-dev libx11-dev libxext-dev qt6-base-dev qt6-base-private-dev qt6-l10n-tools qt6-multimedia-dev qt6-tools-dev qt6-tools-dev-tools xorg-dev&lt;br /&gt;
&lt;br /&gt;
$ cd azahar&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake ../&lt;br /&gt;
$ cmake --build . -- -j&quot;$(nproc)&quot;&lt;br /&gt;
&lt;br /&gt;
// インストールするのであれば、&lt;br /&gt;
$ sudo make install (optional)&lt;br /&gt;
&lt;br /&gt;
// インストールせずに使うのであれば、&lt;br /&gt;
$ cd bin/Release&lt;br /&gt;
$ ./azahar&lt;/blockquote&gt;
&lt;p&gt;但し、「&lt;code&gt;cmake --build . -- -j&quot;$(nproc)&quot;&lt;/code&gt;」のところで次のようなエラーが出た。&lt;/p&gt;
&lt;blockquote&gt;...&lt;br /&gt;
...&lt;br /&gt;
[ 79%] Building CXX object src/common/CMakeFiles/citra_common.dir/math_util.cpp.o&lt;br /&gt;
/home/shirouto/azahar/src/common/math_util.cpp:68: error: ignoring &amp;lsquo;#pragma GCC novector&amp;rsquo; [-Werror=unknown-pragmas]&lt;br /&gt;
68 | DISABLE_VECTORIZE&lt;br /&gt;
| &lt;br /&gt;
/home/shirouto/azahar/src/common/math_util.cpp:130: error: ignoring &amp;lsquo;#pragma GCC novector&amp;rsquo; [-Werror=unknown-pragmas]&lt;br /&gt;
130 | DISABLE_VECTORIZE&lt;br /&gt;
| &lt;br /&gt;
[ 79%] Building CXX object src/common/CMakeFiles/citra_common.dir/memory_detect.cpp.o&lt;br /&gt;
[ 79%] Building CXX object src/common/CMakeFiles/citra_common.dir/memory_ref.cpp.o&lt;br /&gt;
[ 79%] Building CXX object src/common/CMakeFiles/citra_common.dir/microprofile.cpp.o&lt;br /&gt;
[ 79%] Building CXX object src/common/CMakeFiles/citra_common.dir/param_package.cpp.o&lt;br /&gt;
cc1plus: note: unrecognized command-line option &amp;lsquo;-Wno-unused-command-line-argument&amp;rsquo; may have been intended to silence earlier diagnostics&lt;br /&gt;
cc1plus: all warnings being treated as errors&lt;br /&gt;
gmake[2]: *** [src/common/CMakeFiles/citra_common.dir/build.make:337: src/common/CMakeFiles/citra_common.dir/math_util.cpp.o] Error 1&lt;br /&gt;
gmake[2]: *** Waiting for unfinished jobs....&lt;br /&gt;
[ 79%] Linking CXX static library libdynarmic.a&lt;br /&gt;
[ 79%] Built target dynarmic&lt;br /&gt;
gmake[1]: *** [CMakeFiles/Makefile2:2495: src/common/CMakeFiles/citra_common.dir/all] Error 2&lt;br /&gt;
gmake: *** [Makefile:146: all] Error 2&lt;br /&gt;
...&lt;br /&gt;
...&lt;/blockquote&gt;
&lt;p&gt;gcc が古くて &lt;code&gt;novector&lt;/code&gt; に対応していないらしい。しかし、&lt;code&gt;apt update &amp;amp;&amp;amp; apt upgrade&lt;/code&gt; をしても解決せず。&lt;/p&gt;
&lt;p&gt;しかたなく、azahar/src/common/math_util.cpp の６８行目と１３０行目の「DISABLE_VECTORIZE」をコメント・アウトして解決。&lt;/p&gt;
&lt;p&gt;動作は問題無さそう。&lt;/p&gt;
&lt;p&gt;Citra で動かなかったり音が出なかったりしたソフトもプレイすることができた。&lt;/p&gt;</description> 
      <link>http://goutou.mamagoto.com/source/3ds%20%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF%E3%81%AE%E3%80%8Cazahar%E3%80%8D%E3%82%92%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%8B%E3%82%89%E6%A7%8B</link> 
    </item>
    <item>
      <title>fcitx-3.6.2 のソースコードをUTF-8に変換</title>
      <description>&lt;p&gt;ctags で fcitx-3.6.2 のソースコードのタグ・ファイルを作成した後、同じ tags ファイルに別のコードのタグを追加しようとしたら、下記のエラーが出て、追加できなかった。&lt;/p&gt;
&lt;blockquote&gt;ctags: &quot;tags&quot; doesn't look like a tag file; I refuse to overwrite it.&lt;/blockquote&gt;
&lt;p&gt;tags ファイルの中身を見てみたら、あちこちが文字化けしていた。&lt;/p&gt;
&lt;p&gt;fcitx-3.6.2 のコードの符号化方式は「GB18030」であり、UTF-8等ではなかったため、うまくtagsファイルを作成できなかったようだ。&lt;/p&gt;
&lt;p&gt;既存のtagsファイルを削除し、fcitx-3.6.2 のコードすべてをUTF-8に変換してから ctags を実行することで解決。&lt;/p&gt;
&lt;blockquote&gt;iconv -f GB18030 -t UTF-8 -o 出力ファイル 入力ファイル&lt;/blockquote&gt;
&lt;p&gt;「GB2312」や「GBK」だと変換できない部分があるので、「GB18030」を指定する。&lt;/p&gt;</description> 
      <link>http://goutou.mamagoto.com/%E7%8B%AC%E3%82%8A%E8%A8%80/fcitx-3.6.2%20%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92utf-8%E3%81%AB%E5%A4%89%E6%8F%9B</link> 
    </item>

  </channel>
</rss>