LINUX.ORG.RU

Как собрать mesa


0

1

За что отвечают (и какой от них профит) USE флаги для mesa?
Видео intel hd3000
classic - тут вроде все ясно. можно выключать
egl
llvm
shared-glapi
gallium - этот включаем
gles
openvg
shared-dricore

А остальные для чего нужны?

cat /usr/portage/profiles/use.* | grep -i "egl\|shared-glapi\|gles\|openvg\|shared-dricore\|llvm"
kostik87 ★★★★★
()

У меня с nvidia так:

These are the packages that would be merged, in order:

Calculating dependencies  ... done!
[binary   R    ] media-libs/mesa-7.11_rc1-r1  USE="gallium nptl shared-glapi -bindist -classic -debug -egl -gles -llvm -motif -openvg -pic (-selinux) -shared-dricore" VIDEO_CARDS="-intel -mach64 -mga -nouveau -r128 -radeon -savage -sis -tdfx -via -vmware" 

Total: 1 package (1 reinstall, 1 binary), Size of downloads: 0 kB

CEMEH
()
Ответ на: комментарий от CEMEH

CEMEH> egl
egl - Enable EGL support for Gallium3D.
допустим я получаю такой результат. Я вижу что флаг egl включает egl. А я спросил что это нам дает, что вообще такое этот egl?
Я знаю как пользоваться euse, я не знаю что делают все эти плюшки т.к. долго сидел на nvidia и там все просто работает.

wolfovich
() автор топика
Ответ на: комментарий от kostik87

Только хотел написать, что если юзаем nvidia, то на mesa можно не обращать внимания.

wolfovich
() автор топика

>classic - тут вроде все ясно. можно выключать

У самого радеон так что за интелом не слежу, но по моему галлиум драйвер у интела практически не развивается и пилят в основном классик.

Behem0th ★★★★★
()
Ответ на: комментарий от wolfovich

у интела да,, а у ати и нвидии все прекрасно, но у интела очень хорошие классические дрова, так что переживать не стоит.

Novell-ch ★★★★★
()
$ equery uses mesa
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for media-libs/mesa-7.11_rc1-r1:
 U I
 - - bindist             : Flag to enable or disable options for prebuilt (GRP)  packages (eg. due to licensing issues)
 + + classic             : Build drivers based on the classic architecture.
 - - debug               : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see
                           http://www.gentoo.org/proj/en/qa/backtraces.xml
 - - egl                 : Enable EGL support for Gallium3D.
 - - gallium             : Build drivers based on Gallium3D, the new architecture for 3D graphics drivers.
 - - gles                : Enable GLES support for Gallium3D.
 - - llvm                : Enable LLVM backend for Gallium3D.
 - - motif               : Adds support for the Motif toolkit
 - - nptl                : Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually)
 - - openvg              : Enable the OpenVG 2D acceleration API
 - - pic                 : disable optimized assembly code that is not PIC friendly
 - - shared-dricore      : Enable sharing of common code for classic DRI drivers.
 - - shared-glapi        : Enable sharing of common code for the OpenGL API.
 - - video_cards_intel   : VIDEO_CARDS setting to build driver for Intel video cards
 - - video_cards_mach64  : VIDEO_CARDS setting to build driver for mach64 video cards
 - - video_cards_mga     : VIDEO_CARDS setting to build driver for mga video cards
 - - video_cards_nouveau : VIDEO_CARDS setting to build reverse-engineered driver for nvidia cards
 - - video_cards_r128    : VIDEO_CARDS setting to build driver for ATI r128 video cards
 - - video_cards_radeon  : VIDEO_CARDS setting to build driver for ATI radeon video cards
 - - video_cards_savage  : VIDEO_CARDS setting to build driver for savage video cards
 - - video_cards_sis     : VIDEO_CARDS setting to build driver for SiS video cards
 - - video_cards_tdfx    : VIDEO_CARDS setting to build driver for tdfx video cards
 - - video_cards_via     : VIDEO_CARDS setting to build driver for via video cards
 - - video_cards_vmware  : VIDEO_CARDS setting to build driver for vmware video cards
sumrak_ss ★★
()
Ответ на: комментарий от Novell-ch

Понял. Спасибо. А вот из оверлея x11 mesa-9999 получила еще пару юзов. d3d, g3dvl и xvmc не совсем ясно нужны они или нет.

wolfovich
() автор топика
Ответ на: комментарий от sumrak_ss

Дружище, до тебя уже 3 раза рассказали как читать описания use флагов. А я почти столько же пояснял, что краткое описание это хорошо, но не раскрывает сути.

wolfovich
() автор топика
Ответ на: комментарий от wolfovich

по-моему equery дает исчерпывающий ответ и поэтому не понятно почему с 3го раза тебе его недостаточно.. За «в задницу» прости - погорячился.

sumrak_ss ★★
()
Ответ на: комментарий от wolfovich

Видеокарта прописана в make.conf - тут не реально ошибиться.

sumrak_ss ★★
()
Ответ на: комментарий от wolfovich

d3d директ икс поддержка для галлиума.

g3dvl декодирование видео на видюхе. xvmc и vdpau разные библиотеки этой акселирации, есть еще vaapi но оно нерабочее. Все это для галлиума и работает только с r300g, r600g и нуво. С интелом не работает но у него чтото свое написано для ускорения.

Behem0th ★★★★★
()
Ответ на: комментарий от Behem0th

>d3d директ икс поддержка для галлиума.

10 и вроде 11, не 9того

Behem0th ★★★★★
()

>classic - тут вроде все ясно. можно выключать

А я бы не рекомендовал. Оно все еще быстрее галлиума, да и пилится парнями из intel.

devl547 ★★★★★
()

Собираю так

        --prefix=/usr \
        --with-gallium-drivers='' \
        --enable-texture-float \
        --enable-gles1 \
        --enable-gles2 \
        --enable-glx \
        --enable-xcb \
        --enable-egl \
        --enable-glx-tls \
        --enable-dri \
        --with-dri-drivers=swrast,i965 \
        --with-dri-driverdir=/usr/lib/xorg/modules/dri \

Последняя строчка может быть арчеспецифична.

madgnu ★★★★★
()
Ответ на: комментарий от madgnu

Ну если в r300g он используется для эмуляции T&L для карт без его поддержки, то зачем оно для r600g решительно непонятно.

Behem0th ★★★★★
()
Ответ на: комментарий от madgnu

не линкуется

        xr300)
            gallium_require_llvm "Gallium R300"
            GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
            gallium_check_st "radeon/drm" "dri-r300" "xorg-r300" "" "xvmc-r300" "vdpau-r300" "va-r300"
            ;;
        xr600)
            GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
            gallium_check_st "r600/drm" "dri-r600" "" "" "xvmc-r600" "vdpau-r600" "va-r600"
            ;;

madgnu ★★★★★
()
Ответ на: комментарий от Behem0th

Вместо старой статической сборки всего нужного хлама внутрь драйвера, меса будет собирать отдельную либу и линковаться с ней. Профит в размере получаемых файлов.

devl547 ★★★★★
()
Ответ на: комментарий от devl547

Ясно, спасибо.

Разници в производительности и в стабильности у себя не заметил, раз в арче собирают с этими опциями оставлю и у себя так.

Behem0th ★★★★★
()

Проц. приехал, собрал пока вот так.

 media-libs/mesa-7.10.3  USE="classic nptl"

C 7.11_rc2 пока есть глюки, к примеру googleearth показывает черную жопу, а не глобус.

Лучше расскажите как избавиться от тогочтонельзяпроизноситьвслух tearing'а. Единственное условие, что эффекты должны быть включены в kwin.

wolfovich
() автор топика
Ответ на: комментарий от madgnu

у меня все линкуеться

> ldd /usr/lib64/dri/r600_dri.so 
        linux-vdso.so.1 =>  (0x00007fff5dfff000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f67de2e8000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f67de0ca000)
        libdricore.so => /usr/lib64/dri/libdricore.so (0x00007f67ddc78000)
        libglsl.so => /usr/lib64/dri/libglsl.so (0x00007f67dd94e000)
        libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007f67dd742000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f67dd518000)
        libLLVMMCJIT.so => /usr/lib64/libLLVMMCJIT.so (0x00007f67dd310000)
        libLLVMRuntimeDyld.so => /usr/lib64/libLLVMRuntimeDyld.so (0x00007f67dd103000)
        libLLVMObject.so => /usr/lib64/libLLVMObject.so (0x00007f67dceee000)
        libLLVMMCDisassembler.so => /usr/lib64/libLLVMMCDisassembler.so (0x00007f67dccdf000)
        libLLVMXCoreCodeGen.so => /usr/lib64/libLLVMXCoreCodeGen.so (0x00007f67dca9a000)
        libLLVMXCoreDesc.so => /usr/lib64/libLLVMXCoreDesc.so (0x00007f67dc892000)
        libLLVMXCoreInfo.so => /usr/lib64/libLLVMXCoreInfo.so (0x00007f67dc690000)
        libLLVMSystemZCodeGen.so => /usr/lib64/libLLVMSystemZCodeGen.so (0x00007f67dc44d000)
        libLLVMSystemZDesc.so => /usr/lib64/libLLVMSystemZDesc.so (0x00007f67dc23c000)
        libLLVMSystemZInfo.so => /usr/lib64/libLLVMSystemZInfo.so (0x00007f67dc03a000)
        libLLVMSparcCodeGen.so => /usr/lib64/libLLVMSparcCodeGen.so (0x00007f67dbdf9000)
        libLLVMSparcDesc.so => /usr/lib64/libLLVMSparcDesc.so (0x00007f67dbbed000)
        libLLVMSparcInfo.so => /usr/lib64/libLLVMSparcInfo.so (0x00007f67db9ea000)
        libLLVMPowerPCCodeGen.so => /usr/lib64/libLLVMPowerPCCodeGen.so (0x00007f67db746000)
        libLLVMPowerPCDesc.so => /usr/lib64/libLLVMPowerPCDesc.so (0x00007f67db528000)
        libLLVMPowerPCInfo.so => /usr/lib64/libLLVMPowerPCInfo.so (0x00007f67db325000)
        libLLVMPowerPCAsmPrinter.so => /usr/lib64/libLLVMPowerPCAsmPrinter.so (0x00007f67db11a000)
        libLLVMPTXCodeGen.so => /usr/lib64/libLLVMPTXCodeGen.so (0x00007f67daec9000)
        libLLVMPTXDesc.so => /usr/lib64/libLLVMPTXDesc.so (0x00007f67dac91000)
        libLLVMPTXInfo.so => /usr/lib64/libLLVMPTXInfo.so (0x00007f67daa8d000)
        libLLVMMipsCodeGen.so => /usr/lib64/libLLVMMipsCodeGen.so (0x00007f67da83b000)
        libLLVMMipsDesc.so => /usr/lib64/libLLVMMipsDesc.so (0x00007f67da62d000)
        libLLVMMipsInfo.so => /usr/lib64/libLLVMMipsInfo.so (0x00007f67da429000)
        libLLVMMipsAsmPrinter.so => /usr/lib64/libLLVMMipsAsmPrinter.so (0x00007f67da223000)
        libLLVMMSP430CodeGen.so => /usr/lib64/libLLVMMSP430CodeGen.so (0x00007f67d9fe6000)
        libLLVMMSP430Desc.so => /usr/lib64/libLLVMMSP430Desc.so (0x00007f67d9dda000)
        libLLVMMSP430Info.so => /usr/lib64/libLLVMMSP430Info.so (0x00007f67d9bd8000)
        libLLVMMSP430AsmPrinter.so => /usr/lib64/libLLVMMSP430AsmPrinter.so (0x00007f67d99d4000)
        libLLVMMBlazeDisassembler.so => /usr/lib64/libLLVMMBlazeDisassembler.so (0x00007f67d97cb000)
        libLLVMMBlazeAsmParser.so => /usr/lib64/libLLVMMBlazeAsmParser.so (0x00007f67d95bd000)
        libLLVMMBlazeCodeGen.so => /usr/lib64/libLLVMMBlazeCodeGen.so (0x00007f67d9371000)
       .........
        libLLVMSupport.so => /usr/lib64/libLLVMSupport.so (0x00007f67d12f3000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f67d0fea000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f67d0d93000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f67d0b7c000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f67d080f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f67deb52000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f67d0606000)
        libffi.so.5 => /usr/lib64/libffi.so.5 (0x00007f67d03fc000)
все галлиумные дрова слинкованы с llvm, если только насильно не указать --disable-llvm и отключить r300g которому llvm нужен обязательно. http://lists.freedesktop.org/archives/mesa-dev/2011-April/007119.html

The Mesa state tracker uses SWTNL for GL selection/feedback regardless of
the driver. Some SPECviewperf viewsets and CAD apps use it. So using LLVM
speeds up selection/feedback for all gallium drivers.

Novell-ch ★★★★★
()
Ответ на: комментарий от Novell-ch

Судя по объему бинарников у меня r600g тоже линкуется автоматом с llvm. Мой вопрос остается открытым «закаким r600g нужен llvm?»

Behem0th ★★★★★
()
Ответ на: комментарий от Behem0th

The Mesa state tracker uses SWTNL for GL selection/feedback regardless of


>> the driver. Some SPECviewperf viewsets and CAD apps use it. So using LLVM
>> speeds up selection/feedback for all gallium drivers.

Все таки нужно сначала читать а потом отвечать. Как я понял софтварная реализация T&L есть во всех галлиум драйверах.

Behem0th ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.