龍芯fedora28平常生存指南

2021-01-30php

v0.0.5html

從0.0.1開始改了很是多,一月餘時間的花費渴望爲其餘人提供一點幫助,可以快速上手。java

這主要是這一年來我從3B1500到3A4000再到福瓏2的平常使用記錄,是以前四篇隨筆的彙總和補充,也是嘗試着對 龍芯+Fedora28社區發行版 能幹的事情的進行發掘。這也就是說,它主要適用於使用龍芯3A4000的主機,部分適用於更老的型號。不適用不是說不能用,只是運行太慢了。python

做爲愛好者,我必定是使用龍夢的Fedora28做爲操做系統,而暫時不考慮其餘包括麒麟、UOS在內的更封閉的商業系統。不管使用任何硬件和軟件,我都不但願以犧牲部分需求爲代價;固然不一樣人有不一樣的需求,這又另當別論了。linux

其實它能作的事情遠不止這些,Linux是能夠日用的,龍芯是能夠日用的。在這一個月中我也瞭解到更多可用易用的開源軟件,包括第三方的網易雲、開源OJ,可是它們或是還不能在龍芯上順利編譯經過,或是沒有足夠的時間進行試用,或是依然爲3A4000性能所限。c++

龍夢的Fedora32已經發布Beta版了,沒有使用Fedora32主要仍是由於不能兼容一些現有的軟件。不能從UOS等商業系統搬運包來用不得不說仍是會遜色不少。git

在okapps上還發現了archlinux的龍芯版,逐步的,龍芯的生態正在愈來愈好。github

龍芯的穩定版Java只有8。儘管這個版本是一個跨時代的版本,而且能夠兼容大部分用Java開發的軟件,但究竟是老了。好不容易3A4000能夠比較好地運行Jetbrains全家桶,Jetbrains2020最低只支持openjdk11了,因此在下面的Jetbrains一節中咱們只能用2019年的版本,若是追求完美甚至只能使用2019早期版本或2018版。龍芯加油!golang

龍芯3A5000已經成功,靜等發佈吧;ppt是要發的,但總仍是實幹更能說服世人。web

1 系統安裝

1.1 鏡像燒錄

從龍夢的鏡像站下載最新的鏡像,文件名中「KDE」和「MATE」表明了默認的桌面環境不一樣(自帶的軟件也有所區別),在最後的數字則是版本,數字越大版本越大,也就越新。在我寫這段文字時,最新的是「6」。下載完成後檢查下md5或sha512。

選擇不小於4G的U盤,使用 Win32DiskImager 寫入鏡像。因爲它默認選擇「img」格式的文件,咱們須要在選擇文件類型的下拉框中將其改成「全部文件」,選擇須要的iso文件和正確的U盤盤符後開始寫入,寫完後能夠校驗一下。若是在Linux下能夠用 dd 寫入。注意寫入完成後必定要先卸載再拔出U盤。

不建議使用其餘軟件燒錄鏡像,它們一般是爲x86鏡像或其餘用途設計的,儘管有時它們能夠正常工做,但若是出現問題並不易於排查。也不建議使用太來路不明的U盤,之前一直沒被坑過,最近被學校文創坑了一回我人都傻了。

dd示例以下:

sudo dd if=Fedora28_for_loongson-KDE-Live-6.iso of=/dev/sdc bs=8MiB status=progress #使dd命令顯示進度
sudo sync #同步一下磁盤

1.2 從u盤啓動

將U盤插入主機的一個USB口,啓動電源。一般固件會自動檢測並從U盤啓動;若是沒有,請在固件中設置合適的啓動順序或手動選擇啓動設備。不一樣固件設置方法不一樣,這裏不進行贅述;若是沒法正常啓動,請檢查可疑的外設。

2 硬件

2.1 無線網卡

大部分2.4G無線網卡都是即插即用的,一般選擇對Linux免驅的便可,好比RTL8188和RT3070L,我正在用的是EDUP的8508GS。可是彷佛大部分USB的雙頻網卡都沒法作到即插即用,通過一段時間的摸索,AC1620能夠經過自行編譯驅動得到支持,爲了方便編譯我還修改了Makefile增長龍芯的配置(已Merge)。

AC1620適用驅動頁面: 傳送門

