9

WHAT DID DELL DO? All WPF apps are rendered in a mess!

 2 years ago
source link: https://blog.walterlv.com/post/wpf-renders-wrong-because-of-nahimicosd-en.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

WHAT DID DELL DO? All WPF apps are rendered in a mess!

发布于 2021-11-05 20:47
更新于 2021-11-06 02:54

Recently, we have received many feedbacks from users, saying that our software interface is a mess, and there is no way to find any button locations. That’s really difficult to resolve because we do nothing extra about the rendering part of our software.

This article will first give a conclusion to help you solve the problem and then show our investigation process.


This post is written in multiple languages. Please select yours:

What happened

the UI in a mess

Yes, all the buttons are displayed everywhere, and covered across each other, and be positioned here and there. You can’t even read any UI texts. The UI elements change and flash after your mouse move.

The bug

Under normal circumstances, there are indeed many reasons for WPF rendering to blow up, but most of them are just broken in a single computer. But this blog talks about some widespread rendering problems that many computers are suffering from. And this time, DELL make this happen.

Now please check the NahimicOSD.dll file which is the critical key point of this rendering issue. It may be in these locations:

  • C:\ProgramData\A-Volute\DellInc.AlienwareSoundCenter\Modules\ScheduledModules\NahimicOSD.dll
  • C:\ProgramData\AWHeadset\DellInc.AlienwareSoundCenter\Modules\ScheduledModules\NahimicOSD.dll
  • C:\ProgramData\A-Volute\A-Volute.28054DF1F58B4\Modules\ScheduledModules\NahimicOSD.dll
  • C:\ProgramData\A-Volute\A-Volute.Nahimic\Modules\Scheduled\NahimicOSD.dll
  • C:\ProgramData\A-Volute\Modules\ScheduledModules\NahimicOSD.dll

All of the paths above are from DELL Alienware. Also, there are some other paths but I’m not sure whether it breaks the WPF rendering.

  • C:\Program Files\Nahimic\Nahimic2\UserInterface\Nahimic2OSD.dll

NahimicOSD is an on-screen display library that displays something on any software using DirectX as its rendering engine. Unfortunately, the additional rendering blooms the rendering of WPF apps (DirectX 9 application precisely).

Solutions

Delete the files in the paths above helps. This prevents the DLLs be injected into any other applications.

How did we find the reason and solutions?

Some of our software users gave feedback to us with the messing UI as attachments. Most of them were DELL devices with a 10th CPU and two graphics cards which confuses us. We tried to switch the default graphics card and tried to upgrade the graphics drivers but nothing helped.

What made changes was a special user which was using a LENOVO device. We find that the DELL Alienware Sound Center was installed on his/her computer. It seems that the DELL Alienware Sound Center is the criminal. So we dumped our software and get the proves that the NahimicOSD.dll in DELL’s path was injected into our software. We deleted the NahimicOSD.dll file and everything go back to fine.

Other discussions

This GitHub issue made me surprised because this was the right topic to talk about the same issue which I was concerned about. What made me surprised more is that I was one of the talkers of them two years ago but I remember nothing.


References

本文会经常更新,请阅读原文: https://blog.walterlv.com/post/wpf-renders-wrong-because-of-nahimicosd-en.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

如果你想持续阅读我的最新博客,请点击 RSS 订阅,或者前往 CSDN 关注我的主页

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 ([email protected])


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK