F5-TTS – Ich habe mir selbst meine Stimme geklaut

Frage: „Wie macht man seiner Mutter an Halloween so richtig Angst?“ Antwort: man pimpt ihren Sprachassistenten mit der eigenen Stimme und ändert das Keyword auf seinen Namen 😉

F5-TTS – Ich habe mir selbst meine Stimme geklaut

Herzlich willkommen in der schönen neuen Welt, in der nicht einmal Eure Stimme noch Euch gehört!  Der Diebstahl ist erschreckend einfach noch dazu.

Zuerst einmal installiert Ihr die nötige Software für die Stimmsynthese:

pip install git+https://github.com/SWivid/F5-TTS.git

Dann zieht Ihr euch von hier: https://huggingface.co/marduk-ra/F5-TTS-German/tree/main alle *safetensors und vocab.txt Dateien runter und parkt die auf Eurer Platte.

15 GB später braucht Ihr nur noch das hier starten: f5-tts_infer-gradio

10 Sekunden reichen zum Stimmenraub aus

Ihr bekommt dann dieses Webinterface zusehen, wenn Ihr http://localhost:7860/ aufruft

F5 Interface mit Texteingabefenster , Modellauswahl und Ausgabeparametern. Unkonfiguriert.Damit Ihr eine Deutsche Aussprache bekommt, müßt Ihr zunächst das Custommodel aktivieren und jeweils die Pfade zu dem Tensor und dem Vocab File manuell in die Selectboxen eintragen, die da präsentiert werden. Das ist nicht intuitiv zu verstehen, klickt einfach auf die Box und schreibt was hin.

Als nächstes macht Ihr Audacity auf und nehmt einen Satz auf, für den Ihr 10-15 Sekunden braucht. Den speichert Ihr auf Eurer Platte als WAV File ab und in einer Textdatei schreibt Ihr den Satz auf.

Nun könnt Ihr bei „Text to Generate“ den gewünschten Text eingeben und drückt dann auf „Synthesize„. Es rattert dann etwas im Grafikkartenlüfter und X Sekunden später wirft er Euch unten das erzeugt Sprachfile ab und Ihr könnt es abspielen oder abspeichern.

Wie macht man jetzt eine Sprachausgabe daraus?

Als erstes bauen wir uns einen Bash-Wrapper, der eine Korrekturen am Text vornimmt und das Caching der Audiofiles managed, damit man den gleichen Satz nicht immer wieder neu erzeugen muß:

#!/bin/bash

NOCACHE=0

if [ "$1" == "--nocache" ]; then
 NOCACHE=1
 shift
fi

TEXT=$(echo "$2" | sed -r 's/\.([^ $])/\1/g' | sed -r 's/,([^ $])/ komma \1/g')

if ! [[ "$TEXT" =~ !$ ]]; then
 if ! [[ "$TEXT" =~ \?$ ]]; then
  if ! [[ "$TEXT" =~ \.$ ]]; then
   TEXT="$TEXT."
  fi
 fi
fi

HASH=$(echo "$1$TEXT"| sha256sum | sed -e "s/ .*$//g")

echo "$HOME/.cache/pva/audio/$HASH.mp3"

if [ -e $HOME/.cache/pva/audio/$HASH.mp3 ];then

 play $HOME/.cache/pva/audio/$HASH.mp3 tempo 1 >/dev/null 2>/dev/null

else

 port=$(env LANG=C netstat -lnap 2>/dev/null| grep -c 127.0.0.1:7860.*LISTEN)
 if [ "$port" -eq 0 ]; then
  echo "starting F5-TTS service"
  f5-tts_infer-gradio & 2>&1 1>/dev/null
  sleep 16
 fi

 genfile=$(f5tts.py $1 "$2" |grep -v -E "(Loaded|ref_text|gen_text)" )

 if [ "$NOCACHE" -eq "0" ]; then 
  lame -V 5 -b 64 -B 224 $genfile $HOME/.cache/pva/audio/$HASH.mp3 >/dev/null 2>/dev/null
 fi
 rm -f $genfile