clone驅動:

git clone https://github.com/gnab/rtl8812au.git

編譯安裝:

#修改Makefile下面兩行爲所示語句
...
CONFIG_PLATFORM_I386_PC = n
...
CONFIG_PLATFORM_MIPS64_LOONGSON = y

#編譯
make

#測試
sudo insmod 8812au.ko

#安裝
sudo cp 8812au.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless
sudo depmod

#更新內核後須要從新編譯安裝

使用dkms:

#安裝所需軟件包
sudo dnf install dkms kernel-devel kernel-headers

#修改Makefile下面兩行爲所示語句
...
CONFIG_PLATFORM_I386_PC = n
...
CONFIG_PLATFORM_MIPS64_LOONGSON = y

#編譯安裝
sudo make dkms_install

#自動加載
echo 8812au | sudo tee -a /etc/modules

#卸載
sudo make dkms_remove

若是dkms安裝過程當中出現編譯失敗,重試可能出現 Error! DKMS tree already contains: 8812au-4.2.3 的錯誤,能夠運行 sudo dkms remove 8812au/4.2.3 --all 解決。

2.2 藍牙適配器

彷佛通常的藍牙適配器都是即插即用的,也沒出現啥兼容性問題。鼠標鍵盤耳機都能同時鏈接正常使用。

2.3 PCI-E轉sata

使用期間試圖爲寧美機子增長几個sata口,因而嘗試了一塊 PCI-E 轉 SATA3 的轉接卡,轉接了一個 SATA3 和一個 mSATA 。主控是 ASM1061,能夠完美兼容,並且也能夠走轉接卡從硬盤啓動。

2.4 usb轉串口

常見的芯片的都能即插即用。

2.5 顯示卡

顯示卡兼容性和硬解解碼均可以參考chipo大佬的文章

另外據說5.4內核對刷新率>75Hz的顯示屏兼容有bug,這裏留做提示。

3 軟件綜述

在龍芯上進行工做和娛樂,和通常Linux並無什麼劣勢,在個別OS上甚至具備超越通常發行版的體驗。下面的小節中將例舉各類你知道的和不知道的適合工做學習平常使用的功能和軟件。

因爲系統默認的防火牆配置比較激進,拒絕了大部分端口的鏈接,因此事先須要在「管理->防火牆」中將「活動的綁定」中的兩個鏈接「更改區域」,均修改成「FedoraWorkstation」。這樣能夠打開包括VNC在內的端口,而普通用戶並不須要過多擔憂安全問題(固然對於特殊狀況必須特殊對待)。

一些比較好的軟件被我分享在了百度網盤連接 中,提取碼: 27rh

對於一些我的從新打包的私有軟件,上面的連接裏提供了全部rpm和srpm。二次打包二進制來自歐侃源的deb包和UOS的包,我沒有對軟件本體作任何修改(部分軟件添加了桌面快捷方式,請自行查看源碼包),也不對任何問題負責。

3.1 OS

龍夢的Fedora28,此時KDE LiveCD已經更新到6,雖然看起來版本很是老,其實不少軟件都持續更新版本中。

內核版本爲 5.4.60 ,gcc爲 8.4.0 。

3.2 DE

默認爲Mate或者KDE,可是KDE默認的桌面顯示管理器是lightdm而不是sddm,若是但願修改成sddm以下配置便可:

sudo systemctl disable lightdm
sudo systemctl enable sddm

3.3 Shell

默認的shell是bash,固然咱們能夠更改之,我選擇了zsh,當前版本 5.5.1 。

sudo dnf install zsh

# 首次運行生成默認配置文件
zsh

配置konsole能夠實現背景透明和模糊,另外能夠用 oh my zsh 進行簡單的美化:

git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh

# 備份原來的配置
cp .zshrc .zshrc.orig

# 配置模板
cp .oh-my-zsh/templates/zshrc.zsh-template .zshrc

.zshrc 中能夠看到 ZSH_THEME 變量,更改其設置便可改變主題,固然也能夠自定義。示例: ZSH_THEME="fishy"

更多主題參見wiki ,不得不說幾乎全部主題有都有特殊字符顯示不正常的問題(字體問題),其中fishy主題症狀很是輕,也還比較順眼。

4 遠程鏈接

4.1 SSH

系統默認安裝了openssh。若是沒有安裝則手動安裝便可。

sudo dnf install openssh openssh-clients openssh-server

使用:

#啓動
sudo systemctl start sshd

#中止
sudo systemctl stop sshd

#開機自啓動
sudo systemctl enable sshd

#取消開機自啓動
sudo systemctl disable sshd

#鏈接:
ssh <user>@<domain>

固然也可使用圖形化的工具來鏈接,這裏只介紹putty。putty運行後默認就是ssh模式,只要輸入地址,後面按提示操做便可。固然它也支持例如telnet在內的其餘協議,甚至鏈接串口tty。

sudo dnf install putty

4.2 遠程桌面客戶端

krdc同時支持RDP和VNC協議,是一個不錯的選擇。同時也有很是多的相似軟件,這裏不一一介紹。

sudo dnf install krdc

4.3 Tigervnc Server

安裝:

sudo dnf install tigervnc-server

不知道爲啥tigervnc-server並不能正常使用。每次運行 vncserver 都會發生 plasma-workspace 的崩潰,鏈接之後就是一片黑屏。

不過咱們仍是能夠經過 x0vncserver 遠程訪問當前顯示器的內容,相似於x11vnc的功能,中止運行只要Ctrl-c便可:

x0vncserver -display :0 -passwordfile ~/.vnc/passwd

#欲獲取更多信息
man x0vncserver

4.4 x11vnc server

安裝:

sudo dnf install x11vnc

我用它實現的是開機自啓動vnc,而且直接共享屏幕。我暫時沒有在龍芯上實踐,可是應該差很少,先留個坑。

這裏附上我在用的適合lxdm的systemd腳本,可供參考。注意Fedora28默認使用是lightdm,KDE桌面習慣上使用sddm。

# /usr/lib/systemd/system/x11vnc_run.service

[Unit]
Description=Auto start x11vnc
After=lxdm.service
Requires=lxdm.service

[Service]
Type=simple
User=root
ExecStart=x11vnc -display :0 -auth /var/run/lxdm/lxdm-:0.auth -forever -rfbauth /root/.vnc/passwd

[Install]
WantedBy=multi-user.target

4.5 RDP Server

安裝freerdp:

sudo dnf install freerdp freerdp-server

xfreerdp 命令用於鏈接遠程rdp服務器, freerdp-shadow-cli 命令將在本機上打開一個rdp服務,默認監聽 0.0.0.0:3389 ,能夠直接使用Windows的遠程桌面鏈接或使用其餘客戶端。不過Windows10自帶的遠程桌面鏈接彷佛並不兼容,沒法正常使用。

它並不能像VNC同樣打開新的桌面而是隻能共享顯示屏的內容,可是能夠共享聲音。

5 文件傳輸

5.1 KDE Connect

這是一款神奇的軟件,只要在同一個Wifi下,它支持在任何能夠安裝它的設備之間傳輸文件,以及一些其餘騷操做。但那些並非咱們如今關注的,咱們關注的是如何安裝它。

sudo dnf install kdeconnect

固然僅僅在龍芯上安裝它是不夠的,官方還提供了Windows下的安裝程序,這裏以 kdeconnect-kde-1.4-201-windows-msvc2017_64-cl.exe 爲例 ,下載它並用管理員身份運行,安裝過程無需特殊的配置,Next 到底就可。安裝完成後立刻雙擊圖標運行是行不通的,具體能夠參考 這個issue 。修復它只須要打開 C:\Program Files\KDE Connect\bin\data\dbus-1\services 目錄(若是你沒手動改過安裝目錄的話)。打開 org.kde.kdeconnect.service 文件,你能夠看到 Exec= 一行指向了一個錯誤的地址,把它改成 Exec=kdeconnectd 便可。

在Windows下還須要一個支持sftp的軟件瀏覽文件,我選擇了WinScp

對於MacOS,我並非很是清楚具體狀況,可是二進制在這裏

對於安卓手機,你能夠在 F-Droid 上找到它,這就不須要多解釋了。

5.2 scp 命令

Linux scp 命令用於 Linux 之間複製文件和目錄,它是 secure copy 的縮寫,是 linux 系統下基於 ssh 登錄進行安全的遠程文件拷貝命令。

