V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
lzwt806
V2EX  ›  Linux

Linux 下 AMD-GPU 核显在 图标颜色异常求助

  •  
  •   lzwt806 · 2020-02-28 21:40:29 +08:00 · 4163 次点击
    这是一个创建于 1512 天前的主题,其中的信息可能已经有所发展或是发生改变。
    各位前辈们好!

    又来麻烦你们,这次我真的已经尽力了,但还是无法解决问题,只得求助。

    问题:

    CDLinux_2018_v3 (正在更新维护的版本),在 nvidia,Intel,ATI 显卡下颜色显示都是正常的,唯独在 AMD-GPU 显卡下所有图标显示偏红,花了很多时间,试了各种方法都没能解决,以图说明(烦请 v2 管理员勿把本帖当成垃圾帖):

    以下截图都是在 AMD-GPU 下操作:

    3D 性能正常,但颜色不正常的情况截图:
    http://kxs-co.gicp.net/Images/bbs/Computer/OS/Linux/2020/A1.png
    http://kxs-co.gicp.net/Images/bbs/Computer/OS/Linux/2020/A2.png
    http://kxs-co.gicp.net/Images/bbs/Computer/OS/Linux/2020/A3.png

    3D 性能不正常,但颜色正常的情况:
    http://kxs-co.gicp.net/Images/bbs/Computer/OS/Linux/2020/B1.png
    http://kxs-co.gicp.net/Images/bbs/Computer/OS/Linux/2020/B2.png

    以下是本机硬件参数截图:
    http://kxs-co.gicp.net/Images/bbs/Computer/OS/Linux/2020/C1.png
    http://kxs-co.gicp.net/Images/bbs/Computer/OS/Linux/2020/C2.png

    以下是我试过的解决方法(失败的过程):

    1,通过排查,发现更换 libEGL.so 能让颜色正常(直接取其它发行版本的 libEGL.so ,比如 debian 的),当时我判断可能是 libEGL.so 引起的,libEGL.so 来自 Mesa,于是前段时间费了很多时间编译 LLVM-5.0 --> Mesa-17.1.6,可以很肯定的说 libEGL.so 成功更新,但颜色问题没有解决。说明判断错误。

    2,后又排查到 /usr/lib/xorg/modules/drivers/amdgpu_drv.so 更换别的发行版本颜色正常,于重新编译了 xf86-video-amdgpu-19.1.0 最新版本,奇怪的是编译后生成的 amdgpu_drv.so 覆盖原来系统的后,颜色一样不正常,3D 性能到是高了些。

    3,后来又怀疑过 xorg,于是从 Gentoo-20170110-LiveCD 上把 xorg 完整移了过来,所有性能正常,颜色一样不正常。注:此版本与 CDLinux 的内核 /glibc 库,drm,mesa 相同

    4,怀疑过 lib-drm,把 libdrm 编译到 2.4.100 最新版本,颜色一样不正常。

    已经处理过的过程就是:libdrm --> Mesa --> xorg --> amdgpu 驱动,都不行

    所以请有经验的前辈帮忙看看问题出在哪里?为了解决这个问题花了我太多时间(加起来有接近 1 个月),一直想着把这个问题解决就发布 2018_v3 版本,但却一直被这个问题困扰着。

    另外也有想过基于其它的发行版本定制 CDLinux,测试了 ubuntu,debian,opensuse,porteus,slackware,gentoo,PCLinux,PC-BSD,Ghost-BSD,发现这些操作系统都不尽人意,CDLinux 更新到现在已经接近完美了,就差那么点小问题处理不好,所以望高人 /前辈们指点一下,感激不尽!
    21 条回复    2020-04-04 01:16:05 +08:00
    V69EX
        1
    V69EX  
       2020-02-28 22:10:38 +08:00
    换掉 amdgpu_drv.so ,改用各发行版本默认的 modesetting 来驱动试试?它会直接调用内核中的显示驱动模块,比如 amdgpu。
    V69EX
        2
    V69EX  
       2020-02-28 22:13:40 +08:00
    另外,你说的试了其它发行版本,都不尽人意,这意思是说,颜色失真问题仍然存在呢,还是颜色正常,仅是用不习惯那些发行版本?
    V69EX
        3
    V69EX  
       2020-02-28 22:15:08 +08:00
    如果别的发行版本的颜色都正常,那应该是 CDLinux 的问题了。
    lzwt806
        4
    lzwt806  
    OP
       2020-02-28 22:42:37 +08:00
    @V69EX 回前辈:

    其它发行版本正常,肯定是 CDLinux 的问题,这个版本 kernel 是 4.8.17 的,不知道会不会与这个有关。Gentoo-20170110 用的所有软件几乎都是和 CDLinux 一样,编译打包完成前后差了几天时间,而把 Gentoo-20170110 的 xorg,Mesa,amdgpu_drv 移到 CDLinux 上性能正常,但颜色也是不正常的。但我直接启动 Gentoo-20170110 一切都正常。

    不尽人意是指:
    1,几乎每个发行版本都需要深度定制后才符合国人使用
    2,而有些发行版本太卡了,比如 opensuse。
    3,有些发行版本越做越差,比如 debian9 还不错( debian9-lxde 我在 2019 年订制过,见 http://kxs-co.gicp.net/Linux/)但 debian10-lxde 很卡。
    4,有些发行版基本上还不能泛用,比如 bsd 系,连显卡驱动都没做好,做桌面体验特别差。
    5,稳定性差,比如 Porteus 我测试中在好多硬件上各种问题使系统崩溃,日志各种错误。

    “改用各发行版本默认的 modesetting 来驱动试试”,这句话没懂,我直接替换 amdgpu_drv 不是前辈说的这种方法吗? modesetting 是啥?

    另外,AMD R7-240/250 独立显卡,A8,A10 的 APU,一样存在颜色问题,估计是同时间或同架构的显卡在 CDLinux 下都会有问题,这个问题比较严重。

    也想过安装 AMD 闭源驱动,但只有 deb 包,我试了没有成功。平时一些 deb 的软件还好解决,驱动解决起来似乎没那么容易。
    Songxwn
        5
    Songxwn  
       2020-02-28 22:51:50 +08:00
    Linux 桌面太难了
    V69EX
        6
    V69EX  
       2020-02-28 23:19:59 +08:00
    @lzwt806 我晕,这内核版本也太旧了!我刚从 win7 换到 Fedora 25 的时候,内核好像就是 4.8 的,现在都 Fedora 31 了。

    我说的 modesetting 驱动,就是不在 xorg 配置文件里指定任何显示驱动,那么,它就会 fallback 到 modesetting。

    或许你可以试试 Fedora,lxde 已经是不再维护的东西了,为何不改用 xfce 或 lxqt ?
    DefoliationM
        7
    DefoliationM  
       2020-02-28 23:23:20 +08:00
    为什么抱着一个发行版不放,其他的正常的话,可以用其他的
    xratzh
        8
    xratzh  
       2020-02-28 23:31:59 +08:00
    我怎么记得当初用 CDlinux 是拿来跑字典的
    lzwt806
        9
    lzwt806  
    OP
       2020-02-28 23:39:12 +08:00
    @V69EX lxqt 上个月才测试了,稳定性远不如 lxde,lxde 我认为目前已经很稳定,只要没有严重的安全漏洞,不维护是可以的。如果 lxde 能把桌面图标固定死,xfce 我都不想用。Fedora 测试过 20 和 28,也是要深度定制用着才顺手。

    @DefoliationM 花了六年多时间,进度完成了 95%,眼看着就要完成了,就因为这点问题放弃,心有不甘。

    @xratzh 这个与我无关,别人移植的 wifi 包,现在有更好的 wifislax 和 kail
    xratzh
        10
    xratzh  
       2020-02-28 23:43:17 +08:00
    @lzwt806 只是我想起来当初我玩这个而已,绝无冒犯哈
    lzwt806
        11
    lzwt806  
    OP
       2020-02-29 11:22:24 +08:00 via Android
    @xratzh 呵呵,别紧张,我只是想说 wifi 模块是第三方做的。

    @V69EX 按照前辈说的做了,试过替换 amd 官方的 pro 驱动(名字还是 amdgpu_drv.so),还试过直接删除 amdgpu_drv.so 驱动,直接使用内核自带的,确实颜色正常了,但 3D 性能极低
    xratzh
        12
    xratzh  
       2020-02-29 11:31:24 +08:00 via Android
    @lzwt806 不过用作 U 盘系统还是很 nice 的
    expy
        13
    expy  
       2020-02-29 17:34:04 +08:00
    搜索到这里有个一样现象,好像是 mesa 引起的。看你图上是 13.0.3,要不换成 13.0.6 试试?
    https://www.reddit.com/r/linuxquestions/comments/5l9mfm/ubuntu_16041610_amd_radeon_driver_wrong_colors/

    不过你不考虑更新下软件吗,4.8 内核好像都停止支持了吧。新点的内核也能支持更多硬件。
    lzwt806
        14
    lzwt806  
    OP
       2020-02-29 20:13:20 +08:00 via Android
    @expy 感谢提供的资料,前两天编译的是 Mesa-17.1.6,基于 LLVM5.0,简单测试没有解决问题,过几天从新打包严格测试。

    有想过更新更新 glibc,kernel-4.14 ,nvidia,intel,但时间不够。前娶了个老虎,还写了保证书,回家不能用手机电脑。
    woyaojizhu8
        15
    woyaojizhu8  
       2020-02-29 20:52:47 +08:00
    opensuse 太卡,可能用的 gnome ?用 kde 试试?
    lzwt806
        16
    lzwt806  
    OP
       2020-02-29 21:43:45 +08:00 via Android
    @woyaojizhu8 测试用的是 xfce,从来都只用 lxde 和 xfce,其他 DDE 测试的欲望都没有,操作太繁琐,不符合简单实用的原则
    lzwt806
        17
    lzwt806  
    OP
       2020-03-04 20:34:24 +08:00
    @expy 你好前辈,你给我的连接我手机和电脑,换浏览器都打不开,是要墙才能看?如果要墙,能不能保存 /打印成 PDF 发给我一下?邮箱 [email protected] 或我的聊天室 http://kxs-co.gicp.net/talk/传给科学社,谢谢!
    expy
        18
    expy  
       2020-03-04 21:06:53 +08:00
    james122333
        19
    james122333  
       2020-03-06 09:47:29 +08:00 via Android
    没说明还以为是主题
    amdgpu 就是坑多
    虽然不喜欢胡子
    但内显是有后门疑虑的
    外加 uefi 简直是悲剧
    lzwt806
        20
    lzwt806  
    OP
       2020-03-07 13:26:39 +08:00
    @expy 感谢,已经看明白。

    @james122333 水平不在一个档次,前辈说的话小辈完全不懂。
    lzwt806
        21
    lzwt806  
    OP
       2020-04-04 01:16:05 +08:00
    @expy 过了这么久来反馈一下前辈,不是 libgbm 的问题,已经排除了( libdrm 、mesa 、xorg 、xf86-amdgpu 驱动)这几个 ,后得到一位搞单片机 /嵌入式开发的前辈 perr 的帮助,定位问题到颜色管理显示上,好像是 ARGB (可能有记错名字)以另一种方式来显示了。

    目前正在排除的思路是:gdk-pixbuf2-->pixman-->cairo-->gtk3/gtk2
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2555 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 313ms · UTC 01:21 · PVG 09:21 · LAX 18:21 · JFK 21:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.