Turn Idle Devices Into Windows Extended Screens Using Sunshine, Moonlight, and Virtual-Display-Driver

Create virtual displays using Virtual-Display-Driver, combined with Sunshine streaming server and Moonlight client, to turn Android phones, tablets, and other idle devices into wireless extended screens for Windows computers. This tutorial provides detailed configuration steps for all three tools to achieve an efficient screen extension solution within the same local network.

Archlinux Clevo Laptop Driver and Control Center Installation

The fan scheduling on Clevo computers is really annoyingly loud. I used to use Windows and relied on Ryzen Master for undervolting to control CPU temperature, which indirectly reduced fan speed. Now that I’ve switched to Linux, it’s unbearable without proper configuration. I spent ages searching on Google and found a bunch of GitHub repositories. After trying several that didn’t work well, I finally discovered that someone in the AUR repository had already packaged useful solutions (I absolutely love pacman and AUR!). https://aur.archlinux.org/packages?K=clevo

Using GO Sync.Once

sync.Once is used to ensure that a function executes only once, regardless of how many goroutines attempt to execute it. It has one method Do(f func()) that takes the function to be executed.

Basic usage example:

package main

import (
    "fmt"
    "sync"
)

func main() {
    var once sync.Once
    done := make(chan bool)

    // Simulate multiple goroutines calling
    for i := 0; i < 10; i++ {
        go func(x int) {
            // The function passed to once.Do() will only execute once
            once.Do(func() {
                fmt.Printf("Execute only once: %d\n", x)
            })
            // This line will be executed by every goroutine
            fmt.Printf("goroutine %d completed\n", x)
            done <- true
        }(i)
    }

    // Wait for all goroutines to complete
    for i := 0; i < 10; i++ {
        <-done
    }
}

Common use cases:

Archlinux RDP Connection Issues

If you are using the RDP protocol from a non-Windows device to remotely control a Windows machine logged in with a Microsoft account, the username you enter when connecting might not be your Microsoft account (email), nor the remaining part after removing the email suffix, and certainly not Administrator. Instead, it could be some other value. You can check this by running echo %USERNAME% on the controlled machine. Although this value is set by yourself, it’s completely nowhere to be found in the system settings. I was really frustrated trying to figure this out for quite a while.