最基礎的命令以下:

scp [本地文件] [目標主機用戶名]@[目標主機地址]:[目標目錄/文件名]
scp [來源主機用戶名]@[來源主機地址]:[來源文件名] [本地文件名/文件夾]

好比:

#發送文件到目標主機
scp file.txt hachi@192.168.0.106:~

5.3 利用python

也可使用python在當前目錄打開一個臨時的http server,並用瀏覽器遠程訪問。

#python3
python3 -m http.server
#python2
python -m SimpleHTTPServer

默認爲8000端口,也能夠指定端口如8080:

#python3
python3 -m http.server 8080
#python2
python -m SimpleHTTPServer 8080

使用完成後Ctrl-c退出便可。

6 瀏覽器

6.1 firefox

源裏的firefox已經至關老了。雖然速度很是快,可是有時候可能致使死機,在默認狀況下系統自帶了它。

sudo dnf install firefox

6.2 龍芯瀏覽器

是龍芯基於火狐瀏覽器內核開發的瀏覽器,界面和火狐基本一致,插件也是兼容的。就當火狐用就可,很是舒服。

三個推薦的瀏覽器插件:uBlock Origin(廣告過濾插件)、Privacy Badger(隱私獾)、Proxy SwitchyOmega(網頁審計代理切換)。

lbrowser頁面

3.0開始爲Chromium內核,我並沒升級(那邊Google鬧着想把Chromium用戶趕到Chrome去,這一升級怕是49年入國軍了)。

6.3 Chromium

一般指具備硬解驅動的龍夢 chromium73。在Fedora28下直接安裝便可:

sudo dnf install chromium
#硬解驅動
sudo dnf install libva-utils mesa-dri-drivers libvdpau-va-gl

福瓏2下是使用的龍芯的7A1000橋片,上述硬解驅動是不行的,並不清楚相關的問題如何解決。

若是須要新的版本,有 FlyGoat 版 chromium82 beta,不帶硬解驅動可是運行很是流暢。這裏引用狗剩百科的連接,安裝命令以下:

sudo dnf install chromium-82-fg-beta2.rpm

6.4 Epiphany

Epiphany 是 Gnome 桌面的默認瀏覽器,運行穩定,可是很是緩慢。我只在3B1500上使用它。

sudo dnf install epiphany

字符界面的瀏覽器,在終端運行,支持鼠標操做。

sudo dnf install elinks

6.6 Arora

這是我在2F的Debian6下使用的瀏覽器

#2F Debian6的安裝命令
sudo apt-get install arora

7 多媒體

7.1 視頻播放器

視頻主要有 smplayer , vlc 和 mpv 。它們基本會在系統中預裝,若是沒有,用下面的命令安裝便可:

sudo dnf install smplayer vlc mpv

其中 smplayer 和 mpv 對硬解支持較好。

7.2 音樂播放器

這裏我只介紹 Audacious 和 Rhythmbox,我暫時也沒有找到比較喜歡的音樂播放器。Audacious 有一個系統托盤圖標,能夠在插件中打開它。

sudo dnf install audacious rhythmbox

7.3 網易雲音樂

並不是官方的網易雲客戶端,而是大神作的命令行版本

安裝能夠參考README,這裏總結了兩種方法。

  • clone 倉庫
#依賴包
sudo dnf install mpg123
#下載安裝包並解壓
wget https://codeload.github.com/darknessomi/musicbox/zip/master -O musicbox-master.zip
unzip musicbox-master.zip
#安裝
pushd musicbox-master
sudo python3 setup.py install
popd
#清理
rm musicbox-master.zip
sudo rm -r musicbox-master

可見這其實能夠做爲一個腳本使用,可是現實中因爲網絡的關係可能並非那麼順利。

  • 使用pip安裝
#依賴包
sudo dnf install mpg123
#安裝
sudo pip3 install NetEase-MusicBox -i https://pypi.tuna.tsinghua.edu.cn/simple

快速而簡潔。但其實sudo運行pip是很是危險的,能夠可使用python的虛擬環境來避免。

7.4 屏幕錄製

在這一節既有耳熟能詳的 simplescreenrecorder ,也有並不十分熟悉但也十分好用的 vokoscreen 。可是它們彷佛都不能調用顯卡來硬件編碼,因此使用時CPU佔用率會很是高。

