jlesage / docker-handbrake

Docker container for HandBrake
MIT License
857 stars 97 forks source link

[Bug] N5095 Jasper Lake is incorrectly detected #304

Closed rcarmo closed 11 months ago

rcarmo commented 11 months ago

Current Behavior

Right now, the N5095 is incorrectly detected by 54-check-qsv.sh as not supporting QuickSync, which is incorrect.

This is because list_cpu_features returns uarch as INTEL_ATOM_TMT, which is not really correct:

/etc/cont-init.d# list_cpu_features 
arch            : x86
brand           : Intel(R) Celeron(R) N5105 @ 2.00GHz
family          :   6 (0x06)
model           : 156 (0x9C)
stepping        :   0 (0x00)
uarch           : INTEL_ATOM_TMT
flags           : aes,clflushopt,clfsh,clwb,cx16,cx8,erms,fpu,gfni,mmx,movbe,movdir64b,movdiri,pclmulqdq,popcnt,rdrnd,rdseed,sha,ss,sse,sse2,sse3,sse4_1,sse4_2,ssse3,tsc
cache_info      : {"level":1,"cache_type":"data","cache_size":32768,"ways":8,"line_size":64,"tlb_entries":64,"partitioning":1},{"level":1,"cache_type":"instruction","cache_size":32768,"ways":8,"line_size":64,"tlb_entries":64,"partitioning":1},{"level":2,"cache_type":"unified","cache_size":1572864,"ways":12,"line_size":64,"tlb_entries":2048,"partitioning":1},{"level":3,"cache_type":"unified","cache_size":4194304,"ways":16,"line_size":64,"tlb_entries":4096,"partitioning":1}

I suspect this will affect all N series, although I don't have an N100 or an N95 handy to test.

Expected Behavior

Jasper Lake CPUs should be correctly detected.

Steps To Reproduce

No response

Environment

Container creation

Using the example docker-compose.yml, with the addition of /dev/dri device passthrough

Container log

