Difference between revisions of "FriendlyDesktop 18.04 for RK3399/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(固件下载)
(updated by API)
 
(13 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
==简介==
 
==简介==
[[File:friendlydesktop-home.png|600px]]<br />
+
{{FriendlyDesktop-Intro/zh}}
[[File:friendlydesktop-arduino.png|thumb|Arduino]]
+
[[File:friendlydesktop-firefox.png|thumb|Firefox]]
+
[[File:friendlydesktop-scratch.png|thumb|Scratch]]
+
 
+
'''FriendlyDesktop''' 是一个轻量级的Ubuntu桌面环境,其底层基于LXDE桌面构建,具有如下特点:<br />
+
&nbsp;&nbsp;&nbsp;&nbsp;'''最新版本''' - 基于Ubuntu 18.04 64位系统构建。<br />
+
&nbsp;&nbsp;&nbsp;&nbsp;'''易于开发''' - 兼容FriendlyCore的特性,集成经过优化的Qt5.10, QtCreator和Arduino IDE。<br />
+
&nbsp;&nbsp;&nbsp;&nbsp;'''轻巧''' - 只需要很少的CPU资源即可执行顺畅,而且当内存容量充足时表现特别出色。<br />
+
&nbsp;&nbsp;&nbsp;&nbsp;'''省能源''' - 它比其他常见的系统需要较少的资源运行相同的工作。<br />
+
&nbsp;&nbsp;&nbsp;&nbsp;'''简朴美''' - 借由GTK+ 2,它拥有美观、支持国际化的用户界面。<br />
+
&nbsp;&nbsp;&nbsp;&nbsp;'''使用简单''' - 提供用户如微软Windows般的应用程序列表。<br />
+
&nbsp;&nbsp;&nbsp;&nbsp;'''可自定义性''' - 用户可以轻易自定义LXDE的外观。<br />
+
&nbsp;&nbsp;&nbsp;&nbsp;'''兼容标准''' - 兼容于freedesktop.org标准。<br />
+
用于友善电子RK3399平台的FriendlyDesktop已经最佳化了对Mali GPU和VPU的支持,系统中已集成X.org驱动,支持Hardware Cursor、OpenGL图形加速等,支持4K硬解视频播放。<br />
+
 
+
 
===特性说明===
 
===特性说明===
 
{| class="wikitable"
 
{| class="wikitable"
Line 35: Line 20:
  
 
===固件下载===
 
===固件下载===
点击[http://download.friendlyarm.com/nanopct4 此处]跳转到下载链接。
+
点击[http://download.friendlyelec.com/nanopct4 此处]跳转到下载链接。
  
 
==设置及使用==
 
==设置及使用==
 
+
{{FriendlyDesktop-Contents/zh}}
===帐户与密码===
+
普通用户:
+
    用户名: pi
+
    密码: pi
+
 
+
Root用户:
+
    用户名: root
+
    密码: fa
+
 
+
===测试OpenGL ES性能===
+
在系统菜单 System Tools 中点击 Terminator 打开命令行终端,输入以下命令即可测试:
+
<syntaxhighlight lang="bash">
+
taskset -c 4-5 glmark2-es2
+
</syntaxhighlight>
+
[[File:Friendlydesktop-glmark-es.png|400px]]<br />
+
[[File:Friendlydesktop-glmark-es2-score.jpg|400px]]<br />
+
 
+
===测试视频的硬解播放===
+
====使用Qt硬解播放器播放====
+
FriendlyDesktop预装了Qt播放器Qt5-VideoPlayer,该播放器已经适配Rockchip的gstreamer插件,支持4K视频的硬解播放,  播放器启动方法:
+
在FriendlyDesktop上打开菜单 Sound & Video,点击 Qt5-VideoPlayer。 <br />
+
<br />
+
在播放器界面上,点击左下角的 Open 按钮加载一个视频文件到右边的播放列表,双击播放列表上的文件开始播放。播放器的界面如下所示,可以设置全屏播放,也可以调节音量:<br />
+
[[File:Friendlydesktop-player.jpg|frameless|480px]]<br />
+
 
+
====命令行播放====
+
打开命令行终端,输入以下命令即可测试:
+
<syntaxhighlight lang="bash">
+
gst-player.sh
+
</syntaxhighlight>
+
默认音频会输出到耳机孔, 可以使用 which gst-player.sh 找到这个脚本的位置,自已定制其播放的行为。
+
 
+
===USB摄像头===
+
将USB摄像头(比如罗技C270)插入开发板,在FriendlyDesktop上打开菜单 Other,启动 xawtv 程序即可预览摄像头的图像。
+
 
+
===安装并测试OpenCV===
+
FriendlyDesktop 点击菜单 System Tools -> Terminator 打开终端,输入以下命令安装 OpenCV 3.4:
+
<syntaxhighlight lang="bash">
+
su -
+
cd /root/
+
git clone https://github.com/friendlyarm/install-opencv-on-friendlycore
+
cd install-opencv-on-friendlycore
+
./install-opencv.sh
+
cp examples/cv-env.sh /usr/bin/
+
</syntaxhighlight>
+
安装完成后,下面来编译并运行OpenCV人脸识别的例子:
+
<syntaxhighlight lang="bash">
+
su -
+
cd /usr/local/share/OpenCV/samples/cpp
+
g++ -ggdb facedetect.cpp -o facedetect `pkg-config --cflags --libs /usr/local/lib/pkgconfig/opencv.pc`
+
. setqt5env
+
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --nested-cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_eye.xml" --scale=1.3 /usr/local/share/OpenCV/samples/data/data/lena.jpg
+
</syntaxhighlight>
+
例子的运行结果如下图所示:<br />
+
[[File:Friendlydesktop-opencv.png|frameless|480px]]
+
 
+
===设置HDMI屏幕分辨率===
+
进入系统菜单 Perferences -> Monitor Settings界面进行设置即可。<br />
+
推荐分辨率:1920x1080@60Hz
+
 
+
===eDP LCD的屏幕旋转===
+
如果要旋转eDP屏的显示,可使用命令xrotate.sh 来旋转90/180/270度。
+
以root用户运行以下命令,即可顺时钟旋转90度,命令执行过程中,会重启lightdm服务让设置立即生效:
+
<syntaxhighlight lang="bash">
+
sudo xrotate.sh -m CW -r
+
</syntaxhighlight>
+
其他旋转角度,可以通过运行 xrotate -h 命令获得详细的参数说明。<br/>
+
另外,该命令暂不支持HDMI显示的旋转,用户参考X11的文档,自行编辑 /etc/X11/xorg.conf 配置文件。
+
 
+
'''注意:硬解视频时,视频窗口并不会跟随屏幕旋转。'''
+
 
+
===连接5G WiFi===
+
点击FriendlyDesktop右上角的网络图标,选择你要连接的WiFi热点,按界面提示操作即可。
+
 
+
===开发Qt程序===
+
FriendlyDesktop下提供了重新编译的 Qt 5.10.0,支持RK3399的OpenGL ES和Gstreamer 1.0的硬件加速,同时集成了 QtCreator IDE,已配置好可以直接在开发板上编译并运行程序,如下所示:<br />
+
[[File:friendlydesktop-qtcreator.png|500px]]<br />
+
 
+
===蓝牙传输文件===
+
在FriendlyDesktop上打开菜单 Preferences,启动 Bluetooth Manager,在界面上点 Search 即可搜索周边的蓝牙设备, 点击你的设备进行配对,配对后即可发送文件,如下图所示:<br />
+
[[File:Friendlydesktop-ble-sendfile.jpg|500px]]<br />
+
 
+
<!--
+
===取消自动登录===
+
TODO
+
===性能相关设置===
+
TODO
+
===电源管理===
+
TODO
+
===定时开关机===
+
TODO
+
===串口助手===
+
TODO
+
===使用NVME SSD固态硬盘===
+
TODO
+
===WIFI AP===
+
TODO
+
===蓝牙键盘===
+
TODO
+
===4G网络===
+
TODO
+
===USB WIFI===
+
TODO
+
===USB摄像头===
+
TODO
+
-->
+

Latest revision as of 07:17, 21 February 2022

English

1 简介

Friendlydesktop-home.png

Arduino
Firefox
Scratch

FriendlyDesktop 是一个轻量级的Ubuntu桌面环境,其底层基于LXDE桌面构建,具有如下特点:
    最新版本 - 基于Ubuntu 18.04 64位系统构建。
    易于开发 - 兼容FriendlyCore的特性,集成经过优化的Qt5.10, QtCreator和Arduino IDE。
    轻巧 - 只需要很少的CPU资源即可执行顺畅,而且当内存容量充足时表现特别出色。
    省能源 - 它比其他常见的系统需要较少的资源运行相同的工作。
    简朴美 - 借由GTK+ 2,它拥有美观、支持国际化的用户界面。
    使用简单 - 提供用户如微软Windows般的应用程序列表。
    可自定义性 - 用户可以轻易自定义LXDE的外观。
    兼容标准 - 兼容于freedesktop.org标准。
用于友善电子RK3399平台的FriendlyDesktop已经最佳化了对Mali GPU和VPU的支持,系统中已集成X.org驱动,支持Hardware Cursor、OpenGL图形加速等,支持4K硬解视频播放。

1.1 特性说明

Board Models Version OpenGL ES Hardware accelerated video decoding Kernel Version
NanoPC T4 Ubuntu 18.04 64bit Yes gstreamer 1.0 4.x

1.2 固件下载

点击此处跳转到下载链接。

2 设置及使用

2.1 帐户与密码

普通用户:

   用户名: pi
   密码: pi

Root用户:

   用户名: root
   密码: fa

2.2 设置WiFi无线链接

点击FriendlyDesktop右上角的网络图标,选择你要连接的WiFi热点,按界面提示操作即可。

2.3 设置HDMI/DP屏幕分辨率

进入系统菜单 Perferences -> Monitor Settings界面进行设置即可。
推荐分辨率:1920x1080@60Hz

2.4 调节HDMI边界

打开命令行终端,输入命令进行操作,有几个注意事项:
1) 需要登录桌面才能操作,如果Desktop停留在Login是无法设置的;
2) 如果你是在 ssh 登录的终端,请使用与桌面登录相同的用户名,默认是 pi,不能使用root用户,同时,你需要赋值 DISPLAY 变量:

export DISPLAY=:0.0

2.4.1 查询显示器支持哪些分辨率

xrandr -q

输出示例:

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
eDP-1 disconnected primary (normal left inverted right x axis y axis)
HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1920x1080     60.00*+  50.00  
   1280x720      60.00    50.00  
   720x576       50.00  
   720x480       59.94

2.4.2 设置分辨率

例如设置为 1920X1080@60Hz:

xrandr --output HDMI-1 --mode 1920x1080 --refresh 60

2.4.3 设节HDMI输出边界

For example, the transformation scaling horizontal coordinates by 0.8, vertical coordinates by 1.04 and moving the screen by 35 pixels right and 19 pixels down:

xrandr --output HDMI-1 --transform 0.80,0,-35,0,1.04,-19,0,0,1

2.4.4 开机自动调整

编辑~/.config/autostart/lxrandr-autostart.desktop,将完整的xrandr命令写入到Exec=开头的键中,如下所示:

[Desktop Entry]
Type=Application
Name=LXRandR autostart
Comment=Start xrandr with settings done in LXRandR
Exec=sh -c 'xrandr --output HDMI-1 --mode 1920x1080 --refresh 50 --transform 1.04,0,-35,0,1.05,-30,0,0,1'
OnlyShowIn=LXDE

2.5 设置eDP显示屏旋转

如果要旋转eDP屏的显示,可使用命令xrotate.sh 来旋转90/180/270度。 以root用户运行以下命令,即可顺时钟旋转90度,命令执行过程中,会重启lightdm服务让设置立即生效:

sudo xrotate.sh -m CW -r

其他旋转角度,可以通过运行 xrotate -h 命令获得详细的参数说明。
另外,该命令暂不支持HDMI显示的旋转,用户参考X11的文档,自行编辑 /etc/X11/xorg.conf 配置文件。

注意:硬解视频时,视频窗口并不会跟随屏幕旋转。

2.6 测试OpenGL ES性能

在系统菜单 System Tools 中点击 Terminator 打开命令行终端,输入以下命令即可测试:

taskset -c 4-5 glmark2-es2

Friendlydesktop-glmark-es.png
Friendlydesktop-glmark-es2-score.jpg

2.7 如何播放4K视频

2.7.1 使用Qt硬解播放器播放

FriendlyDesktop预装了Qt播放器Qt5-VideoPlayer,该播放器已经适配Rockchip的gstreamer插件,支持4K视频的硬解播放, 播放器启动方法: 在FriendlyDesktop上打开菜单 Sound & Video,点击 Qt5-VideoPlayer。

在播放器界面上,点击左下角的 Open 按钮加载一个视频文件到右边的播放列表,双击播放列表上的文件开始播放。播放器的界面如下所示,可以设置全屏播放,也可以调节音量:
Friendlydesktop-player.jpg
Qt播放器源代码: https://github.com/friendlyarm/rk-player-qt

2.7.2 命令行播放

打开命令行终端,输入以下命令即可测试:

gst-player.sh

默认音频会输出到耳机孔, 可以使用 which gst-player.sh 找到这个脚本的位置,自已定制其播放的行为。

2.8 如何使用USB摄像头

将USB摄像头(比如罗技C270/C920)插入开发板,双FriendlyDesktop桌面上的USB Camera会弹出luvcview预览界面 (需要使用2019/05/11版本以上的FriendlyDesktop),在界面上点击中间的录像按钮可以录像.
luvcview 是一个开源软件,你可以自行编译:

git clone https://github.com/ksv1986/luvcview
cd luvcview
make

查看luvcview的用法:

./luvcview -h

参数说明:

luvcview version 0.2.1
usage: uvcview [-h -d -g -f -s -i -c -o -C -S -L -l -r]
-h    print this message
-d    /dev/videoX       use videoX device
-g    use read method for grab instead mmap
-w    disable SDL hardware accel.
-f    video format  default jpg  others options are yuv jpg
-i    fps           use specified frame interval
-s    widthxheight      use specified input size
-c    enable raw frame capturing for the first frame
-C    enable raw frame stream capturing from the start
-S    enable raw stream capturing from the start
-o    avifile  create avifile, default video.avi
-L    query valid video formats
-l    query valid controls and settings
-r    read and set control settings from luvcview.cfg

以640x360@30fps的格式预览USB摄像头图像可以使用以下命令:

./luvcview -d /dev/video8 -i 30 -s 640x360

从luvcview的输出信息可以看到,硬件加速已经开启:

pi@NanoPC-T4:/etc/xrdp$ luvcview -d /dev/video8 -i 30 -s 640x360
luvcview version 0.2.1
 interval: 30 fps
Hardware acceleration available
video /dev/video8

2.9 如何通过蓝牙传输文件

在FriendlyDesktop上打开菜单 Preferences,启动 Bluetooth Manager,在界面上点 Search 即可搜索周边的蓝牙设备, 点击你的设备进行配对,配对后即可发送文件,如下图所示:
Friendlydesktop-ble-sendfile.jpg

2.10 安装使用OpenCV

OpenCV has been pre-installed in FriendlyCore/FriendlyDesktop (Version after 201905) and does not require manual installation.
Please refre this link: https://github.com/friendlyarm/install-opencv-on-friendlycore/blob/rk3399/README.md

2.11 开发Qt程序

FriendlyDesktop下提供了重新编译的 Qt 5.10.0,支持RK3399的OpenGL ES和Gstreamer 1.0的硬件加速,同时集成了 QtCreator IDE,已配置好可以直接在开发板上编译并运行程序,如下所示:
Friendlydesktop-qtcreator.png
运行Qt程序时,需要指定platform参数为xcb,如下所示:

./HelloQt --platform xcb

2.12 访问GPIO/I2C/串口等硬件资源

请参考下面的文档:

2.13 切换音频默认输出设备

2.13.1 查看当前默认的输出设备

在普通用户的终端上,输入以下命令:

pactl info -vvv

显示的信息包含以下内容,表示当前音频输出到耳机:

Default Sink: alsa_output.platform-rt5651-sound.stereo-fallback

显示的信息包含以下内容,表示当前音频输出到HDMI:

Default Sink: alsa_output.platform-hdmi-sound.stereo-fallback

2.13.2 设置默认的音频输出设备为耳机口

在普通用户的终端上,输入以下命令:

pactl set-default-sink  alsa_output.platform-rt5651-sound.stereo-fallback

设置耳机口输出的默认音量为20%:

pactl -- set-sink-volume alsa_output.platform-rt5651-sound.stereo-fallback 20%

2.13.3 设置默认的音频输出设备为HDMI

在普通用户的终端上,输入以下命令:

pactl set-default-sink  alsa_output.platform-hdmi-sound.stereo-fallback

2.13.4 查看设置是否已生效

cat /var/lib/pulse/*-default-sink

2.13.5 播放时临时切换

这种方法仅对当前的播放进程有效:
打开菜单 "Sound & Video" -> "PulseAudio Volume Control", 在界面上点击 "Built-in Audio Stereo" 按钮切换不同的输出设备,比如在HDMI与耳机接口之间切换。

2.14 播放网络流媒体(或网络摄像头)

打开命令行终端,输入以下命令:

gst-launch-1.0 rtspsrc location="rtsp://admin:12345@192.168.1.120:554/live/main" ! rtph264depay ! decodebin ! rkximagesink

请将 rtsp:// 后面的地址改成真实的地址。

2.15 Chromium网页浏览器

系统预装的Chromium网页浏览器已经默认启用硬件加速,支持WebGL,可以通过输入网址 chrome://gpu 了解硬件加速情况,如下图所示:
Chromium-gpu.png

2.16 屏幕保护与自动休眠相关设置

屏幕保护与自动休眠的配置文件是 /etc/xdg/autostart/xset_command.desktop,默认出厂的设置是屏幕保护和DPMS都是关闭的,你可以通过修改这个文件来更改配置,具体可以了解一下Linux下 xset 命令的用法。

2.17 安装Scratch

用以下命令安装:

sudo apt-get install scratch:arm64

2.18 安装Arduino IDE

用以下命令安装:

sudo apt-get install arduino:arm64

2.19 开机自动启动程序

把要开机启动的程序的desktop文件放入~/.config/autostart/目录即可,例如:

cp /usr/share/applications/org.qt-project.qtcreator.desktop ~/.config/autostart/

2.20 用root用户登录桌面

编辑 /root/.profile文件:

sudo vim /root/.profile

替换成如下内容:

if [ -n "$BASH_VERSION" ]; then
    if [ -f "$HOME/.bashrc" ]; then
	. "$HOME/.bashrc"
    fi
fi
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

执行以下命令修改lightdm的配置文件,将自动登录的用户名改成 root:

sudo sed -i 's/autologin-user=pi/autologin-user=root/g' /usr/share/lightdm/lightdm.conf.d/20-defaultsession.conf

执行reboot命令重启:

sudo reboot

如果希望登录后,桌面图标与配置等都与pi用户一样,可以从/home/pi目录复制相关的目录过来:

sudo rm -rf /root/Desktop /root/Pictures /root/.config
sudo cp -af /home/pi/Desktop /home/pi/Pictures /home/pi/.config /root/
sudo chown root:root /root/Desktop /root/Pictures /root/.config