fi

Die grünmarkierten Stellen müßt Ihr ggf. anpassen, weil das bei Euch mit dem Start schneller oder langsamer geht und Ihr vielleicht auch einen anderen Namen für das folgende Pythonprogramm haben wollt:

#!/usr/bin/python3

from gradio_client import Client, handle_file

import sys
import os

n = len(sys.argv)

if ( n == 2 ):
	audio=handle_file('/home/marius/Programme/F5-TTS/Stimmen/default.wav')
	file = open('/home/marius/Programme/F5-TTS/Stimmen/default.txt',"r")
	rtext= file.readline()
	file.close()
	text=sys.argv[1]
else:
	audio=handle_file('/home/marius/Programme/F5-TTS/Stimmen/'+ sys.argv[1] +'.wav')
	file = open('/home/marius/Programme/F5-TTS/Stimmen/'+ sys.argv[1] +'.txt',"r")
	rtext= file.readline()
	file.close()
	text=sys.argv[2]

client = Client("http://127.0.0.1:7860/")
result = client.predict(
		new_choice="F5-TTS",
		api_name="/switch_tts_model"
)
# print(result)
result = client.predict(
		custom_ckpt_path="/home/marius/Programme/F5-TTS/marduk-german/f5_tts_german_1010000.safetensors",
		custom_vocab_path="/home/marius/Programme/F5-TTS/marduk-german/vocab.txt",
		api_name="/set_custom_model"
)

# print(result)
result = client.predict(
		ref_audio_input=audio,
		ref_text_input=rtext,
		gen_text_input=text,
		remove_silence=False,
		cross_fade_duration_slider=0.15,
		speed_slider=1,
		api_name="/basic_tts"
)
print(result[0])
os.system( "play '"+ result[0] +"' 2>/dev/null");

Das Pythonprogramm nimmt zwei Argumente an: Stimmenbasisname und den Text den man sprechen will.

Das mit den Basisnamen ist leicht erklärt:

$ ls -la Programme/F5-TTS/Stimmen/
insgesamt 48032
drwxr-xr-x.  2 marius marius     4096 16. Dez 21:19  .
drwxrwxr-x. 15 marius marius     4096 12. Dez 14:47  ..
-rw-rw-r--.  1 marius marius      184  9. Dez 18:10  default.txt
-rw-r--r--.  1 marius marius  1772176  9. Dez 18:10  default.wav
-rw-r--r--.  1 marius marius      136  7. Dez 23:14  DMorty.txt
-rw-r--r--.  1 marius marius  1159248  7. Dez 20:17  DMorty.wav
-rw-r--r--.  1 marius marius      179  7. Dez 20:23  DRick.txt
-rw-r--r--.  1 marius marius  1628108  7. Dez 20:24  DRick.wav
-rw-rw-r--.  1 marius marius      109  9. Dez 17:20  Marius.txt
-rw-------.  1 marius marius  1003864  9. Dez 18:35  Marius.wav

Ein Pärchen WAV und TXT Datei hat einfach den gleichen Anfangsnamen. So brauch man sich keine Dateinamen zu übergeben. Ihr setzt jetzt noch die Ausführungsrechte und seid fertig.

Verbesserungspotential

Ab und zu müßt Ihr mal was doppelt schreiben, weil das einfach weggelassen wird.

Wenn man ein gutes Ergebnis haben will, muß man auch eine Aufnahme der Stimme in  Studioqualität nehmen.

„Viel“ hilft hier nicht weiter. 15s sind echt Max.

Die Zukunft wird schlimmer

Leider muß ich Euch jetzt viel Spaß wünschen, weil es einfach irre lustig war damit rumzuspielen. „Leider“ hat da soviel Missbrauchspotential, daß einem schlecht wird, wenn man mal darüber nachdenkt. Alleine schon in Firmen wird das beim Social Engineering so richtig einschlagen, weil man jetzt am Telefon die Stimme einer Person aus dem Unternehmen benutzen kann. Auch im Bankwesen ist der eine Katastrophe: die Nord/LB z.b. will eine Stimmbestätigung, wenn ein Sachbearbeiter im Auftrag des anrufenden Kunden was ändern soll. Jetzt ratet mal , was man da sagen soll : „Ja ich will, daß Sie … ändern.“  Mit F5 ist das ja jetzt wohl ein Witz als Absicherung.

Es wird ernsthaft vorgeschlagen ein Sicherheits/Erkennungswort in Familien auszuhandeln, um am Telefon Betrüger leichter zu entlarven!

Mahnende letzte Worte

1. Mit Eurer Stimme könnt ihr machen was Ihr wollt.
2. Mit Stimmen von anderen Menschen könnt Ihr für Euch zu Hause rumspielen, aber öffentlich zur Schaustellen dürfte mit ziemlicher Sicherheit ein Problem darstellen, wenn die Kopie sehr gut ist.
3. Die Stimme eines Dritten zu benutzen um andere zu schädigen, stellt garantiert eine doppelte Straftat dar.

4. Das Sicherheitswort „Seegurke“ ist schon von allen anderen Rick&Morty Fans belegt, denkt Euch was eigenes aus 😉

Links:

[1] https://github.com/SWivid/F5-TTS
[2] https://huggingface.co/marduk-ra/F5-TTS-German/tree/main

Fedora Kernel 6.11.11 crasht auf einigen Geräten beim Booten

Treue Leser wissen, daß ich ein TerraPad Tablet mit Linux drauf habe. Da wurde der neue Kernel 6.11.11 gebootet, was in einem fatalen Misserfolg geendet hat:

