龍芯fedora28日常生存指南
- 2021 年 1 月 30 日
- 筆記
- linux, 龍芯, 龍芯和 Linux 軟件
2021-01-30
v0.0.5
從0.0.1開始改了非常多,一月余時間的花費渴望為其他人提供一點幫助,能夠快速上手。
這主要是這一年來我從3B1500到3A4000再到福瓏2的日常使用記錄,是之前四篇隨筆的匯總和補充,也是嘗試着對 龍芯+Fedora28社區發行版 能幹的事情的進行發掘。這也就是說,它主要適用於使用龍芯3A4000的主機,部分適用於更老的型號。不適用不是說不能用,只是運行太慢了。
作為愛好者,我一定是使用龍夢的Fedora28作為操作系統,而暫時不考慮其他包括麒麟、UOS在內的更封閉的商業系統。無論使用任何硬件和軟件,我都不希望以犧牲部分需求為代價;當然不同人有不同的需求,這又另當別論了。
其實它能做的事情遠不止這些,Linux是可以日用的,龍芯是可以日用的。在這一個月中我也了解到更多可用易用的開源軟件,包括第三方的網易雲、開源OJ,但是它們或是還不能在龍芯上順利編譯通過,或是沒有足夠的時間進行試用,或是依然為3A4000性能所限。
龍夢的Fedora32已經發佈Beta版了,沒有使用Fedora32主要還是因為不能兼容一些現有的軟件。不能從UOS等商業系統搬運包來用不得不說還是會遜色很多。
在okapps上還發現了archlinux的龍芯版,逐步的,龍芯的生態正在越來越好。
龍芯的穩定版Java只有8。儘管這個版本是一個跨時代的版本,並且可以兼容大部分用Java開發的軟件,但到底是老了。好不容易3A4000可以比較好地運行Jetbrains全家桶,Jetbrains2020最低只支持openjdk11了,所以在下面的Jetbrains一節中我們只能用2019年的版本,如果追求完美甚至只能使用2019早期版本或2018版。龍芯加油!
龍芯3A5000已經成功,靜等發佈吧;ppt是要發的,但總還是實幹更能說服世人。
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 //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 //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 [email protected]:~
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(網頁審計代理切換)。
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
6.5 Elinks
字符界面的瀏覽器,在終端運行,支持鼠標操作。
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 //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 //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
看着用吧,基本可以用「絕了門子」來形容,用過的都說好[狗頭]。
從不從心我不知道,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的龍芯版,可以使用可以重打包,發現有功能會崩潰,沒太深究。
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>
指定配置文件路徑。 //clash.razord.top/ 用於代理的詳細配置。
15.3 Wireguard
用於內網穿透,類似花生殼,方便內網的服務管理。
sudo dnf install wireguard
15.4 frp
內網穿透等用途,配置非常簡單,go語言寫的,也是預編譯了mips64le可以直接用。
16 CAD
印象中Fedora28上並沒有相關軟件,但是今天突然有了,這讓我不禁感嘆大佬們的工作。我對cad軟件不是非常熟悉,只做簡單的介紹。
16.1 Kicad
用於電路版圖的製作。
sudo dnf install kicad
16.2 Librecad
呃,工圖?
sudo dnf install librecad
16.3 中望CAD
這是國內的中望軟件開發的商業CAD軟件,可以把中望CAD預裝版重新打包使用。
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="//goproxy.io"
17.5 Jetbrains
儘管Jetbrains全家桶是純Java開發的,但是其中包含的一些插件是以二進制的形式發佈的,且從2020.2開始,其依賴的Java環境最低只支持openjdk11。實測2019.3版基本可以使用。留下的問題是這些軟件都包含 libdbm64.so
,但是我並沒搞清楚它是幹啥的,也沒有相關報錯,故我並沒有對其進行替換。
17.5.0 共性的問題
主要問題出現在 fsnotifier
和 pty4j-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整個項目並編譯即可:
//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比較容易,只要替換了 fsnotifier
和 pty4j-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只要替換了 fsnotifier
和 pty4j-native
就可以,看起來也沒啥毛病。
17.5.4 Rider
龍芯發佈了 .NET Core ,我就發了瘋想在上面寫C# ……不過測試得知,Rider 2019.3無法在龍芯的java1.8正常運行,所以就留個坑吧233
- 關於龍芯.NET
- 環境變量
在 ~/.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