2024年4月10日 星期三

Windows update without driver

我想這已經很多人都知道了. 除了 AMD GPU driver 以外, 有安裝 Intel 官方網站下載的 driver 也建議打開, 例如 vmware workstation/player 會因為 M$ windows-update 給的 driver openGL 有問題, 開起來直接藍底白字. (個人沒很信任 WHQL 的品質, intel driver 品質江河日下的今天它可以比 intel 或 AMD 都還要糟糕....)




2024年3月7日 星期四

rustdesk windows build note

 date: 2024/03/07

reference: https://rustdesk.com/docs/en/dev/build/windows/

install: (install by administrator)

VS2022: community, with c++ development package, win10sdk 10.19041 (ps. no account)

git: https://git-scm.com/download/win

rust: https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe

llvm: https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.2/LLVM-15.0.2-win64.exe


install vcpkg:

git clone https://github.com/microsoft/vcpkg cd vcpkg git checkout 2023.10.19 cd .. vcpkg\bootstrap-vcpkg.bat export VCPKG_ROOT=$PWD/vcpkg vcpkg\vcpkg.exe install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static

setup VCPKG_ROOT in user environment.

set LIBCLANG_PATH in system environment.


build rustdesk:

git clone https://github.com/rustdesk/rustdesk cd rustdesk mkdir -p target\debug curl https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll --output target\debug\sciter.dllcargo run


rustc.exe 跑一跑會無法終止我就不知道什麼原因了.

2024年3月5日 星期二

AMD R5 340/350 R7 240/250 一點筆記

 GPU: AMD Oland

https://www.techpowerup.com/gpu-specs/amd-oland.g389

這是從鹹魚上找來的 dell 拆機貨, 打算取代 GTX750Ti 的 HDMI YUV422 4K 用. GTX750ti 沒有不好, 就是沒有 DP 輸出可用, 也無法輸出 RGB888 4K, 不然論 GPU 能力是強過 Oland 的. 然後因為我是在 ubuntu 底下用, linux 下 AMD GPU 支援度要好的多.

不過需注意的是, kernel 同時有兩支 driver 支援這系列的卡, radeon 跟 amdgpu, 而 mesa RADV 只支援後者, 所以記得在 /etc/defconfig/grub 裡加上"

radeon.si_support=0 amdgpu.si_support=1

的敘述, RADV 才能使用, 才能原生支援 vulkan.

2024年2月5日 星期一

rustdesk @ ironlake GPU

 應用情境是使用 i5-520m 的 Thinkpad x201, GPU 是 ironlake, 只有 OpenGL 2.1 可用, OS 使用 xubuntu 22.04.3, kernel 6.5.0-14, mesa 23.0.4

在這麼老的 landtop 上可以安裝 rustdesk client 的 deb, 不過啟動會碰上一堆錯誤 (serial 292 error_code 167 request_code 152 (GLX) minor_code 0). 

解法是啟動參數這邊這樣下:

---

env LIBGL_ALWAYS_SOFTWARE=true MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330 rustdesk

---

update: 可以當控端, 可以當被控端, 看 CPU 使用率應該是沒有 h/w encoder 可以支援, 無法確認.


update: 環境多設定一個參數, 即可讓 rustdesk 以純軟體方式啟動, 沒有 OpenGL 可用都無所謂 (但應該是 liunx 下才能用...):

LIBGL_ALWAYS_SOFTWARE=1

linux x11 例:

env LIBGL_ALWAYS_SOFTWARE=1 rustdesk



2023年10月17日 星期二

筆記 systemd-networkd

 簡單的說 ubuntu 體系的常會在開機時卡在 systemd-networkd-wait-online 很久很久, 如果機器本身是需要設定固定 ip, 沒有對外更沒有啥 dhcp server 可連線時就會卡很久

這裡有位高手提供一個解法: 首先:

sudo systemctl edit --full systemd-networkd-wait-online.service

在裡面找到 ExecStart, 改成像這樣:

ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --timeout=10

就可以跳過這個無意義工作.

2023年7月6日 星期四

usb ethernet adapter rename

USB ethernet 像 AX88772, AX88179 等在 ubuntu 下會重命名為 enx<MAC address> 的名稱, 我對名稱叫什麼沒有意見, 但 nfs client 有, 做 IPv6 nfs mount 時都會出現 "an incorrect mount option was specified" 的錯誤.

這問題我找了一段時間, 沒有找到解法. 直到有一天因為工作的需求使用 SUSE 這套 distro 時發現, 在它底下 USB thernet 可以正常使用 IPv6 nfs mount.... !! 只是跟 ubuntu 不一樣的是, 它 USB ethernet 就只是叫 eth? 而已, 不是照 bus-tree 這些來命名... 

好了, 那如何更改 ubuntu 下的 USB ethernet 名稱? 我在這裡找到有人提供改寫 udev rules 的方式達成:

以 root 身份增加檔案 /etc/udev/rules.d/76-netnames.rules
---
# USB device by path
# get ID_PATH if not present yet
ENV{ID_PATH}=="", IMPORT{builtin}="path_id"
SUBSYSTEM=="net", ACTION=="add", ENV{ID_PATH}=="*-usb*", NAME="ueth%n"

---

以 root 身份重觸發 udev:

# udevadm control --reload-rules; udevadm trigger;

下次再接上 USB ethernet 時就會更名為 ueth?, 更名成這樣就可以正常使用 IPv6 nfs mount.

2023年6月6日 星期二

ubuntu 底下套用 icc 檔

 首先寫在前面, 我只針對 X11 應用, wayland 跟印表機有沒有做用我不知道, 無法驗證.

這裡只是寫寫筆記.

ubuntu 底下要裝兩個東西, colord, xiccd, 使用 colord 前最好先把 window manager 重開過, 例如 gdm (ubuntu w/o wayland), lightdm (xubuntu, xfce), sddm (lubuntu, LXDE). 要簡單一點就是重開機.

再來確認 colord 有沒有辦法正常動作: 

# colormgr get-devices 要有東西, 特別是 Device ID 那行:


一些網站說 .icc 檔可以放在 ~/.local/share/icc/ 底下, 我試過在 22.04 上沒用. 有另外要加入的 .icc 檔我認為要乖乖加在 /usr/share/color/icc/colord/ 底下.

# colormgr get-profiles 可以列出能被使用的 .icc 檔, 順路確認有沒有自己需要的:

以上確認無誤後可以用 colormgr device-add-profile 增加, 以上圖的例子就是:

# colormgr device-add-profile "xrandr-Virtual1" icc-b99d6f29391058874009aa0bf2ef2a87

# colormgr device-add-profile "xrandr-Virtual1" icc-35ae3435119b8a10eaf73839628be96a

唯需要注意的是如果 Device ID 出來的字串裡面有空白時, 直接貼上一定失效, 需要特地用引號匡起來指定哪一個輸出.


指定使用 profile 例如:

colormgr device-make-profile-default "xrandr-Virtual1" icc-b99d6f29391058874009aa0bf2ef2a87

這樣就會套用.


在 X11 底下營幕如果有做過啥 mirror 的動作時, Device ID 同時也會跑掉, 要注意.