Написал десктопный OpenGL прототипчик своего аппа, с glfw (спасибо goto-vlad за наводку на толковый тьюториал, learnopengl.com). Хочется сразу попробовать сделать Андроид-порт. Не пойму какую лучше использовать IO-либу, аналог glfw.
SDL похоже устарела. Почти все тьюториалы что видел — либо старая SDL (<2), либо старый OpenGL (<3.3), включая 3 офиц. тьюториала SDL (twinklebear.github.io, SDLTutorials.com, lazyfoo.net), и тьюториал хроноса. Видел где и SDL2 и современный OpenGL, но не устроило то что видел... (примитивно: скорее блог-посты, а не тьюториалы).
Или я зря боюсь, и SDL не устарела? И можно не обращать внимания на древнюю OpenGL в примерах?
Qt большая какая-то вроде (у меня крохотный аппик).
Если IO-либа без гуи (циферки-кнопочки-слайдбары), то какую гуи-либу посоветуете?
Я нуб, хочу приобщиться к OpenGL, посмотреть-почитать учебник. На офиц. сайте сабжевой книжки есть ссылка на
их гитхаб. Скачал, compilation errors (авторы виндузятники). Вижу 2 пул-реквеста для линукс-порта (2 года уже висят). С обоими фиксами (и elmindreda, и jhannemann) — компилится ок, но почти все примеры показывают чёрное окно.
Нужно скачать с гитхаба копию (=снэпшот=без истории) некоторой директории (именно некоторой - не хочу скачивать другие, там могут быть большие объёмы картинок-звуков и пр.) в произвольный момент времени, например, директорию include после этого коммита. Изначально никаких данных репы локально нет.
(про svn export знаю, пользуюсь, но он скачивает лишь то что было помечено тагами - брэнчи, а у меня есть лишь некий id коммита, или дерева.).
Какими командами git это можно сделать?
Вообще да, искал. Вот например простыня советов. Но что-то не то совсем советуют, или я не понимаю.
Я правильно понял, что «как следует» (т.е. официально-поддерживаемо), это не делается? И что один из самых простых обходов — это со старой iTunes, 12.6, где есть раздел App?
Видел например такие инструкции (последний способ), и я пробую для теста VLC (первое что попалось, downloads.videolan.org/videolan/vlc-iOS/2.2.1/vlc-iOS-2.2.1.ipa).
Драг-дропаю (под вин7) этот ipa в iTunes, в раздел Settings, App. Иконка VLC появляется, жму на кнопку «Install». Дальше либо жму на кнопочку «eject» (маленькая такая), либо на кнопку «back» (и iTunes спрашивает сохранить ли изменения). В обоих случаях iTunes что-то там думает, делает какие-то 4 шага (типа preparing to install, installing, syncing). На айфоне появляется анимированная иконка VLC, вроде ок. Но в итоге — иконка на айфоне исчезает. А при пере-подключении к iTunes — в нём снова появляется иконка VLC с той же кнопкой Install, как будто я не устанавливал VLC.
Не пойму, что надо сделать?
Есть какой другой (простой) способ обхода? Про diawi.com знаю, но хотелось бы оффлайн (local) способ (не знаю что они там сделают с ipa, не верю).
Бэкенды (LocalGSMBackend с базой mozilla, и OpenBmapNlpBackend с radiocells) встали хорошо, и в целом — геолокация работает, но ОООЧЕНЬ плохо. Сдвиг (реальная ошибка) — полтора-два километра, и радиус ошибки — километр-полтора (бывает лучше, около 500 метров ошибка).
Пробую SatStat как диагностику: апп показывает какие станции он видит. Обычно он показывает лишь одну станцию, иногда две (с cid), но обычно вторая — с прочерками. Ещё пробую osmand, списка станций нет, но сдвиг и круг ошибки такой же как и в SatStat.
Если вставить симку, тел видит станцию опсоса симки (пробовал две симки, билайн и мегафон), хорошо видит, но опять же - никаких других станций. Видимо из-за этого всё так плохо с локацией.
Вопрос: эта «единственность» станции для телефона — это неудачная прошивка радиомодуля? Или это настраивается как-либо? Или в чём-то другом дело?
Помогите мне пожалуйста продолжить познавать мир :)
Lineage 14.1 (=Android 7), Nexus 5. Вижу полторы опции которые здесь влияют:
Location = ON, Mode = battery saving (=use wifi, cell)
Location -> Scanning -> WiFi scanning anytime = ON. (хотя, я пробовал и с вкл. вайфаем, никак не работает)
Андроид 7: SatStat не работает (например при вкл. вайфае не скачивает карту). В настройках SatStat нет опции Map -> Location sources -> network, есть только passive и gps. getback_gps (простенькая, довольно никчёмная кмк) сразу при запуске пишет «provider not supported». Система никого не перечисляет в списке Location -> Recent location requests.
Андроид 5 (на другом смарте): SatStat работает (та же версия), показывает ранее скачаную карту, и значок синенький, с кружком ошибки (без симки, и с откл. вайфаем). Есть опция Map -> Location sources -> network. getback_gps работает, ошибок не пишет. Система в Location перечисляет эти аппы в списке Recent location requests.
Почему на 7-ом андроиде не работает? Подозреваю, где-то есть ещё какая-то опция. Где?
И ещё, заодно спрошу как небольшой оффтоп. Какой способ (cellular+wifi или GPS) лучше использовать для геолокации по Москве, без мобильного инета? Имеет смысл заранее скачать какую-нибудь базу данных сотовых вышек и вайфаев (типа radiocells.org), или фигня всё это, и лучше GPS? (в Андроиде 7 он у меня по дефолту выкл.)
Хочу использовать телефон как читалку книжек (или другого такого), нечасто и оффлайно. И хочу поставить готовые настройки («профиль») ForceDoze для такой модели пользования. Чтоб если я сказал спать — то чтобы никаких (этих ваших) maintenance windows или light idle modes. Чтоб сразу, и полностью, в самый глубокий сон.
Почему хочу — потому что замерил потребляемый ток, и не увидел никакой разницы (при выключении экрана) между ForceDoze Service enabled и disabled. (на Нексусе 5 есть площадки на плате, к которым можно очень удобно припаять проводки). Как при enabled, так и при disabled — поначалу каждые 30 сек просыпается (уж не знаю зачем, на пол-секунды, ток в десятки раз увеличивается), потом через каждую минуту, потом 2 минуты. Если руками поковырять таймауты — тогда ок, настройки влияют, смарт спит и не просыпается.
Что странно — при ForceDoze Service disabled тряска вроде не влияла никак (это невлияние — одна из главных фишек ForceDoze; тогда зачем она?).
Это на Lineage 14.1 (Android 7), Nexus 5.
Описание самих таймаутов во встроенном хэлпе ForceDoze (а также в Doze Settings Editor) — наркоманское, некоторые понять ну решительно невозможно (или я туп). Если кто знает толковое описание — ссылка приветствуется.
(Ну ясно зачем, чтобы аккум не заряжался выше такого-то уровня, например 70%, им это для здоровья вредно. Опен-сорс аппа как я понял, нет. Закрытые такие аппы есть.)
В (какой-нибудь версии) API такое вообще реализовано? В полном (?) списке классов я нашёл только BatteryManager на эту тему. Но в нём такого функционала нет.
Как написать такой апп? Пусть будет неудобно, через эмулятор терминала, как угодно. И пусть есть рут.
Хочу классической, уже устаревающей, community-driven опен-сорсности в Андроиде. До которой ещё не добрались лапы корпораций.
Музыкальный плеер. Видео плеер. Просмотрщик картинок. djvu-книжек. Текстовый редактор. Запись звука. Фото. Базовые такие аппы. Файловый мэнеджер вроде нашёл — Amaze.
Я вообще не понимаю где и как искать. Пробовал на гитхабе, проектиков полно, но они полу-дохлые в основном. Энтузиазма разрабам хватает на несколько месяцев, и потом они их бросают. (про play.google молчу — вообще смысла нет искать)
Где, как узнавать про опен-сорс-сообщества, активно пилящих андроид-аппы? Рекомендации конкретных проектов — тоже нужны. Спасибо.
Я отстал от прогресса, хочу догнать, купил недавно пару смартфонов...
Nexus 5. Подключаю провод, на компе в dmesg всё хорошо — увиделся, разрывов связи в логе нет. Монтирую go-mtpfs, вроде ок, но при попытке например touch some_file пишет ошибку, «Function not implemented». С jmtpfs другая ошибка — «Input/output error» (и в выводе ls -l, на месте permission and ownership — знаки вопросов).
HTC One m7. Всё супер, и go-mtpfs, и jmtpfs. (вроде «супер»: не могу ничего посмотреть, как скопировались файлы — нет никакого плеера, или просмотрщика картинок, или файлового браузера; не разобрался ещё пока что чем смотреть)
Порт на Нексусе плохой: там бывает плохой контакт, и разрывы связи (судя по логу). Но можно легко проделать эти действия, так что в логе всё чистенько, никаких разрывов. Механически (если потыкать иголкой) — порт хороший.
Посмотрел в Recovery mode: Нексус залоченый с родной (вроде) ОС. HTC разлоченый с Линеадж. Может это влияет?
Скачал на днях Андроид Студию, 3.1.4. В терминале пишет warning-и что в проце нет SSSE3 и SSE4.1,SSE4.2 (Athlon II, примерно 2010 г.в.). Пульсы нет, но с -no-audio и ошибок про пульсу тоже нет.
Либо висит эта гуя эмулятора, с чёрным экраном, либо показывает красиво написанное (и как-бы подсвечиваемое) слово «android» (минут 5 ждал, ничего).
Пробовал разные версии API, дефолтную 28, и скачивал 19 (KitKat 4.4), архитектуры x86, arm. Пробовал с ускорением и без (просто Qemu конечно работает, с ускорением отлично, и 64 и 32 бита, Windows, Linux Debian). Пробовал Nexus 5 и 5x. Объёмы памяти в avd - дефолтные.
Хочу создать кое-что типа примитивной (управление) аркады в 3D. Физика будет тоже примитивная (типа нельзя через стены или лестницы проходить; брать предметы в руки не нужно). Шейдеры — must (но как я понимаю, понадобится лишь примитивный функционал).
Важно:
Возможность сделать мобильное приложение (android, ios), пусть и в будущем. Сейчас target-платформы — Win/Linux десктоп. Web и Мак не нужны.
Документация API — много маленьких примеров (условно 1 на каждую ключевую функцию API), а не несколько больших (не хочу разбираться с исходниками, я слабый программист). Последние два дня ненавижу DoxyGen (даёт программистам движка отмазку не писать нормальную человеческую документацию). С этим проблемы почти у всех :(
Активный форум сейчас, и чтобы не загнулся проект через 3 года.
Open source, но не GPL. Код нужно закрыть (там будут ценные данные, не 3D-ресурсы — они примитивные, а именно данные).
Не важно:
Язык (желательно C/C++ всё-таки — единственное что я когда-то изучал).
Фичастость движка (это размер кода, сложности, и необходимость разбираться, а я не программист).
Посмотрел:
Понравился threejs своей документацией (единственный такой!), но очень не понравилось окружение JS (лапша какая-то костыльная всюду рядом с этим JS; nodejs не понравился в частности).
urho3d интересен, но по отсутствию документации — рекордсмен (из тех что я смотрел).
godot вроде вариант более-менее. Пишут что он устарел (несмотря на бурное развитие). Чем?
panda3d тоже вариант (портирование на моб. — в процессе). Понравилась поддержка универа (больше шансов жить долго).
Ещё вроде 2 варианта — ogre и irrlicht. Как и у всех (кроме threejs), проблемы с доками и примерами.
Как посравнивать движки, где почитать отзывы профессионалов? Дайте пож. ссылки на толковые сравнения.
Комментировать движки прошу только профессионалов. (это не опрос для всех «Ваш любимый движок?»)
Мне кажется что документация с маленькими примерчиками — это главный параметр движка, потому что позволит быстро разбираться и сделать дело быстро. Я ошибаюсь? Почему с этим беда у всех? (для Torque 3D вообще не смог найти список API! что уж говорить про документацию)
Сабж: в ФаеФоксе - «The connection has timed out» для (например) swissdisk.com и 1.img-dpreview.com (если зайти на dpreview.com - не грузится, если запретить этот их img-хостинг в RequestPolicy, то грузится, но нет картинок). В терминале lynx, wget и curl - аналогично, нет ответа (и пинга тоже нет). isitdownrightnow.com показывает что оба сайта UP. DNS резолвится правильно - также как и с 8.8.8.8. Пару дней назад duckduckgo.com не грузился (пришлось вспомнить что меня раздражал гугл - отвык уже, давно им не пользовался), с теми же симптомами, но сейчас грузится ок.
Раньше такого не было, появилось несколько дней назад. Это провайдер? Что можно сделать?
Привет всем!
(давненько я на ЛОРе не был, даже соскучился :) )
Debian 9 Stretch amd64. Игру раззиповал (DRM-free) сделал chmod 755 на несколько исполнимых файлов. ldd показывал недостающую libpng12.so.0 для лончера , я скопировал её (вручную) из Дебиан 8 Джесси. (теперь ldd на всё пишет ок, лончер запускается; стим-рантайма нет, ошибок про swrast_dri.so соответственно тоже)
Все запуски игры (trine1.sh, bin/trine1_linux_32bit, bin/trine1_linux_launcher_32bit) дают окно с ошибкой:
Failed to initialize SDL, the game will not be able to start.
(жму единственную кнопку ОК, всё пропадает).
В терминале — есть ошибки (ALSA), но они скорее типа дебаг лога — в конце поста.
Видимо какие-то не те версии каких-то либ. Каких? Или что другое?
Другие (немногочисленные) игры запускаются ок.
Помогите пожалуйста кто чем может.
Попытка LD_PRELOAD трёх включённых в игру либ (2 нвидиевских Cg и SDL) при запуске лончера даёт ошибку:
ERROR: ld.so: object '/mnt/win/linux/_enchanted_edition_/_lib/lib32/libSDL-1.3.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Это странно, поскольку эти либы, как и вся остальная игра — 32-битные (и в системе всякие либы 32 конечно стоят). При запуске игры прямо (bin/trine1_linux_32bit) никакого эффекта от такого LD_PRELOAD нет. Поэтому думаю это нипричём (?)
Лог из терминала:
$ LIBGL_DEBUG=verbose bin/trine1_linux_32bit
ALSA lib pcm_dsnoop.c:618:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.ENS1371.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
....
(много такого)
....
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM phoneline
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.ENS1371.pcm.modem.0:CARD=0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM phoneline
ALSA lib pcm_dsnoop.c:618:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:990:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
Pa_OpenDefaultStream failed Device unavailable
libGL: Can't open configuration file /home/ju/.drirc: No such file or directory.
libGL: pci id for fd 15: 1002:683f, driver radeonsi
libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/radeonsi_dri.so
libGL: Can't open configuration file /home/ju/.drirc: No such file or directory.
libGL: Can't open configuration file /home/ju/.drirc: No such file or directory.
libGL: Using DRI3 for screen 0
(radeonsi_dri.so по пути из второй строчки OpenDriver - имеется)
Наличие обычных машин. Именно обычных - тех, которых полно в реале, Форд-Фокусы, Тоёта-Короллы, Бэхи-Мерсы-Аудюхи-Фольксы обычные, Мазды-MX6, и пр. Лучше даже те, что постарее и подешевле. Здесь отбраковывается большинство симов.
Разная земля и погода (асфальт - сухой, мокрый, лужи; грунт - сухой, грязь - если ралли, снег, лёд)
Разные настройки машины (сход-развал; жёсткость пружин подвески; резина обычная и низкопрофильная, лысая, с протекторами большими-маленькими; в багажнике груз для заднеприводных, и т.д.)
(Ок, пусть не всё сразу)
Совершенно не важно:
обучение ПДД
NASCAR/etc-approved спорт-кары и миллиметровая лазерная точность супер-треков. Вообще, Формула-1 и гонки.
Гуглить умею. Ищутся советы людей с личным опытом сравнения поведения (обычной) машины в симе - с реалом. (такие люди - пожалуйста, дайте как-то понять, что вы именно такие :))
Думаю даунгрэйднуться с 4 на 2 коры (Феном 2 6х без 2-х кор на Атлон 2). Потому что они почти всегда простаивают, а греются больше. И разница в цене 1000р - хорошо.
Домашний писюк, Дебиан 9. Фаерфокс под Qemu виртуалкой. Иногда (редко) много виртуалок, «поиграть» во взрослого админа (vpn в основном). Раз в год компиляю софт, которого нет в репах. Немного игр, но они вроде все одно- или мало-корные, и упираются в GPU (AMD HD7750). HD-видео не смотрю, не редактирую, 3D-сцены не рендерю, научными вычислениями не занимаюсь.
Зачем мне может в будущем понадобиться 3-4-5 кор? Или может они мне и сейчас нужны, а я не знаю об этом?
Питание на SATA винч подаю не от компа, а от отдельного адаптера питания (он постоянно включён). Сигнальный кабель идёт на внутренний SATA порт компа. Имеется (правильная) фишка autosuspend: винч засыпает перед уходом компа в suspend. Я её не хочу. Как её запретить?
Хотелось бы найти аналог /sys/module/usbcore/parameters/autosuspend (который можно задать параметром ядру), но для SATA. Для host'а, к которому я подключаю винч: /sys/class/scsi_host/host2/link_power_management_policy = max_performance - но это о другом совсем, как я понял.
Debian 9 Stretch (ядро 4.9.0) без systemd.
Подключать винч через USB не хотелось бы: USB2 медленная, а USB3 что-то глючило (после просыпания не всегда виделся кард-ридер, приходилось его перетыкать).
IceWM, без Гнома3, Debian 9 Stretch (без systemd).
Не во всех программах, но бывают тонкие скроллбары, причём исчезающие, когда уводишь мышь из их окна. Бесит.
Пробовал писать:
.scrollbar {
-GtkRange-slider-width: 30;
}
в файлы /usr/share/themes/Default/gtk-3.0/gtk-widgets.css и в /etc/gtk-3.0/gtk-widgets.css - не помогает.
В идеале - найти нормальную тему, имитирующую GTK 2.0. Но, насколько я понял, таких нет? (типа РэдХэт специально ломает спецификации, чтобы ломались темы - чтобы люди сидели на их дефолте, и не портили внешний вид их торговых марок)
(ещё злила «фича» в GTK 3.0 с длинным нажатием на скроллбар - когда он начинает очень медленно двигаться - но для этого я нашёл конфиг)
Как увеличить ширину скроллбаров? Как зафиксировать их внешний вид - для всех приложений? (и вообще - как бороться со всем этим новомодием от РэдХэта? - т.е. имитировать GTK 2.0?)