Bug 469989 - Screen recording doesn't work
Summary: Screen recording doesn't work
Status: RESOLVED FIXED
Alias: None
Product: Spectacle
Classification: Applications
Component: General (other bugs)
Version First Reported In: git-master
Platform: Other Linux
: NOR grave
Target Milestone: ---
Assignee: Noah Davis
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2023-05-19 11:27 UTC by Nicolas Fella
Modified: 2023-09-15 14:55 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicolas Fella 2023-05-19 11:27:08 UTC
STEPS TO REPRODUCE
1. Open Spectacle 
2. Go to Recording
3. Click workspace
4. Click Finish recording

OBSERVED RESULT
Nothing happens

EXPECTED RESULT
A recorded video is available

SOFTWARE/OS VERSIONS
KDE Plasma Version: master
KDE Frameworks Version: master
Qt Version: 6.5

ADDITIONAL INFORMATION
Spectacle built against Qt 6
Comment 1 Nicolas Fella 2023-05-19 11:27:46 UTC
Log from spectacle:

qrc:/src/Gui/RecordingView.qml:54:5: MediaPlayer is not a type
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
kpipewire_record_logging: VAAPI: Display initialized
kpipewire_record_logging: VAAPI: API version 1 . 18
kpipewire_record_logging: VAAPI: Intel iHD driver for Intel(R) Gen Graphics - 23.1.6 () in use for device "/dev/dri/renderD128"
kpipewire_logging: Format  875710290  not supported for modifiers.
kpipewire_logging: state changed unconnected -> connecting 
kpipewire_logging: created successfully 61
kpipewire_record_logging: executing
kpipewire_logging: state changed connecting -> paused 
kpipewire_record_logging: Setting up stream
[libvpx @ 0x7f953c021400] v1.13.0
[libvpx @ 0x7f953c021400] vpx_codec_enc_cfg
[libvpx @ 0x7f953c021400] generic settings
  g_usage:                      0
  g_threads:                    8
  g_profile:                    578
  g_w:                          1920
  g_h:                          1080
  g_bit_depth:                  8
  g_input_bit_depth:            8
  g_timebase:                   {1/1000}
  g_error_resilient:            0
  g_pass:                       0
  g_lag_in_frames:              25
[libvpx @ 0x7f953c021400] rate control settings
  rc_dropframe_thresh:          0
  rc_resize_allowed:            0
  rc_resize_up_thresh:          60
  rc_resize_down_thresh:        30
  rc_end_usage:                 2
  rc_twopass_stats_in:          (nil)(0)
  rc_target_bitrate:            4147
[libvpx @ 0x7f953c021400] quantizer settings
  rc_min_quantizer:             4
  rc_max_quantizer:             63
[libvpx @ 0x7f953c021400] bitrate tolerance
  rc_undershoot_pct:            100
  rc_overshoot_pct:             100
[libvpx @ 0x7f953c021400] temporal layering settings
  ts_number_layers:             1
[libvpx @ 0x7f953c021400] 
  ts_target_bitrate:            0 0 0 0 0 
[libvpx @ 0x7f953c021400] 
  ts_rate_decimator:            0 0 0 0 0 
[libvpx @ 0x7f953c021400] 
  ts_periodicity:               0
[libvpx @ 0x7f953c021400] 
  ts_layer_id:                  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
[libvpx @ 0x7f953c021400] decoder buffer model
  rc_buf_sz:                    6000
  rc_buf_initial_sz:            4000
  rc_buf_optimal_sz:            5000
[libvpx @ 0x7f953c021400] 2 pass rate control settings
  rc_2pass_vbr_bias_pct:        50
  rc_2pass_vbr_minsection_pct:  0
  rc_2pass_vbr_maxsection_pct:  400
[libvpx @ 0x7f953c021400]   rc_2pass_vbr_corpus_complexity:0
[libvpx @ 0x7f953c021400] keyframing settings
  kf_mode:                      1
  kf_min_dist:                  0
  kf_max_dist:                  100
[libvpx @ 0x7f953c021400] 
[libvpx @ 0x7f953c021400] Failed to initialize encoder: Invalid parameter
[libvpx @ 0x7f953c021400]   Additional information: g_profile out of range [..3]
kpipewire_record_logging: Could not open codec Invalid argument
kpipewire_logging: state changed paused -> streaming 
*** pw_stream_set_active called from wrong context, check thread and locking: Success
kpipewire_logging: state changed streaming -> paused
Comment 2 Nicolas Fella 2023-05-19 11:31:10 UTC
It works with Qt5, so maybe it's just the MediaPlayer QML error that breaks it?
Comment 3 Noah Davis 2023-05-19 13:37:11 UTC
(In reply to Nicolas Fella from comment #2)
> It works with Qt5, so maybe it's just the MediaPlayer QML error that breaks
> it?

Yes, unfortunately there are changes to QtMM incompatible with Qt5 in Qt6.
Comment 4 Justin Zobel 2023-06-03 03:42:15 UTC
Can also confirm.
Comment 5 Firlaev-Hans 2023-09-07 05:49:08 UTC
Cannot confirm anymore on current Neon Unstable on Wayland with Spectacle built against Qt 6.6.
Fixed?
Comment 6 Nate Graham 2023-09-15 14:55:49 UTC
This should be fixed now, but there are still other issues to sort out, such as Spectacle crashing after finishing recording. For those, See Bug 467966 and Bug 474556.