Dez 13 01:42:14 fedora kernel: watchdog: BUG: soft lockup – CPU#9 stuck for 52s! [kworker/9:4:347]
Dez 13 01:42:14 fedora kernel: CPU#9 Utilization every 4s during lockup:
Dez 13 01:42:14 fedora kernel: #1: 101% system, 0% softirq, 0% hardirq, 0% idle
Dez 13 01:42:14 fedora kernel: #2: 100% system, 0% softirq, 0% hardirq, 0% idle
Dez 13 01:42:14 fedora kernel: #3: 100% system, 0% softirq, 0% hardirq, 0% idle
Dez 13 01:42:14 fedora kernel: #4: 100% system, 0% softirq, 0% hardirq, 0% idle
Dez 13 01:42:14 fedora kernel: #5: 101% system, 0% softirq, 1% hardirq, 0% idle
Dez 13 01:42:14 fedora kernel: Modules linked in: nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables qrtr sunrpc bnep binfmt_misc vfat fat snd_sof_pci_intel_tgl snd_sof_pci_intel_cnl snd_sof_intel_hda_generic soundwire_intel soundwire_cadence snd_sof_intel_hda_common snd_sof_intel_hda_mlink snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp iwlmvm snd_sof snd_hda_codec_hdmi snd_sof_utils snd_soc_hdac_hda snd_soc_acpi_intel_match soundwire_generic_allocation snd_soc_acpi soundwire_bus snd_hda_codec_realtek snd_soc_avs mac80211 snd_hda_codec_generic snd_soc_hda_codec snd_hda_ext_core snd_hda_scodec_component snd_soc_core intel_uncore_frequency intel_uncore_frequency_common libarc4 x86_pkg_temp_thermal snd_compress intel_powerclamp ac97_bus snd_pcm_dmaengine coretemp snd_hda_intel snd_intel_dspcfg kvm_intel snd_intel_sdw_acpi intel_ipu6_isys snd_hda_codec
Dez 13 01:42:14 fedora kernel: btusb videobuf2_dma_contig btrtl videobuf2_memops videobuf2_v4l2 kvm snd_hda_core iwlwifi videobuf2_common snd_hwdep btintel iTCO_wdt spi_nor snd_seq intel_pmc_bxt btbcm snd_seq_device mtd mei_pxp mei_hdcp iTCO_vendor_support rapl btmtk joydev intel_rapl_msr snd_pcm processor_thermal_device_pci cfg80211 processor_thermal_device intel_cstate bluetooth snd_timer processor_thermal_wt_hint intel_uncore snd spi_intel_pci wmi_bmof i2c_i801 mei_me processor_thermal_rfim pcspkr i2c_smbus soundcore spi_intel idma64 processor_thermal_rapl mei mxc4005 rtsx_usb_ms intel_ipu6 rfkill intel_rapl_common industrialio_triggered_buffer processor_thermal_wt_req ipu_bridge memstick kfifo_buf igen6_edac processor_thermal_power_floor processor_thermal_mbox industrialio goodix_ts int3403_thermal intel_skl_int3472_tps68470 soc_button_array int340x_thermal_zone ov2740 v4l2_fwnode intel_pmc_core tps68470_regulator v4l2_async clk_tps68470 intel_hid intel_vsec int3400_thermal sparse_keymap dptf_power pmt_telemetry acpi_thermal_rel
Dez 13 01:42:14 fedora kernel: intel_skl_int3472_discrete pmt_class acpi_tad acpi_pad v4l2loopback(OE) videodev mc loop nfnetlink zram dm_crypt xe drm_ttm_helper gpu_sched drm_suballoc_helper drm_gpuvm drm_exec mmc_block rtsx_usb_sdmmc mmc_core rtsx_usb i915 crct10dif_pclmul crc32_pclmul crc32c_intel i2c_algo_bit polyval_clmulni drm_buddy polyval_generic ttm nvme ghash_clmulni_intel drm_display_helper sha512_ssse3 nvme_core sha256_ssse3 sha1_ssse3 cec nvme_auth video wmi pinctrl_tigerlake serio_raw i2c_dev fuse
Dez 13 01:42:14 fedora kernel: CPU: 9 UID: 0 PID: 347 Comm: kworker/9:4 Tainted: G D W OEL 6.11.11-300.fc41.x86_64 #1
Dez 13 01:42:14 fedora kernel: Tainted: [D]=DIE, [W]=WARN, [O]=OOT_MODULE, [E]=UNSIGNED_MODULE, [L]=SOFTLOCKUP
Dez 13 01:42:14 fedora kernel: Hardware name: Wortmann_AG 1220142;1470536/S1203i512, BIOS WHJ-BI-123-SF133ALR110-S8GB-328-G 10/31/2023
Dez 13 01:42:14 fedora kernel: Workqueue: events netstamp_clear
Dez 13 01:42:14 fedora kernel: RIP: 0010:smp_call_function_many_cond+0x12b/0x540
Dez 13 01:42:14 fedora kernel: Code: 36 48 63 e8 49 8b 1c 24 48 81 fd 00 20 00 00 0f 83 db 03 00 00 48 03 1c ed 20 1e cc b2 8b 53 08 48 89 de 83 e2 01 74 0a f3 90 <8b> 4e 08 83 e1 01 75 f6 83 c0 01 eb af 48 83 c4 38 5b 5d 41 5c 41
Dez 13 01:42:14 fedora kernel: RSP: 0000:ffffc22040533d70 EFLAGS: 00000202
Dez 13 01:42:14 fedora kernel: RAX: 0000000000000001 RBX: ffff9cdb8f6bee20 RCX: 0000000000000001
Dez 13 01:42:14 fedora kernel: RDX: 0000000000000001 RSI: ffff9cdb8f6bee20 RDI: ffff9cda0018cc58
Dez 13 01:42:14 fedora kernel: RBP: 0000000000000001 R08: 0000000000000001 R09: ffff9cda0018c040
Dez 13 01:42:14 fedora kernel: R10: 0000000000000007 R11: 0000000000000000 R12: ffff9cdb8fab7b00
Dez 13 01:42:14 fedora kernel: R13: ffff9cda0018c040 R14: 0000000000000009 R15: 0000000000000001
Dez 13 01:42:14 fedora kernel: FS: 0000000000000000(0000) GS:ffff9cdb8fa80000(0000) knlGS:0000000000000000
Dez 13 01:42:14 fedora kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Dez 13 01:42:14 fedora kernel: CR2: 0000557beae29360 CR3: 00000001f442a000 CR4: 0000000000f50ef0
Dez 13 01:42:14 fedora kernel: PKRU: 55555554
Dez 13 01:42:14 fedora kernel: Call Trace:
Dez 13 01:42:14 fedora kernel: <IRQ>
Dez 13 01:42:14 fedora kernel: ? watchdog_timer_fn.cold+0x233/0x311
Dez 13 01:42:14 fedora kernel: ? __pfx_watchdog_timer_fn+0x10/0x10
Dez 13 01:42:14 fedora kernel: ? __hrtimer_run_queues+0x113/0x280
Dez 13 01:42:14 fedora kernel: ? ktime_get+0x3e/0xf0
Dez 13 01:42:14 fedora kernel: ? hrtimer_interrupt+0xfa/0x210
Dez 13 01:42:14 fedora kernel: ? __sysvec_apic_timer_interrupt+0x52/0x100
Dez 13 01:42:14 fedora kernel: ? sysvec_apic_timer_interrupt+0x6c/0x90
Dez 13 01:42:14 fedora kernel: </IRQ>
Dez 13 01:42:14 fedora kernel: <TASK>
Dez 13 01:42:14 fedora kernel: ? asm_sysvec_apic_timer_interrupt+0x1a/0x20
Dez 13 01:42:14 fedora kernel: ? smp_call_function_many_cond+0x12b/0x540
Dez 13 01:42:14 fedora kernel: ? __pfx_do_sync_core+0x10/0x10
Dez 13 01:42:14 fedora kernel: on_each_cpu_cond_mask+0x24/0x40
Dez 13 01:42:14 fedora kernel: text_poke_bp_batch+0xc1/0x300
Dez 13 01:42:14 fedora kernel: ? arch_jump_label_transform_queue+0x57/0x80
Dez 13 01:42:14 fedora kernel: text_poke_finish+0x1f/0x30
Dez 13 01:42:14 fedora kernel: arch_jump_label_transform_apply+0x1a/0x30
Dez 13 01:42:14 fedora kernel: static_key_enable_cpuslocked+0x63/0x90
Dez 13 01:42:14 fedora kernel: static_key_enable+0x1a/0x20
Dez 13 01:42:14 fedora kernel: process_one_work+0x176/0x330
Dez 13 01:42:14 fedora kernel: worker_thread+0x252/0x390
Dez 13 01:42:14 fedora kernel: ? __pfx_worker_thread+0x10/0x10
Dez 13 01:42:14 fedora kernel: kthread+0xcf/0x100
Dez 13 01:42:14 fedora kernel: ? __pfx_kthread+0x10/0x10
Dez 13 01:42:14 fedora kernel: ret_from_fork+0x31/0x50
Dez 13 01:42:14 fedora kernel: ? __pfx_kthread+0x10/0x10
Dez 13 01:42:14 fedora kernel: ret_from_fork_asm+0x1a/0x30
Dez 13 01:42:14 fedora kernel: </TASK>
Dez 13 01:42:14 fedora kernel: watchdog: BUG: soft lockup – CPU#8 stuck for 48s! [rcu_exp_gp_kthr:20]
Dez 13 01:42:14 fedora kernel: CPU#8 Utilization every 4s during lockup:
Dez 13 01:42:14 fedora kernel: #1: 101% system, 0% softirq, 0% hardirq, 0% idle
Dez 13 01:42:14 fedora kernel: #2: 100% system, 0% softirq, 0% hardirq, 0% idle
Dez 13 01:42:14 fedora kernel: #3: 100% system, 0% softirq, 0% hardirq, 0% idle
Dez 13 01:42:14 fedora kernel: #4: 100% system, 0% softirq, 1% hardirq, 0% idle
Dez 13 01:42:14 fedora kernel: #5: 101% system, 0% softirq, 0% hardirq, 0% idle
Dez 13 01:42:14 fedora kernel: Modules linked in: nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables qrtr sunrpc bnep binfmt_misc vfat fat snd_sof_pci_intel_tgl snd_sof_pci_intel_cnl snd_sof_intel_hda_generic soundwire_intel soundwire_cadence snd_sof_intel_hda_common snd_sof_intel_hda_mlink snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp iwlmvm snd_sof snd_hda_codec_hdmi snd_sof_utils snd_soc_hdac_hda snd_soc_acpi_intel_match soundwire_generic_allocation snd_soc_acpi soundwire_bus snd_hda_codec_realtek snd_soc_avs mac80211 snd_hda_codec_generic snd_soc_hda_codec snd_hda_ext_core snd_hda_scodec_component snd_soc_core intel_uncore_frequency intel_uncore_frequency_common libarc4 x86_pkg_temp_thermal snd_compress intel_powerclamp ac97_bus snd_pcm_dmaengine coretemp snd_hda_intel snd_intel_dspcfg kvm_intel snd_intel_sdw_acpi intel_ipu6_isys snd_hda_codec
Dez 13 01:42:14 fedora kernel: btusb videobuf2_dma_contig btrtl videobuf2_memops videobuf2_v4l2 kvm snd_hda_core iwlwifi videobuf2_common snd_hwdep btintel iTCO_wdt spi_nor snd_seq intel_pmc_bxt btbcm snd_seq_device mtd mei_pxp mei_hdcp iTCO_vendor_support rapl btmtk joydev intel_rapl_msr snd_pcm processor_thermal_device_pci cfg80211 processor_thermal_device intel_cstate bluetooth snd_timer processor_thermal_wt_hint intel_uncore snd spi_intel_pci wmi_bmof i2c_i801 mei_me processor_thermal_rfim pcspkr i2c_smbus soundcore spi_intel idma64 processor_thermal_rapl mei mxc4005 rtsx_usb_ms intel_ipu6 rfkill intel_rapl_common industrialio_triggered_buffer processor_thermal_wt_req ipu_bridge memstick kfifo_buf igen6_edac processor_thermal_power_floor processor_thermal_mbox industrialio goodix_ts int3403_thermal intel_skl_int3472_tps68470 soc_button_array int340x_thermal_zone ov2740 v4l2_fwnode intel_pmc_core tps68470_regulator v4l2_async clk_tps68470 intel_hid intel_vsec int3400_thermal sparse_keymap dptf_power pmt_telemetry acpi_thermal_rel
Dez 13 01:42:14 fedora kernel: intel_skl_int3472_discrete pmt_class acpi_tad acpi_pad v4l2loopback(OE) videodev mc loop nfnetlink zram dm_crypt xe drm_ttm_helper gpu_sched drm_suballoc_helper drm_gpuvm drm_exec mmc_block rtsx_usb_sdmmc mmc_core rtsx_usb i915 crct10dif_pclmul crc32_pclmul crc32c_intel i2c_algo_bit polyval_clmulni drm_buddy polyval_generic ttm nvme ghash_clmulni_intel drm_display_helper sha512_ssse3 nvme_core sha256_ssse3 sha1_ssse3 cec nvme_auth video wmi pinctrl_tigerlake serio_raw i2c_dev fuse
Dez 13 01:42:14 fedora kernel: CPU: 8 UID: 0 PID: 20 Comm: rcu_exp_gp_kthr Tainted: G D W OEL 6.11.11-300.fc41.x86_64 #1
Dez 13 01:42:14 fedora kernel: Tainted: [D]=DIE, [W]=WARN, [O]=OOT_MODULE, [E]=UNSIGNED_MODULE, [L]=SOFTLOCKUP
Dez 13 01:42:14 fedora kernel: Hardware name: Wortmann_AG 1220142;1470536/S1203i512, BIOS WHJ-BI-123-SF133ALR110-S8GB-328-G 10/31/2023
Dez 13 01:42:14 fedora kernel: RIP: 0010:smp_call_function_single+0xe9/0x140
Dez 13 01:42:16 fedora systemd[2110]: org.gnome.Shell@wayland.service: State ’stop-watchdog‘ timed out. Killing.
Dez 13 01:42:16 fedora systemd[2110]: org.gnome.Shell@wayland.service: Killing process 2269 (gnome-shell) with signal SIGKILL.
Dez 13 01:42:16 fedora systemd[2110]: org.gnome.Shell@wayland.service: Killing process 2291 (pool-spawner) with signal SIGKILL.
Dez 13 01:42:16 fedora systemd[2110]: org.gnome.Shell@wayland.service: Killing process 2292 (gmain) with signal SIGKILL.
Dez 13 01:42:16 fedora systemd[2110]: org.gnome.Shell@wayland.service: Killing process 2294 (gdbus) with signal SIGKILL.
Dez 13 01:42:16 fedora systemd[2110]: org.gnome.Shell@wayland.service: Killing process 2295 (dconf worker) with signal SIGKILL.