[init        ] container is starting...
[cont-env    ] loading container environment variables...
[cont-env    ] APP_NAME: loading...
[cont-env    ] APP_VERSION: loading...
[cont-env    ] DISPLAY: executing...
[cont-env    ] DISPLAY: terminated successfully.
[cont-env    ] DISPLAY: loading...
[cont-env    ] DOCKER_IMAGE_PLATFORM: loading...
[cont-env    ] DOCKER_IMAGE_VERSION: loading...
[cont-env    ] GTK2_RC_FILES: executing...
[cont-env    ] GTK2_RC_FILES: terminated successfully.
[cont-env    ] GTK2_RC_FILES: loading...
[cont-env    ] GTK_THEME: executing...
[cont-env    ] GTK_THEME: terminated successfully.
[cont-env    ] GTK_THEME: loading...
[cont-env    ] HOME: loading...
[cont-env    ] INSTALL_PACKAGES_INTERNAL: executing...
[cont-env    ] INSTALL_PACKAGES_INTERNAL: terminated successfully.
[cont-env    ] INSTALL_PACKAGES_INTERNAL: loading...
[cont-env    ] QT_STYLE_OVERRIDE: executing...
[cont-env    ] QT_STYLE_OVERRIDE: terminated successfully.
[cont-env    ] QT_STYLE_OVERRIDE: loading...
[cont-env    ] SUP_GROUP_IDS_INTERNAL: executing...
[cont-env    ] SUP_GROUP_IDS_INTERNAL: terminated successfully.
[cont-env    ] SUP_GROUP_IDS_INTERNAL: loading...
[cont-env    ] TAKE_CONFIG_OWNERSHIP: loading...
[cont-env    ] XDG_CACHE_HOME: loading...
[cont-env    ] XDG_CONFIG_HOME: loading...
[cont-env    ] XDG_DATA_HOME: loading...
[cont-env    ] XDG_RUNTIME_DIR: loading...
[cont-env    ] XDG_STATE_HOME: loading...
[cont-env    ] container environment variables initialized.
[cont-secrets] loading container secrets...
[cont-secrets] container secrets loaded.
[cont-init   ] executing container initialization scripts...
[cont-init   ] 10-certs.sh: executing...
[cont-init   ] 10-certs.sh: terminated successfully.
[cont-init   ] 10-check-app-niceness.sh: executing...
[cont-init   ] 10-check-app-niceness.sh: terminated successfully.
[cont-init   ] 10-clean-logmonitor-states.sh: executing...
[cont-init   ] 10-clean-logmonitor-states.sh: terminated successfully.
[cont-init   ] 10-clean-tmp-dir.sh: executing...
[cont-init   ] 10-clean-tmp-dir.sh: terminated successfully.
[cont-init   ] 10-fontconfig-cache-dir.sh: executing...
[cont-init   ] 10-fontconfig-cache-dir.sh: terminated successfully.
[cont-init   ] 10-init-users.sh: executing...
[cont-init   ] 10-init-users.sh: terminated successfully.
[cont-init   ] 10-nginx.sh: executing...
[cont-init   ] 10-nginx.sh: terminated successfully.
[cont-init   ] 10-openbox.sh: executing...
[cont-init   ] 10-openbox.sh: terminated successfully.
[cont-init   ] 10-pkgs-mirror.sh: executing...
[cont-init   ] 10-pkgs-mirror.sh: terminated successfully.
[cont-init   ] 10-set-tmp-dir-perms.sh: executing...
[cont-init   ] 10-set-tmp-dir-perms.sh: terminated successfully.
[cont-init   ] 10-vnc-password.sh: executing...
[cont-init   ] 10-vnc-password.sh: terminated successfully.
[cont-init   ] 10-web-data.sh: executing...
[cont-init   ] 10-web-data.sh: terminated successfully.
[cont-init   ] 10-x11-unix.sh: executing...
[cont-init   ] 10-x11-unix.sh: terminated successfully.
[cont-init   ] 10-xdg-runtime-dir.sh: executing...
[cont-init   ] 10-xdg-runtime-dir.sh: terminated successfully.
[cont-init   ] 15-cjk-font.sh: executing...
[cont-init   ] 15-cjk-font.sh: terminated successfully.
[cont-init   ] 15-install-pkgs.sh: executing...
[cont-init   ] 15-install-pkgs.sh: terminated successfully.
[cont-init   ] 54-check-optical-drive.sh: executing...
[cont-init   ] 54-check-optical-drive.sh: looking for usable optical drives...
[cont-init   ] 54-check-optical-drive.sh: no usable optical drive found.
[cont-init   ] 54-check-optical-drive.sh: terminated successfully.
[cont-init   ] 54-check-qsv.sh: executing...
[cont-init   ] 54-check-qsv.sh: Processor: Intel(R) Celeron(R) N5105 @ 2.00GHz
[cont-init   ] 54-check-qsv.sh: Microarchitecture: INTEL_ATOM_TMT
[cont-init   ] 54-check-qsv.sh: Kernel: 6.5.11-4-pve
[cont-init   ] 54-check-qsv.sh: Intel Quick Sync Video may not be supported: processor not QSV capable.
[cont-init   ] 54-check-qsv.sh: terminated successfully.
[cont-init   ] 54-check-trash-dir.sh: executing...
[cont-init   ] 54-check-trash-dir.sh: terminated successfully.
[cont-init   ] 55-handbrake.sh: executing...
[cont-init   ] 55-handbrake.sh: core dump file location: core
[cont-init   ] 55-handbrake.sh: core dump file size: unlimited (blocks)
[cont-init   ] 55-handbrake.sh: terminated successfully.
[cont-init   ] 85-take-config-ownership.sh: executing...
[cont-init   ] 85-take-config-ownership.sh: terminated successfully.
[cont-init   ] 89-info.sh: executing...
    ╭――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╮
    │                                                                      │
    │ Application:           HandBrake                                     │
    │ Application Version:   1.7.1                                         │
    │ Docker Image Version:  23.11.5                                       │
    │ Docker Image Platform: linux/amd64                                   │
    │                                                                      │
    ╰――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╯
[cont-init   ] 89-info.sh: terminated successfully.
[cont-init   ] all container initialization scripts executed.
[init        ] giving control to process supervisor.
[supervisor  ] loading services...
[supervisor  ] loading service 'default'...
[supervisor  ] loading service 'app'...
[supervisor  ] loading service 'gui'...
[supervisor  ] loading service 'openbox'...
[supervisor  ] loading service 'xvnc'...
[supervisor  ] loading service 'certsmonitor'...
[supervisor  ] service 'certsmonitor' is disabled.
[supervisor  ] loading service 'nginx'...
[supervisor  ] loading service 'logmonitor'...
[supervisor  ] service 'logmonitor' is disabled.
[supervisor  ] loading service 'logrotate'...
[supervisor  ] loading service 'autovideoconverter'...
[supervisor  ] all services loaded.
[supervisor        ] starting services...
[supervisor        ] starting service 'xvnc'...
[xvnc              ] Xvnc TigerVNC 1.13.1 - built Nov 10 2023 13:43:39
[xvnc              ] Copyright (C) 1999-2022 TigerVNC Team and many others (see README.rst)
[xvnc              ] See https://www.tigervnc.org for information on TigerVNC.
[xvnc              ] Underlying X server release 12014000
[xvnc              ] Sat Dec  9 16:49:50 2023
[xvnc              ]  vncext:      VNC extension running!
[xvnc              ]  vncext:      Listening for VNC connections on /tmp/vnc.sock (mode 0660)
[xvnc              ]  vncext:      Listening for VNC connections on all interface(s), port 5900
[xvnc              ]  vncext:      created VNC server for screen 0
[supervisor        ] starting service 'openbox'...
[supervisor        ] starting service 'nginx'...
[nginx             ] Listening for HTTP connections on port 5800.
[supervisor        ] starting service 'app'...
[supervisor        ] starting service 'autovideoconverter'...
[autovideoconverter] Processing watch folder '/watch'...
[autovideoconverter] Waiting 5 seconds before processing '/watch/The Witcher - S03E05 - The Art of Illusion WEBDL-1080p.mkv'...
[supervisor        ] all services started.
[xvnc              ] Sat Dec  9 16:49:55 2023
[xvnc              ]  Connections: accepted: /tmp/vnc.sock
[xvnc              ]  SConnection: Client needs protocol version 3.8
[xvnc              ]  SConnection: Client requests security type None(1)
[xvnc              ]  VNCSConnST:  Server default pixel format depth 24 (32bpp) little-endian rgb888
[xvnc              ]  VNCSConnST:  Client pixel format depth 24 (32bpp) little-endian bgr888
[xvnc              ]  ComparingUpdateTracker: 0 pixels in / 0 pixels out
[xvnc              ]  ComparingUpdateTracker: (1:-nan ratio)
[autovideoconverter] Starting conversion of '/watch/The Witcher - S03E05 - The Art of Illusion WEBDL-1080p.mkv' (a7839887da339b64a9f11cae4a766dfb) using preset 'General/Very Fast 1080p30'...
[autovideoconverter] 1 title(s) to process.
[supervisor        ] SIGTERM received, shutting down...
[supervisor        ] stopping service 'autovideoconverter'...
[supervisor        ] service 'autovideoconverter' exited (got signal SIGTERM).
[supervisor        ] stopping service 'app'...
[supervisor        ] service 'app' exited (got signal SIGTERM).
[supervisor        ] stopping service 'nginx'...
[xvnc              ] Sat Dec  9 16:55:20 2023
[xvnc              ]  VNCSConnST:  Failed to flush remaining socket data on close: write: Broken
[xvnc              ]               pipe (32)
[xvnc              ]  VNCSConnST:  closing /tmp/vnc.sock: write: Broken pipe (32)
[xvnc              ]  EncodeManager: Framebuffer updates: 3352
[xvnc              ]  EncodeManager:   Tight:
[xvnc              ]  EncodeManager:     Solid: 4.161 krects, 25.9601 Mpixels
[xvnc              ]  EncodeManager:            65 KiB (1:1560.85 ratio)
[xvnc              ]  EncodeManager:     Bitmap RLE: 431 rects, 131.145 kpixels
[xvnc              ]  EncodeManager:                 12.7363 KiB (1:40.6189 ratio)
[xvnc              ]  EncodeManager:     Indexed RLE: 5.728 krects, 3.49215 Mpixels
[xvnc              ]  EncodeManager:                  818.289 KiB (1:16.7524 ratio)
[xvnc              ]  EncodeManager:   Tight (JPEG):
[xvnc              ]  EncodeManager:     Full Colour: 6.957 krects, 42.5452 Mpixels
[xvnc              ]  EncodeManager:                  25.6269 MiB (1:6.33618 ratio)
[xvnc              ]  EncodeManager:   Total: 17.277 krects, 72.1285 Mpixels
[xvnc              ]  EncodeManager:          26.5019 MiB (1:10.3897 ratio)
[supervisor        ] service 'nginx' exited (with status 0).
[xvnc              ]  Connections: closed: /tmp/vnc.sock
[xvnc              ]  ComparingUpdateTracker: 150.611 Mpixels in / 59.1642 Mpixels out
[xvnc              ]  ComparingUpdateTracker: (1:2.54564 ratio)
[supervisor        ] stopping service 'openbox'...
[supervisor        ] service 'openbox' exited (with status 0).
[supervisor        ] stopping service 'xvnc'...
[xvnc              ]  ComparingUpdateTracker: 0 pixels in / 0 pixels out
[xvnc              ]  ComparingUpdateTracker: (1:-nan ratio)
[supervisor        ] service 'xvnc' exited (with status 0).
[finish      ] executing container finish scripts...
[finish      ] all container finish scripts executed.

Container inspect

No response

Anything else?

No response

jlesage commented 11 months ago

Thanks for reporting. I will adjust the script.

Note that Tremont seems to be the correct micro-architecture for your CPU: https://en.wikipedia.org/wiki/Tremont_(microarchitecture).

dpprdan commented 11 months ago

I have the same issue with a J4105 CPU

https://en.wikipedia.org/wiki/Goldmont_Plus

handbrake  | [cont-init   ] 54-check-qsv.sh: Processor: Intel(R) Celeron(R) J4105 CPU @ 1.50GHz
handbrake  | [cont-init   ] 54-check-qsv.sh: Microarchitecture: INTEL_ATOM_GMT_PLUS
handbrake  | [cont-init   ] 54-check-qsv.sh: Kernel: 6.1.0-16-amd64
handbrake  | [cont-init   ] 54-check-qsv.sh: Intel Quick Sync Video may not be supported: processor not QSV capable.
handbrake  | [cont-init   ] 54-check-qsv.sh: terminated successfully.
Full container log

```dan@dppr:~/handbrake$ docker compose up [+] Running 1/1 ✔ Container handbrake Recreated 0.2s Attaching to handbrake handbrake | [init ] container is starting... handbrake | [cont-env ] loading container environment variables... handbrake | [cont-env ] APP_NAME: loading... handbrake | [cont-env ] APP_VERSION: loading... handbrake | [cont-env ] DISPLAY: executing... handbrake | [cont-env ] DISPLAY: terminated successfully. handbrake | [cont-env ] DISPLAY: loading... handbrake | [cont-env ] DOCKER_IMAGE_PLATFORM: loading... handbrake | [cont-env ] DOCKER_IMAGE_VERSION: loading... handbrake | [cont-env ] GTK2_RC_FILES: executing... handbrake | [cont-env ] GTK2_RC_FILES: terminated successfully. handbrake | [cont-env ] GTK2_RC_FILES: loading... handbrake | [cont-env ] GTK_THEME: executing... handbrake | [cont-env ] GTK_THEME: terminated successfully. handbrake | [cont-env ] GTK_THEME: loading... handbrake | [cont-env ] HOME: loading... handbrake | [cont-env ] INSTALL_PACKAGES_INTERNAL: executing... handbrake | [cont-env ] INSTALL_PACKAGES_INTERNAL: terminated successfully. handbrake | [cont-env ] INSTALL_PACKAGES_INTERNAL: loading... handbrake | [cont-env ] QT_STYLE_OVERRIDE: executing... handbrake | [cont-env ] QT_STYLE_OVERRIDE: terminated successfully. handbrake | [cont-env ] QT_STYLE_OVERRIDE: loading... handbrake | [cont-env ] SUP_GROUP_IDS_INTERNAL: executing... handbrake | [cont-env ] SUP_GROUP_IDS_INTERNAL: terminated successfully. handbrake | [cont-env ] SUP_GROUP_IDS_INTERNAL: loading... handbrake | [cont-env ] TAKE_CONFIG_OWNERSHIP: loading... handbrake | [cont-env ] XDG_CACHE_HOME: loading... handbrake | [cont-env ] XDG_CONFIG_HOME: loading... handbrake | [cont-env ] XDG_DATA_HOME: loading... handbrake | [cont-env ] XDG_RUNTIME_DIR: loading... handbrake | [cont-env ] XDG_STATE_HOME: loading... handbrake | [cont-env ] container environment variables initialized. handbrake | [cont-secrets] loading container secrets... handbrake | [cont-secrets] container secrets loaded. handbrake | [cont-init ] executing container initialization scripts... handbrake | [cont-init ] 10-certs.sh: executing... handbrake | [cont-init ] 10-certs.sh: terminated successfully. handbrake | [cont-init ] 10-check-app-niceness.sh: executing... handbrake | [cont-init ] 10-check-app-niceness.sh: terminated successfully. handbrake | [cont-init ] 10-clean-logmonitor-states.sh: executing... handbrake | [cont-init ] 10-clean-logmonitor-states.sh: terminated successfully. handbrake | [cont-init ] 10-clean-tmp-dir.sh: executing... handbrake | [cont-init ] 10-clean-tmp-dir.sh: terminated successfully. handbrake | [cont-init ] 10-fontconfig-cache-dir.sh: executing... handbrake | [cont-init ] 10-fontconfig-cache-dir.sh: terminated successfully. handbrake | [cont-init ] 10-init-users.sh: executing... handbrake | [cont-init ] 10-init-users.sh: terminated successfully. handbrake | [cont-init ] 10-nginx.sh: executing... handbrake | [cont-init ] 10-nginx.sh: terminated successfully. handbrake | [cont-init ] 10-openbox.sh: executing... handbrake | [cont-init ] 10-openbox.sh: terminated successfully. handbrake | [cont-init ] 10-pkgs-mirror.sh: executing... handbrake | [cont-init ] 10-pkgs-mirror.sh: terminated successfully. handbrake | [cont-init ] 10-set-tmp-dir-perms.sh: executing... handbrake | [cont-init ] 10-set-tmp-dir-perms.sh: terminated successfully. handbrake | [cont-init ] 10-vnc-password.sh: executing... handbrake | [cont-init ] 10-vnc-password.sh: terminated successfully. handbrake | [cont-init ] 10-web-data.sh: executing... handbrake | [cont-init ] 10-web-data.sh: terminated successfully. handbrake | [cont-init ] 10-x11-unix.sh: executing... handbrake | [cont-init ] 10-x11-unix.sh: terminated successfully. handbrake | [cont-init ] 10-xdg-runtime-dir.sh: executing... handbrake | [cont-init ] 10-xdg-runtime-dir.sh: terminated successfully. handbrake | [cont-init ] 15-cjk-font.sh: executing... handbrake | [cont-init ] 15-cjk-font.sh: terminated successfully. handbrake | [cont-init ] 15-install-pkgs.sh: executing... handbrake | [cont-init ] 15-install-pkgs.sh: terminated successfully. handbrake | [cont-init ] 54-check-optical-drive.sh: executing... handbrake | [cont-init ] 54-check-optical-drive.sh: looking for usable optical drives... handbrake | [cont-init ] 54-check-optical-drive.sh: found optical drive /dev/sr0, group 24. handbrake | [cont-init ] 54-check-optical-drive.sh: terminated successfully. handbrake | [cont-init ] 54-check-qsv.sh: executing... handbrake | [cont-init ] 54-check-qsv.sh: Processor: Intel(R) Celeron(R) J4105 CPU @ 1.50GHz handbrake | [cont-init ] 54-check-qsv.sh: Microarchitecture: INTEL_ATOM_GMT_PLUS handbrake | [cont-init ] 54-check-qsv.sh: Kernel: 6.1.0-16-amd64 handbrake | [cont-init ] 54-check-qsv.sh: Intel Quick Sync Video may not be supported: processor not QSV capable. handbrake | [cont-init ] 54-check-qsv.sh: terminated successfully. handbrake | [cont-init ] 54-check-trash-dir.sh: executing... handbrake | [cont-init ] 54-check-trash-dir.sh: terminated successfully. handbrake | [cont-init ] 55-handbrake.sh: executing... handbrake | [cont-init ] 55-handbrake.sh: core dump file location: core handbrake | [cont-init ] 55-handbrake.sh: core dump file size: unlimited (blocks) handbrake | [cont-init ] 55-handbrake.sh: terminated successfully. handbrake | [cont-init ] 85-take-config-ownership.sh: executing... handbrake | [cont-init ] 85-take-config-ownership.sh: terminated successfully. handbrake | [cont-init ] 89-info.sh: executing... handbrake | ╭――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╮ handbrake | │ │ handbrake | │ Application: HandBrake │ handbrake | │ Application Version: 1.7.1 │ handbrake | │ Docker Image Version: 23.11.5 │ handbrake | │ Docker Image Platform: linux/amd64 │ handbrake | │ │ handbrake | ╰――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╯ handbrake | [cont-init ] 89-info.sh: terminated successfully. handbrake | [cont-init ] all container initialization scripts executed. handbrake | [init ] giving control to process supervisor. handbrake | [supervisor ] loading services... handbrake | [supervisor ] loading service 'default'... handbrake | [supervisor ] loading service 'app'... handbrake | [supervisor ] loading service 'gui'... handbrake | [supervisor ] loading service 'xvnc'... handbrake | [supervisor ] loading service 'certsmonitor'... handbrake | [supervisor ] service 'certsmonitor' is disabled. handbrake | [supervisor ] loading service 'openbox'... handbrake | [supervisor ] loading service 'nginx'... handbrake | [supervisor ] loading service 'logmonitor'... handbrake | [supervisor ] service 'logmonitor' is disabled. handbrake | [supervisor ] loading service 'logrotate'... handbrake | [supervisor ] loading service 'autovideoconverter'... handbrake | [supervisor ] all services loaded. handbrake | [supervisor ] starting services... handbrake | [supervisor ] starting service 'xvnc'... handbrake | [xvnc ] Xvnc TigerVNC 1.13.1 - built Nov 10 2023 13:43:39 handbrake | [xvnc ] Copyright (C) 1999-2022 TigerVNC Team and many others (see README.rst) handbrake | [xvnc ] See https://www.tigervnc.org for information on TigerVNC. handbrake | [xvnc ] Underlying X server release 12014000 handbrake | [xvnc ] Sat Dec 16 15:52:38 2023 handbrake | [xvnc ] vncext: VNC extension running! handbrake | [xvnc ] vncext: Listening for VNC connections on /tmp/vnc.sock (mode 0660) handbrake | [xvnc ] vncext: Listening for VNC connections on all interface(s), port 5900 handbrake | [xvnc ] vncext: created VNC server for screen 0 handbrake | [supervisor ] starting service 'openbox'... handbrake | [supervisor ] starting service 'nginx'... handbrake | [nginx ] Listening for HTTP connections on port 5800. handbrake | [supervisor ] starting service 'app'... handbrake | [supervisor ] starting service 'autovideoconverter'... handbrake | [autovideoconverter] Processing watch folder '/watch'... handbrake | [autovideoconverter] Watch folder '/watch' processing terminated. handbrake | [supervisor ] all services started. ```

jlesage commented 11 months ago

Fix already done, it will be part of the next release.

jlesage commented 11 months ago

Fixed with the latest image.