xfangfang / wiliwili

第三方B站客户端,目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上
https://xfangfang.github.io/wiliwili
GNU General Public License v3.0
3.31k stars 158 forks source link

Linux Wayland 设置有显示缩放时界面显示模糊 #73

Closed Blue-Beaker closed 1 year ago

Blue-Beaker commented 1 year ago

系统环境:Kubuntu 22.04.1 plasma-wayland桌面环境 125%全局缩放 系统设置中开启全局缩放会导致wiliwili界面显示模糊,希望可以绕过系统全局缩放,避免模糊。 另外如果可以支持原生wayland就更好了。

xfangfang commented 1 year ago

@Blue-Beaker linux 相关问题只能大家自行解决,作者日常并不使用linux系统,而且也疲于适配不同linux的微小区别

欢迎给项目提交pr,其他的我就帮不上什么了


补充:除了 ubuntu 和 steamos 外的其他linux系统 我都不会花时间来研究

xfangfang commented 1 year ago

应该是可以支持原生wayland的,从源码编译时添加cmake选项 -DGLFW_USE_WAYLAND=ON

期待您的测试结果,如果了解相关包管理,也欢迎提交维护

Blue-Beaker commented 1 year ago

@Blue-Beaker linux 相关问题只能大家自行解决,作者日常并不使用linux系统,而且也疲于适配不同linux的微小区别

欢迎给项目提交pr,其他的我就帮不上什么了

补充:除了 ubuntu 和 steamos 外的其他linux系统 我都不会花时间来研究

请问能不能把所需哪些库发一下(最好发apt包名),我kubuntu22.04构建时老是缺库,又不知道装哪个

xfangfang commented 1 year ago

@Blue-Beaker Readme中有写

Blue-Beaker commented 1 year ago

@Blue-Beaker Readme中有写

已经安装,仍然报错

libmpv-dev 已经是最新版 (0.34.1-1ubuntu3)。
libcurl4-openssl-dev 已经是最新版 (7.81.0-1ubuntu1.7)。

-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR) 
-- Could NOT find MbedTLS (missing: MBEDTLS_INCLUDE_DIRS MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY) 
CMake Error at library/cpr/CMakeLists.txt:143 (message):
  No valid SSL backend found! Please install OpenSSL, Mbed TLS or disable SSL
  by setting CPR_ENABLE_SSL to OFF.```
xfangfang commented 1 year ago

log说的很清楚了呀,没有找到openssl 或者 mbedtls

有可能是openssl安装了但是没有配置环境变量,一切根据log提示做就可以了。

如果还是存在问题,可以去cpr的仓库搜索看看有没有其他人有相似的问题。

Blue-Beaker commented 1 year ago
git submodule update --init --recursive
cmake -B build -DPLATFORM_DESKTOP=ON -DGLFW_USE_WAYLAND=ON
make -C build wiliwili -j$(nproc)

用以上命令构建后,直接运行build文件夹下生成的wiliwili仍然走X11,用xeyes可看出。

xfangfang commented 1 year ago

简单搜索了一下,好像是改名了,可以试试:-DGLFW_BUILD_WAYLAND=ON

如果还是不行的话那就要仔细查查GLFW的文档了

Blue-Beaker commented 1 year ago

翻了glfw的readme确实改名了,然而重新编译出来打开还是X11,编译过程中也显示有-- Including Wayland support 难道需要清除缓存重新编译?或者启动时需要加参数?

xfangfang commented 1 year ago

可以拉glfw的代码,编译一下他那些测试看看效果。

这个问题,我因为没有环境就没办法参与了,加油 期待更新你的解决方案

calico-cat-3333 commented 1 year ago

cmake -B build -DPLATFORM_DESKTOP=ON -DGLFW_BUILD_WAYLAND=ON -DGLFW_BUILD_X11=OFF 试试这样呢?这样在我的Debian电脑上编译出来的就是wayland原生应用

xfangfang commented 1 year ago

@Blue-Beaker 还有什么问题没有解决吗?

Blue-Beaker commented 1 year ago

cmake -B build -DPLATFORM_DESKTOP=ON -DGLFW_BUILD_WAYLAND=ON -DGLFW_BUILD_X11=OFF 试试这样呢?这样在我的Debian电脑上编译出来的就是wayland原生应用

加此参数编译出来纯wayland应用,但不再支持x11了,推测是优先级判定问题,如果检测到wayland会话就直接以wayland启动就可以解决此问题。 此外,原生wayland下触屏不工作,xwayland和原生x11都可以正常触屏。

Kimiblock commented 9 months ago

env -u DISPLAY wiliwili 即可