Fedora Kernel 6.11.11 crasht auf einigen Geräten beim Booten

Zum Glück für alle Linuxuser gibts es mehr als einen Kernel auf so einem System, daher bekommt man derartige Probleme leicht wieder in den Griff. Da ein Boot mit einem alten Kernel ( einfachste Option das zu lösen ) Fedora, den Kernel und die neue ov2740 Version nicht weiterbringen, habe ich auf anraten Kernel 6.13.0 ausprobiert. OP SUCCESS \o/

Der Kernel bootet fehlerfrei, nur leider immer noch den ungefixten ov2740 Kameratreiber 🙁

Zu dem Schlamassel gibt es dann auch einen Eintrag von Hans De Goede: https://hansdegoede.dreamwidth.org/29039.html

Alle Kernel 6.11.11 – 6.12.4 sind betroffen, 6.12.5 soll das beheben. Also macht einfach solange mit dem 6.11.10 Kernel weiter, bis 6.12.5 oder gleich 6.13 kommt, je nach dem 😉

TerraPad: Fedora mit First Light \o/

Wer die Sache mit dem Kameras auf dem TerraPad verfolgt hat, weiß ja, daß heute eine Debugsession mit Hans de Goede läuft. Eine partiell erfolgreiche Sitzung 😀

TerraPad: Fedora mit First Light \o/

der Angriff auf die Frontkamera des ov2740 Chipduos war erfolgreich, wir haben ein Bild!

Stand 12:30 Uhr:

Was wir nicht haben ist ein zweiter Sensor, weil Sensor #1 auf zwei I2C Adressen antwortet, statt nur auf einer antwortet.

Stand 12:50 Uhr:

Wir haben zwei funktionierende Sensoren!

Es fehlt noch die Chipkalibrierung für Weißabgleich und dererlei Dinge, aber das müssen jetzt andere liefern.

Ich habe mich da mal selbst videokonferenzt 😉

Schon spannend, wie WEBRTC das Gerausche platt macht. Di9e Chips scheinen entweder Fehler zu haben oder das Post-Processing ist fehlerhaft. Es gibt so etwas wie tote Pixel, und das sollte nun gar nicht sein. Schaut mal links(Terrapad) genauer hin: rote und grüne feste Pixel.

Die beiden Cams kann Firefox übrigens gleichzeitig ansprechen, wie sich rausstellte.

Großen Dank an Hans de Goede!

Und jetzt zur Releaseparty des Kerneldrivers fahren.. bis später 😉