2019年12月6日 星期五

scrcpy 將手機畫面投影到pc上2: 解決聲音問題 - android to manjaro

依照上一篇scrcpy操作教學可以成功將畫面投放到PC上, 但聲音依然是由手機輸出
這對錄影來說會是個問題, 無法擷取到手機的音訊

解決方法: 使用手機的音源輸出, 連接到PC的mic port, 作為輸入

前置作業:
1. PC安裝scrcpy, 手機信任PC開啟usb debug mode
2. PC安裝pavucontrol, 控制音訊輸出輸入裝置

開始設定:
1. 手機usb連接PC,開啟debug mode
2. 手機音源線連接PC的mic port
3. 開啟pavucontrol, 切換到input devices頁面, 手機開任意有音訊的程式, 會看到microphone裝置有音訊在跳動代表成功了
4. 這時候可以使用任意錄音錄影的程式進行錄製, 應該就可以聽到聲音了

但是除了錄影外, 自己視聽不到聲音的, 手機接上音源輸出後也是沒聲音的
如何解決? 將音訊輸入的聲音轉送到PC的輸出裝置上

設定音訊輸入轉送:
1. 開啟terminal, 輸入 pactl load-module module-loopback latency_msec=1
2. 好了, 應該有聲音了, 打開pavucontrol的playback頁面, 會看到多了一個裝置正在播放音訊

測試影音延遲, 沒什麼感覺到延遲, 不錯
youtube link

拔除音源前, 記得要把轉送設定關掉, 不然會聽到很大聲的回音

pactl unload_module module-loopback

2019年9月17日 星期二

manjaro hdmi sound output

使用hdmi外接螢幕, 希望將影像和聲音都送給螢幕播放

影像: 用xrandr設定解析度, 以及延伸桌面的相對位置

xrandr --output HDMI-1-1 --mode 1920x1080
xrandr --output HDMI-1-1 --right-of eDP-1-1


聲音: 安裝pavucontrol, 由他來控制聲音輸出的目的裝置

sudo pacman -S pavucontrol

安裝完成後, 執行pavucontrol打開設定頁面
切換到Configuration分頁, 選擇HDMI 作為output profile.

設定完成, 開個影音測試吧!

2019年8月26日 星期一

scrcpy 將手機畫面投影到pc上 - android to manjaro

可以將手機畫面投影到pc端, 用滑鼠鍵盤控制, 非常方便的軟體.
一樣用Manjaro操作

安裝步驟
  1. 安裝adb:  sudo pacman -S android-tools
  2. 下載scrcpy source code:
    git clone https://aur.archlinux.org/scrcpy.git 
  3. 切換到scrcpy目錄: cd scrcpy
  4. 安裝scrcpy:  makepkg -i



執行scrcpy
  1. 手機usb連接pc
  2. 手機端開啟usb debug
  3. 手機端信任pc的key
  4. 執行scrcpy
  5. 成功就能看到手機畫面投到pc

無線投影方式
  1. 手機與pc連接到同一wifi
  2. 手機usb連接pc
  3. 如果已經信任過pc的key 不用重複再做一次
  4. 開終端機執行: adb tcpip 5555
  5. 手機usb從pc端移除
  6. pc端的終端機執行: adb connect <手機ip> 5555
  7. 若成功, 會看到手機畫面投影到pc

後記: 無論那一種連線方式, 都不能傳送聲音, 只有畫面

reference: https://snsd0805.github.io/jekyll/update/2019/07/30/%E8%BB%9F%E9%AB%94-%E4%BD%BF%E7%94%A8scrcpy%E6%8A%95%E5%BD%B1%E6%89%8B%E6%A9%9F%E7%95%AB%E9%9D%A2.html

2019年8月25日 星期日

Manjaro obs install

裝個obs方便錄影, 也許之後拍成影片

sudo pacman -S obs-studio

設定: 沒有什麼要改的, 確認編碼和錄影格式, 音訊裝置
如果音訊裝置抓不到, 重開看看



2019年8月23日 星期五

manjaro 玩Windows遊戲 - Path of exile

因為有大大已經做好了可以撿現成, 就照著操作一遍, 效果還不錯, 有興趣可以去看看
https://www.reddit.com/r/pathofexile/comments/9x47or/guide_getting_path_of_exiledx11_to_run_smoothly/

遊戲流暢性尚可, 多物件還是會有明顯掉fps, 再看看有沒有方法可以調整

manjaro 使用外接螢幕

如果有提供圖形化設定就不用看這篇
本篇是用xrandr做laptop外接螢幕的設定

如果是開機後才接上螢幕, 訊號不會直接送出來, 先執行 xrandr, 查看目前連接的monitor
  •  xrandr
找到外接的monitor代號, 設定解析度 (代號DP-1-1為例)
  • xrandr --output DP-1-1 --mode 1920x1080
訊號輸出到外接螢幕後, 預設是同步顯示, 改為延伸, 外接螢幕為右手邊的桌面
  • xrandr --output DP-1-1 --right-of eDP-1-1

manjaro 安裝中文輸入法 - ibus

fcitx搞不定, 改用ibus

  1. 安裝ibus
    • sudo pacman -S ibus ibus-chewing
  2. 修改設定,讓輸入法生效
    • sudo vi ~/.profile
    • 加入以下設定

      • export XMODIFIERS="@im=ibus"
        export XMODIFIER="@im=ibus"
        export GTK_IM_MODULE=ibus
        export QT_IM_MODULE=ibus
        export DefaultIMModule=ibus
        ibus-daemon -drx
    • 重新開機
    • 進入桌面後, 在system tray找到小鍵盤圖示, 點右鍵->configure
    • 新增輸入法, 找到注音後加入
    • 開一個瀏覽器, 按ctrl+space切換輸入法
    • 如果成功, 就代表都沒問題了

manjaro 獨立顯卡驅動安裝 - nVidia

選擇有兩種
  1. 開機預設使用內顯, 依情況指定程式使用獨顯: 較省電
  2. 開機預設使用獨顯: 高效, 耗電
1的選擇使用bumbleblee, 2的選擇使用nvidia optimus
本次採用2的選項做安裝

  1. 開啟manjaro-settings-manager-> Hardware Configuration
  2. 找到video-nvidia,點右鍵選擇安裝
  3. 安裝完成後, 做以下設定
    • 移除/etc/X11/xorg.conf.d/90-mhwd.conf
    • 新增/etc/X11/xorg.conf.d/optimus.conf, 內容如下
      •   Section "Module"
            Load        "modesetting"
        EndSection

        Section "Device"
            Identifier  "nvidia"
            Driver      "nvidia"
            BusID       "PCI:1:0:0"
            Option      "AllowEmptyInitialConfiguration"
        EndSection
    • 移除 /etc/modprobe.d/mhwd-gpu.conf
    • 新增 /etc/modprobe.d/nvidia.conf
      •   blacklist nouveau
        blacklist nvidiafb
        blacklist rivafb
    • 新增 /etc/modprobe.d/nvidia-drm.conf
      •   options nvidia_drm modeset=1
    • 新增 /usr/local/bin/optimus.sh
      •  #!/bin/sh

        xrandr --setprovideroutputsource modesetting NVIDIA-0
        xrandr --auto
    • 賦予權限 chmod a+rx /usr/local/bin/optimus.sh
    • 修改桌面管理的設定 sudo vi /etc/lightdm/lightdm.conf
      • 找到 [Seat:*] 段落
      • 加入 display-setup-script=/usr/local/bin/optimus.sh
      • 修改完成, 存檔離開
    • 重新開機 sudo reboot
  4. 無法進入桌面, ctrl+f2切至tty2
  5. 登入後執行命令 sudo pacman -Syyu (註1)
  6. 更新完成後, 重開機
  7. 祈禱, 成功進桌面
  8. 開terminal, 執行 sudo nvidia-settings,如果成功叫出設定面板, 恭喜成功
註1: 一定要先安裝driver再更新,反過來會在安裝driver的時候系統freeze, 原因不明

小結: manjaro已經算是把驅動安裝簡化了很多, 但硬體環境不同還是會有一堆奇怪問題. 基礎安裝那篇有提到修改開機設定, 和這篇發現要先裝driver再更新系統都是, 雖然不知道為什麼, 但這樣做就能通過了. 很難保證到其他環境可以照搬, 也許又要重新折騰一遍 orz

reference: https://www.youtube.com/watch?v=am7xeUFQ8uY

Manjaro安裝設定 - 起步

安裝環境: 這是一台有獨顯的laptop, 後續會安裝顯卡驅動
CPU: i5-7400 (有內顯)
GPU: nVidia GeForce FTX 1050 Mobile


  1. 下載Manjaro iso: 挑一個你喜歡的發行版
    https://manjaro.org/download/
     
  2. 將iso 燒錄成dvd, 或製作可開機usb (推薦使用rufus-註1)
  3. 使用manjaro dvd/usb開機, 到開機選單, 修改開機選項(註2)
    • 移至空白列前面有個筆記圖示的, 按e
    • 第一行引號內, 輸入 drive=intel acpi_osi=! acpi_osi="Windows 2009"
    • 修改完成, 按ctrl+x回到開機選單
  4. 在開機選單, 移動到boot列, 按enter
  5. 開機進桌面, 開始安裝(有界面引導, 中略)
  6. 安裝完成, 重新開機進新系統
  7. 開機進桌面後, 開啟terminal, 修改開機選項
    • sudo vi /etc/default/grub
      • 找到GRUB_CMDLINE_LINUX_DEFAULT, 游標移動到quiet後方
      • 空一格, 加入下列選項 acpi_osi=! acpi_osi='Windows 2009'
      • 完成後存檔離開
    • 更新開機選項 sudo update-grub
    • 重開機 - 可能會卡死, 切電源重開進桌面
    • 若成功, 下次重開就不會再有卡死問題

註1: 我是用rufus 3.5, 3.6不知道為什麼不給指定開機格式. 本次用GPT-EFI, dd模式寫入
註2: 看個人情況, 可能不用改, 我的環境因為有獨顯, 不改會無法進入桌面