Unreadable OSD when COLRv1 emoji font prioritized in fontconfig
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 37k
- Forks
- 3.5k
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 22
Description
mpv Information
mpv v0.40.0 Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
libplacebo version: v7.351.0
FFmpeg version: 7.1.1 (runtime 7.1.2)
FFmpeg library versions:
libavcodec 61.19.101
libavdevice 61.3.100
libavfilter 10.4.100
libavformat 61.7.100
libavutil 59.39.100
libswresample 5.3.100
libswscale 8.3.100
Other Information
- Linux version: Fedora Linux
- Kernel Version: Linux luklap 6.18.3-200.fc43.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jan 2 20:10:56 UTC 2026 x86_64 GNU/Linux
- GPU Model: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G96CM [GeForce 9600M GT] [10de:0649] (rev a1)
- Mesa/GPU Driver Version: OpenGL version string: 3.3 (Compatibility Profile) Mesa 25.2.5
- Window Manager and Version: sway version 1.11
- Source of mpv: Fedora's RPMs
- Latest known working version: None
- Issue started after the following happened: Fedora switched to COLORv1 as seen at https://docs.fedoraproject.org/en-US/fedora/latest/release-notes/desktop/#colr-for-noto-color-emoji
Reproduction Steps
- change your /home/$USER/.config/fontconfig/fonts.conf to (the guide is at https://www.reddit.com/r/linux/comments/grxawm/comment/fsb0jnw/?force-legacy-sct=1 and I use it to have color emojis in terminal and chromium)
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>DejaVu Sans</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>DejaVu Serif</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>DejaVu Sans Mono</family>
</prefer>
</alias>
<alias>
<family>emoji</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<match target="pattern">
<edit name="family" mode="prepend" binding="weak">
<string>Noto Color Emoji</string>
</edit>
</match>
</fontconfig>
- restart your pc
- start a movie in mpv
- enter menu through "g+m" shortcut
Expected Behavior
Actual Behavior
Log File
unreadable_osd_with_priotization_of_Noto-COLRv1.txt
One can see that noto font is selected instead of dejavu.
readable_osd_without_priotization_of_Noto-COLRv1.txt
One can see that dejavu font is selected instead of noto.
I followed the guide at https://vladimir-ivanov.net/tag/fedora/ and replaced Noto-COLRv1.ttf with NotoColorEmoji.ttf and it works just as good as in Fedora 42 (the mpv version was the same there)
readable_osd_with_priotization_of_NotoColorEmoji.txt
One can see that dejavu font is selected instead of noto.
Sample Files
No response
I carefully read all instruction and confirm that I did the following:
- I tested with the latest mpv version to validate that the issue is not already fixed.
- I provided all required information including system and mpv version.
- I produced the log file with the exact same set of files, parameters, and conditions used in "Reproduction Steps", with the addition of
--log-file=output.txt. - I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
- I attached the full, untruncated log file.
- I attached the backtrace in the case of a crash.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue using the supplied fontconfig configuration, then compare unreadable_osd_with_priotization_of_Noto-COLRv1.txt with readable_osd_without_priotization_of_Noto-COLRv1.txt and readable_osd_with_priotization_of_NotoColorEmoji.txt. Trace the OSD font selection and rendering path implicated by those logs; done means the OSD remains readable when the COLRv1 emoji font is prioritized.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100