sudo dnf install simplescreenrecorder vokoscreen

7.5 推流

這裏出場的顯然就是 Obs Studio,可是保存設置的時候會發生崩潰?不過用起來沒啥大問題,直接安裝便可。

sudo dnf install obs-studio

7.6 音頻編輯

Audacity 是一個相似於 GoldWave 的多軌易用的音頻編輯器。彷佛也有LMMS和Ardour這樣的專業編輯軟件,可是我並無嘗試。

sudo dnf install audacity lmms

7.7 視頻編輯

要是說到視頻編輯,一定會提到 Kdenlive 。它相較於不少同類軟件也絕不遜色,我也實際使用它幹了不少事情。

sudo dnf install kdenlive

7.8 流媒體服務器

由於本身一些奇奇怪怪的需求接觸了一下Live555,不過最後也沒用上就是了。

sudo dnf install live555

8 圖像

8.1 查看器

KDE plasma自帶的Gwenview工做得很好,徹底能夠勝任。

sudo dnf install gwenview

8.2 截圖工具

桌面環境一般會自帶一個截圖工具,好比對於plasma來講是Spectacle。可是我更喜歡例如Flameshot這樣簡單而不簡單的截圖工具。我一般使用它貼圖,好比將今日的單詞貼在屏幕上。Mate桌面直接左鍵運行,而Kde下的桌面快捷方式須要右鍵->截圖運行,也能夠從命令行手動運行之,而後就能夠看到托盤圖標了。

sudo dnf install flameshot

# 運行
flameshot gui
# 直接運行 flameshot 終端沒法退出

8.3 Gimp

一個很是好的Photoshop替代品,它的教程並非那麼容易找到,以致於儘管一直在試圖學習,我依然更熟悉Photoshop。

sudo dnf install gimp

8.4 Krita

它顯然是用來畫畫的,手殘嘛,最後被我用來打草稿……

sudo dnf install krita

9 光碟燒錄

9.1 Brasero

這是一個輕量的光碟燒錄軟件,適合簡單的複製、刻錄、建立鏡像。

sudo dnf install brasero

9.2 K3B

k3b適應的介質更多,功能更多,操做也十分便捷。不管是各類格式的刻錄仍是可複寫光盤的擦除都不在話下。

sudo dnf install k3b

10 下載器

10.1 uget

一個比較知名的下載軟件,可使用curl和aria2做爲後端,支持普遍,也很是符合咱們的使用習慣。

sudo dnf install uget

10.2 kget

和uget挺像的,可能在KDE plasma下比較舒服?

sudo dnf install kget

10.3 amule

相似於電驢的下載軟件,也是個Kad網絡客戶端,下下ed2k的連接搜搜資源都挺好用的,可是源裏的 amule 有內存泄露的風險。

sudo dnf install amule

10.4 ktorrent

主要用來下BT種子,具體都不須要解釋了吧~

sudo dnf install ktorrent

11 辦公軟件

11.1 VIM

家喻戶曉的強大的編輯器。系統自帶了nano可是並無自帶vim,須要手動安裝之。

sudo dnf install vim

11.2 WPS

你們都很是熟悉的辦公軟件,以致於不須要過多解釋。架構支持也十分齊全,可謂辦公無憂。雖然有時候會碰到奇怪的問題(好比運行會產生一個zonbie),可是瑕不掩瑜。

能夠在官方頁面下載。

11.3 LibreOffice

LibreOffice是一款由社區創造的自由免費辦公套件,可用於處理文本文檔、電子表格、演示文稿、繪圖以及公式編輯,它默認使用了默認使用開放文檔格式。另外WPS彷佛不支持odf格式。

sudo dnf install libreoffice

11.4 純文本編輯器

Mate桌面會自帶pluma,KDE plasma會自帶kwrite。另外還有一個kate,它和kwrite很像,甚至使用了同樣的配置文件(若是你更改了kwrite的配置,這會反映在kate上,反之亦然),可是這並不妨礙單獨一節講它。不管是簡單碼碼代碼仍是寫寫Markdown,kate均可以勝任,它不只僅是個文本編輯器,簡單而不簡單。

sudo dnf install kate

