Skip to main content

网页显示

一 概述

基于开发板PD_AD102_APUS_V1.0运行轻量级浏览器 NetSurf

二 基础配置

以ad102p_nand_5.10_defconfig配置为例

2.1 基础外设

需要配置LCD、TP、ETHERNET,参考

2.2 kernel配置

鼠标驱动开启,分辨率与屏幕一致

1

2.3 buildroot配置

开启对浏览器支持的相关配置

BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y BR2_PACKAGE_WQY_ZENHEI=y BR2_PACKAGE_NETSURF=y BR2_PACKAGE_NETSURF_SDL=y BR2_PACKAGE_SDL=y BR2_PACKAGE_SDL_FBCON=y BR2_PACKAGE_CA_CERTIFICATES=y BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL=y BR2_PACKAGE_FREETYPE=y BR2_PACKAGE_LIBPNG=y BR2_PACKAGE_WEBP=y BR2_PACKAGE_TSLIB=y BR2_PACKAGE_EXPAT=y BR2_PACKAGE_LIBCURL=y BR2_PACKAGE_LIBCURL_PROXY_SUPPORT=y BR2_PACKAGE_LIBCURL_COOKIES_SUPPORT=y BR2_PACKAGE_LIBCURL_OPENSSL=y BR2_PACKAGE_NGHTTP2=y

三 验证

配置网络和 DNS,再执行 NTP 对时

# ifconfig eth0 10.4.3.61 netmask 255.255.255.0 up
# route add default gw 10.4.3.1
# echo "nameserver 114.114.114.114" > /etc/resolv.conf
# ntpd -n -q -p ntp.aliyun.com

编辑netsurf-fb 运行时配置文件Choices

fb_face_sans_serif:/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc
fb_face_sans_serif_bold:/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc
fb_face_sans_serif_italic:/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc
fb_face_sans_serif_italic_bold:/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc
fb_face_serif:/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc
fb_face_serif_bold:/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc
fb_face_monospace:/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc
fb_face_monospace_bold:/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc
fb_face_cursive:/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc
fb_face_fantasy:/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc

由于文件系统只读,需先写入可写目录,再通过 bind mount 覆盖目标目录

# mkdir -p /tmp/nsdir
# cp -a /usr/share/netsurf/* /tmp/nsdir/
adb push Choices /tmp/nsdir/
# mount -o bind /tmp/nsdir /usr/share/netsurf

3.1 访问在线网页

常用参数:

  • -f sdl:指定 SDL fbcon 后端(建议显式指定,也可不配置)
  • -w <WIDTH> -h <HEIGHT>:指定渲染尺寸
netsurf-fb -f sdl -w 1280 -h 800 www.baidu.com

3.2 访问主机端本地html

需要保持主机与板端ping通, 主机端html目录执行

python3 -m http.server <PORT> --bind 0.0.0.0   # <PORT> 端口号自己设置

板端执行

netsurf-fb -f sdl -w 1280 -h 800 http://<HOST_IP>:<PORT>/<TEST_FILE>
# <HOST_IP> 主机 IP
# <PORT> 端口号与主机一致
# <TEST_FILE> 目录下的 html 文件

3.3 触摸支持

默认鼠标模式,可切换为触摸, 需配置环境变量

SDL_MOUSEDRV=TSLIB TSLIB_TSDEVICE=/dev/input/event0 \netsurf-fb -f sdl -w 1280 -h 800 www.baidu.com 
# /dev/input/event0是板端触摸节点