Флаги компиляции X сервера (Как собрать X сервер под себя)

Настройка графического интерфейса, Иксов, десктопов, оконных менеджеров и иксовых терминалов

Модератор: Модераторы разделов

Аватара пользователя
sabir
Сообщения: 66
ОС: OpenBSD

Флаги компиляции X сервера

Сообщение sabir »

Привет всем!
Собственно вопрос в названии темы.
1. Делаю так:

Код: Выделить всё

tar -xf xorg-server-1.17.1.tar.bz2
cd xorg-server-1.17.1
patch -Np1 -i ../xorg-server-1.17.1-gcc5_fixes-1.patch
patch -Np1 -i ../xorg-server-1.17.1-add_prime_support-1.patch
patch -Np1 -i ../xorg-server-1.17.1-fix_modesetting-1.patch
./configure --prefix=/usr            \
           --bindir=/usr/bin        \
           --libdir=/usr/lib64        \
           --localstatedir=/var        \
           --disable-docs            \
           --disable-devel-docs        \
           --disable-static            \
           --enable-shared            \
           --disable-listen-tcp        \
           --disable-listen-unix    \
           --enable-listen-local    \
           --enable-dri                \
           --enable-dri2            \
           --enable-dri3            \
           --enable-config-udev        \
           --disable-config-hal        \
           --enable-libdrm            \
           --disable-systemd-logind \
           --disable-suid-wrapper    \
           --enable-xorg            \
           --disable-xvfb            \
           --disable-xnest            \
           --disable-xquartz        \
           --disable-xwayland        \
           --disable-xwin            \
           --disable-kdrive            \
           --disable-xephyr            \
           --disable-xfake            \
           --disable-xfbdev            \
           --disable-kdrive-kbd        \
           --disable-kdrive-mouse    \
           --disable-kdrive-evdev    \
           --disable-libunwind        \
           --enable-install-setuid    \
           --disable-ipv6            \
           --without-doxygen        \
           --without-xmlto            \
           --without-fop            \
           --without-xsltproc        \
           --with-fontmiscdir=no    \
           --with-fontotfdir=no        \
           --with-fonttype1dir=no    \
           --with-font75dpidir=no    \
           --with-font100dpidir=no    \
           --with-fontttfdir=/usr/share/fonts/TTF \
           --with-default-font-path=/usr/share/fonts/TTF \
           --with-xkb-path=/usr/share/X11/xkb \
           --with-xkb-output=/var/lib/xkb \
           --with-sha1=libcrypto        \
           --disable-dpms

Если убрать последний флаг, то все конфигурируется, компилируется и работает без проблем, за исключением того, что последний флаг как раз таки и является искомым и желанным.
Нет, я понимаю, если бы я сам правил исходники, а потом с удивлением вопросил, а почему не компилиться? Но тут другое дело, флаг "--enable-dpms" штатный, можно убедиться, если набрать: ./configure --help
Очевидно, по крайней мере для меня, что если есть "enable", то автоматом должно быть и "disable", разве нет. Может патч какой есть.
Что характерно, гугл на запрос "--disable-dpms" выдает 0 ссылок, типа а нету такого, при этом интернет просто кишит вопросами типа: икран гасьнет, чо делать.
Я конечно же знаю про такую мульку:

Код: Выделить всё

xset -dpms &
xset s off &
xset s noblank &

Это работает, но что плохого в том, что бы убить проблему до ее возникновения, т.е. причину, а не следствие.

2. Кроме этого мною обнаружены еще пара любопытных флагов, а именно:
--with-default-xkb-layout=us,ru \
--with-default-xkb-options=terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle \
--with-default-xkb-variant=winkeys \
Значения флагов я разумеется подставил на свой вкус, впрочем, как показали статистические исследования, такие значения весьма популярны среди представителей русского мира.
Компилируется без вопросов, но Xserver не запускается :(
Опять же в интернетах есть огромное количество вопросов и ответов, как это сделать после компиляции, например:

Код: Выделить всё

cat > /usr/share/X11/xorg.conf.d/40-xkb.conf << "EOF"
Section "InputClass"
    Identifier "XKB Defaults"
    MatchIsKeyboard "yes"
    Driver "evdev"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc105"
    Option "XkbLayout" "us,ru(winkeys)"
    Option "XkbOptions" "terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle"
EndSection
EOF

Это работает, но опять же, что криминального в том, что бы изменить причину, а не следствие.

3. Ну и последний вопрос, так из чистого любопытства, есть флаги:
--disable-listen-tcp \
--disable-listen-unix \
--enable-listen-local \
Правильно ли я понимаю, что первый убивает преславутую 'сетевую прозрачность' через TCP/IP, второй делает то же самое в локальной сети, ну а третий это наш выбор, принудительно заставляем Xorg работать только нашем компе.
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: Флаги компиляции X сервера

Сообщение yars »

Насколько я понял шаблоны automake, оно в итоговый configure автоматом не подставляет симметричную опцию (если есть --enable-whatever, --disable-whatever не будет), если это не описано явно макросами в configure.ac. Но можно попробовать enable-dpms=no.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Флаги компиляции X сервера

Сообщение Hephaestus »

А в чём проблема-то?
Ошибка при компиляции? Какая именно?
Вы бы хоть написали, что у Вас там происходит.
Потому что вот мне, к примеру, воспроизводить ситуацию откровенно лень.

И кстати, у Вас исходники из апстима, я так понимаю? А почему не с диска?
У Вас есть диск с исходниками? Возьмите оттуда тарбол и слакбилд.
Подкрутите слакбилд до нужного Вам состояния и попробуйте собрать. Глядишь, оно и соберется.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20975
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Флаги компиляции X сервера

Сообщение Bizdelnick »

1a. Где вывод ./configure --disable-dpms? Что мы обсуждаем-то?
1b. Если хотите убить причину, а не следствие, воспользуйтесь xorg.conf.
2. Где логи не запускающегося сервера?
3. Доменные сокеты Unix к локальной сети отношения не имеют.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Флаги компиляции X сервера

Сообщение s.xbatob »

Может и сломано. Сильно подозреваю, что выключать dpms давно никто не пробовал :)
Спасибо сказали:
Аватара пользователя
sabir
Сообщения: 66
ОС: OpenBSD

