Skip Navigation
how to sperate headphones from laptop speakers as two seperate enteties
  • I want to for exemple even when my headphones are plugged have the ablility to play audio through my speakers using qpwgraph and stuff like that its just a cool little thing I wanted to do also you can't do that in pavucontrol natively when you plug in headphones its as if your speaker doesn't exist you can't for example play the same audio on your headphones and speakers at the same time or play different audio its relatively niche kinda thing but its handy for the few times I needed it to be honest

  • how to sperate headphones from laptop speakers as two seperate enteties

    might be helpful cross-posted from: https://lemmy.ml/post/9547307

    > so since I digged pretty hard to find what is a ucm profile and how to seperate headphones from speakers in pipewire and alsa > so yeah heres a guide > first of all > these are my sources: > > https://github.com/luisbocanegra/linux-guide-split-audio-ports > https://www.reactivated.net/writing_udev_rules.html > https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3556 > https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3552 > > you need a custom ucm profile > use this command since its helpful > lspci -nn -vvv > > SUBSYSTEM!="sound", GOTO="pipewire_end" > ACTION!="change", GOTO="pipewire_end" > KERNEL!="card*", GOTO="pipewire_end" > > ATTRS{subsystem_vendor}=="0x103c", ATTRS{subsystem_device}=="0x8742", ENV{ACP_PROFILE_SET}="custom.conf" > > LABEL="pipewire_end" > > and than create a file in /usr/share/alsa-card-profile/mixer/profile-sets/custom.conf > and yeah I guess > > https://www.freedesktop.org/wiki/Software/PulseAudio/Backends/ALSA/Profiles/ > > and this especially > > https://github.com/luisbocanegra/linux-guide-split-audio-ports > > they helped a lot > > > [General] > auto-profiles = yes > > [Mapping headphones] > device-strings= hw:0,2 > channel-map = left,right > paths-output = behe-headphones > paths-input = analog-input-headphone-mic analog-input-headset-mic > priority = 20 > > [Mapping speaker] > device-strings= hw:0,0 > channel-map = left,right > paths-output = behe-speaker > paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic > priority = 18 > > [Profile help] > input-mappings = speaker headphones > output-mappings = speaker headphones > description = both_both_is_good > skip-probe = yes > priority = 100 > > .include 9999-custom.conf > > and yes that was my custom.conf and yes just reboot now and you are set > btw no need to touch hdajackretask > and that idor 0,2 and 0,0 > I just switched profile to proaudio and than ran pactl list sinks short and took the ids from there I am basically following the guides and mimicking /usr/share/alsa-card-profile/mixer/profile-sets/default.conf to be completely honest yes thats all

    3
    how to sperate headphones from laptop speakers as two seperate enteties

    might be helpful to someone so here we are cross-posted from: https://lemmy.ml/post/9547307

    > so since I digged pretty hard to find what is a ucm profile and how to seperate headphones from speakers in pipewire and alsa > so yeah heres a guide > first of all > these are my sources: > > https://github.com/luisbocanegra/linux-guide-split-audio-ports > https://www.reactivated.net/writing_udev_rules.html > https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3556 > https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3552 > > you need a custom ucm profile > use this command since its helpful > lspci -nn -vvv > > SUBSYSTEM!="sound", GOTO="pipewire_end" > ACTION!="change", GOTO="pipewire_end" > KERNEL!="card*", GOTO="pipewire_end" > > ATTRS{subsystem_vendor}=="0x103c", ATTRS{subsystem_device}=="0x8742", ENV{ACP_PROFILE_SET}="custom.conf" > > LABEL="pipewire_end" > > and than create a file in /usr/share/alsa-card-profile/mixer/profile-sets/custom.conf > and yeah I guess > > https://www.freedesktop.org/wiki/Software/PulseAudio/Backends/ALSA/Profiles/ > > and this especially > > https://github.com/luisbocanegra/linux-guide-split-audio-ports > > they helped a lot > > > [General] > auto-profiles = yes > > [Mapping headphones] > device-strings= hw:0,2 > channel-map = left,right > paths-output = behe-headphones > paths-input = analog-input-headphone-mic analog-input-headset-mic > priority = 20 > > [Mapping speaker] > device-strings= hw:0,0 > channel-map = left,right > paths-output = behe-speaker > paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic > priority = 18 > > [Profile help] > input-mappings = speaker headphones > output-mappings = speaker headphones > description = both_both_is_good > skip-probe = yes > priority = 100 > > .include 9999-custom.conf > > and yes that was my custom.conf and yes just reboot now and you are set > btw no need to touch hdajackretask > and that idor 0,2 and 0,0 > I just switched profile to proaudio and than ran pactl list sinks short and took the ids from there I am basically following the guides and mimicking /usr/share/alsa-card-profile/mixer/profile-sets/default.conf to be completely honest yes thats all

    2
    how to sperate headphones from laptop speakers as two seperate enteties

    so since I digged pretty hard to find what is a ucm profile and how to seperate headphones from speakers in pipewire and alsa so yeah heres a guide first of all these are my sources:

    https://github.com/luisbocanegra/linux-guide-split-audio-ports

    https://www.reactivated.net/writing_udev_rules.html

    https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3556

    https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3552

    you need a custom ucm profile use this command since its helpful lspci -nn -vvv ``` SUBSYSTEM!="sound", GOTO="pipewire_end" ACTION!="change", GOTO="pipewire_end" KERNEL!="card*", GOTO="pipewire_end"

    ATTRS{subsystem_vendor}=="0x103c", ATTRS{subsystem_device}=="0x8742", ENV{ACP_PROFILE_SET}="custom.conf"

    LABEL="pipewire_end" ``` and than create a file in /usr/share/alsa-card-profile/mixer/profile-sets/custom.conf and yeah I guess

    https://www.freedesktop.org/wiki/Software/PulseAudio/Backends/ALSA/Profiles/

    and this especially

    https://github.com/luisbocanegra/linux-guide-split-audio-ports

    they helped a lot

    ``` [General] auto-profiles = yes

    [Mapping headphones] device-strings= hw:0,2 channel-map = left,right paths-output = behe-headphones paths-input = analog-input-headphone-mic analog-input-headset-mic priority = 20

    [Mapping speaker] device-strings= hw:0,0 channel-map = left,right paths-output = behe-speaker paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic priority = 18

    [Profile help] input-mappings = speaker headphones output-mappings = speaker headphones description = both_both_is_good skip-probe = yes priority = 100

    .include 9999-custom.conf ``` and yes that was my custom.conf and yes just reboot now and you are set btw no need to touch hdajackretask and that idor 0,2 and 0,0 I just switched profile to proaudio and than ran pactl list sinks short and took the ids from there I am basically following the guides and mimicking /usr/share/alsa-card-profile/mixer/profile-sets/default.conf to be completely honest yes thats all

    -=-=-=-==-==--==

    very fast update you actually have to enable indep_hp in hdajackretask btw fun fact you can apply now and test after killing wireplumber so don't forget to do that don't reboot over and over again (I am talking to myself here mostly also enable indep_hd using alsamixer after you do so in hdajackretask) and yes thats all peace

    0
    my lid is being detected as a keyboard button
  • update so after realising I have ACPI: button: The lid device is not compliant to SW_LID. in my logs I found a couple of bug reports in the kernel https://bugzilla.kernel.org/show_bug.cgi?id=192231 https://bugzilla.kernel.org/show_bug.cgi?id=202421

    so I guess this can be as well a kernel issue

    so I made a bug report in the arch linux bug reporter: https://bbs.archlinux.org/viewtopic.php?pid=2119116

    so yeah I guess and I hope someone understand the problem fix it with udev or the linux kernel directly or at least give me the steps to do so anyway yeah that's all

    and I guess if this plan didn't work I have to learn C to fix the issue

  • my lid is being detected as a keyboard button
  • there is one problem with those links they are forcing a whole device to be another device and I just want the key with scan code d7 to be state 0 of SW_LID and d8 to be state 1

    and fixing this issue in the udev level will automatically fix everything like I will finally be able to use logind.conf

    yeah read that bug report and to be honest I don't understand the developer standpoint like sorry at least give where can I find the documentation for udev rules

    • even if I use libinput these are the id_input available: ID_INPUT_KEYBOARD, ID_INPUT_KEY, ID_INPUT_MOUSE, ID_INPUT_TOUCHPAD, ID_INPUT_TOUCHSCREEN, ID_INPUT_TABLET, ID_INPUT_JOYSTICK, ID_INPUT_ACCELEROMETER

    and there is no lid one so yeah I don't know is this problem unfixable with udev rules alone + I made this whole thread just to not make that bug report one of the other 1.9k other open ones except the fact that I wanna improve my experience with linux

    +_+

  • how to create scripts that run on random stuff
  • basically I guess this bug report will explain everything: https://github.com/systemd/systemd/issues/28942 and I made this post as a followup: https://lemmy.ml/post/4441946

    • basically in my laptop I have 3 problems pressing fn+f2/3 (supposedly brightness keys) it gives the same scan code and I am lost on how to give one of them up and the other down brightness second problem fn+f12 (basically the airport mode aka stop wifi) it doesn't even give a scancode in the first place third problem and the biggest is explained in that bug report and if you have any idea how to deal with this help I guess

    and how did I set up the different sinks to headphone and speakers basically just used hdajackretask to make it so idep_hp = yes and then rebooted my laptop and yeah that was basically it and I am in the process of writing a script to change between the two sinks on the fly

  • my lid is being detected as a keyboard button

    yes I talked to the developers and well I guess I am supposed to figure it out myself but I don't know how so I am basically seeking help here this is the bug report: https://github.com/systemd/systemd/issues/28942

    I guess I should post my own pr but I have no idea how to say to udev that the key specified as d8 is actually the lid being closed and the key specified as d7 is actually the lid being open

    basically yes I am a noob and a helpful response will be just a documentation page to show me where can I begin to fix this problem

    6
    wrong assigned udev event
  • so this is the output for the fn+f2/3 "[32752.594169] atkbd serio0: Use 'setkeycodes e02b ' to make it known. [32752.599005] atkbd serio0: Unknown key released (translated set 2, code 0xab on isa0060/serio0)."

    and the output for the closing lid "[32780.534749] atkbd serio0: Use 'setkeycodes e058 ' to make it known. [32780.538013] atkbd serio0: Unknown key released (translated set 2, code 0xd8 on isa0060/serio0)."

    my question is isn't closing the lid is already assigned to "button/wlan WLAN 00000080 00000000 K" (output from acpi_listen)

    • so what should I do now
    • this part is actually unclear

    "You can find the appropriate evdev:* information by running sudo udevadm test /dev/input/eventX where eventX is the evdev fd for the device in question. evtest will show you the names."

    basically how to actually do something like this MSC_KEY_d7=lid MSC_KEY_ab=brightness_thingies

    • yeah thanks
  • wrong assigned udev event

    basically each of the following: fn+f2 or fn+f3 (not even being recognised by evtest ) and the lid being closed or opened is being reported as "Event: time 1692812642.988180, type 1 (EV_KEY), code 238 (KEY_WLAN), value 1".

    so I though about remapping "Event: time 1692812642.988180, type 4 (EV_MSC), code 4 (MSC_SCAN), value d7" as the closing lid thingy

    the same for fn+f2 and fn+f3 (increase and decrease brightness) I have to remap this "Event: time 1692812647.457821, type 4 (EV_MSC), code 4 (MSC_SCAN), value ab" so my question is I can remap the keyboard here 60-keyboard.hwdb but where can I remap the ev_msc stuff

    basically all this to say I want to tell udev that the msc this with id d7 is actually the toggle for closing the lid and the msc thing with id ab are actually the two buttons that increase and decrease brightness and yeah that's all

    4
    how to create scripts that run on random stuff
  • thanks for the idea it actually got me to find something so I am going to use "acpi_listen" I guess its a deamon for acpi the funny thing is closing the lid counts as "button/wlan WLAN 00000080 00000000 K" so I am positive linux or the kernel thinks that closing the lid is pressing the wiki toggle button (that's the current behaviour btw) so I guess the next step is to just find out how can I make the kernel think that closing the lid is actually closing the lid lol

    anyway thanks for the help stranger

  • how to create scripts that run on random stuff

    so I want to create two scripts

    • first one that basically runs "systemctl suspend" when the lid is closed basically the default behavior doesn't work for some reason and running systemctl suspend always works so yeah you get the idea

    • since I have made the headsets aka the jack output and the default speakers each their respective sink (that's what I actually want (to have the power to put whatever I want in each sink using qpwgraph ) ) but that power comes at the cost of not switching between those respective two sinks so I just want to change I guess either the wireplumber config file or create a systemd service that runs when the jack port is plugged or unplugged

    but I am lost in both questions to be honest and wireplumber is a mystery lol - sorry for being a noob if that matters

    6
    suspend not working properly when closing lid

    so closing the lid actually stops the wifi the bluetooth but since I am using swayidle for some reson suspending by closing the lid doesn't tell swayidle to actually show up even though pressing the shutdown button which I made it suspend for tests it actually works in the shutdown button so I am guessing this is an nvidia issue I am using nvidia-dkms not even the open ones so to mitigate this issue I though about making systemd ignore it when the lid closed and just right my own script when runs when the system suspends which is basically just systemctl suspend so any ideas

    UPDATE_1: yes I wanted to add that I thoroughly checked "journalctl --system" and it was not helpful at all it seems my laptop sends an unknown key that correspends to other laptops tablet mode and that is funny since my laptop has none

    well and systemd basically rfkill soft block wifi and doesn't actually enable it again when the lid is open so yeah I guess the solution I gave is fair enough I guess

    1
    problem launching brawlhala

    the game will basically show the load screen and not porceed to show anything else it used to launch without launch options and making it use wine3d using a launch option will not work can any of you actuallly run it this is blatantly confusing I tested using proton 8-03 and proton hot fix and experimental

    0
    clarification about private trackers (obv noob)
  • so after reading the wiki and that phrase multiple times so I should have like 50 torrents that I stopped seeding without meeting the 1:1 or the 10 days requirement before receiving that warming and if I have like only 1 torrent and go in 3 month trip then open my qbittorrent again it will be seeding again and that hit and run reminder will be gone ok then I can work with this system lol sine most of what I download is already like above the 14Gb mark which I guess the freeleech torrent mard

    • about not downloading a torrent to 100% my question is I found a torrent for a whole season of some random tv show it is marked as freeleech thoratically speaking I can just download episode 1 through 5 for example and leave the others like uncheck the files will that count as me downloading a percentage of the torrent or the full 100% if it's a percentage well that means the 10 days rule don't count on me so I am required to seed to the 1:1 ratio in that instance right do they also track how much you downloaded in each torrent
  • clarification about private trackers (obv noob)
  • so will like me coming back to my computer after that 23 hour mark the torrent will not be seeding for exemple I download inception and for get about it existing after a month I got in a 2 day vacation the torrent will not be seeding after that vacation and yeah that's a weired system

    and if torretleech isn't for me and I am surely not gonna get that seedbox you guys are talking about since it's so expensive in my country and I don't have a gb internet connection lol it's 2 mbytes maximum lol then what are the other private torrents that I got a chance with

    basically I want a private torrent that I can live in as a person with no seedbox

  • clarification about private trackers (obv noob)

    on my question about torrentleech they seem to open their doors quiet frequently so yeah I am planning to enter the next time they do my question is what are the rules actually

    • I found a post from 2 years ago and it says you have to either have a download ratio of 1:1 on the files you download or you seed them for 10 days so my question: is there a way actually to see those stats before deleting that file

    • for exemple if Ic seed like for 9 days will I still get a warning isn't there a threshhold

    • If I seed for exemple everyday for 10 hours and then shutdown my pc like any normal person than do the same thing for the next 30 days with variation in those 10 hours theoratically speaking I seeded for more than 10 days or sould I constantly seed for 10 days like my pc shouldn't shut down cause if that's the case then hate to break it to you but in some reagions electricity isn't stable

    • there is a question I always wanted to ask if you can't reupload stuff in the private repo to anywhere and they somehow will find that out then how is the stuff in the public trackers there in the first place

    • as long as the rules are not 10 days in a row I have no problem doing them since well I already have searxng always running in the background lol

    • to be honest all my torrent usage is that once in a while anime or movie and I usually keep the file until the ration is like above 1 since I don't mind

    • another question are there a lot or qualities and resolutions in torrentleech since if the file is like 20 gb I don't think I will ever reach that 1 ratio I usually go for the 1080p even 720 when the file size is huge + yeah sorry I have 500 gb ssd lol

    28
    InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)BE
    beh_93825561489 @lemmy.ml
    Posts 9
    Comments 18