[ Technical exchange] 玲珑应用没有声音
Tofloor
poster avatar
jankin
deepin
2024-09-26 23:23
Author
jankin@jankin-PC:~/ll-build/Feishin$ ll-builder run
[19:0926/231240.989373:ERROR:browser_main_loop.cc(278)] GLib-GObject: g_value_set_boxed: assertion 'G_VALUE_HOLDS_BOXED (value)' failed
failed to create drawable
[54:0926/231241.059338:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
[54:0926/231241.059458:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Could not create the initialization pbuffer.
[54:0926/231241.059493:ERROR:gl_display.cc(767)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
23:12:41.060 › [SYSTEM] APPIMAGE env is not defined, current application is not an AppImage
23:12:41.063 › [SYSTEM] checkForUpdatesAndNotify called, downloadPromise is null
failed to create drawable
[54:0926/231241.066769:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
[54:0926/231241.066826:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Could not create the initialization pbuffer.
[54:0926/231241.066847:ERROR:gl_display.cc(767)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[54:0926/231241.066865:ERROR:gl_display.cc(801)] Initialization of all EGL display types failed.
[54:0926/231241.066886:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
failed to create drawable
[54:0926/231241.076456:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
[54:0926/231241.076527:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Could not create the initialization pbuffer.
[54:0926/231241.076552:ERROR:gl_display.cc(767)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
failed to create drawable
[54:0926/231241.084194:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
[54:0926/231241.084259:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Could not create the initialization pbuffer.
[54:0926/231241.084283:ERROR:gl_display.cc(767)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[54:0926/231241.084309:ERROR:gl_display.cc(801)] Initialization of all EGL display types failed.
[54:0926/231241.084330:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[54:0926/231241.085171:ERROR:viz_main_impl.cc(166)] Exiting GPU process due to errors during initialization
[102:0926/231241.175739:ERROR:command_buffer_proxy_impl.cc(132)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
23:12:42.474 › [AUDIO PLAYER] Setting properties: {"speed":1}
[102:0926/231546.695396:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[102:0926/231546.695422:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[102:0926/231546.769844:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[102:0926/231546.769871:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
ALSA lib pcm_dmix.c:999:(snd_pcm_dmix_open) unable to open slave
[152:0926/231546.832277:ERROR:alsa_util.cc(204)] PcmOpen: default,Device or resource busy
ALSA lib pcm_dmix.c:999:(snd_pcm_dmix_open) unable to open slave
[152:0926/231546.832545:ERROR:alsa_util.cc(204)] PcmOpen: plug:default,Device or resource busy
[152:0926/231547.832805:ERROR:output_device_mixer_impl.cc(180)] MixableOutputStream: Error during independent playback

玲珑应用没有声音

version: "1"

package:
  id: 'com.github.feishin'
  name: 'Feishin'
  version: '0.9.0.0'
  kind: app
  description: |
    Rewrite of Sonixd.

command: ['/opt/apps/com.github.feishin/files/bin/com.github.feishin'] #the commands that your application need to run.
base: org.deepin.foundation/23.0.0 #set the base environment, this can be changed.

build: |

  BINNAME=${LINGLONG_APPID}
  APP_PREFIX=${BINNAME}
  echo "#!/usr/bin/env bash" > ${BINNAME}
  echo "unset LD_LIBRARY_PATH" >> ${BINNAME}
  echo "cd ${PREFIX}/lib/${APP_PREFIX} && ./AppRun $@" >> ${BINNAME}
  # only search for .desktop file in the squashfs-root directory
  DESKTOP_FILE=$(find squashfs-root -maxdepth 1 -regex '.*\.desktop' -exec basename {} \;)
  cp squashfs-root/${DESKTOP_FILE} .
  sed -i "s@Exec=.*@Exec=${PREFIX}/bin/${BINNAME}@" ${DESKTOP_FILE}

  cd squashfs-root
  if [ ! $PREFIX ]; then
    PREFIX=opt/${APP_PREFIX}
  fi
  DESTDIR=${dest_dir}
  find -type f -exec install -D "{}" "${DESTDIR}/${PREFIX}/lib/${APP_PREFIX}/{}" \;
  find -type l -exec bash -c " ln -s \$(readlink {}) \"${DESTDIR}/${PREFIX}/lib/${APP_PREFIX}/{}\" " \;
  cd ..
  install -D ${BINNAME} ${DESTDIR}/${PREFIX}/bin/${BINNAME}
  install -D ${DESKTOP_FILE} ${DESTDIR}/${PREFIX}/share/applications/${DESKTOP_FILE}
  
  mv $PREFIX/lib/$TRIPLET/pulseaudio/* $PREFIX/lib/$TRIPLET
Reply Favorite View the author
All Replies
jankin
deepin
2024-09-26 23:49
#1
jankin@jankin-PC:~/ll-build/Feishin$ ll-builder run
[19:0926/233209.229114:ERROR:browser_main_loop.cc(278)] GLib-GObject: g_value_set_boxed: assertion 'G_VALUE_HOLDS_BOXED (value)' failed
failed to create drawable
[53:0926/233209.299813:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
[53:0926/233209.299891:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Could not create the initialization pbuffer.
[53:0926/233209.299910:ERROR:gl_display.cc(767)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
23:32:09.301 › [SYSTEM] APPIMAGE env is not defined, current application is not an AppImage
failed to create drawable
23:32:09.304 › [SYSTEM] checkForUpdatesAndNotify called, downloadPromise is null
[53:0926/233209.307187:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
[53:0926/233209.307262:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Could not create the initialization pbuffer.
[53:0926/233209.307285:ERROR:gl_display.cc(767)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[53:0926/233209.307307:ERROR:gl_display.cc(801)] Initialization of all EGL display types failed.
[53:0926/233209.307328:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
failed to create drawable
[53:0926/233209.316790:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
[53:0926/233209.316853:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Could not create the initialization pbuffer.
[53:0926/233209.316873:ERROR:gl_display.cc(767)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
failed to create drawable
[53:0926/233209.324095:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not create the initialization pbuffer.
[53:0926/233209.324171:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Could not create the initialization pbuffer.
[53:0926/233209.324188:ERROR:gl_display.cc(767)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[53:0926/233209.324207:ERROR:gl_display.cc(801)] Initialization of all EGL display types failed.
[53:0926/233209.324221:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[53:0926/233209.325043:ERROR:viz_main_impl.cc(166)] Exiting GPU process due to errors during initialization
[101:0926/233209.418865:ERROR:command_buffer_proxy_impl.cc(132)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
23:32:10.911 › [AUDIO PLAYER] Setting properties: {"speed":1}
[101:0926/233214.143763:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[101:0926/233214.143789:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[101:0926/233215.274254:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[101:0926/233215.274282:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[19:0926/233317.265344:ERROR:atom_cache.cc(229)] Add WM_CHANGE_STATE to kAtomsToCache
[101:0926/233614.127426:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[101:0926/233614.127453:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[101:0926/234057.431457:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[101:0926/234057.431481:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[101:0926/234456.049076:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[101:0926/234456.049103:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[101:0926/234639.305054:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[101:0926/234639.305078:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[101:0926/234639.339689:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
[101:0926/234639.339715:ERROR:ffmpeg_common.cc(959)] Unsupported pixel format: -1
23:48:01.391 › [AUDIO PLAYER] Setting properties: {"audio-samplerate":0}


Reply View the author
myml
Super Moderator
Developer
2024-09-27 09:58
#2

谢谢反馈,我先记录到issue了 https://github.com/OpenAtom-Linyaps/linyaps/issues/723 后续会排查解决

推荐使用最新版本的org.deepin.base试试

Reply View the author
jankin
deepin
2024-09-27 14:15
#3
myml

谢谢反馈,我先记录到issue了 https://github.com/OpenAtom-Linyaps/linyaps/issues/723 后续会排查解决

推荐使用最新版本的org.deepin.base试试

昨天晚上试试的,应该是最新版本的

Reply View the author
jankin
deepin
2024-09-27 14:16
#4

玲珑怎么添加ffmepg

Reply View the author
放屁大王
deepin
2024-09-27 20:42
#5

顶帖

Reply View the author
myml
Super Moderator
Developer
2024-09-30 11:37
#6

从feishin github release下载的appimage, 解压后用你的linglong.yaml 更改base使用最新的 org.deepin.base/23.1.0 就能正常播放声音了. org.deepin.base 是最新版本的基于v23的base

你linglong.yaml的最后一行在从 squashfs-root 复制 pulseaudio, 但我下载的appimage解压后没看到里面有 pulseaudio目录, 不知道你这个 pulseaudio 目录怎么来的, 不过应该用不上了, 删除pulseaudio这一行, 更改base后构建可以正常播放声音,

Reply View the author
myml
Super Moderator
Developer
2024-09-30 11:47
#7

你可以将AppImage写到sources里面, 这样其他人可以用linglong.yaml直接构建而不用自己再找appimage文件,再解压,中间还可能出现找不到对应文件的情况, 比如你的 pulseaudio

command: ["/opt/apps/com.github.feishin/files/bin/com.github.feishin"] #the commands that your application need to run.
-base: org.deepin.foundation/23.0.0 #set the base environment, this can be changed.
+base: org.deepin.base/23.1.0 #set the base environment, this can be changed.
 
 build: |
+  rm -rf squashfs-root
+  chmod +x ./linglong/sources/Feishin-linux-x86_64.AppImage
+  ./linglong/sources/Feishin-linux-x86_64.AppImage --appimage-extract
 
   BINNAME=${LINGLONG_APPID}
   APP_PREFIX=${BINNAME}
@@ -34,4 +37,8 @@ build: |
   install -D ${BINNAME} ${DESTDIR}/${PREFIX}/bin/${BINNAME}
   install -D ${DESKTOP_FILE} ${DESTDIR}/${PREFIX}/share/applications/${DESKTOP_FILE}
 
-  mv $PREFIX/lib/$TRIPLET/pulseaudio/* $PREFIX/lib/$TRIPLET
+sources:
+  - kind: file
+    name: Feishin-linux-x86_64.AppImage
+    url: https://github.com/jeffvli/feishin/releases/download/v0.10.1/Feishin-0.10.1-linux-x86_64.AppImage
+    digest: b18c1f98f717329384830e4acd6f6f02e9e7bc455a3c10c30699d3ef689ebf39
Reply View the author
myml
Super Moderator
Developer
2024-09-30 11:52
#8

如果你需要安装某些依赖, 推荐使用 vscode 的 linglong 插件

在sources写两行注释, 例如

# linglong:gen_deb_source sources amd64 https://ci.deepin.com/repo/deepin/deepin-community/backup/rc2 beige main
# linglong:gen_deb_source install ffmpeg

使用插件的 Gen deb source 功能, 会从第一行设置的仓库中搜索 ffmpeg 和它的依赖, 自动生成url和digest(文件的sha256) 填写到sources里面.

然后在build字段的第一行添加一句 bash ./install_dep linglong/sources "$PREFIX" 会将下载的deb包安装到应用文件夹
这个 install_dep 脚本也是插件自动生成的

Reply View the author
jankin
deepin
2024-10-05 14:26
#9
myml

如果你需要安装某些依赖, 推荐使用 vscode 的 linglong 插件

在sources写两行注释, 例如

# linglong:gen_deb_source sources amd64 https://ci.deepin.com/repo/deepin/deepin-community/backup/rc2 beige main
# linglong:gen_deb_source install ffmpeg

使用插件的 Gen deb source 功能, 会从第一行设置的仓库中搜索 ffmpeg 和它的依赖, 自动生成url和digest(文件的sha256) 填写到sources里面.

然后在build字段的第一行添加一句 bash ./install_dep linglong/sources "$PREFIX" 会将下载的deb包安装到应用文件夹
这个 install_dep 脚本也是插件自动生成的

谢谢

Reply View the author