Re: Флаги компиляции X сервера

Сообщение sabir »

yars писал(а):
10.07.2015 07:24
Но можно попробовать enable-dpms=no.

Не, не сработало
Спасибо сказали:
Аватара пользователя
sabir
Сообщения: 66
ОС: OpenBSD

Re: Флаги компиляции X сервера

Сообщение sabir »

Hephaestus писал(а):
10.07.2015 07:40
А в чём проблема-то?
Ошибка при компиляции? Какая именно?
Вы бы хоть написали, что у Вас там происходит.
Потому что вот мне, к примеру, воспроизводить ситуацию откровенно лень.

И кстати, у Вас исходники из апстима, я так понимаю? А почему не с диска?
У Вас есть диск с исходниками? Возьмите оттуда тарбол и слакбилд.
Подкрутите слакбилд до нужного Вам состояния и попробуйте собрать. Глядишь, оно и соберется.

Происходит следующее, я решил собрать полностью дистриб под себя, никаких велосипедов не изобретаю, мне нравиться некий Porteus + LXDE, это форк Slax, который умер что то около года с лишним. Однако в Porteus много всего понапихано, что мне не надо. Сборку делаю по всем известной книжке LFS + BLFS, оно еще и полезно при изучении матчасти. По этой причине слакбилды отпадают, хочу сам руками собрать.
Ошика компиляции тут, до этого момента все ОК:

Код: Выделить всё

...
make[5]: Entering directory `/home/guest/xorg-server-1.17.1/hw/xfree86/drivers/modesetting'
  CC       drmmode_display.lo
  CC       driver.lo
  CC       dri2.lo
  CC       dumb_bo.lo
  CC       present.lo
  CC       vblank.lo
  GEN      modesetting.4
vblank.c: In function 'ms_crtc_on':
vblank.c:96:56: error: 'DPMSModeOn' undeclared (first use in this function)
     return crtc->enabled && drmmode_crtc->dpms_mode == DPMSModeOn;
                                                        ^
vblank.c:96:56: note: each undeclared identifier is reported only once for each function it appears in
vblank.c:97:1: error: control reaches end of non-void function [-Werror=return-type]
 }
 ^
cc1: some warnings being treated as errors
make[5]: *** [vblank.lo] Error 1
make[5]: *** Waiting for unfinished jobs....
make[5]: Leaving directory `/home/guest/xorg-server-1.17.1/hw/xfree86/drivers/modesetting'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/guest/xorg-server-1.17.1/hw/xfree86/drivers'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/guest/xorg-server-1.17.1/hw/xfree86'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/guest/xorg-server-1.17.1/hw/xfree86'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/guest/xorg-server-1.17.1/hw'
make: *** [all-recursive] Error 1
Спасибо сказали:
Аватара пользователя
sabir
Сообщения: 66
ОС: OpenBSD

Re: Флаги компиляции X сервера

Сообщение sabir »

Bizdelnick писал(а):
10.07.2015 07:48
1a. Где вывод ./configure --disable-dpms? Что мы обсуждаем-то?

Конфигуриться все без проблем, вывод:

Код: Выделить всё

