香橙派orangepi5plus在armbian上编译运行问题
Closed this issue · 11 comments
系统版本:Linux orangepi5-plus 6.1.75-vendor-rk35xx #1 SMP Fri Sep 20 21:10:09 CST 2024 aarch64 GNU/Linux
GnomeVersion 43.9
WindowingSystem Wayland
$ glxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Mesa (0xffffffff)
Device: Mali-G610 (Panfrost) (0xffffffff)
Version: 24.1.3
Accelerated: yes
Video memory: 7937MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 3.1
Max compat profile version: 3.1
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.1
OpenGL vendor string: Mesa
OpenGL renderer string: Mali-G610 (Panfrost)
OpenGL core profile version string: 3.1 Mesa 24.1.3-2+bookworm
OpenGL core profile shading language version string: 1.40
OpenGL core profile context flags: (none)
OpenGL version string: 3.1 Mesa 24.1.3-2+bookworm
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 24.1.3-2+bookworm
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
根据您给出的在树莓派上编译#78 (comment)
在armbian上编译运行有以下问题:
1)打开程序窗口固定(是直接运行编译完成buil目录下的wiliwili程序),不能移动窗口
2)播放窗口不能随全屏模式或者窗口模式缩放
3)疑似硬解加速没开启
- 用dev分支代码编译(注意依赖的git库也要更新:https://github.com/xfangfang/wiliwili/wiki#拉取项目 )
- "打开程序窗口固定" 我没太理解,建议来段录屏
- 应用运行的log是什么?,用
-d -t
运行,可以看到播放器的log - 编译时具体使用的编译参数是什么?(就是 cmake 指令都写了什么)
dev 分支下对 Wayland 做了一点调整,前面说的 log 一定要在 dev分支下,重新编译后截取。
既然 orangepi5plus 已经支持 opengl3 了就没必要使用 opengl2 了
也就是 编译参数使用
cd wiliwili
cmake -B build -DPLATFORM_DESKTOP=ON -DCMAKE_BUILD_TYPE=Release -DUSE_GLES3=ON -DGLFW_BUILD_WAYLAND=ON
make -C build wiliwili -j$(nproc)
硬件解码需要在设置中打开,也取决于 ffmpeg 的版本是否支持硬解
我记着 nanovg 要求的是 OpenGL3.2,但是他发的配置支持是 OpenGL3.1,感觉也可以用 -DUSE_GLES3=ON
试试。
硬件解码需要在设置中打开,也取决于 ffmpeg 的版本是否支持硬解
在应用设置里面已经开启硬件解码
./wiliwili -d -t
既然 orangepi5plus 已经支持 opengl3 了就没必要使用 opengl2 了
刚刚编译完成默认yoga分支,编译参数cmake -B build -DPLATFORM_DESKTOP=ON -DGLFW_BUILD_WAYLAND=ON -DGLFW_BUILD_X11=OFF -DCMAKE_BUILD_TYPE=Release -DUSE_GL3=ON
sl@orangepi5-plus:~/Downloads/new/wiliwili/build$ ./wiliwili -d -t
18:00:20.668[INFO] XDG_CURRENT_DESKTOP: GNOME
18:00:20.670[INFO] wiliwili v1.4.1
18:00:20.670[INFO] Current working directory: /home/sl/Downloads/new/wiliwili/build
18:00:20.670[INFO] setting: {"app_theme":"dark","danmaku":true,"danmaku_filter_advanced":false,"danmaku_filter_bottom":true,"danmaku_filter_color":true,"danmaku_filter_level":1,"danmaku_filter_scroll":true,"danmaku_filter_top":true,"danmaku_render_quality":100,"danmaku_smart_mask":true,"danmaku_style_alpha":80,"danmaku_style_area":100,"danmaku_style_fontsize":15,"danmaku_style_line_height":120,"danmaku_style_speed":100,"fullscreen":false,"home_window_state":"0,1280x720,0x0","on_top_mode":0,"player_bottom_bar":false,"player_exit_fullscreen_on_end":false,"player_hwdec":true,"player_inmemory_cache":50,"player_skip_opening_credits":false,"player_volume":100,"video_quality":120}
18:00:20.670[INFO] Load config from: /home/sl/.config/wiliwili/wiliwili_config.json
18:00:20.670[INFO] Load window state: 1280x720,0x0
18:00:20.670[INFO] Set app locale: zh-Hans
Couldn't open plugin directory: No such file or directory
No plugins found, falling back on no decorations
18:00:20.733[INFO] Using platform GLFW
18:00:20.807[ERROR] OpenGL 3.2 (the minimum requirement) is not available: EGL: Failed to create context: Arguments are inconsistent
18:00:20.816[ERROR] Fatal error: glfw: Failed to create window
terminate called after throwing an instance of 'std::logic_error'
what(): glfw: Failed to create window
Aborted
yoga分支加入 -DUSE_GLES3=ON 不能编译通过
[ 74%] Linking CXX executable wiliwili
/usr/bin/ld: CMakeFiles/wiliwili.dir/wiliwili/source/utils/image_helper.cpp.o: undefined reference to symbol 'stbi_image_free'
/usr/bin/ld: /lib/aarch64-linux-gnu/libsixel.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[3]: *** [CMakeFiles/wiliwili.dir/build.make:2169: wiliwili] Error 1
make[3]: Leaving directory '/home/sl/Downloads/new/wiliwili/build'
make[2]: *** [CMakeFiles/Makefile2:529: CMakeFiles/wiliwili.dir/all] Error 2
make[2]: Leaving directory '/home/sl/Downloads/new/wiliwili/build'
make[1]: *** [CMakeFiles/Makefile2:536: CMakeFiles/wiliwili.dir/rule] Error 2
make[1]: Leaving directory '/home/sl/Downloads/new/wiliwili/build'
make: *** [Makefile:190: wiliwili] Error 2
make: Leaving directory '/home/sl/Downloads/new/wiliwili/build'
- 用dev分支代码编译(注意依赖的git库也要更新:https://github.com/xfangfang/wiliwili/wiki#拉取项目 )
- "打开程序窗口固定" 我没太理解,建议来段录屏
- 应用运行的log是什么?,用
-d -t
运行,可以看到播放器的log- 编译时具体使用的编译参数是什么?(就是 cmake 指令都写了什么)
dev 分支下对 Wayland 做了一点调整,前面说的 log 一定要在 dev分支下,重新编译后截取。
armbian录屏不方便,就是打开wiliwil后窗口不能拖拽移动,没有边框
2)播放窗口不能随全屏模式或者窗口模式缩放?
(切换到dev分支后,该问题没有复现了)
以下是
切换到dev分支,编译参数cmake -B build -DPLATFORM_DESKTOP=ON -DGLFW_BUILD_WAYLAND=ON -DGLFW_BUILD_X11=OFF -DCMAKE_BUILD_TYPE=Release -DUSE_GLES3=ON
运行dev分支编译后的wiliwili -d -t
log:
sl@orangepi5-plus:~/Downloads/dev/wiliwili/build$ ./wiliwili -d -t
19:11:23.760[INFO] wiliwili v1.4.1-27-g31547b4
19:11:23.760[INFO] Current working directory: /home/sl/Downloads/dev/wiliwili/build
19:11:23.760[INFO] setting: {"app_theme":"dark","danmaku":true,"danmaku_filter_advanced":false,"danmaku_filter_bottom":true,"danmaku_filter_color":true,"danmaku_filter_level":1,"danmaku_filter_scroll":true,"danmaku_filter_top":true,"danmaku_render_quality":100,"danmaku_smart_mask":true,"danmaku_style_alpha":80,"danmaku_style_area":100,"danmaku_style_fontsize":15,"danmaku_style_line_height":120,"danmaku_style_speed":100,"fullscreen":false,"home_window_state":"0,1280x720,0x0","on_top_mode":0,"player_bottom_bar":false,"player_exit_fullscreen_on_end":false,"player_hwdec":true,"player_inmemory_cache":50,"player_skip_opening_credits":false,"player_volume":100,"video_quality":120}
19:11:23.760[INFO] Load config from: /home/sl/.config/wiliwili/wiliwili_config.json
19:11:23.760[INFO] Load window state: 1280x720,0x0
19:11:23.760[INFO] Set app locale: zh-Hans
19:11:23.761[INFO] Found inhibitor service: org.freedesktop.ScreenSaver
Couldn't open plugin directory: No such file or directory
No plugins found, falling back on no decorations
19:11:23.822[INFO] Using platform GLFW
19:11:23.920[ERROR] GLFW 65548: Wayland: The platform does not support setting the window icon
19:11:23.920[ERROR] GLFW 65548: Wayland: The platform does not support setting the window position
19:11:23.921[INFO] glfw: GL Vendor: Mesa
19:11:23.921[INFO] glfw: GL Renderer: Mali-G610 (Panfrost)
19:11:23.921[INFO] glfw: GL Version: OpenGL ES 3.1 Mesa 24.1.3-2+bookworm
19:11:23.921[INFO] glfw: GLFW Version: 3.4.0
19:11:23.929[ERROR] GLFW 65548: Wayland: The platform does not provide the window position
19:11:23.929[WARNING] Cannot find custom gamepad db, (Searched at: /home/sl/.config/wiliwili/gamecontrollerdb.txt)
19:11:24.287[INFO] glfw: joystick 0 GUID 03000000cf1b0000c205000000010000
19:11:24.287[WARNING] Cannot find custom font, (Searched at: /home/sl/.config/wiliwili/font.ttf)
19:11:24.287[INFO] Trying to use internal font: ./resources/font/switch_font.ttf
19:11:24.295[ERROR] GLFW 65548: Wayland: Platform does not support making a window floating
19:11:24.295[INFO] createWindow done
19:11:24.295[DEBUG] Adding an inputs block token (tokens=1)
19:11:24.301[DEBUG] View RecyclingGrid: create
19:11:24.306[DEBUG] RecyclingGrid::checkWidth from 0 to 169
19:11:24.306[DEBUG] RecyclingGrid::onLayout reloadData()
19:11:24.307[DEBUG] RecyclingGrid::checkWidth from 169 to 231.5
19:11:24.307[DEBUG] RecyclingGrid::onLayout reloadData()
19:11:24.307[DEBUG] RecyclingGrid::checkWidth from 231.5 to 232
19:11:24.307[DEBUG] RecyclingGrid::onLayout reloadData()
19:11:24.307[DEBUG] RecyclingGrid::checkWidth from 232 to 296
19:11:24.307[DEBUG] RecyclingGrid::onLayout reloadData()
19:11:24.308[DEBUG] RecyclingGrid::checkWidth from 296 to 360.5
19:11:24.308[DEBUG] RecyclingGrid::onLayout reloadData()
19:11:24.308[DEBUG] RecyclingGrid::checkWidth from 360.5 to 361
19:11:24.308[DEBUG] RecyclingGrid::onLayout reloadData()
19:11:24.308[DEBUG] View CustomButton: create
19:11:24.308[DEBUG] View HintLabel: create
19:11:24.308[DEBUG] Fragment HomeTab: create
19:11:24.309[DEBUG] RecyclingGrid::checkWidth from 361 to 360.5
19:11:24.309[DEBUG] RecyclingGrid::onLayout reloadData()
19:11:24.310[DEBUG] RecyclingGrid::checkWidth from 360.5 to 361
19:11:24.310[DEBUG] RecyclingGrid::onLayout reloadData()
19:11:24.310[DEBUG] RecyclingGrid::checkWidth from 361 to 360.5
19:11:24.310[DEBUG] RecyclingGrid::onLayout reloadData()
19:11:24.311[DEBUG] RecyclingGrid::checkWidth from 360.5 to 361
19:11:24.311[DEBUG] RecyclingGrid::onLayout reloadData()
19:11:24.311[DEBUG] RecyclingGrid::checkWidth from 361 to 360.5
19:11:24.311[DEBUG] RecyclingGrid::onLayout reloadData()
19:11:24.311[DEBUG] RecyclingGrid::checkWidth from 360.5 to 361
19:11:24.311[DEBUG] RecyclingGrid::onLayout reloadData()
19:11:24.311[DEBUG] View CustomButton: create
19:11:24.311[DEBUG] View CustomButton: create
19:11:24.312[DEBUG] RecyclingGrid::checkWidth from 361 to 1172
19:11:24.312[DEBUG] RecyclingGrid::onLayout reloadData()
19:11:24.313[DEBUG] Giving focus to AutoSidebarItem
19:11:24.314[DEBUG] Hiding brls::AppletFrame
19:11:24.314[DEBUG] push activity to the stack
19:11:24.314[DEBUG] Showing brls::AppletFrame
19:11:24.314[DEBUG] Analytics url: https://www.google-analytics.com/mp/collect
19:11:24.329[INFO] IME switched: OFF
19:11:24.526[DEBUG] Removing an inputs block token (tokens=0)
19:11:24.710[INFO] max_thread_num: 4
19:11:34.325[DEBUG] report event: {"client_id":"GA1.1269","events":[{"name":"open_app","params":{"engagement_time_msec":100,"git":"v1.4.1-27-g31547b4","language":"zh-Hans","platform":"Linux","session_id":"GA1.1269","user":"26","version":"1.4.1","window":"1280x720"}}],"timestamp_micros":"1728385894000000","user_id":"26","user_properties":{"device":{"value":"Linux"},"git":{"value":"v1.4.1-27-g31547b4"},"platform":{"value":"Linux"}}}
19:11:36.321[ERROR] Cannot check update: 0
19:11:43.337[INFO] IME switched: OFF
应该与wayland的几个错误有关
[ERROR] GLFW 65548: Wayland: The platform does not provide the window position
[ERROR] GLFW 65548: Wayland: Platform does not support making a window floating
- 窗口相关的问题,我认为应该是你那边环境的问题,根据log:
Couldn't open plugin directory: No such file or directory
No plugins found, falling back on no decorations
这个应该是你需要安装个什么插件来实现 window decoration (就是你说的,没有边框),这个是你那边桌面环境的问题。
其他的log中的 wayland 报错是正常的,wayland目前还没有完善那些功能,但是不会影响wiliwili。
- 硬解问题,就看你用的ffmpeg和mpv了,这个一定与wiliwili无关啦。
这个应该是你需要安装个什么插件来实现 window decoration (就是你说的,没有边框),这个是你那边桌面环境的问题。 其他的log中的 wayland 报错是正常的,wayland目前还没有完善那些功能,但是不会影响wiliwili。
- 硬解问题,就看你用的ffmpeg和mpv了,这个一定与wiliwili无关啦。
不能拖动窗口已确认是armbian系统问题,更换系统即可。硬件解码应该已启用,可能只是F1查看详细信息有误。