이거.. 소모품이었냐?!?!

조이콘 스트랩이 망가져서 같이 사려는데 배송비 합쳐지지 않고 두번 나가서 조이콘 스틱모듈만 구매!

저번에는 제노 블레이드 DE 한다고 왼쪽 만 두번 갈아먹었는데

젤다 하면서 오른쪽 갈아 먹고 겸사겸사 양쪽 다 갈게 될 느낌이라

쿠폰쓰기 위해 만원 넘기도록 4개 구매!

 

 

젤다 야숨은 엔딩 봤는데 2회차는 좀 까마득하고

제노블레이드 2 중단했던거 이어서나 하게 주말에 고쳐봐야겠다.

Posted by 구차니

weston-screenshooter를 이용하여 직접 명령어 라인에서 캡쳐를 해보려하면 아래와 같이 에러가 발생한다.

$ weston-screenshooter
weston_screenshooter@5: error 0: screenshooter failed: permission denied. Debug protocol must be enabled

 

weston --debug를 통해 실행하라는데

$ weston --debug

[링크 : https://blog.lancitou.net/build-and-run-weston-on-ubuntu/]

[링크 : https://www.collabora.com/news-and-blog/blog/2019/04/24/weston-debugging-and-tracing-on-the-fly/]

 

시리얼 콘솔을 통해 접속을 해서 그런지 실행이 안된다.

# weston --debug
Date: 2022-01-13 KST
[11:49:13.239] weston 9.0.0
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: lf-5.10.35-2.0.0-rc2+
[11:49:13.239] Command line: weston --debug
[11:49:13.239] OS: Linux, 5.10.35-lts-5.10.y+g6369370afcb5, #1 SMP PREEMPT Tue Dec 14 09:29:50 UTC 2021, aarch64
[11:49:13.239] Using config file '/etc/xdg/weston/weston.ini'
WARNING: debug protocol has been enabled. This is a potential denial-of-service attack vector and information leak.
[11:49:13.239] Output repaint window is 16 ms maximum.
[11:49:13.240] Loading module '/usr/lib/libweston-9/drm-backend.so'
[11:49:13.244] initializing drm backend
[11:49:13.244] logind: failed to get session seat
[11:49:13.245] logind: cannot setup systemd-logind helper (-61), using legacy fallback
[11:49:13.245] <stdin> not a vt
[11:49:13.245] if running weston from ssh, use --tty to specify a tty
[11:49:13.245] fatal: drm backend should be run using weston-launch binary, or your system should provide the logind D-Bus API.
[11:49:13.245] fatal: failed to create compositor backend
Internal warning: debug scope 'drm-backend' has not been destroyed.

 

weston 실행 스크립트 에서

(내가 가진 시스템에서는 다음 경로에 존재함. /etc/systemd/system/graphical.target.wants/weston.service)

 Service 섹션 ExecStart 의 가장 마지막에 --debug를 추가해주면 문제없이 실행된다.

 

다만.. 경고가 무시무시 하구만.

 

 

+

의외로 별 내용이 없는 함수인데 얘를 실행하면 debug protol must be enabled 에러가 발생한다.

wl_display_roundtrip - Block until all pending request are processed by the server.
int wl_display_roundtrip(struct wl_display *display)
display
The display context object
Returns:
The number of dispatched events on success or -1 on failure
This function blocks until the server has processed all currently issued requests by sending a request to the display server and waiting for a reply before returning.

This function uses wl_display_dispatch_queue() internally. It is not allowed to call this function while the thread is being prepared for reading events, and doing so will cause a dead lock.

Note: This function may dispatch other events being received on the default queue.

[링크 : https://wayland.freedesktop.org/docs/html/apb.html]

[링크 : https://www.systutorials.com/docs/linux/man/3-wl_display_roundtrip/]

 

compositor/weston-screenshooter.c 에서 bind_shooter() 에서 해당 에러를 출력하고

bind_shooter()는 screenshooter_create() 에서 호출이 되고

static void
bind_shooter(struct wl_client *client,
     void *data, uint32_t version, uint32_t id)
{
struct screenshooter *shooter = data;
struct wl_resource *resource;
bool debug_enabled =
weston_compositor_is_debug_protocol_enabled(shooter->ec);

resource = wl_resource_create(client,
      &weston_screenshooter_interface, 1, id);

if (!debug_enabled && !shooter->client) {
wl_resource_post_error(resource, WL_DISPLAY_ERROR_INVALID_OBJECT,
       "screenshooter failed: permission denied. "\
       "Debug protocol must be enabled");
return;
} else if (!debug_enabled && client != shooter->client) {
wl_resource_post_error(resource, WL_DISPLAY_ERROR_INVALID_OBJECT, "screenshooter failed: permission denied.");
return;
}

wl_resource_set_implementation(resource, &screenshooter_implementation, data, NULL);
}

WL_EXPORT void
screenshooter_create(struct weston_compositor *ec)
{
struct screenshooter *shooter;

shooter = zalloc(sizeof *shooter);
if (shooter == NULL)
return;

shooter->ec = ec;

shooter->global = wl_global_create(ec->wl_display,  &weston_screenshooter_interface, 1,   shooter, bind_shooter);
weston_compositor_add_key_binding(ec, KEY_S, MODIFIER_SUPER,  screenshooter_binding, shooter);
weston_compositor_add_key_binding(ec, KEY_R, MODIFIER_SUPER,  recorder_binding, shooter);

shooter->destroy_listener.notify = screenshooter_destroy;
wl_signal_add(&ec->destroy_signal, &shooter->destroy_listener);
}

 

screenshooter_create() 는 desktop-shell/shell.c의 init 함수에서 호출하는데

WL_EXPORT int
wet_shell_init(struct weston_compositor *ec,
       int *argc, char *argv[])
{
screenshooter_create(ec);

shell_add_bindings(ec, shell);

shell_fade_init(shell);

clock_gettime(CLOCK_MONOTONIC, &shell->startup_time);

return 0;
}

 

이미 등록되어 있어서 새로 등록할 수 없다고 나오는 건진 애매하네..

위에서 wl_create() 하면서 이미 생성된 것에 bind 하려고 하다 보니 에러가 나는 것 같은데

bind 여부를 wl_display_roundtrip() 에서 하진 않을 것 같고 지연된 에러라고 보기에는

딜레이를 주고 실행해도 딱 그 위치에서 나오니 애매하네..

static void
handle_global(void *data, struct wl_registry *registry,
      uint32_t name, const char *interface, uint32_t version)
{
static struct screenshooter_output *output;
struct screenshooter_data *sh_data = data;

if (strcmp(interface, "wl_output") == 0) {
output = xmalloc(sizeof *output);
output->output = wl_registry_bind(registry, name,
  &wl_output_interface, 1);
wl_list_insert(&sh_data->output_list, &output->link);
wl_output_add_listener(output->output, &output_listener, output);
} else if (strcmp(interface, "wl_shm") == 0) {
sh_data->shm = wl_registry_bind(registry, name, &wl_shm_interface, 1);
} else if (strcmp(interface, "weston_screenshooter") == 0) {
sh_data->screenshooter = wl_registry_bind(registry, name,  &weston_screenshooter_interface,  1);
}
}

static const struct wl_registry_listener registry_listener = {
handle_global,
handle_global_remove
};

'프로그램 사용 > wayland' 카테고리의 다른 글

wayland client example  (0) 2022.01.06
weston window transform  (0) 2022.01.06
weston 단축키  (0) 2022.01.04
weston.ini same-as on output section  (0) 2022.01.03
weston-image 와 cairo  (0) 2021.12.08
Posted by 구차니

super(win) + R은 녹화한다는데

wcap이 16byte짜리만 생겨서 정상적으로 작동하는질 모르겠다..

 

[링크 : https://stackoverflow.com/questions/23856154/how-to-take-screenshot-under-wayland]

[링크 : https://wiki.archlinux.org/title/Weston]

'프로그램 사용 > wayland' 카테고리의 다른 글

weston window transform  (0) 2022.01.06
weston-screenshooter 실행에러  (0) 2022.01.05
weston.ini same-as on output section  (0) 2022.01.03
weston-image 와 cairo  (0) 2021.12.08
rpi3b 64bit weston  (0) 2021.12.03
Posted by 구차니

되는게 없냐 -_-

 

[링크 : https://man.archlinux.org/man/weston-drm.7.en]

 

it looks like you are doing the right thing with weston.ini. I'm guessing that your hardware does not support what you want though. Support for shared CRTC clone mode in hardware is rare and might be limited to just two very particular connectors.

[링크 : https://www.mail-archive.com/wayland-devel@lists.freedesktop.org/msg41071.html]

[링크 : https://www.mail-archive.com/wayland-devel@lists.freedesktop.org/msg41078.html]

 

[링크 : https://community.nxp.com/.../Dual-display-extended-mode-with-weston-and-IMX8MQEVK-board/.../1207565]

'프로그램 사용 > wayland' 카테고리의 다른 글

weston-screenshooter 실행에러  (0) 2022.01.05
weston 단축키  (0) 2022.01.04
weston-image 와 cairo  (0) 2021.12.08
rpi3b 64bit weston  (0) 2021.12.03
wayland screen share  (0) 2021.12.02
Posted by 구차니
embeded/orange pi2022. 1. 3. 14:07

ornage pi 3 user manual

하드웨어 관점에서는 26핀 헤더 설명 외에는 솔찍히 그닥 쓸모 없는 내용 뿐

[링크 : https://download.kamami.pl/p573811-orangepi%203_user%20manual_v1.0.pdf]

 

Allwinner H6 데이터 시트(80페이지 짜리)

아니.. 설명이 이게 끝?

[링크 : https://linux-sunxi.org/images/5/5c/Allwinner_H6_V200_Datasheet_V1.1.pdf]

 

Allwinner H6 user manual(965 페이지 짜리)

gpio 부팅으로 되어있다는 가정하에

SD 메모리 -> eMMC 순서로 부팅을 진행하게 된다(중간에 NAND는 대충 생략)

SMHC0가 외부 SD/TF 라고 한데 SDR 50MHz 면.. UHS 지원인진 모르겠네

SMHC0 is external SD/TF card. SMHC2 is external eMMC

[링크 : https://linux-sunxi.org/images/4/46/Allwinner_H6_V200_User_Manual_V1.1.pdf]

'embeded > orange pi' 카테고리의 다른 글

android on orange pi 3  (0) 2022.12.07
allwinner A시리즈 백도어  (0) 2022.11.06
oragne pi 3 / eMMC와 sd 부팅  (0) 2022.01.03
allwinner(orange pi 3) vs amlogic(odroid c2)  (0) 2022.01.01
orange pi 3 armbian  (0) 2022.01.01
Posted by 구차니

다이소 가서 사려니 해당 모델을 못 찾겠고 (그랜저 TG랑 동일하다는게 TG가 없어!!!)

롯데마트 가서 사려니 귀찮고(가격도 좀 비싸고)

 

그래서 그냥 인터넷 구매 ㄱㄱ

 

이전에 넣어둔거가 어떤건지 까먹어서(아마 롯데마트에서 구매했던 듯)

구형 로체인데 신형 로체용 넣어도 웬지 들어갈 기분이라 혹시 몰라서 섞어서 구매

구형은 250x220x30

신형은 260x230x34

 

차에 실제로 찍어보니 저런 크기니.. 어떻게 안되려나? ㅋㅋ

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

토요일  (0) 2022.01.15
선풍기 기동 콘덴서  (6) 2022.01.09
휴가 끄으으으읕!!  (2) 2022.01.02
코로나 11월 환자동향(?)  (0) 2021.12.15
수육  (0) 2021.12.11
Posted by 구차니
embeded/orange pi2022. 1. 3. 11:55

오늘 출근해서 해보는데

debug uart 상관없이 둘다 9초는 지나야 kernel이 구동하고 그제서야 LED에 불이 들어온다.

아니.. run led도 아니고 power led 정도는 회로에서 바로 켜지게 해놔야 하는거 아냐?

 

아래 들어온게 power LED.

아니.. 말 그대로 파워만 들어오면 불이 들어와야지 이걸 uboot나 kernel 에서 on 하도록 하는 발상은 누가 한거냐.. -_-

armbian 은 uboot에서 안켜고 kernel 에서 켜고 앉았고

orange pi 3 이미지는 uboot 에서 켜주긴 한데

sd 를 꽂지 않으면 파워 led 자체가 불이 안들어와서 보드 고장난거 아냐!? 싶은 상황이 발생한다.

 

왼쪽 eMMC 부팅, 오른쪽 microSD 부팅 메시지

버전이나 좀 차이나고 로딩 속도에서 차이나지만 LED 켜지는 시간은 그게 그거..

'embeded > orange pi' 카테고리의 다른 글

allwinner A시리즈 백도어  (0) 2022.11.06
orange pi 3 관련 문서  (0) 2022.01.03
allwinner(orange pi 3) vs amlogic(odroid c2)  (0) 2022.01.01
orange pi 3 armbian  (0) 2022.01.01
orange pi 3 eMMC 부팅 로그  (0) 2022.01.01
Posted by 구차니

와.. 이것은 자유인가 아닌가 ㅋㅋ

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

선풍기 기동 콘덴서  (6) 2022.01.09
자동차 에어컨 필터 구매  (4) 2022.01.03
코로나 11월 환자동향(?)  (0) 2021.12.15
수육  (0) 2021.12.11
어린이집 확인자 발생  (0) 2021.12.05
Posted by 구차니
embeded/orange pi2022. 1. 1. 21:30

중국제 SoC라 그런가 코덱에 allwinner든 amlogic이든 양쪽다 AVS가 들어있다.

대충 S905는 2016년 10월 이전에 출시 된 것 같고

[링크 : https://en.wikipedia.org/wiki/Amlogic]

 

H6는 2014년에 출시 된 것 같은데

[링크 : https://en.wikipedia.org/wiki/Allwinner_Technology]

 

벤치마크만 보면 오히려 늦게 나온 amlogic S905 보다 allwinner H6이 클럭빨로 우월한 성능을 보이는 느낌

그런데 클럭 대비라고 해도 S905X와 H6의 성능 차이가 너무 나는걸 보면 신뢰할 수 있나 싶을 정도..

[링크 : https://www.cnx-software.com/2017/11/27/amlogic-s905x-vs-rockchip-rk3328-vs-allwinner-h6/?amp=1 ]

 

[링크 : https://www.hardkernel.com/ko/shop/odroid-c2/]

[링크 : http://www.orangepi.org/Orange%20Pi%203/]

'embeded > orange pi' 카테고리의 다른 글

orange pi 3 관련 문서  (0) 2022.01.03
oragne pi 3 / eMMC와 sd 부팅  (0) 2022.01.03
orange pi 3 armbian  (0) 2022.01.01
orange pi 3 eMMC 부팅 로그  (0) 2022.01.01
orange pi 3에 이미지 업데이트  (0) 2021.12.31
Posted by 구차니
embeded/orange pi2022. 1. 1. 13:44

armbian이 eMMC에 설치되어 있어서 보는데

480MHz에서 딱 달라붙어 있고 cpu 온도도 32도로 착하다

 

armbian-config를 실행하니

# armbian-config

 

orangepi-config 처럼 비슷하게 나온다.

'embeded > orange pi' 카테고리의 다른 글

oragne pi 3 / eMMC와 sd 부팅  (0) 2022.01.03
allwinner(orange pi 3) vs amlogic(odroid c2)  (0) 2022.01.01
orange pi 3 eMMC 부팅 로그  (0) 2022.01.01
orange pi 3에 이미지 업데이트  (0) 2021.12.31
orangepi-config  (0) 2021.12.31
Posted by 구차니