guest@porteus:~/xorg-server-1.17.1$ ./configure --prefix=/usr/\
>            --bindir=/usr/bin/\
>            --libdir=/usr/lib64/\
>            --localstatedir=/var/\
>            --disable-docs\
>            --disable-devel-docs\
>            --disable-static\
>            --enable-shared\
>            --disable-listen-tcp\
>            --disable-listen-unix\
>            --enable-listen-local\
>            --enable-dri\
>            --enable-dri2\
>            --enable-dri3\
>            --enable-config-udev\
>            --disable-config-hal\
>            --enable-libdrm\
>            --disable-systemd-logind \
>            --disable-suid-wrapper\
>            --enable-xorg\
>            --disable-xvfb\
>            --disable-xnest\
>            --disable-xquartz\
>            --disable-xwayland\
>            --disable-xwin\
>            --disable-kdrive\
>            --disable-xephyr\
>            --disable-xfake\
>            --disable-xfbdev\
>            --disable-kdrive-kbd\
>            --disable-kdrive-mouse\
>            --disable-kdrive-evdev\
>            --disable-libunwind\
>            --enable-install-setuid\
>            --disable-ipv6\
>            --without-doxygen\
>            --without-xmlto\
>            --without-fop\
>            --without-xsltproc\
>            --with-fontmiscdir=no\
>            --with-fontotfdir=no\
>            --with-fonttype1dir=no\
>            --with-font75dpidir=no\
>            --with-font100dpidir=no\
>            --with-fontttfdir=/usr/share/fonts/TTF \
>            --with-default-font-path=/usr/share/fonts/TTF \
>            --with-xkb-path=/usr/share/X11/xkb \
>            --with-xkb-output=/var/lib/xkb \
>            --with-sha1=libcrypto\
>            --disable-dpms
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for gcc option to accept ISO C99... -std=gnu99
checking whether __clang__ is declared... no
checking whether __INTEL_COMPILER is declared... no
checking whether __SUNPRO_C is declared... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a sed that does not truncate output... /usr/bin/sed
checking if gcc -std=gnu99 supports -Werror=unknown-warning-option... no
checking if gcc -std=gnu99 supports -Werror=unused-command-line-argument... no
checking if gcc -std=gnu99 supports -Wall... yes
checking if gcc -std=gnu99 supports -Wpointer-arith... yes
checking if gcc -std=gnu99 supports -Wmissing-declarations... yes
checking if gcc -std=gnu99 supports -Wformat=2... yes
checking if gcc -std=gnu99 supports -Wstrict-prototypes... yes
checking if gcc -std=gnu99 supports -Wmissing-prototypes... yes
checking if gcc -std=gnu99 supports -Wnested-externs... yes
checking if gcc -std=gnu99 supports -Wbad-function-cast... yes
checking if gcc -std=gnu99 supports -Wold-style-definition... yes
checking if gcc -std=gnu99 supports -Wdeclaration-after-statement... yes
checking if gcc -std=gnu99 supports -Wunused... yes
checking if gcc -std=gnu99 supports -Wuninitialized... yes
checking if gcc -std=gnu99 supports -Wshadow... yes
checking if gcc -std=gnu99 supports -Wmissing-noreturn... yes
checking if gcc -std=gnu99 supports -Wmissing-format-attribute... yes
checking if gcc -std=gnu99 supports -Wredundant-decls... yes
checking if gcc -std=gnu99 supports -Wlogical-op... yes
checking if gcc -std=gnu99 supports -Werror=implicit... yes
checking if gcc -std=gnu99 supports -Werror=nonnull... yes
checking if gcc -std=gnu99 supports -Werror=init-self... yes
checking if gcc -std=gnu99 supports -Werror=main... yes
checking if gcc -std=gnu99 supports -Werror=missing-braces... yes
checking if gcc -std=gnu99 supports -Werror=sequence-point... yes
checking if gcc -std=gnu99 supports -Werror=return-type... yes
checking if gcc -std=gnu99 supports -Werror=trigraphs... yes
checking if gcc -std=gnu99 supports -Werror=array-bounds... yes
checking if gcc -std=gnu99 supports -Werror=write-strings... yes
checking if gcc -std=gnu99 supports -Werror=address... yes
checking if gcc -std=gnu99 supports -Werror=int-to-pointer-cast... yes
checking if gcc -std=gnu99 supports -Werror=pointer-to-int-cast... yes
checking if gcc -std=gnu99 supports -pedantic... yes
checking if gcc -std=gnu99 supports -Werror... yes
checking if gcc -std=gnu99 supports -Werror=attributes... yes
checking whether make supports nested variables... (cached) yes
checking for X.Org SGML entities >= 1.8... no
checking whether to build documentation... no
checking whether to build developer documentation... no
checking whether to build unit test cases... auto
checking whether the linker accepts -Wl,-wrap,exit... yes
checking dependency style of gcc -std=gnu99... gcc3
checking whether ln -s works... yes
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc -std=gnu99... /usr/x86_64-slackware-linux/bin/ld
checking if the linker (/usr/x86_64-slackware-linux/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/x86_64-slackware-linux/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... dlltool
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc -std=gnu99 object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc -std=gnu99 supports -fno-rtti -fno-exceptions... no
checking for gcc -std=gnu99 option to produce PIC... -fPIC -DPIC
checking if gcc -std=gnu99 PIC flag -fPIC -DPIC works... yes
checking if gcc -std=gnu99 static flag -static works... no
checking if gcc -std=gnu99 supports -c -o file.o... yes
checking if gcc -std=gnu99 supports -c -o file.o... (cached) yes
checking whether the gcc -std=gnu99 linker (/usr/x86_64-slackware-linux/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... none needed
checking whether yytext is a pointer... no
checking for bison... bison -y
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for cpp... /usr/bin/cpp
checking if /usr/bin/cpp requires -undef... yes
checking if /usr/bin/cpp requires -traditional... yes
checking for dtrace... not_found
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for dlfcn.h... (cached) yes
checking stropts.h usability... yes
checking stropts.h presence... yes
checking for stropts.h... yes
checking fnmatch.h usability... yes
checking fnmatch.h presence... yes
checking for fnmatch.h... yes
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking for an ANSI C-conforming const... yes
checking for typeof syntax and keyword spelling... typeof
checking whether byte ordering is bigendian... no
checking size of unsigned long... 8
checking for pid_t... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
checking sys/endian.h usability... no
checking sys/endian.h presence... no
checking for sys/endian.h... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking for backtrace... yes
checking for ffs... yes
checking for geteuid... yes
checking for getuid... yes
checking for issetugid... no
checking for getresuid... yes
checking for getdtablesize... yes
checking for getifaddrs... yes
checking for getpeereid... no
checking for getpeerucred... no
checking for getprogname... no
checking for getzoneid... no
checking for mmap... yes
checking for seteuid... yes
checking for shmctl64... no
checking for strncasecmp... yes
checking for vasprintf... yes
checking for vsnprintf... yes
checking for walkcontext... no
checking for strcasecmp... yes
checking for strcasestr... yes
checking for strlcat... no
checking for strlcpy... no
checking for strndup... yes
checking whether program_invocation_short_name is declared... yes
checking for sqrt in -lm... yes
checking for cbrt... yes
checking ndbm.h usability... no
checking ndbm.h presence... no
checking for ndbm.h... no
checking dbm.h usability... no
checking dbm.h presence... no
checking for dbm.h... no
checking rpcsvc/dbm.h usability... no
checking rpcsvc/dbm.h presence... no
checking for rpcsvc/dbm.h... no
checking linux/agpgart.h usability... yes
checking linux/agpgart.h presence... yes
checking for linux/agpgart.h... yes
checking sys/agpio.h usability... no
checking sys/agpio.h presence... no
checking for sys/agpio.h... no
checking sys/agpgart.h usability... no
checking sys/agpgart.h presence... no
checking for sys/agpgart.h... no
checking linux/fb.h usability... yes
checking linux/fb.h presence... yes
checking for linux/fb.h... yes
checking for sys/linker.h... no
checking for SYSV IPC... yes
checking machine/apmvar.h usability... no
checking machine/apmvar.h presence... no
checking for machine/apmvar.h... no
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking for backtrace in -lc... yes
checking for root directory for font files... ${datarootdir}/fonts/X11
checking for directory for misc files... no
checking for directory for OTF files... no
checking for directory for TTF files... /usr/share/fonts/TTF
checking for directory for Type1 files... no
checking for directory for 75dpi files... no
checking for directory for 100dpi files... no
checking for default font path... /usr/share/fonts/TTF
checking for thread local storage (TLS) support... __thread
checking for tls_model attribute support... yes
checking to see if we can install the Xorg server as root... yes
checking if Xtrans should support UNIX socket connections... yes
checking if Xtrans should support TCP socket connections... yes
checking for library containing socket... none required
checking for library containing gethostbyname... none required
checking if IPv6 support should be built... no
checking for struct sockaddr_in.sin_len... no
checking for socklen_t... yes
checking for struct msghdr.msg_control... yes
checking if Xtrans should support os-specific local connections... no
checking for authdes_seccreate... no
checking for authdes_create... yes
checking for library containing getsecretkey... none required
checking if Secure RPC authentication ("SUN-DES-1") should be supported... yes
checking for PIXMAN... yes
checking for SYSTEMD_DAEMON... no
checking for UDEV... yes
checking for udev_monitor_filter_add_match_tag... yes
checking for udev_enumerate_add_match_tag... yes
checking for DBUS... yes
checking for HAL... no
checking for glibc...... yes
checking for clock_gettime... yes
checking for a useful monotonic clock ...... yes
checking whether to track client ids... yes
checking for DRI2PROTO... yes
Checking temp dir /run/shm
Checking temp dir /var/tmp
checking for DRI3PROTO... yes
checking for sigaction... yes
checking for XSHMFENCE... yes
configure: DRI3 enabled
checking for LIBDRM... yes
checking for XLIB... yes
checking for GL... yes
checking for XDMCP... yes
checking for XdmcpWrap in -lXdmcp... yes
checking for SHA1Init... no
checking for CC_SHA1_Init... no
checking for wincrypt.h... no
checking for SHA1Init in -lmd... no
checking for LIBSHA1... no
checking for nettle_sha1_init in -lnettle... yes
checking for gcry_md_open in -lgcrypt... yes
checking for SHA1_Init in -lcrypto... yes
checking for OPENSSL... yes
checking for SHA1 implementation... libcrypto
checking for XSERVERCFLAGS... yes
checking for XSERVERLIBS... yes
checking for LIBUNWIND... no
checking if SVR4 needs to be defined... no
checking whether to build Xvfb DDX... no
checking for XNESTMODULES... yes
checking whether to build Xnest DDX... no
checking whether to build Xorg DDX... yes
checking for symbol visibility support... yes
checking whether to build Xorg PCI functions... checking for PCIACCESS... yes
yes

checking linux/apm_bios.h usability... yes
checking linux/apm_bios.h presence... yes
checking for linux/apm_bios.h... yes
checking for DGA... yes
checking for DGA... yes
checking for XF86VIDMODE... yes
checking for XF86VIDMODE... yes
checking for XORG_MODULES... yes
checking whether to build XWin DDX... no
checking dependency style of $(CC)... none
checking for DMXMODULES... yes
checking for XDMXCONFIG_DEP... yes
checking whether to build Xdmx DDX... no
checking for XWAYLANDMODULES... no
checking whether to build Xwayland DDX... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating glx/Makefile
config.status: creating include/Makefile
config.status: creating composite/Makefile
config.status: creating damageext/Makefile
config.status: creating dbe/Makefile
config.status: creating dix/Makefile
config.status: creating doc/Makefile
config.status: creating doc/dtrace/Makefile
config.status: creating man/Makefile
config.status: creating fb/Makefile
config.status: creating glamor/Makefile
config.status: creating record/Makefile
config.status: creating config/Makefile
config.status: creating mi/Makefile
config.status: creating miext/Makefile
config.status: creating miext/sync/Makefile
config.status: creating miext/damage/Makefile
config.status: creating miext/shadow/Makefile
config.status: creating miext/rootless/Makefile
config.status: creating os/Makefile
config.status: creating pseudoramiX/Makefile
config.status: creating randr/Makefile
config.status: creating render/Makefile
config.status: creating xkb/Makefile
config.status: creating Xext/Makefile
config.status: creating Xi/Makefile
config.status: creating xfixes/Makefile
config.status: creating exa/Makefile
config.status: creating dri3/Makefile
config.status: creating present/Makefile
config.status: creating hw/Makefile
config.status: creating hw/xfree86/Makefile
config.status: creating hw/xfree86/Xorg.sh
config.status: creating hw/xfree86/common/Makefile
config.status: creating hw/xfree86/common/xf86Build.h
config.status: creating hw/xfree86/ddc/Makefile
config.status: creating hw/xfree86/dixmods/Makefile
config.status: creating hw/xfree86/doc/Makefile
config.status: creating hw/xfree86/dri/Makefile
config.status: creating hw/xfree86/dri2/Makefile
config.status: creating hw/xfree86/dri2/pci_ids/Makefile
config.status: creating hw/xfree86/drivers/Makefile
config.status: creating hw/xfree86/drivers/modesetting/Makefile
config.status: creating hw/xfree86/exa/Makefile
config.status: creating hw/xfree86/exa/man/Makefile
config.status: creating hw/xfree86/fbdevhw/Makefile
config.status: creating hw/xfree86/fbdevhw/man/Makefile
config.status: creating hw/xfree86/glamor_egl/Makefile
config.status: creating hw/xfree86/i2c/Makefile
config.status: creating hw/xfree86/int10/Makefile
config.status: creating hw/xfree86/loader/Makefile
config.status: creating hw/xfree86/man/Makefile
config.status: creating hw/xfree86/modes/Makefile
config.status: creating hw/xfree86/os-support/Makefile
config.status: creating hw/xfree86/os-support/bsd/Makefile
config.status: creating hw/xfree86/os-support/bus/Makefile
config.status: creating hw/xfree86/os-support/hurd/Makefile
config.status: creating hw/xfree86/os-support/misc/Makefile
config.status: creating hw/xfree86/os-support/linux/Makefile
config.status: creating hw/xfree86/os-support/solaris/Makefile
config.status: creating hw/xfree86/os-support/stub/Makefile
config.status: creating hw/xfree86/parser/Makefile
config.status: creating hw/xfree86/ramdac/Makefile
config.status: creating hw/xfree86/shadowfb/Makefile
config.status: creating hw/xfree86/vbe/Makefile
config.status: creating hw/xfree86/vgahw/Makefile
config.status: creating hw/xfree86/x86emu/Makefile
config.status: creating hw/xfree86/utils/Makefile
config.status: creating hw/xfree86/utils/man/Makefile
config.status: creating hw/xfree86/utils/cvt/Makefile
config.status: creating hw/xfree86/utils/gtf/Makefile
config.status: creating hw/dmx/config/Makefile
config.status: creating hw/dmx/config/man/Makefile
config.status: creating hw/dmx/doc/Makefile
config.status: creating hw/dmx/doxygen/doxygen.conf
config.status: creating hw/dmx/doxygen/Makefile
config.status: creating hw/dmx/examples/Makefile
config.status: creating hw/dmx/input/Makefile
config.status: creating hw/dmx/glxProxy/Makefile
config.status: creating hw/dmx/Makefile
config.status: creating hw/dmx/man/Makefile
config.status: creating hw/vfb/Makefile
config.status: creating hw/vfb/man/Makefile
config.status: creating hw/xnest/Makefile
config.status: creating hw/xnest/man/Makefile
config.status: creating hw/xwin/Makefile
config.status: creating hw/xwin/glx/Makefile
config.status: creating hw/xwin/man/Makefile
config.status: creating hw/xwin/winclipboard/Makefile
config.status: creating hw/xquartz/Makefile
config.status: creating hw/xquartz/GL/Makefile
config.status: creating hw/xquartz/bundle/Makefile
config.status: creating hw/xquartz/man/Makefile
config.status: creating hw/xquartz/mach-startup/Makefile
config.status: creating hw/xquartz/pbproxy/Makefile
config.status: creating hw/xquartz/xpr/Makefile
config.status: creating hw/kdrive/Makefile
config.status: creating hw/kdrive/ephyr/Makefile
config.status: creating hw/kdrive/ephyr/man/Makefile
config.status: creating hw/kdrive/fake/Makefile
config.status: creating hw/kdrive/fbdev/Makefile
config.status: creating hw/kdrive/linux/Makefile
config.status: creating hw/kdrive/src/Makefile
config.status: creating hw/xwayland/Makefile
config.status: creating test/Makefile
config.status: creating test/xi1/Makefile
config.status: creating test/xi2/Makefile
config.status: creating xserver.ent
config.status: creating xorg-server.pc
config.status: creating include/do-not-use-config.h
config.status: include/do-not-use-config.h is unchanged
config.status: creating include/xorg-server.h
config.status: include/xorg-server.h is unchanged
config.status: creating include/dix-config.h
config.status: include/dix-config.h is unchanged
config.status: creating include/xorg-config.h
config.status: include/xorg-config.h is unchanged
config.status: creating include/xkb-config.h
config.status: include/xkb-config.h is unchanged
config.status: creating include/xwin-config.h
config.status: include/xwin-config.h is unchanged
config.status: creating include/kdrive-config.h
config.status: include/kdrive-config.h is unchanged
config.status: creating include/version-config.h
config.status: include/version-config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing sdksyms commands


Bizdelnick писал(а):
10.07.2015 07:48
1b. Если хотите убить причину, а не следствие, воспользуйтесь xorg.conf.

Разве причина не в 'не правильно' скомпиленном коде, где уже жеско зашит не нужный функционал, который потом приходиться отключать в конфиге иксов или с помощью xset'а?

Bizdelnick писал(а):
10.07.2015 07:48
2. Где логи не запускающегося сервера?

Логов на данный момент нет, это LFS, чтобы воспроизвести нужно собирать все с начала, для чистоты эксперимента, а это очень долго. По памяти помню что то типа жалобы на 'winkeys'.
Иксы стартовались так:

Код: Выделить всё

xinit /usr/bin/openbox-session

Я конечно воспроизведу это, но сначала надо решить проблему с DPMS.
Спасибо сказали:
Аватара пользователя
sabir
Сообщения: 66
ОС: OpenBSD

Re: Флаги компиляции X сервера

Сообщение sabir »

s.xbatob писал(а):
10.07.2015 14:23
Сильно подозреваю, что выключать dpms давно никто не пробовал :)

На мой взгляд самое разумное объяснение, абсолютное большинство линуксоидов, впрочем как и бсдешников, пользуют готовые пакеты, на крайняк *build'ы всякие, где это включено по дефолту, типа стандарт кокой то что ли, а потом кому надо отключают в конфиге или xset'ом.
В целом это не проблема, я собрал почти все что хотел, это уже так сказать оптимизация, тонкости, без которых можно вполне обойтись :)
В LFS этого тоже нет.
Спасибо сказали:
Аватара пользователя
sabir
Сообщения: 66
ОС: OpenBSD

Re: Флаги компиляции X сервера

Сообщение sabir »

Bizdelnick писал(а):
10.07.2015 07:48
1b. Если хотите убить причину, а не следствие, воспользуйтесь xorg.conf.

Кстати xorg.conf не работает, по крайней мере то, что я нашел в интернетах:

Код: Выделить всё

cat > /usr/share/X11/xorg.conf.d/10-monitor.conf << "EOF"
Section "Monitor"
    Identifier "LVDS0"
    Option "DPMS" "false"
EndSection

Section "ServerFlags"
    Identifier "ServerLayout0"
    Option "BlankTime" "0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "OffTime" "0"
EndSection
EOF

Это взято с Arch wiki.
Не смотря на это экран гаситься через что то около 10 минут, срабатывает только если записать в /etc/xdg/openbox/autostart следующее:

Код: Выделить всё

xset -dpms &
xset s off &
xset s noblank &
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: Флаги компиляции X сервера

Сообщение yars »

Вам указывают английским по черному, что не объявлена переменная (я не смотрел, это с тем же успехом может быть и константа) DPMSModeOn. Возможно, не хватает какого-то хедера, либо он по какой-то причине не подключается, либо версия не та, что нужна.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20975
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Флаги компиляции X сервера

Сообщение Bizdelnick »

