發表文章

電腦安裝的注意事項 (實戰遇到的一些困難), PC installation troubleshoot

24/7/20 更換CPU 1500X成 5700X3D過程的一些障礙 商品的說明書安裝步驟都不夠詳細,也可能是因為我沒第二台電腦用手機看不清楚 在解主線更換CPU前做了件蠢事,人有時候就是想幹蠢事,很難解釋的 拿TDP 35的Athlon Pro 300GE裝在ASUS TUF B350M-PLUS GAMING沒裝散熱器,先開機驗證能不能用,看到bios不是最新的,想說刷一下以後5700X3D現在板子壞了也能換過去,刷到一半就當機關掉了,主機板開機不能,CPU拿去別的板子還能開,CPU應該是沒死,AMD的保護還不錯,壞了就只好再去買一顆二手的了 塔扇 Cooler Master Hyper T4塔散的安裝方法,下面有個凹槽可以剛好把扣具卡在正中間,沒這樣做,扣上的塔扇就會偏左偏右沒辦法覆蓋CPU (說明書有提到,可是我安裝的時候漏看細節了orz) 先把一邊的扣具扣上,另一邊可以用兩手比較好操作,一手下壓一手內推就能扣上了 只安裝單風扇要往散熱片吹 (原廠散熱器是這樣吹,但原廠下吹剛好把灰塵都吹到板子上orz) 風扇的方向要注意往出風口帶 (通常是機殼上方或後方),風扇有的會標示方向 基本上有葉框的是出風口 沒保護的那邊是進風口 (特殊造型的風扇例外) 主機板 要把螺絲鎖在機殼上可能需要很長的十字起子,才不會被卡住無法作業 AMD主機板的電源供應有兩個地方要插,電源供應器不一定會改顏色或在接頭上標示,要注意pin的形狀有防呆,選錯了會沒辦法插進去,找到同樣形狀的就很好插 m.2 SSD通常會被顯卡擋住,要先安裝 建議買有雙bios和usb直接刷bios的,bios刷壞送修太麻煩,還可以玩魔改bios壞了就刷回去 不要相信ASUS的crashfree,要剛好被破壞的bios還能執行到救援程式,這個拚人品,否則新的主機板就不會做雙bios備援了,還有無CPU直接用usb port就能刷bios的   機殼 買大一點的,安裝才不會卡卡的很痛苦,每個機殼安裝方法都不太一樣,說明書要好好讀+發揮想像力補足不清楚的地方 太小的機殼可能需要照特定安裝順序,否則會被卡住 大的元件先裝 (像是電源供應器),才不會空間不夠塞不進去 實際情況還是要看設計,只是說明遇到的狀況

調整NVIDIA driver package安裝的元件 NVCleanstall

圖片
調整NVIDIA driver package安裝的元件 (減少硬碟使用 +  減少記憶體使用) 沒安裝的元件會導致相關的功能無法使用,請自行排除,要用就自己查每個元件功用 下載 https://www.techpowerup.com/download/techpowerup-nvcleanstall/ 要最小化安裝driver可以點Minimum (非常多功能會無法使用) 如果要可開啟控制面板 (NVIDIA Control Panel) 前提下最小化 可以參考我用的設定 (我多裝了PhysX,可能有些遊戲會需要就裝了) 如果不要控制面板,NV Container也可以不用 Optimus某些筆電需要,筆電使用者不清楚就選吧 Enable Message Signaled Interrupts 不管你想怎麼安裝都建議打開,可以增加效能 其他選項是接續我個人使用情境的最小化安裝的

Slay the Spire 殺戮尖塔