11.5 Markdown

retext和ghostwriter都是很是好的選擇,它們都支持實時預覽。不過ghostwriter彷佛更符合個人口味。

sudo dnf install retext ghostwriter

11.6 LaTeX

我是個LaTeX小白,並不十分熟悉LaTeX。它在各類論文的場合很是實用,同時生成的pdf質量也很高。

sudo dnf install texlive texmaker

注意不少經常使用的包須要額外安裝,能夠用 dnf search 搜索包名。

12 輸入法

總體支持比較好的仍是 fcitx 。安裝命令以下:

#主體及中文輸入法
sudo dnf install fcitx fcitx-sunpinyin

#日文輸入法(之一)
sudo dnf install fcitx-kkc

#一些須要的庫
sudo dnf install fcitx-qt5 fcitx-qt4 qt5-qtconfiguration

#圖形化配置工具
#KDE下使用kcm-fcitx
#mate下使用fcitx-configtool
sudo dnf install kcm-fcitx fcitx-configtool

在輸入法選擇器中選擇 fcitx 後從新登陸或重啓。

若是在某些軟件中出現沒法切換輸入法的狀況,能夠試着使用 fcitx-diagnose 命令查找問題。

13 通信和閒聊

哪些是通信哪些是閒聊一看便知。

13.1 thunderbird

用於郵件和irc等。源中直接安裝便可,若是想遷移配置,在 ~/.thunderbird 目錄。

sudo dnf install thunderbird

13.2 pidgin

用於irc、xmpp等各類協議。源中直接安裝便可,若是想遷移配置,在 ~/.purple 目錄。

sudo dnf install pidgin

13.3 linuxqq

看着用吧,基本能夠用「絕了門子」來形容,用過的都說好[狗頭]。

QQ Linux版,從心出發·趣無止境

從不從心我不知道,Core dump仍是很是有趣的[狗頭]。

13.4 wechat

UOS和麒麟上發佈了兩個appalling的Electron打包Wechat web(俗稱電子垃圾),若是想用能夠參考AUR上的相似方法破解UOS版的,在Fedora28上可使用。原理很是簡單,UOS版微信會檢測os-release和lsb-release判斷是否UOS,因此經過mount等方法用UOS的os-release和lsb-release覆蓋系統原有的便可。吾愛破解也有patch的方法,有興趣的本身學習。

13.5 dingtalk

我在歐侃源看到有3.5.5-Beta的龍芯版,可使用能夠重打包,發現有功能會崩潰,沒太深究。

dingtalk in okapps

13.6 telegram

真正的實時通訊軟件,源中的版本較老,可是可使用。

sudo dnf install telegram-desktop

14 學習軟件

14.1 Calibre

界面一言難盡但功能強大的電子圖書館,被我拿來作電子書的整理和查閱。

sudo dnf install calibre

14.2 有道詞典

借包的來着,可是不知道爲啥上游找不到了。

有離線詞庫,能夠劃詞翻譯。可能原本是爲麒麟設計的,對Mate桌面支持比較好,可是對Kde來講劃詞可能失效。

14.3 Ebview

你們可能對EBWin4更瞭解些,可是看名字就知道這是爲Windows設計的。Ebview則能夠導入EBWin4的詞典包,是個很是好用的詞典軟件。源中直接安裝的版本有Bug,部分詞典包會致使崩潰,具體緣由未知,也並無更新的版本可使用。

sudo dnf install ebview

14.4 圖示設計

EdrawMax,億圖圖示。一樣下載後從新打包便可。

14.5 Stellarium

虛擬天文館。若是沒有觀測條件,那就在家瞅瞅吧。

sudo dnf install stellarium

15 網絡工具

請用好的工具拿來幹合規的事情,也不要由於個別人用於違法犯罪就影響其餘人的合法使用。

15.1 Wireshark

抓包工具。注意它須要root權限運行,直接點擊菜單中的圖標是不能抓包的。

sudo dnf install wireshark
#運行
sudo wireshark

15.2 Clash

用於網絡代理(proxy),下載頁面在此,其中clash-linux-mips64le是適合龍芯的。它有兩個配置文件config.yaml和Country.mmdb。默認clash會從 ~/.config/clash/ 讀取這兩個文件,若是須要可使用參數指定它們的目錄,如 clash -d . 指定爲當前目錄、 clash -f <path> 指定配置文件路徑。 http://clash.razord.top/ 用於代理的詳細配置。

15.3 Wireguard

用於內網穿透,相似花生殼,方便內網的服務管理。

sudo dnf install wireguard

15.4 frp

內網穿透等用途,配置很是簡單,go語言寫的,也是預編譯了mips64le能夠直接用。

github主頁

16 CAD

印象中Fedora28上並無相關軟件,可是今天忽然有了,這讓我不由感嘆大佬們的工做。我對cad軟件不是很是熟悉,只作簡單的介紹。

16.1 Kicad

用於電路版圖的製做。

sudo dnf install kicad

16.2 Librecad

呃,工圖?

sudo dnf install librecad

16.3 中望CAD

這是國內的中望軟件開發的商業CAD軟件,能夠把中望CAD預裝版從新打包使用。

okapps

17 IDE

Jetbrain系最新能使用2019版的,須要額外的配置,下面有寫。若是嫌配置太煩或者發現以下配置依然沒法正常使用,可使用2018版的,2018版基本無需額外配置。

龍芯加油,Java1.8不夠用了233

17.1 Codeblocks 20.03

源裏的17版有大bug,崩潰了就啥也木了,因此只能本身編譯20.03。好在支持很是好,只須要少許的操做。能夠看我之前的文章,那時候對這些東西理解不好,很是多的無用功別太在乎。

17.2 Eclipse (java ide)

運行很是流暢,很可用。

sudo dnf install eclipse

17.3 vscode

不能安裝插件。

地址

17.4 Go

好像還沒找到Go的IDE,留個坑,不過咱們能夠本身編譯最新的Go。

這裏找一個喜歡的版本下載下來解壓, cd src 而後 ./all.bash 而後等着就完事。不過記得設置環境變量。具體在源碼包的 doc/install-source.html 中有很是詳細的描述。

另外,推薦在 ~/.bash_profile 中(對於zsh是 ~/.zshrc)添加一個goproxy的環境變量:

export GOPROXY="https://goproxy.io"

17.5 Jetbrains

儘管Jetbrains全家桶是純Java開發的,可是其中包含的一些插件是以二進制的形式發佈的,且從2020.2開始,其依賴的Java環境最低只支持openjdk11。實測2019.3版基本可使用。留下的問題是這些軟件都包含 libdbm64.so ,可是我並沒搞清楚它是幹啥的,也沒有相關報錯,故我並無對其進行替換。

17.5.0 共性的問題

主要問題出如今 fsnotifierpty4j-native 兩個插件上,他們均是以二進制的形式出如今 lib 目錄下,通常替換了這兩個二進制就能夠正常使用。

  • fsnotifier

這有官方連接做爲指導

下載源碼並運行 ./make.sh 編譯,得到 fsnotifier-mips64 ,複製到 /bin 目錄下(和自帶的fsnotifier和fsnotifier64在通個目錄)。並在clion配置文件夾 config 目錄下新建 idea.properties 文件;或在菜單選擇 Help->Edit Custom Properties 輸入如下內容:

# custom CLion properties

idea.filewatcher.executable.path = fsnotifier-mips64
  • pty4j-native

在Jetbrain全家桶中打開終端依賴它,所以問題主要體如今沒法在IDE中打開終端。

只要clone整個項目並編譯便可:

https://github.com/JetBrains/pty4j.git
cd pty4j/native
make

編譯得到的連接庫在 os/linux/mips64el 目錄中,複製二進制到 lib/pty4j-native/linux/x86_64 中覆蓋原有的二進制便可。

17.5.1 CLion

這個版本的CLion自帶了編譯器和clangd的二進制,固然這些二進制都是x86架構的,於是沒法使用。咱們只能自行編譯或者使用源中的編譯器。

  • tool-chain

這個比較容易,因爲沒法使用build in的編譯器,在設置中設置系統中的編譯器便可。

在Fedora28中安裝:

sudo dnf install cmake gcc gcc-g++
  • clang-tiny

我嘗試自行編譯clangd所需的二進制,可是能力所限,沒有成功。試圖使用系統中的clangd也沒有找到地方設置,只能禁用clangd;只好設置clang-tiny和使用內建代碼補全。

安裝clang:

sudo dnf install clang

File->Settings->Language & Frameworks->c/c++ 中設置Clangd關閉,設置Clang-Tiny爲使用外部的Clang-Tiny,路徑爲 /usr/bin/clang-tidy

官方彷佛給出了必定的解答,可是不太適用的樣子。

  • 總結

因爲整個測試過程比較倉促,沒有進一步測試,可是通常的功能都能很好地運行。

17.5.2 Pycharm

Pycharm比較容易,只要替換了 fsnotifierpty4j-native 就能夠比較完美地運行。不過彷佛它不會自動建立桌面連接,這裏附一個,其中的路徑按實際修改便可。

#jetbrains-pycharm.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=Pycharm
Icon=/home/loongson/.Jetbrains/pycharm-2019.3.5.edit/bin/pycharm.svg
Exec="/home/loongson/.Jetbrains/pycharm-2019.3.5.edit/bin/pycharm.sh" %f
Comment=A cross-platform IDE for python
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm

17.5.3 Idea

Idea只要替換了 fsnotifierpty4j-native 就能夠,看起來也沒啥毛病。

17.5.4 Rider

龍芯發佈了 .NET Core ,我就發了瘋想在上面寫C# ……不過測試得知,Rider 2019.3沒法在龍芯的java1.8正常運行,因此就留個坑吧233

  • 關於龍芯.NET

龍芯.NET

.NET Core 3.1下載頁面

.NET Core安裝說明

  • 環境變量

~/.bash_profile 中(對於zsh是 ~/.zshrc)添加:

export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet

18 虛擬機

使用qemu能夠很好地搭建和運行龍芯虛擬機,最新的qemu彷佛不能創建Fedora28虛擬機了,只能創建Fedora32虛擬機,並且老的qemu直接dnf升級到新版本會致使原有的Fedora28虛擬機沒法運行。qemu-kvm虛擬機和管理器爲系統預裝,能夠在菜單中看到 系統->虛擬系統管理器

手動安裝參考命令:

sudo dnf install qemu qemu-kvm libvirt virt-manager
sudo systemctl start libvirtd
sudo systemctl enable libvirtd

若是須要運行x86虛擬機,能夠參考狗剩百科 。可是性能捉雞不作推薦。

若是須要在x86機器上模擬龍芯,能夠參考狗剩百科 。一樣性能感人,有時候能夠作測試用途,能夠正常運行Fedora28 Mate而不是Fedora32。

19 遊戲

19.1 FlightGear

模擬飛行,能夠直接從源中安裝 2018.1.1 版,也能夠從官網頁面下載源碼自行編譯最新的。可能因爲llvmpipe的bug緣故,須要獨立顯卡,若是隻有7A1000集顯的沒法正常運行(反正7A1000也帶不動)。關於2019.1.1版本編譯的「從輸出所省略的額外重尋址溢出」錯誤能夠看我這裏

sudo dnf install FlightGear

FlightGear-data 彷佛由於軟件包過大(1.4G)沒法正常dnf下載,能夠先從源中將其下載到本地而後安裝,連接

sudo dnf install FlightGear ./FlightGear-data-2018.1.1-1.fc28.lemote.noarch.rpm

19.2 Minecraft

Java版。請看福萊大佬的博客,文中提到的lwjgl3的release連接不知道爲啥沒有了,在此

若是地圖複雜會略卡頓,另外不要試圖搭建紅石電路之類的玩意,在3A4000上會很是卡。

19.3 Chromium-BSU

一個小射擊遊戲,飛機大戰?

sudo dnf install chromium-bsu

20 參考資料

[1] RedHat 系發行版安裝指南 狗剩百科

[2] Chromium 瀏覽器 狗剩百科

[3] 在手機和電腦間雙向加密傳輸文件 —— Windows 安裝 Kde Connect 日暮神社の狸

[4] 龍芯 3B1500 Fedora28 安裝筆記 日暮神社の狸

[5] 龍芯 3A4000 Fedora28 安裝筆記 日暮神社の狸

[6] Linux scp命令 菜鳥教程

[7] LWJGL3 For MIPS64 Jiaxun Yang

by SDUST weilinfox