yars писал(а):
11.07.2015 09:04
не объявлена переменная (я не смотрел, это с тем же успехом может быть и константа) DPMSModeOn. Возможно, не хватает какого-то хедера, либо он по какой-то причине не подключается, либо версия не та, что нужна.

Скорее всего тот кусок кода, в котором она используется, забыли завернуть в #ifdef, потому что
s.xbatob писал(а):
10.07.2015 14:23
выключать dpms давно никто не пробовал
А само объявление переменной — не забыли.
То есть это повод для багрепорта.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Флаги компиляции X сервера

Сообщение s.xbatob »

sabir писал(а):
11.07.2015 08:11
срабатывает только если записать в /etc/xdg/openbox/autostart следующее:

Код: Выделить всё

xset -dpms &
xset s off &
xset s noblank &

Я программирую киоски, и с этим тоже сталкивался. Только мне не приходило в голову ради экономии одного вызова xset пересобирать сервер.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20975
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Флаги компиляции X сервера

Сообщение Bizdelnick »

s.xbatob писал(а):
11.07.2015 17:22
с этим тоже сталкивался

Повод для ещё одного багрепорта. ☺
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
sabir
Сообщения: 66
ОС: OpenBSD

Re: Флаги компиляции X сервера

Сообщение sabir »

Bizdelnick писал(а):
11.07.2015 11:07
yars писал(а):
11.07.2015 09:04
не объявлена переменная (я не смотрел, это с тем же успехом может быть и константа) DPMSModeOn. Возможно, не хватает какого-то хедера, либо он по какой-то причине не подключается, либо версия не та, что нужна.

Скорее всего тот кусок кода, в котором она используется, забыли завернуть в #ifdef, потому что
s.xbatob писал(а):
10.07.2015 14:23
выключать dpms давно никто не пробовал
А само объявление переменной — не забыли.
То есть это повод для багрепорта.

Видать флаг "--disable-dpms" все же работает, но отключает только хидеры, а в *.c ничего не меняется. Багрепорт надо бы отправить, но мой пиндосский оставляет желать лучшего.

s.xbatob писал(а):
11.07.2015 17:22
Только мне не приходило в голову ради экономии одного вызова xset пересобирать сервер.

Ну а почему бы и нет, если разработчики сами предоставляют такую возможность, к тому же, как я уже писал выше, я не пересобираю, а собираю с 'нуля', впрочем как и все остальное в LFS :)
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Флаги компиляции X сервера

Сообщение s.xbatob »

sabir писал(а):
11.07.2015 21:43
Видать флаг "--disable-dpms" все же работает, но отключает только хидеры, а в *.c ничего не меняется. Багрепорт надо бы отправить, но мой пиндосский оставляет желать лучшего.

Это место правилось больше года назад, и до вчерашнего дня никто ничего не замечал. Поэтому подозреваю, что вам сильно не понравится, как оно будет исправлено. Так что лучше исправьте самостоятельно и отправьте мантейнеру патч.
Спасибо сказали:
Аватара пользователя
sabir
Сообщения: 66
ОС: OpenBSD

Re: Флаги компиляции X сервера

Сообщение sabir »

s.xbatob писал(а):
11.07.2015 21:52
sabir писал(а):
11.07.2015 21:43
Видать флаг "--disable-dpms" все же работает, но отключает только хидеры, а в *.c ничего не меняется. Багрепорт надо бы отправить, но мой пиндосский оставляет желать лучшего.

Это место правилось больше года назад, и до вчерашнего дня никто ничего не замечал. Поэтому подозреваю, что вам сильно не понравится, как оно будет исправлено. Так что лучше исправьте самостоятельно и отправьте мантейнеру патч.

Я даже знаю как это будет "исправлено", уберут возможность отключать DPMS и вся любовь. А насчет править самому, да еще и патч делать, нет уж, это их работа, к тому же я юзаю Xorg только по причине отсутствия альтернативы, в моем случае имеет место ожидание связки wayland/weston, как только это будет работать, я сразу слиняю с иксов. Это и сейчас уже работает, можно скомпилить Xwayland (--enable-xwayland) + gtk3 с поддержкой wayland + запустить weston с иксовым бакендом, кривенько, но работает.
Спасибо сказали:
Аватара пользователя
sabir
Сообщения: 66
ОС: OpenBSD

Re: Флаги компиляции X сервера

Сообщение sabir »

