Dual Monitor Issues (Secondary on the Left)

Hi, I'm using a 4K monitor as my primary one with a 1080p monitor to its left. I can't seem to get the offset to work though, Garuda's display configuration menu caps anything to the left at pos 0x0 forcing my main display the be at pos 1920x0. I searx'd it and found a topic on xrandr, so I tried to set the pos to -3840x0 for my secondary monitor but when I list them again it shows that it has instead defaulted back to pos 0x0 and instead my primary display gets shifted to the right by that amount. Please save me lol!

PS: I tried using the screen layout options too, but they didn't seem to do anything other than randomly change my main monitor or force my secondary monitor to the right which is not ideal for my setup. :frowning:

inxi -Faz

'System:    Kernel: 5.15.6-zen2-1-zen x86_64 bits: 64 compiler: gcc v: 11.1.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen root=UUID=73f46d96-0279-475c-beed-838a031cfcdc
rw [email protected] quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
systemd.unified_cgroup_hierarchy=1 loglevel=3
Desktop: KDE Plasma 5.23.4 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11 vt: 1 dm: SDDM
Distro: Garuda Linux base: Arch Linux
Machine:   Type: Desktop Mobo: Micro-Star model: B450 TOMAHAWK (MS-7C02) v: 1.0
serial: <superuser required> UEFI: American Megatrends LLC. v: 1.H5 date: 04/22/2021
CPU:       Info: 8-Core model: AMD Ryzen 7 1700 bits: 64 type: MT MCP arch: Zen family: 17 (23)
model-id: 1 stepping: 1 microcode: 8001138 cache: L1: 768 KiB L2: 4 MiB L3: 16 MiB
flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 102395
Speed: 3200 MHz min/max: N/A Core speeds (MHz): 1: 3200 2: 3200 3: 3200 4: 3200 5: 3200 6: 3200
7: 3062 8: 3200 9: 2572 10: 3200 11: 3200 12: 3200 13: 3200 14: 3165 15: 3200 16: 3200
Vulnerabilities: Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2
mitigation: Full AMD retpoline, IBPB: conditional, STIBP: disabled, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:  Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] vendor: Gigabyte driver: nvidia v: 495.44
alternate: nouveau,nvidia_drm bus-ID: 26:00.0 chip-ID: 10de:1c03 class-ID: 0300
Display: x11 server: X.Org 1.21.1.1 compositor: kwin_x11 driver: loaded: nvidia
unloaded: modesetting alternate: fbdev,nouveau,nv,vesa display-ID: :0 screens: 1
Screen-1: 0 s-res: 5760x2160 s-dpi: 152 s-size: 962x361mm (37.9x14.2") s-diag: 1028mm (40.5")
Monitor-1: HDMI-0 res: 1920x1080 hz: 60 dpi: 92 size: 531x299mm (20.9x11.8") diag: 609mm (24")
Monitor-2: DP-0 res: 3840x2160 hz: 60 dpi: 154 size: 632x360mm (24.9x14.2") diag: 727mm (28.6")
OpenGL: renderer: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2 v: 4.6.0 NVIDIA 495.44
direct render: Yes
Audio:     Device-1: NVIDIA GP106 High Definition Audio vendor: Gigabyte driver: snd_hda_intel v: kernel
bus-ID: 26:00.1 chip-ID: 10de:10f1 class-ID: 0403
Device-2: AMD Family 17h HD Audio vendor: Micro-Star MSI driver: snd_hda_intel v: kernel
bus-ID: 28:00.3 chip-ID: 1022:1457 class-ID: 0403
Device-3: Realtek Realtek Audio USB type: USB driver: snd-usb-audio bus-ID: 1-2:2
chip-ID: 0bda:4938 class-ID: 0102 serial: <filter>
Device-4: Kingston HyperX 7.1 Audio type: USB driver: hid-generic,snd-usb-audio,usbhid
bus-ID: 1-4:3 chip-ID: 0951:16a4 class-ID: 0300 serial: <filter>
Sound Server-1: ALSA v: k5.15.6-zen2-1-zen running: yes
Sound Server-2: JACK v: 1.9.19 running: no
Sound Server-3: PulseAudio v: 15.0 running: no
Sound Server-4: PipeWire v: 0.3.40 running: yes
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Micro-Star MSI
driver: r8169 v: kernel port: f000 bus-ID: 22:00.0 chip-ID: 10ec:8168 class-ID: 0200
IF: enp34s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
IF-ID-1: anbox0 state: down mac: <filter>
Drives:    Local Storage: total: 2.87 TiB used: 35.88 GiB (1.2%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 850 EVO 1TB size: 931.51 GiB block-size:
physical: 512 B logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 3B6Q scheme: GPT
ID-2: /dev/sdb maj-min: 8:16 vendor: Crucial model: CT1000BX500SSD1 size: 931.51 GiB
block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 054
scheme: GPT
ID-3: /dev/sdc maj-min: 8:32 type: USB vendor: Samsung model: Flash Drive FIT size: 119.51 GiB
block-size: physical: 512 B logical: 512 B type: SSD serial: <filter> rev: 1100 scheme: MBR
SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
ID-4: /dev/sdd maj-min: 8:48 type: USB model: USB DISK 3.0 size: 28.88 GiB block-size:
physical: 512 B logical: 512 B type: N/A serial: <filter> rev: PMAP scheme: MBR
SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
ID-5: /dev/sde maj-min: 8:64 type: USB vendor: Western Digital model: WD10EARS-00MVWB0
size: 931.51 GiB block-size: physical: 512 B logical: 512 B type: N/A serial: <filter>
rev: 2021 scheme: MBR
Partition: ID-1: / raw-size: 931.22 GiB size: 931.22 GiB (100.00%) used: 35.88 GiB (3.9%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 576 KiB (0.2%) fs: vfat
dev: /dev/sda1 maj-min: 8:1
ID-3: /home raw-size: 931.22 GiB size: 931.22 GiB (100.00%) used: 35.88 GiB (3.9%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
ID-4: /var/log raw-size: 931.22 GiB size: 931.22 GiB (100.00%) used: 35.88 GiB (3.9%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
ID-5: /var/tmp raw-size: 931.22 GiB size: 931.22 GiB (100.00%) used: 35.88 GiB (3.9%) fs: btrfs
dev: /dev/sda2 maj-min: 8:2
Swap:      Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 15.61 GiB used: 0 KiB (0.0%) priority: 100 dev: /dev/zram0
Sensors:   Message: No sensor data found. Is lm-sensors configured?
Info:      Processes: 378 Uptime: 1h 10m wakeups: 0 Memory: 15.61 GiB used: 3.7 GiB (23.7%) Init: systemd
v: 249 tool: systemctl Compilers: gcc: 11.1.0 clang: 13.0.0 Packages: pacman: 2278 lib: 508
Shell: fish v: 3.3.1 default: Bash v: 5.1.12 running-in: konsole inxi: 3.3.09'

Hey, and welcome.

I guess the first order is you didn't follow the way to submit questions with your inxi -Faz output. (perhaps this category doesn't notify) The issues and assistance category is where this should be.

You didn't say what DE you're in or what tool you used for your layout. You can't go negatives which should be obvious as you don't want to HIDE things.

If you are having issues with the display tool from your DE the normal "fix" is to install arandr (just easiest) and config/save in that.

The 4K screen should be starting horizontally at 1920 and in theory both screens verts at 0.

1 Like

There we go so KDE with a 1060 and looks to be the nvidia driver. So are you setting this up with the nvidia-settings?

Thank you, I'm excited to learn Linux :slight_smile: and I'm sorry, I had saved it to the clipboard but I was a bit too absent-minded to remember to paste it in before finishing my post haha.

What do you mean by setting it up with NVIDIA settings?

Your system output shows you're running KDE with an nVidia GTX 1060, also looks like the correct nVidia driver is loaded and in use ergo are you setting this up with the proper tools, i.e. the nvidia-settings panel?

Run sudo nvidia-settings from a terminal if you can't find it in your system/settings menus. It will have a drag and drop layout like arandr and will write/save a working xorg.conf for you.

As a note I run 12 screens, primary screens are all in the centers (rows of 3 and 4) across multiple nVidia GPU's (and one Radeon heh).

p.s. don't worry about forgetting to paste. Lots of details swirling in your head, it happens. Talking like this can be tricky because you never know someones skill level, history or the positional logic they are using to work through things.

p.s.p.s (no I'm not calling a cat ;)) Glad you're excited to learn. *nix is brutally fun. It can be scary and frustrating at times but the problem solving or creativity to carve out your own "thing" is sooo rewarding.

2 Likes

Okay, sorry I've been messing in the Nvidia-settings menu lol. I think I get why putting the minus position was kinda dumb haha, I didn't realise it was all one screen space, I thought it was position in relation to an arbitrary 0x0, because at the moment my programs and Garuda Welcome open in the middle-ish of both screens, so I was like oh, I need to 'push' the left monitor properly over to the left so my main one is at the 0x0 position. But whoops that's not how it works haha, that is making me wonder though, can I get applications to open in the right place or do you have to use a main-on-the-left and secondary-on-the-right type configuration? I was trying to change options in the nvidia settings but they kept reverting themselves when I relaunched it to check lol what is going on.

Wait you run 12 monitors? First off, that insane lol, secondly, why?! Are they all merged into one display or are you embodying one of those cheesy hacker movie scenes whenever you go to use your computer haha

And yeah, I plan on learning it inside and out, I've got a few courses and books on it, my long
term goal is to just entirely understand computers, I got really interested in them after learning some programming and now I want to know how they breath!

And hence my comment about positional logic when you were talking about the 0x0. That said if you don't know, you don't know. This is also becoming more convoluted because of Wayland and anti nVidia sentiment. But yeah. When you set this stuff up everything is relative to 0 or the root Xsession. No matter where you place something it will simply make the top left corner of the left most screen 0,0. Which is why your 4k will start at 1920 since you want your 1080 screen leftmost and the 4k will begin where it ends. This is a tad mathmatically wrong since logically the 4k should start at 1921 but that's how it goes. :wink:

You will need to save and apply the xorg.conf from the nvidia panel BUT it won't fully take effect (depending on what you set) until you restart X. This is normally just logout, your X session will be killed and the greeter will launch one, then you will login, it will kill the greeters X session and start one for you with your changes so long as they were written to the /etc/X11/xorg.conf.

12 screens because of how I work. Some are just for monitoring server logs but much of it is for real world translation. So for example in the "real world" for audio I've have my mixing console, outboard gear and interfaces, transport etc. Same same. So one screen is for tracking, another for my mixer, another for routing, another for editing wave/midi, another for plugins...

In other cases I also use the separate GPU's to ensure workloads are separate and distinct. Which is to say no I don't have the one big xinerama screen, that's a bad BAD idea for gaming or if you have mismatched cards like I do.

So for example I will have Unity (the Game tool kit not the Ubuntu DE) running on GPU1 with scenes on one screen, library and controls on another and cheatsheets, notes or research on another. Then on GPU0 I'll have say Blender, GIMP, Inkscape and my code IDE. Then on GPU2 files, my DAW, server stuff...

As for window placement most applications remember their position. Some times they are stupid and you need to give them a kick in the arse with some scripting and wmctrl. Most my set up is run through custom launchers I wrote to launch applications on the correct GPU, XScreen, Monitor, Workspace.

As a fun note when I said relative to 0 i.e. the root X session, this has children denoted by .number. So for example in your situation both your screens can reside on the same XScreen 0 or 0.0. For me I have 0.0 0.1 0.2 0.3 as each increment in the number to the right is a new child XScreen of 0. You give all the screens on a given GPU their own XScreen so you can segregate things. If you do one big screen/Xine you basically cripple things as the weakest GPU dictates the strongest's capabilities since they are now forced to run the same stuff. So when I run Blender on 0.1 and say launch and play Escape From Tarkov on 0.0 any GPU load from blender will not lag out my game because the GPU's are doing their own things.

2 Likes

Yeah, when I was choosing a distro I did see a lot of people hating on nvidia cards and I have no clue what Wayland is lol I'm getting a lot of topics to research piling up already (which is good to me!).

You have already sorted my problem I think, surprisingly fast too! I rebooted (from what I've been seeing it seems unnecessary here whereas Windows kind of just dies if it doesn't get a quick rest) and Garuda welcomed me with a nice and centred interface as opposed to the between-screens position it was doing up until now. So thank you so much, I couldn't have done it without you!:slight_smile: Perfect timing too because now I can sleep in peace and wake up without any immediate problems until I realise I've ■■■■■■ something up approximately 5 minutes after use and go on another troubleshooting adventure lol.

Oh wow, are you an audio engineer or something similar? And how confusing do 12 screens of different information get? I honestly get confused when I have 3 different programs open, it's just tragic haha

Wow, I didn't have a clue that you could 'tell' your GPUs which workloads they're responsible for, though it makes complete sense I just can't fathom that at the moment haha, do you have to do that programmatically or is there some sort of software that makes it a viable option, just out of curiosity as I don't think I'll be running more than one video card for a long time.

That multi-GPU setup sounds really impressive honestly lol. I'd like to ask whether you have a blog or some sort of channel I can follow. I'm certainly interested the antics you're getting up to!

For now though, good night and thank you so much for solving my problem and so fast!

Glad I could help.

So I will try to touch on a few of this things quickly for when you get up.
Right now you are running X11 (xorg). This is what gives you your graphical "everything." This is the second major display technology the *nix world has used but it's getting long in the tooth and Wayland is supposed to replace it. Wayland is also radically different in approach. You have entered the fray during the transitional period.

Because nVidia is nVidia (lack of openness), and also because their setup styles require X i.e. legacy there is a lot of hate towards them right now.

To denote a GPU to run something on just launch it with DISPLAY=:0.1 DISPLAY=:0.2
DISPLAY=:0.3. Which ever .X has the screens on the GPU you want to do the dirty work. Also these numbers aren't fixed. So if you have a multi user/seat set up someone else on the machine might be running applications on DISPLAY=1.0 where the X session root for that user is 1 and .0 is on the GPU running the screens they have denoted for their XScreen .0.

Sadly mutli-GPU/XScreen is being killed by what I can only presume is Wayland shifts. Right now my system is half cobbled together because I can't find a DE that will run multi anymore so I'm using an old XFCE from before they broke everything...no clue how long I will be able to hold out before I will have to go back to some stupidity like a different machine for every GPU and XPRA everything...f'ing stupid.

Garuda is kinda a strange place to learn but so far the community has been pretty on top of things. I was running XUbuntu before but when 18.04 went EOL I had to update. 20.04 and 21.04 (and all flavors running the updated DE's broke my set up. I went hunting for distro/DE that would work. Garuda was the only one that allowed a functional system for me. Everything else has been gravy. Good community, super nice feature sets. I haven't been this excited about a Distro in years...like 20 years. Which is also to say y0 dawg I'm also new to Garuda! heh.

Yes audio engineer, among too many other things. Been doing live/studio audio for nearly 35 years. Comically music is what got me into tech. Not only was recording to tape a nightmare and digital was where I wanted to be when that became a thing but my computer always crapped itself when you had an idea or in the middle of a take...Not a good look so I had to learn to fix things...which grew into its own business.

No having so many screens doesn't get confusing, if anything I bitch about needing more. It would be a better solution to have VR set up where everywhere I looked was "screen" but those days are a ways off. It's nice when you know where to look for something and it's not always buried under a ton of crap. Muscle memory and good peripheral vision and a wall-o-screens is where it's at!

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.