資料和攻略可以參考Wiki 遊戲存檔/讀檔的方法 遊戲的進度存檔在saves目錄 Steam\steamapps\common\SlayTheSpire\saves 可以用copy/paste來達成技術上的save/load 角色的unlock點數也可以用save/load來快速賺 (因為unlock點數記錄是在別的地方) 重複過關,或重複死掉就可以了,每次都會加unlock點數 更換遊戲使用的Java環境 為什要更換呢? 新版本會修bug或效能較好 因為我系統剛好有裝其他的,就嘗試換看看還能不能跑 其他Java的遊戲/程式沒有測試過,不保證同樣方法可運作,有興趣的自行嘗試 新版Java也未必和舊版相容 (通常是沒問題) 遊戲內附的jre安裝在 C:\Steam\steamapps\common\SlayTheSpire\jre 檢查一下版本 C:\Steam\steamapps\common\SlayTheSpire\1jre\bin>java -version java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) 從上面資訊可知發文當下 (2024/1/24) 遊戲內附的java版本為 Java 8 如果你有安裝其他Java環境 可以先把jre目錄改名或刪掉,建議改名比較好,遊戲更新時可能會檢查 用系統內建的mklink建立一個連結指向你的Java環境就可以了 以openj9的Java環境為例 改名後去執行 (Win+R) 打cmd cd\ cd C:\Steam\steamapps\common\SlayTheSpire mklink /J jre "C:\Program Files\Semeru\jre-17.0.9.9-openj9" 執行結果 C:\Steam\steamapps\common\SlayTheSpire>mklink /J jre "C:\Program Files\Semeru\jre-17

瀏覽器偵測網址改變, detect url change in browser javascript

網路上很多說法是用 popstate event 如果用AJAX (XHR)更新網頁內容,再用 history.pushState() 更新網址會抓不到 解法1 定期檢查 用 setInterval() 去定期檢查 window.location.href,消耗不必要的資源 解法2 事件驅動 透過browser extension去接收 tabs.onUpdated event 這個event只能在background page中收到,再透過tabs.sendMessage()丟去content script 的runtime.onMessage就能對網頁內容作處理了 webNavigation webRequest 在某些情況也可以用來解決AJAX更新網頁的偵測 我不想在extension要太多權限就用,manifest_version 3新加的 host_permissions限定只對目標網域處理 host_permissions 似乎在多數browser是optional permission...不能指定有點麻煩

建議不要用Windows內建的防毒

介面不夠友善,設定選項少+難調整,功能也比較少 攻擊者一定會針對內建的測試過,畢竟內建的使用率應該最高,很多人會懶得額外裝 效能評測網站是說差不多等級,個人感覺是有比較慢,可能我被M$偷搞firefox拖慢效能搞到的關係?? Firefo被M$偷搞降低效能是在PTT上看到才知道的 作者Kenqr 看板Browsers 標題[-Fx-] 微軟修正了5年來Windows防毒拖慢Fx的bug https://www.ptt.cc/bbs/Browsers/M.1681291075.A.6E5.html 備份一下國外來源 https://www.theregister.com/2023/04/11/microsoft_defender_firefox_fix/

手動從Microsoft Update Catalog下載更新驅動程式driver

硬體的驅動程式,英文叫做driver 以下載Realtek音效卡driver為例 (2022改成想下載的年份) https://www.catalog.update.microsoft.com/Search.aspx?q=Realtek Media 2022 測試用硬體id (vendor id + device id)也可以搜尋到 https://www.catalog.update.microsoft.com/Search.aspx?q=VEN_10EC DEV_0897 2023 通常選和你的系統版本符合,日期最新的就可以 下載完解壓縮,去裝置管理員內按更新驅動程式,瀏覽電腦上的驅動程式 目錄選剛解壓縮的地方,按下一步,更新完建議重開機 這方法缺點: 附加功能會無法使用,DTS之類的 (比較主機板官方和M$的檔案就會發現少了一些) 但維持driver更新,避免security issue對我來說比較重要 如果沒辦法更新就是你的裝置在那包driver內不支援 (在筆電上比較容易遇到) 檢查下載的driver是否支援的方法 從裝置管理員內抓出音效卡的硬體識別碼 (每個系統可能不同,不要照抄) 步驟參考Intel的教學 找出的硬體id為 HDAUDIO\FUNC_01&VEN_10EC&DEV_0897&SUBSYS_1043888C 以asus主機板為例,支援的裝置清單可能會在這個檔內 Realtek Semiconductor Corp. - MEDIA - 6.0.9445.1\HDXASUS.inf 手動一個一個inf檔找太麻煩了 如果有安裝git的情況,沒安裝我也不知道有啥內建的替代方案 在driver的目錄打開git bash,輸入下面指令 (去掉前面的HDAUDIO\) grep "FUNC_01&VEN_10EC&DEV_0897&SUBSYS_1043888C" * 有找到就是driver有支援 如果想幫沒有安裝驅動程式的硬體安裝driver,可以透過上面的方法找出硬體的id 查詢網路上公開的資料庫,看是哪一家哪類型的硬體,再去廠商官網下載對應driver來安裝,一些driver更新軟體應該就是這樣做的 例如: https://

砍掉Avira換用Avast了

最近把avira砍掉換用avast,因為avira schedule強制不給砍有點煩 定期就要scan系統一下,造成電腦變慢使用體驗不佳,需要scan的話,我會找方便的時間 avast似乎全部都是64bit native,不像avira UI還是32bit,這部分應該差異不大,底層driver/system service應該都是64bit BTW avira, avast都被同一家公司收購了,兩邊開發團隊可能會有交流合作? 照預設選項安裝的話,可能會遇到的問題 CPU和硬碟用量有時會變高 google後發現原因, 參考解法 把cleanup的功能移除就好了,否則會定期去掃描硬碟建議你清除檔案 真的吃太多資源,很影響使用體驗,也可能是我電腦太舊了 建議移除比較好,掃描時真的吃太多資源 我個人的使用習慣,也把下列的功能移除,要不要移除請自行了解評估後決定 web protection (Web Shield),網頁的防護,有機會誤擋網站,影響使用體驗,推測也會降低效能 Network Inspector

網路卡驅動程式 NetAdapterCx driver

https://learn.microsoft.com/windows-hardware/drivers/netcx/ 新的網路卡driver架構,用來取代NDIS架構的 開發者能利用WDF減少寫driver的痛苦,減少bug和提高效能 理論上,使用者安裝NetAdapterCx driver會比較好 (雖然可能踩到新東西的地雷) Realtek目前NetAdapterCx版本的driver只有提供給Win11 Win10只有舊的NDIS driver,Win10要更新到版本2004才支援NetAdapterCx,Realtek可能避免麻煩就只提供NDIS了 因為NDIS在Win10和Win11支援的版本不同,拿Win11的來Win10跑可能會有問題,我就沒測試了 Realtek的網卡驅動下載

uBlock rule 自訂擋廣告規則

先給懶人複製貼上的rule 擋掉youtube內嵌影片暫停時 more videos https://www.reddit.com/r/firefox/comments/61y7lf/how_to_removedisable_more_videos_when_pausing_an/ 在my filter加入這一行 www.youtube.com##.ytp-scroll-min.ytp-pause-overlay for Android Firefox yahoo 移除要求安裝app的overlay,用*處理tw/hk *.news.yahoo.com##wafer-app-promo-banner > div > a *.stock.yahoo.com##wafer-app-promo-banner > div > a 想自己加的話,可以參考官方文件 https://github.com/gorhill/uBlock/wiki/Dashboard:-My-filters 自訂filter的選取可以用ublock內建功能的選取 或是用browser的開發工具來選擇,選完後把css selector貼進去用 如果要擋mobile page的element,建議用PC模擬mobile device來做比較方便 附上Firefox的操作法(Responsive Design Mode)  https://browserhow.com/how-to-view-mobile-site-layout-in-firefox-computer/

硬體加速 GPU 排程,Hardware-accelerated GPU scheduling

微軟官方的說明 https://devblogs.microsoft.com/directx/hardware-accelerated-gpu-scheduling/ google找到的參考測試結果 https://babeltechreviews.com/hardware-accelerated-gpu-scheduling-performance/ 有時會簡寫成HAGS 感覺這個選項還是不太穩定,要看遊戲? 下面的variable refresh rate我覺得是不要開比較好 也許要等將來優化吧 猜測在新的顯卡和driver和遊戲配合下效果會比較好?

滑鼠游標消失,mouse cursor disapears

換Lexma G92後遇到的問題 使用一段時間,游標消失,過幾秒恢復 (會聽到裝置拔出/插入聲) Lexma G92官方軟體也抓不到這隻鼠,說裝置不存在 懶得修,想說還可以用 後來就變成機率性永久消失游標,只能重開機解決,重開還會卡住,錯誤是PNP device power相關 在AMD平台 USB device似乎有類似的案例,原因可能是主機板, cpu或usb device的問題 受不了跑RMA換成G98就解決了 (維修部說沒貨要我選G96或G98,根據使用的IR sensor chip,選了較低耗電的) 送修方法是去官網找到line,加好友提供購買證明和必要資訊 隔幾天就會有物流送貨來了 物流會回收舊鼠(記得拿退貨單),才能證明你有把東西交回,避免可能的爭議 一般使用,這家的鼠CP值還不錯

shell on Windows

可用的shell 原生的有 cmd (很古老,類似幾十年前的dos) 很難用,只能做到簡單的script控制 powershell 核心好像是.net,可以直接使用.net的元件 要另外安裝的 如果有裝git,也可以用bash 可以用一些Linux上的指令 找檔案 直接用gui的搜尋似乎會連檔案內容都找,會很慢 cmd where /r . *blah* bash $ find . -name *blah*

電腦和手機分享檔案 sftpgo, SFTP server for Linux, macOS, and Windows

為了讓PC能和手機傳資料,我去找的file server 以前是用filezilla server,但最後更新日是2018...算了 官網 https://github.com/drakkan/sftpgo/ Android配合的ftp client AndFTP 要顯示中文記得改成UTF-8 設定可以先看 Getting Started Guide 稍微了解後,有需要再看詳細的設定文件 大部分的設定可以從網頁設定 http://127.0.0.1:8080/web 預設的密碼是 admin/password  

Firefox Android addon/extension debug

Desktop和mobile支援的API不一樣,不是所有extension都能通用 iOS因為Apple規定browser只能用webkit,所以無法支援AMO的addon https://developer.mozilla.org/en-US/docs/Tools/about:debugging https://extensionworkshop.com/documentation/develop/developing-extensions-for-firefox-for-android/ https://developer.mozilla.org/en-US/docs/Tools/Web_Console/Split_console 有一部分訊息要用adb logcat來看,如果有裝android studio會比較方便看

Asus Zefone 5Z(Z01RD/ZS620KL) 刷第三方ROM, custom rom LineageOS

圖片
照慣例細節不多做解釋,只寫補充文件的東西和心得 刷機有一定風險,不想花時間看文件的人不適合 其他品牌或不同型號手機,在步驟上略有不同,主要概念相同 刷第三方的動機 原廠軟體無法滿足: 系統不順, 有bug,功能不足,想對系統有更多掌控 原廠放棄維護,無法獲得更新有安全性疑慮 先把手機接上電腦,安裝需要的Android driver(名字可能帶有ADB, fastboot),沒裝下指令可能會有問題,driver可去手機商網站下載,或是在Windows更新內找到 刷第三方或是root都要先unlock bootloader 用官方或非官方解鎖都可以,差別在官方解鎖會有記錄,還在保固期會失去保固 資料要先備份好,遊戲/app轉移,記錄要安裝哪些app 2FA或其他安全機制要確保還能登入 (一種方法是在帳號登記手機,用手機當替代方案) 詳細步驟看LineageOS的文件 如何開啟開發者模式,adb的使用...etc https://wiki.lineageos.org/devices/Z01R/install 使用體驗比ASUS原廠rom順多了,建議先不要root root後,會有更多app被擋 (需要額外破解,還不一定能全解) root的防禦機制,Gapps會偵測到某些修改,寫入flag在系統中(除非找出改動還原,否則得把系統清掉重刷) 會被擋的app 沒有root就被擋的: 麥當勞 root後被擋的: 銀行,全家,某些支付 不怕麻煩可以持續玩貓抓老鼠,破解和被偵測反制的循環,會有短暫時間可以用 安裝/設定/更新上的問題 Android多數使用A/B system 根據LineageOS 17.1行為推測,刷在哪個slot是zip決定的 (應該是裡面某個設定或script) 在recovery中刷LineageOS安裝包會刷在另一個slot (非active slot) 刷其他非系統的擴充 (ex: OpenGApps, Magisk)會刷在active slot active slot在 recovery或fastboot都會顯示,也可以下指令切換 系統升級完如果卡在開機動畫,可以補刷安裝時有額外裝的 (ex: OpenGApps, Magisk) 第三

ASUS手機不等FOTA推送的更新方法

雖然ASUS手機滿爛的,國產還真的沒有其他更好的選擇,就寫一下吧 一般手機的更新方式是透過系統檢查,廠商為了負載平衡(load balance)及其他考量,不會一次讓所有人更新,會分批推送 想立即更新的方法就是自己下載檔案來更新,以ZenFone 5Z (ZS620KL)為例,點下面xda的連結會告訴你該下載哪個檔案,改成什麼名字,重開機或拔掉usb線就會偵測到更新了 https://forum.xda-developers.com/t/zs620kl-ww-fota-update-links-new-update-30-november-2020.3831794/ 其他廠牌型號就看xda上有沒有人提供檔案和方法了

git設定位置

Local: /.git/config – Repository-specific settings. Global: /.gitconfig – User-specific settings. This is where options set with the --global flag are stored. System: $(prefix)/etc/gitconfig – System-wide settings. 有時候懶得下指令可以用copy/edit檔案來改比較快

Firefox回到上一個使用的分頁, return to the last used tab

https://addons.mozilla.org/firefox/addon/last-used-tab/ 動機: 我在工作時常需要切到別的分頁或是開新的分頁去查資料,查詢完畢想要回到原本的分頁 ex: 從分頁1->4->5,關掉45,這時會回到3不是回到1 使用方式: 按下設定的熱鍵或按鈕可以切到原本使用的分頁 (上面的例子就是可以從3直接跳到1)

免費字型 Cascadia Code

https://github.com/microsoft/cascadia-code/releases 支援 Font Ligatures,寫程式的人會喜歡 Windows 系統內建的是用ttf ttc是 ttf的集合 https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/webfont-optimization

OBS問題回報, bug report

我知道有很多人都懶得看直接問,不接受這種模式,怕麻煩就回去用官方版 只有我製造出的bug會處理,新功能不能用幾乎都是官方的問題 blog或Discord有寫的東西就不回答,看不懂可以講,會找機會改進文件 如何有效回報bug (請先讀過,如果提供的資料不詳,看情況補件或無視) https://www.chiark.greenend.org.uk/~sgtatham/bugs.html 遇到bug先改用官方版開發版看有無同樣問題,下載連結不固定,請去官方Discord要 (進#windows-support  打!nightly) 或 dev.azure.com/obsjim/obsjim/_build?definitionId=1&_a=summary&repositoryFilter=1&branchFilter=4 (不確定連結會不會變動) 如有同樣問題(非我修改造成問題),請回報給官方處理(要用官方開發版或穩定版回報) 視情況提供怎麼繞開或回復成能用版本的方法 如果確定是我改出來的,請到Discord提供相關資訊 (詳細看上面的教學) 包含測試過的OBS版本(我的版本及官方開發版版本號)及狀況的描述(哪版會發生,哪版不會) 把OBS log上傳分析網站 (也可以在OBS程式內上傳Help->Log Files->現在跟上次都點) 如果網站有問題或不會使用,可以把log提供給我 按Win+R 打 %appdata%\obs-studio 把crashes和logs 都壓縮打包給我 (如果是容易再現的問題,先把這兩個資料夾砍掉再做log) 最好也要有畫面,很多人會描述錯誤 抓圖教學 https://www.take-a-screenshot.org/ 或是用笨方法手機拍照 Q: 出問題想下載舊版本的方法 A: https://ci.appveyor.com/project/craftwar_appveyor/obs-studio/history?branch=master 系統會自動清理,過期不要找我要 Q: 下載卡在Getting newer OBS... A: 這個訊息表示下載OBS新版本中,沒出現下載進度通常是網路連線有問題,連不上github,請檢察網路是否太慢或防火牆擋掉 Q: 下載很慢或錯誤 A