sabir писал(а):
11.07.2015 06:36
Ошика компиляции тут, до этого момента все ОК:

Код: Выделить всё

...
make[5]: Entering directory `/home/guest/xorg-server-1.17.1/hw/xfree86/drivers/modesetting'
  CC       drmmode_display.lo
  CC       driver.lo
  CC       dri2.lo
  CC       dumb_bo.lo
  CC       present.lo
  CC       vblank.lo
  GEN      modesetting.4
vblank.c: In function 'ms_crtc_on':
vblank.c:96:56: error: 'DPMSModeOn' undeclared (first use in this function)
     return crtc->enabled && drmmode_crtc->dpms_mode == DPMSModeOn;
                                                        ^
vblank.c:96:56: note: each undeclared identifier is reported only once for each function it appears in
vblank.c:97:1: error: control reaches end of non-void function [-Werror=return-type]
 }
 ^
cc1: some warnings being treated as errors
make[5]: *** [vblank.lo] Error 1
make[5]: *** Waiting for unfinished jobs....
make[5]: Leaving directory `/home/guest/xorg-server-1.17.1/hw/xfree86/drivers/modesetting'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/guest/xorg-server-1.17.1/hw/xfree86/drivers'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/guest/xorg-server-1.17.1/hw/xfree86'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/guest/xorg-server-1.17.1/hw/xfree86'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/guest/xorg-server-1.17.1/hw'
make: *** [all-recursive] Error 1


Нашел я как исправить эту ошибку. В файле /xorg-server-1.17.1/hw/xfree86/drivers/modesetting/vblank.c есть функция:

Код: Выделить всё

static Bool
ms_crtc_on(xf86CrtcPtr crtc)
{
    drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;

    return crtc->enabled && drmmode_crtc->dpms_mode == DPMSModeOn;
}

Так вот если исправить "drmmode_crtc->dpms_mode == DPMSModeOn" на "drmmode_crtc->dpms_mode == 3", что согласно хидеру /usr/include/X11/extensions/dpmsconst.h соответствует

Код: Выделить всё

#define DPMSModeOff     3

то компиляция завершается без ошибок, а в Xorg.0.log исчезает упоминание о DPMS'е, тока это все равно не работает. Богомерзкий DPMS действительно отключается, как и требуется, однако экран гаситься аккурат через 10 минут. В интернетах бытует мнение, что это срабатывает не менее богомерзкий скринсейвер, который запускается самим же Xorg'ом, отключение которого в ./configure не предусмотрено.
Таким образом флаг "--disable-dpms" никчёмен и бесполезен, что в свою очередь однозначно объясняет, почему его никто не использует.
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Флаги компиляции X сервера

Сообщение s.xbatob »

этот флаг бесполезен не поэтому: dpms можно легко отключить с помощью опций запуска или через xset. Отключить screen saver тоже легко (правда, опции для этого нет)
короче:

Код: Выделить всё

xset -dpms s off
делает ровно то, что вам нужно. Зачем вы, зная об этом, взялись пересобирать сервер - непонятно.

Правда, если вы потом запускаете DE, то они запросто могут переставить всё по своему усмотрению или вообще обеспечить эти функции своими силами, но это уже другой вопрос.
Спасибо сказали:
Аватара пользователя
sabir
Сообщения: 66
ОС: OpenBSD

Re: Флаги компиляции X сервера

Сообщение sabir »

s.xbatob писал(а):
12.07.2015 22:02
Зачем вы, зная об этом, взялись пересобирать сервер - непонятно.

Как говорят пиндосы, just for fun, я тоже не пойму, а что такого в том, что бы пособирать из сорцов, вместо пользования готовых пакетов. Да вот хотя бы простейший пример, в "штатных" сборках зашиты пути к всяким там ублюдочным шрифтам, типа misc или как он там называется, а я говорю серверу, что единственный возможный шрифт это True Type, который лежит по адресу /usr/share/fonts/TTF и не надо ничего другого искать, как результат я из коробки имею красивый шрифт, ну и так далее.
Линукс и BSD - это ядро, только ядро и ничего кроме ядра. Весь отстальной софт всего лишь программный интерфейс между юзером и ядром, который более или менее жестко прибит гвоздями мэйнтейнерами разных дистрибов.
А ядро, в свою очередь, всего лишь программный интерфейс, между юзером и железом. Компьютер - тупая кучка тупого железа, пластика, кремния и что там еще, он должен делать то, что мы хотим, когда мы хотим и как мы хотим.
Человек не потреблять, а творец и забывать об этом никогда не следует.
s.xbatob писал(а):
12.07.2015 22:02
Правда, если вы потом запускаете DE, то они запросто могут переставить всё по своему усмотрению или вообще обеспечить эти функции своими силами.

Здесь я с Вами согласен.
Спасибо сказали: