Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Portage & Programming
  • Search

*solved* media-video/ffmpeg-2.8.1 requires cpu flag mmxext

Problems with emerge or ebuilds? Have a basic programming question about C, PHP, Perl, BASH or something else?
Post Reply
Advanced search
9 posts • Page 1 of 1
Author
Message
khippy
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 79
Joined: Thu Aug 29, 2002 8:32 pm
Location: Braunschweig - Germany
Contact:
Contact khippy
Website

*solved* media-video/ffmpeg-2.8.1 requires cpu flag mmxext

  • Quote

Post by khippy » Sun Oct 25, 2015 9:48 pm

I own an old Atom board,
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 28
model name : Intel(R) Atom(TM) CPU 330 @ 1.60GHz
which has no mmxext:
flags : fpu vme de tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts nopl aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm movbe lahf_lm dtherm
but ffmpeg insists on the cpu flag cpu_flags_x86_mmxext.

What should I do?
Last edited by khippy on Wed Oct 28, 2015 1:20 pm, edited 1 time in total.
--
there are no silly questions
Top
chithanh
Retired Dev
Retired Dev
User avatar
Posts: 2158
Joined: Sat Aug 05, 2006 10:16 pm
Location: Berlin, Germany

  • Quote

Post by chithanh » Sun Oct 25, 2015 9:57 pm

For now you can disable the other cpu flags that cause mmxext to be required (sse, sse2, ...).

It would probably be good to report a bug against the ffmpeg package to check with the maintainers whether mmxext is really required for sse.
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56088
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Sun Oct 25, 2015 10:08 pm

khippy,

Lie and see if it works.

From memory, both mmx and mmext are also part of one of the se* instruction sets.
In their original form mmx and mmext instructions used the FPU registers because that s all there was.
This incurred a FPU save/restore around the mmx/mmext instruction segment of code.
A FPU save/restore is slow. Its 8 80 bit registers and a flags register. That's a lot of memory accesses on a 32 bit bus.

Later CPU designs added more registers for the Single Instruction Multiple Data instructions, so the FPU save/restore was no longer needed.
Even though you don't have the mmxext flag, I'm fairly confident that the instructions will execute on your CPU.

If I'm wrong, you will get an illegal instruction exception and ffmpeg will be killed.
You will notice that and will be able to read all about it in dmesg.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
khippy
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 79
Joined: Thu Aug 29, 2002 8:32 pm
Location: Braunschweig - Germany
Contact:
Contact khippy
Website

  • Quote

Post by khippy » Sun Oct 25, 2015 10:14 pm

chithanh wrote:It would probably be good to report a bug against the ffmpeg package to check with the maintainers whether mmxext is really required for sse.
Done.
--
there are no silly questions
Top
khippy
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 79
Joined: Thu Aug 29, 2002 8:32 pm
Location: Braunschweig - Germany
Contact:
Contact khippy
Website

  • Quote

Post by khippy » Sun Oct 25, 2015 10:16 pm

NeddySeagoon wrote:Lie and see if it works.
I'll give it a try.
--
there are no silly questions
Top
krinn
Watchman
Watchman
User avatar
Posts: 7476
Joined: Fri May 02, 2003 6:14 am

Re: media-video/ffmpeg-2.8.1 requires cpu_flags_x86_mmxext

  • Quote

Post by krinn » Mon Oct 26, 2015 4:38 am

khippy wrote: which has no mmxext:
flags : fpu vme de tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts nopl aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm movbe lahf_lm dtherm
but ffmpeg insists on the cpu flag cpu_flags_x86_mmxext.

What should I do?
You should not mistake cpu flags names shown by /proc/cpuinfo match the cpu_flags_x86_* ones.
The classic case: pni from /proc/cpuinfo is named cpu_flags_x86_sse3

Code: Select all

+ + cpu_flags_x86_mmxext   : Use the Extended MMX instruction set (a subset of
                              SSE) ([mmxext] or [sse] in cpuinfo)
From this you can see anyone with mmxext or sse will have it enable.
Top
chithanh
Retired Dev
Retired Dev
User avatar
Posts: 2158
Joined: Sat Aug 05, 2006 10:16 pm
Location: Berlin, Germany

  • Quote

Post by chithanh » Mon Oct 26, 2015 9:06 am

The name of the flag in /proc/cpuinfo is mmxext
This Atom 330 definitely does not have the flag. Whether it actually does not support mmxext, or there is some kind of mistake that it wrongly reports mmxext as unsupported is still not clear though.
Top
krinn
Watchman
Watchman
User avatar
Posts: 7476
Joined: Fri May 02, 2003 6:14 am

  • Quote

Post by krinn » Mon Oct 26, 2015 1:39 pm

chithanh wrote:The name of the flag in /proc/cpuinfo is mmxext
This Atom 330 definitely does not have the flag. Whether it actually does not support mmxext, or there is some kind of mistake that it wrongly reports mmxext as unsupported is still not clear though.
It enable it for mmxext OR sse, and the user have sse.
My i7 doesn't have mmxext too (i think only some amd have this one, i'm unsure but i think it is the earlier amd cpu with partial sse support that are named mmext to ident they don't have the full sse set), but cpu_flags_x86_mmxext is enable on it too.
Top
khippy
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 79
Joined: Thu Aug 29, 2002 8:32 pm
Location: Braunschweig - Germany
Contact:
Contact khippy
Website

case solved

  • Quote

Post by khippy » Wed Oct 28, 2015 1:18 pm

ffmpeg compiled fine and ffplay works as expected.

Thanks all your attention!

Problem: cat /proc/cpuinfo reveals no mmxext cpu flag

Solution:

- Install app-portage/cpuinfo2cpuflags

- execute cpuinfo2cpuflags-x86

Code: Select all

$ cpuinfo2cpuflags-x86 
CPU_FLAGS_X86: mmx mmxext sse sse2 sse3 ssse3
- copy the tail after CPU_FLAGS_X86: to CPU_FLAGS_X86 of your make.conf

Code: Select all

$ grep mmxext /etc/make.conf
CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3"
done.
--
there are no silly questions
Top
Post Reply

9 posts • Page 1 of 1

Return to “Portage & Programming”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic